FRDM-K64FFTM FTM具有两个8通道定时器,支持输入捕捉,输出比较,并且可以用生成的PWM控制电机或电源管理场合。FTM时间参考时一个16位计数器,可以设置为无符号或有符号型。 特征: 1) FTM可以选择不同时钟源,可以是系统时钟(bus时钟),固定频率时钟或者一个外部时钟。 2) 分频系数为1,2,4,8,16,32,64,128 3) 具有16为计数器,可以是自由计数器或者具有初始值和结束值的计数器,计数器可以加计数可以减计数。 4) 每个通道可以配置为输入捕获,输出比较或者边缘对齐pwm模式 5) 输入捕获可以发生于上升沿下降沿或者两边,某些输入具有输入过滤功能 6) 输出比较模式的输出信号可以被之高清零或匹配切换 7) 所有通道可以配置为中心对齐pwm模式 8) 每对通道可以用来级联生成一个pwm信号 9) Ftm通道可以运行于每对输出相等、每队互补输出或者独立输出 10) 每队互补输出都可以使用硬件死区插入 11) Pwm输入可以软件控制 12) 每个通道极性可以配置 13) 每个通道可以生成一个中断 14) 计数器溢出可以生成一个中断 15) 检测到故障输入可以生成一个中断 16) 可以同步加载写缓冲到FTM寄存器 17) 重要寄存器有写保护功能 18) 对脉冲具有双边缘捕获并可测量周期 19) 正交解码具有输入滤波功能,位置计数或捕捉外部时间具有相对位置计数和中断功能。
一、进行双边沿捕获测量周期测试: 产生1Mhz的频率。峰峰值2V。 双边沿捕获,所以要设置两个通道,一个来捕获上升沿,一个捕获下降沿。
边沿配置成单次触发,设置双边沿触发模式,分别使能两个通道中断,使能溢出中断,使能FTM中断,开启定时器,system_clock就是bus时钟(60MHz) 双边沿捕获测试时候,发现1Mhz频率输入捕获周期始终为0,那是由于脉冲宽度被定义为uint32,脉冲宽度计算式,全部是uint32,分子小于分母计算出结果将始终等于0。所以只能测500kHz以内频率。所以要将pulseWidth定义为浮点,表达式要改成这样,就可以测了。
改完以后测得周期。测的0.5us是半个周期
二、输出比较,当满足比较值时候,引脚电平反转。 在输出比较时候,应该注意到当计数器达到设定值后,不会清零,仍然会继续增加到MOD值。如果想输出一定频率方波,可以将设置值与MOD值相等。这时候,输出频率=时钟频率/(2*MOD),因为到MOD反转一次电平,所以反转2次才是一个周期。我们设置比较值和MOD值都是0x1000,那么输出频率就是60M/2*4096 = 7324Hz
|