[Kinetis] 关于FTM的疑问

[复制链接]
1020|4
 楼主| whz7783478 发表于 2015-10-21 17:21 | 显示全部楼层 |阅读模式
KE06 FTM的触发源分为硬件的触发源和软件的触发源。看参考文档,触发源用来进行寄存器的同步。我这里有个疑问,channel是怎么使能的呢?channel的使能和外部的触发源是什么关系?
FSL_TICS_Jeremy 发表于 2015-10-21 17:32 | 显示全部楼层
每个Channel都有自己对应的控制寄存器,通过它来调节
大苏牙 发表于 2015-10-21 20:34 | 显示全部楼层
每一个Channel都有单独对应的控制寄存器的
 楼主| whz7783478 发表于 2015-10-22 09:49 | 显示全部楼层
本帖最后由 whz7783478 于 2015-10-22 11:29 编辑
FSL_TICS_Jeremy 发表于 2015-10-21 17:32
每个Channel都有自己对应的控制寄存器,通过它来调节

每个channel确实是有对应的控制寄存器,该寄存器只能决定其工作模式是输入捕获、输出比较、PWM、组合PWM等等。假设channel0和channel1配置为输出比较,其他的channel配置为边沿对齐PWM。先初始化PWM,CNTIN=0,MOD=0xff,此时FTM的COUNTER由于其他的channel在使用PWM,已经在进行向上计数。在运行了一段时间的PWM后,CPU发现有输出比较的任务,配置C0V=0x10,C1V=0x50.由于此时FTM COUNTER的值是一直在运行的,可能会出现CPU配置C0V/C1V落在FTM COUNTER不同的区间,也就会可能导致channel0和channel1在输出反转脉冲的次数会差1.有没有什么方法能保证输出比较同时在一个FTM COUNTER从0起始的周期进行比较?
FSL_TICS_Jeremy 发表于 2015-10-22 10:26 | 显示全部楼层
建议方法,1. 从头配置使能 2. 利用PWM synchronization功能,从新初始化FTM_CNTIN寄存器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

30

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部