当使用外部信号作为计数器的源端时计数值不正确



硬件: Counter/Timers (TIO)

问题: 当我使用计数器的内部时基作为源端信号时,我发现得到的计数值是正确的。但是使用自己的外部信号时,计数值就不正确,为什么?

解答: 这个现象发生的原因可能有许多种。如果信号中引入了噪声或者信号不满足计数器的规格信息,计数器也许会检测到比你预期更多的脉冲。如果外部信号源电平太低,你可能需要使用防止重复计数的方式来避免不正确的计数值。

信号规格

DAQ-STC芯片和NI-TIO芯片上的计数器是用来测量TTL信号的。TTL信号低电平位于00.8V,高电平在25V之间。此外,为了使计数器能够正确的检测边沿,脉冲的最大上升时间和下降时间不能超过50ns。如果上升/下降时间大于50ns,计数器会有错误的计数值。此外,对于使用DAQ-STC的计数器来讲芯片最小的脉冲宽度必须大于10ns,对于NI-TIO则必须大于5ns。如果外部信号的脉宽无法满足这样的规格,预计计数器的值将会不正确。

为了得到正确的计数结果,请确认外部信号满足电压、上升/下降时间和脉冲宽度的规范。

噪声去除

如果信号符合规范,那么噪声就是最有可能需要考虑的因素。比如电压突起就会被检测成额外的脉冲。为了减少噪声,可以利用低通滤波器将噪声中的高频分量去除。如果使用E系列的板卡,那么需要外部的低通滤波器去实现这样的功能。

此外,一般来说电压突起的持续时间会小于预期测量的脉冲宽度。如果是这样,你可以通过DAQmx Channel Property node中的数字滤波功能去改变计数器可检测的最小脉冲宽度,如下图所示。将该参数设置成略微小于预期测量的脉冲宽度即可。


NI使用NI-TIO芯片的板卡(660x系列的DAQ卡)有可以使能的内建滤波器。查看下面的相关链接来获得更多的信息。

防止重复计数

当使用外部信号源进行缓冲测量时,你还需要注意门端信号的周期。为了防止不正确计数,你需要使能同步计数功能。同步计数也叫做防止重复计数,它确保了在使用较慢或者非周期的外部信号源的应用中计数器能够返回正确的数值。

当同步计数被使能后,源端信号会与计数器的最大时基一起工作。当一个有效边沿到达计数器源端时,计数器最高频率的内部时基会增加计数寄存器的值,从而成为真正的源端信号。

当门端信号上升沿来临时如果没有源端信号,那么计数器不会将正确的数值写入缓冲区中,如下图所示:

防止重复计数功能将源信号、门信号与80MHz时基进行同步,这样在没有源端信号的情况下计数器也会检测到门端信号的上升沿。


如果需要了解更多关于防止重复计数的信息,请参考M系列的用户手册。



相关链接: Developer Zone Tutorial: Using Quadrature Encoders with E Series DAQ Boards


KnowledgeBase 232JTCMT: Enabling the Filters for the 660x Family Using Traditional NI-DAQ (Legacy) in LabVIEW


Product Manuals: M Series User Manual

附件:





报告日期: 08/16/2001
最近更新: 05/30/2015
文档编号: 2CFGBTFT