讨论计数模式前,先让我们认识一些计数概念。
●A单路脉冲。
●只有一路脉冲A用于计数,如图17-8所示。
●A通道来脉冲,计数上升,B通道来脉冲,计数下降,如图17-9所示。
图17-8 单路脉冲
●脉冲输入A通道→计数上升。
●脉冲输入B通道→计数下降。
●A脉冲,B计数方向,如图17-10所示。
图17-9 双路脉冲计数
图17-10 一路脉冲计数,一路控制计数方向
●脉冲输入A通道→计数。
B通道低电平或高电平→控制计数上升或下降。
●倍频模式支持1倍、2倍、4倍频,如图17-11所示。
●X1-CHA进入脉冲,上升沿计数。CHB=计数升/降(1倍频)。
●X2-CHA进入的脉冲,上升/下降沿都计数。CHB=计数方向(2倍频)。
●X4-进入CHA和CHB的脉冲上升沿和下降沿都计数(4倍频)。
图17-11 倍频计数
有了这些概念后,我们来看一下计数模式的定义,如图17-12所示。
图17-12 计数模式的定义
下面就来详细阐述一下各个计数模式的工作过程。
一次性计数模式的应用如图17-13所示。
图中Preset Value为预设值,Counter Run为计数器工作。
步骤1:IN_SYNC上升沿触发把预设值调入计数器。
步骤2:IN_A口每进入一个脉冲,计数器当前值递减1,一直到计数器计数值递减为“0”,计数器停止工作。
步骤3:计数器等待IN_SYNC信号的上升沿以便开始新的计数。在这期间,即使IN_A口有脉冲进入,计数器也不工作。
步骤4:如果EN_Sync没有启用,IN_SYNC也不会起作用。EN_Sync并不是一个信号,它是在计数器组态时激活IN_SYNC的。
图17-13 一次性计数模式的应用(www.daowen.com)
步骤5:在计数器组态时,启用EN_Enable,则激活信号IN_EN。IN_EN为低电平,停止计数器计数,并保持最后的计数值,为高电平后,则继续计数。
模数回路计数模式的应用如图17-14所示。
图17-14 模数回路计数模式的应用
图中,IN_A脉冲进,计数值上升,IN_B脉冲进,计数值下降。
步骤1:SYNC信号上升沿触发计数器值回零。
步骤2:计数使能后,脉冲由IN_A进入,计数值增加,到达模数后,自动清零并重新递增计数。
步骤3:重新递增计数后,计数器的SYNC信号可触发计数器回零。
步骤4:SYNC触发回零,IN_A有脉冲进入,则计数器继续递增计数,直到没有脉冲进入。
步骤5:脉冲从IN_B进入,计数器计数值递减。
步骤6:脉冲从IN_B进入,计数器计数值递减到零后,自动回归到模数值并继续递减。
步骤7:计数器使能信号消失,计数停止。
步骤8:使能信号没有时,启动SYNC信号可使计数器清零。
步骤9:脉冲从IN_B进入,加入使能信号后,计数值回到模数并递减计数。
自由大型计数模式及计数值捕捉如图17-15所示。
图17-15 自由大型计数模式及计数值捕捉
图中IN_CAP是捕捉信号的输入。Capture Value是捕捉到的计数值。
步骤1:预置信号上升沿触发计数器值回到预置值。
步骤2:计数器使能后,脉冲由IN_A进入,计数值增加。
步骤3:计数值到达X2时,预置信号进入把计数值清回到预置值并重新递增,IN_A没有脉冲进入,计数值停止更新。
步骤4:IN_B有脉冲进入,则计数器继续递增计数。
步骤5:当计数器使能信号消失,计数停止。
步骤6:捕捉信号进入,把当前计数器计数值捕捉进捕捉值寄存器。
步骤7:预置信号上升沿触发计数器值回到预置值。
步骤8:计数器使能后,脉冲由IN_B进入,计数值递减,可以到负值。
事件计数模式的应用,如图17-16所示。
图17-16 事件计数模式的应用
图中Counter Current Value为计数器当前计数值。
从图中,我们可以看到,事件计数器就是用户定义好一个周期,同步信号IN_SYNC的进入开启了这个周期的事件计数,周期结束,计数值更新。
频率计模式的应用,用于测量进入IN_A的脉冲频率。也就是记录每秒进入IN_A口多少个脉冲。最高的频率不能超过100kHz。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。