1.5FTM模块1.5.1 FTM模块简介FTM模块是一个多功能定时器模块,主要功能有,PWM输出、输入捕捉、输出比较、定时中断、脉冲加减计数、脉冲周期脉宽测量。在K10中,共有FTM0,FTM1,FTM2三个独立的FTM模块。其中FTM0有8个通道,可用于电机或舵机的PWM输出,但不具备正交解码功能,也就是对旋转编码器输入的正反向计数功能。而FTM1和FTM2则具备正交解码功能,但是FTM1和FTM2各只有两个通道。FTM模块的时间基准来自一个16位的计数器,该计数器的值可读取,即可作为无符号数对待,也可作为有符号数的补码对待。
1. FTM模块特性 l 时钟源可选择,FTM的时钟源可以来自系统时钟或外部时钟。可对时钟分频,分频比为1,2,4,8,16,32,64,128。 l FTM的一个16位计数器,该计数器可设置为自由运行或由用户设置起始和结束值,可递增计数也可递减计数。 l FTM的每个通道都可以设置为输入捕捉、输出比较或边沿对其的PWM输出。 l 在输入捕捉模式下,可捕捉上升沿、下降沿或两个边沿都捕捉,有些通道可选择输入滤波器。 l 在输出比较模式下,在比较成功时可选择输出信号置位、清零或翻转。 l 所有的通道都可以设置为中心对齐的PWM输出模式。 l 每对通道都可以级联以产生PWM信号。 l FTM的通道可成对工作在相同输出或互补输出,也可各通道独立输出。 l 当通道成对互补输出时可使用死区插入。 l 可产生触发信号。 l 软件控制PWM输出。 l 最多4个全局错误控制使用的错误输入。 l 每个通道的极性可设置。 l 每个通道都可产生中断。 l 错误条件发生时也可产生中断。 l 同步载入或写入带缓冲的FTM寄存器。 l 关键寄存器有写保护功能。 l 和HS08系里的TPM兼容。 l 对于维持在低电平或高电平的信号也可进行输入捕捉的测试。 l 双边沿捕捉可用于脉冲或周期信号宽度测量。 2. FTM模块框图 <img alt="飞思卡尔K60 FTM模块详解【一】" title="飞思卡尔K60 FTM模块详解【一】" height="702" width="553"> 由图可见,FTM模块的核心是一个16位计数器,该计数器的时钟源可以选择,如果我们选择由FTM来实现PWM,输入捕捉,或者输出比较,定时中断,脉宽测量等功能,则一般选择system clock。这个时钟实际上就是我们前面提到的MCG模块输出的MCGOUTCLK,再由SIM模块分配后得到的Bus Clock。如果我们选择由FTM实现对外部脉冲的计数,也可选择外部时钟,如果是外部编码器输入的AB相脉冲,用于电机正反转测速,则可以使用PHA和PHB输入,由计数器自动加减计数。
<img alt="飞思卡尔K60 FTM模块详解【一】" title="飞思卡尔K60 FTM模块详解【一】" height="199" width="446">
16位计数器FTM Counter每个FTM模块一个,该FTM模块的所有通道共用这一个计数器。计数器的初始值(CNTIN)和结束值(MOD)可以设置。计数器的计数方式有三种,一种是递增计数,计数器从初始值开始累加,直到结束值,在下一个时钟周期,又回到初始值,循环往复。第二种是先加后减计数,计数器从初始值开始累加,到结束值后,从下一个时钟开始递减,一直减到初始值,然后再次开始累加,循环往复运行。第三种是正交解码模式,即对外部输入的AB相脉冲计数,由FTM根据A相和B相的相位自动递增或递减计数。在这里需要注意,FTM0不具备第三种计数模式,只有FTM1和FTM2可以使用正交解码。
|