Edit online

脉冲检测模块

通过寄存器字段QOUT_POS_SRC_SEL选择位置数据的来源,硬件会根据BLOCK定时器的设置自动读取一次位置数据,通过与上次读取的位置数据做差,得出脉冲数量与方向的信息,结果保存在QOUT_IN_PUL_DET寄存器。

BLOCK定时器的周期计算为16384 * Tcntclk,若设置计数时钟为200MHz,此时对应的定时器周期为 81.92 us,这里的一个间隔周期我们称为一个Block。

另外,通过寄存器字段 QOUT_TMR_FRE_DIV,可以调整定时器的频率,从而调整 BLOCK 定时器的周期,即调整Block的时间长度。

需注意,一个 Block 最大支持 1024 个脉冲的检测,若输入大于 1024 个脉冲,则按照 1024 个脉冲输入进行后续的算法计算,并且产生输入脉冲溢出状态,该状态可以作为中断源。