我正在为我的应用程序使用iMX7D处理器(使用运行 Win CE 7.0 操作系统的Toradex Aster评估板 iMX7D 512MB)。我正在尝试在正交解码器模式下使用其Flextimer(FTM)模块。应用程序将光学编码器连接到FTM1模块的A相和B相输入,并且FTM计数器应基于这些输入运行(递增/递减)。
我已经进行了所有可能的组合,以初始化FTM寄存器并运行该模块,但对我而言不起作用。
当我查阅参考手册文档号IMX7DRM Rev. 1,01/2018时,我发现手册中的FTM寄存器也存在错误。我已经理解并以某种方式纠正了。
由于FTM模块无法与我们的驱动程序一起使用,因此我希望有人只检查我的FTM寄存器设置并指出我们出了错。 FTM寄存器设置如下所示:
CCM_CCGR128 0x00003333
CCM_TARGET_ROOT 0x10000000
FTM_SC 0x08 (CLKS = 01)
FTM_CNT 0x05
FTM_MOD 0x0000FFFF
FTM_CNTIN 0x00000000
FTM_MODE 0x05 (WPDIS = 1 FTMEN = 1)
FTM_QDCTRL 0x01 (QUADEN = 1 )
是否需要为FTM(CCM寄存器)启用模块时钟并在FTM_SC寄存器中特别为正交解码器模式启用时钟?
FTM寄存器初始化有什么顺序吗?
从图12-6开始。参考手册的FTM框图,我知道在正交解码器模式下FTM模块不需要时钟。所以我也尝试禁用FTM时钟。 使能时-即使没有输入FTM_PHA和FTM_PHB引脚,FTM_CNT也会开始递增。 禁用时-即使我在FTM_PHA和FTM_PHB引脚上提供编码器脉冲,FTM_CNT仍为0。
我也想知道,iMX7Dual处理器的FTM模块中是否存在任何ERRATA?
问候 Bipin Kumar