防止重复计数
- 更新时间2025-12-03
- 阅读时长3分钟
防止重复计数(也称为同步计数模式)可确保在低速或非周期外部信号的应用中,计数器返回正确的数据。防止重复计数可用于任何计数应用(例如,测量频率或周期)。在以上应用中,计数器将保存门信号上升沿之间的外部源脉冲次数。
正确运行的应用范例(无重复计数)
下图显示了将外部信号作为源的带缓冲的周期测量。
在门信号的第一个上升沿,计数器保存的计数值为7。在门信号的下一个上升沿,由于产生了两个源脉冲,因此计数器保存的计数值为2。
计数器通过源信号对门信号进行同步(采样)。在发生下一个源脉冲前,计数器不会对上升沿进行检测。本范例中,在门信号上升沿后,计数器将在源信号的第一个上升沿将值保存在缓冲区。
未正确运行的应用范例(重复计数)
在下图中,在门信号的上升沿后并未出现源脉冲。因此计数器无法向缓冲区写入正确数据。
防止重复计数范例
启用防止重复计数功能后,计数器可使源信号和门信号与最大时基同步。与时基同步后,即使没有源信号脉冲,计数器仍可对门信号的边沿进行检测。因此即使在门信号的边沿间没有产生源信号的边沿,仍可将正确的计数值保存在缓冲区中。见以下范例。
在源脉冲很长时,对于每个源脉冲,计数器的值只增加1。
通常,计数器值和计数器n内部输出信号的改变与源信号同步。启用防止重复计数后,计数器值和计数器n内部输出信号的改变与最大时基同步。
何时使用防止重复计数
满足下列条件时,可使用防止重复计数。
- 进行计数器测量
- 计数器源信号为外部信号(例如,PFI x)
- 外部源信号的频率小于等于20 MHz
- 计数器值和输出的改变与最大时基同步
除此以外,不能使用防止重复计数。
在NI-DAQmx中启用和禁用防止重复计数
除以下情况,NI-DAQmx将默认自用防止重复计数:
- 输入接线端表示板载时基。
- 启用预换算。
- 定时类型为按要求。
- 在应用中使用CtrOutEvent.OutputTerm属性。
通过CI.DupCountPrevention属性可在NI-DAQmx中启用或禁用防止重复计数。