打印
[Kinetis]

FlexTimer Module (FTM)模块

[复制链接]
14418|206
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FSL_TICS_ZJJ|  楼主 | 2014-7-15 16:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.      Block Diagram
Flextimer模块图,左上角为Flextimer基准时钟信号,默认状态为无时钟选择,即Flextimer计数器关闭。
右上角为时钟分频控制,可以控制Flextimer计数时钟频率。框图中包括中断控制,模式选择,故障信号检测以及输出信号。
Flextimer工作模式包括:输入捕获,输出比较,PWM波形输出,正交解码器。
Flextimer计数器为16位计数器。

2.      Feature list
Flextimer时钟源可以来自系统时钟,MCG固定频率时钟或者外部时钟。
Flextimer 16位计数器可以设定初始值,终止值,计数方向。
每个通道都可以配置成输入捕获,输出比较或者边沿对齐PWM波输出。
输入捕获可以配置捕获方式:上升沿、下降沿或者双沿捕获。
一些通道可以配置输入信号滤波。
输出比较模式下,输出信号可以配置为输出高或低或者每次匹配翻转。
所有通道都可以配置成PWM中心对齐输出。
每对通道均可以结合输出PWM波。
每对通道可以配置相同输出,相反(互补)输出或者作为独立通道。
每对互补通道可以提供死区插入功能。
Flextimer模块应用领域包括马达控制,照明控制和能力转换。
增加功能:符号增加计数器、硬件插入死区、出错输入、加强型的触发功能和极性控制。
Flextimer计数器触发源来自比较器、ADC和其他模块。
Flextimer计数器提供同步更新目标值。
FTM可以输出PDBADC模块触发信号。
提供多达4路故障输入信号。
每个通道可以配置输出极性。
每个通道均可产生中断,中断类型包括溢出和故障产生。
FTM寄存器提供缓存,提供同步功能。
关键寄存器提供写入保护。
双沿捕获可以用来检测脉冲宽度或者周期。
提供带输入滤波的正交编码器。

3.      Key value-add components
增加的功能组件:
联合和互补模式;
提供硬件死区加载; 故障控制;
同步缓存寄存器加载;
双沿检测脉冲宽度和频率;
正交解码器。

相关帖子

沙发
FSL_TICS_ZJJ|  楼主 | 2014-7-15 16:06 | 只看该作者
本帖最后由 FSL_TICS_ZJJ 于 2014-7-15 16:08 编辑

4.      Module dependencies
FTM与其他模块的相互关系:
MCG模块可以提供FTM时钟源;
比较器模块提供硬件触发信号、输入捕获信号及故障信号;
PDB模块提供硬件触发信号;
FTM可以提供ADCPDB模块触发输出信号。

5.      FTM counter
FTM计数器支持三种计数模式。
增加计数模式:CNTIN定义计数开始值,MOD定义技术终止值。FTM使能后会加载CNTIN值,累加计数直到达到MOD终止值。之后会重新装载CNTIN计数开始值。当计数值重新加载CNTIN值时,TOF(计数器溢出标志位)置位。
递增递减计数模式:CNTIN定义计数开始值,MOD定义技术终止值。FTM使能后会加载CNTIN值,累加计数直到达到MOD终止值,之后计数器将递减计数值直到计数值为CNTIN。之后会重复递增递减计数的过程。

6.      Up counting example
CNTIN的最高位实际上为符号位,当CNTIN[15] = 1时,计数器初值为负数;当CNTIN[15] = 0时,计数器初值为正数。
只有当CNTIN寄存器初始值小于MOD寄存器初始值时,FTM才能正常工作。所以在配置FTM初始化时必须确保这一点,如果出现相反的情况,则FTM运行会出现异常。

7.      Up-down counting example

使用特权

评论回复
板凳
FSL_TICS_ZJJ|  楼主 | 2014-7-15 16:09 | 只看该作者
8.      When TOF bit sets
NUMTOF[4:定义了FTM计数器溢出几次后,TOF标志位才会置位。如果NUMTOF[4:设定为0,则每次FTM计数器溢出,TOF标志都会置位。

9.      Quadrature decoder
正交译码器主要用于机械方面用于检测轴的角度转动和方向。通过检测相位A和相位B之间的相位关系来判断轴的运动方向和速度。
例如鼠标就是利用正交信号提供轨迹球转动方向和角度。
FTM正交译码器每个输入信号均提供滤波配置和极性配置。
TOFDIR:指定TOF标志位置位的位置(最小值还是最大值置位)。
QUADIR:指定计数器计数方向是递增还是递减。

QUADMODE位主要设定正交译码器工作模式,如果QUADMODE位等于1,工作于计数和方向模式,相位B信号指定计数方向是递增还是递减。相位A的输入指定计数率。FTM计数器会在相位A的上升沿更新计数值。
QUADMODE等于0时,FTM正交译码器工作于相位AB编码模式。通过相位A/B相位关系指出计数器的计数方向和计数率。FTM计数器会在相位A/B任何输入边沿更新计数值。

使用特权

评论回复
地板
FSL_TICS_ZJJ|  楼主 | 2014-7-15 16:11 | 只看该作者
10.      Motor jitters
设置合适的相位A/B滤波值可以有效的防止FTM计数值抖动。图中所示为由于没有设定正确的滤波值,由于相位B信号存在波动造成FTM计数值错误。

11.      Input capture
输入捕获当设定的边沿发生时,会置位CHnF位,如果使能中断则会产生中断。当前的计数值会被加载到CnV寄存器中。
FTM配置为输入捕获时,FTMxCHn管脚是边沿触发输入,可以配置为上升沿、下降沿或者双沿触发。
如果没有使能输入信号滤波,则输入信号将会在系统时钟三个上升沿后被检测到(两个上升沿用于同步,一个边沿用于边沿检测)。
也就是说CHnF标志位在系统时钟的第三个上升沿被置位,即输入捕获管脚获得有效的输入边沿。

12.      Channel input filter
只有通道0123提供输入信号滤波。滤波计数器的基准时钟为四分频的系统时钟(1/4 of system clock)。
CHnVAL[3:为0值时滤波功能未使能,输入信号将会在三个系统时钟后为置位。
如果使能滤波,则需要(4 + 4 × CHnFVAL[3:0])系统时钟周期来判断所获得的边沿有效。
头四个系统时钟用于同步,滤波输出和边沿检测。

13.      Output compare
输出比较模式,FTM会根据寄存器设定,产生相应的脉冲。输出比较匹配时CHnF标志位会被置位,当中断使能时会产生相应的中断。

14.      Edge aligned PWM
边沿对齐PWM波输出,EPWM周期由(MOD CNTIN + 0x1)决定,脉冲宽度由(CnV -CNTIN)决定。 叫做边沿对齐是应为所有的PWM波上升沿(或者下降沿)都是一致的。

使用特权

评论回复
5
FSL_TICS_ZJJ|  楼主 | 2014-7-15 16:14 | 只看该作者
15.      Center aligned PWM
居中对齐PWM波输出:FTM计数器累加计数直到达到MOD设定值,接下来递减计数直到到达CNTIN设定值。
MOD设定值必须在0x10x7FFF之间,否则会产生模糊的结果。
CPWM的周期为2 × (MOD − CNTIN),脉宽为2 × (CnV − CNTIN)
FTM工作于CPWM模式时,计数器使用递加递减计数模式,其他模式并不适用与这种计数模式,因此所有的通道都必须配置为CPWM模式。
FTM计数器工作于free running计数下,是不可以设置使用居中对齐PWM输出模式的。

16.      Combined mode
PWM联合模式:偶数通道n 会与临近的奇数通道(n+1)联合产生PWM信号,PWM信号从偶数通道输出。
FTM计数值达到通道n设定值时,CHnF标志会置位,如果中断使能也会同时产生相应的中断;
FTM计数值达到通道n+1设定值时,CH(n+1)F标志会置位,如果中断使能也会同时产生相应的中断。
根据ELSnB:ELSnA的不同配置,通道n输出PWM波形会做相应的变化。

17.      Complementary Mode
PWM互补模式:通道(n+1)输出PWM波形与通道(n)输出波形正好相反。

18.      Inverting mode
倒置功能可以通道n和通道n+1输出波形与正常设定完全翻转。
倒置功能仅适用于PWM联合模式。

使用特权

评论回复
6
FSL_TICS_ZJJ|  楼主 | 2014-7-15 16:15 | 只看该作者
19.      Software control mode
软件输出控制PWM波形在特定的时间输出事先设定好的电平。
CHnOC位使能通道n软件输出控制,CHnOCV位设定软件输出控制时输出电平为高电平还是低电平。

20.      Deadtime insertion
死区插入功能只适用于通道联合和互补模式下。必须确保死区延时设定合适,通道nn+1不能同时处于有效状态。
ELSnA : ELSnB = 1:0  FTM计数值达到通道n设定值时,通道n输出高;当FTM计数值达到通道n+1设定值时,通道n输出低。
ELSnA : ELSnB =  X:1 FTM计数值达到通道n设定值时,通道n输出低;当FTM计数值达到通道n+1设定值时,通道n输出高。
死区的概念就是确保电机控制H桥的半桥臂两个晶体管或者MOSFET处于关闭状态,防止由于意外造成短路对晶体管或MOSFET造成损坏。

21.      Output mask
输出屏蔽功能只适用于PWM联合模式。
输出屏蔽使能时可以将通道PWM输出至无效状态,直到输出屏蔽取消。

22.      Fault control
故障输入管脚可以选择内部比较器输出或者外部故障输入管脚。

23.      PWM synchronization
PWM同步仅适用于PWM联合模式,提供一种方法来更新MOD,CNTIN,CnV,OUTMASK,INVCTRLSWOCTRL寄存器缓存值,并且强制FTM计数器值更改为CNTIN寄存器值。
有两种同步触发模式,硬件触发或者软件触发。
硬件触发源可以选择来自比较器输出信号,PDB触发信号,故障输入信号。

使用特权

评论回复
7
FSL_TICS_ZJJ|  楼主 | 2014-7-15 16:18 | 只看该作者
24.      FTM output triggers
FTM可以输出PDBADC模块触发信号。
触发信号在通道匹配时产生。
触发信号也可以在INITTRIGEN信号置位条件下,当计数器加载CNTIN寄存器值时产生。

25.      Dual edge capture mode
双沿捕获模式可以用于测量脉冲宽度或者频率。
可以选择单次捕获模式或者连续捕获模式。

26.      Stepper motor
步进电机控制示意图,通过FTM模块控制电机的两个H桥,比较器可以用作电机线圈过流保护,ADC模块提供过流检测参考信号。

27.      Hall Sensor BLDC
直流无刷电机控制示意图,六路FTM通道控制电机的三相线圈,霍尔传感器提供电机转速信息(使用一路FTM来测量脉冲周期)。

28.      ACIM/PMSM motor control
永磁同步电机控制示意图,使用六路FTM控制电机三相桥,正交信号提供电机转速信息(使用FTM正交译码功能)。

使用特权

评论回复
8
FSL_TICS_ZJJ|  楼主 | 2014-7-15 16:19 | 只看该作者
为了便于大家存档,这里上传文档:
游客,如果您要查看本帖隐藏内容请回复


使用特权

评论回复
9
FSL_TICS_ZJJ|  楼主 | 2014-7-15 16:21 | 只看该作者
欢迎大家学习模块,如果遇到问题,也欢迎大家提出来共同探讨。

使用特权

评论回复
10
Imakey| | 2014-7-15 17:22 | 只看该作者
FTM 还是蛮有用的,现在在做的项目就用FT正交解码,电机PWM,pit定时,话说Kinetis的定时器真丰富啊,收藏了

使用特权

评论回复
11
FSL_TICS_ZJJ|  楼主 | 2014-7-16 09:09 | 只看该作者
Imakey 发表于 2014-7-15 17:22
FTM 还是蛮有用的,现在在做的项目就用FT正交解码,电机PWM,pit定时,话说Kinetis的定时器真丰富啊[em:17: ...

的确,kinetis的定时器资源还是非常丰富的,如果在使用的过程中遇到问题,欢迎发帖交流。

使用特权

评论回复
12
xinyinxing| | 2014-7-16 17:44 | 只看该作者
很好的资料,感谢分享!

使用特权

评论回复
13
caijun_2012| | 2014-7-21 08:51 | 只看该作者
:)

使用特权

评论回复
14
csest| | 2014-7-21 16:34 | 只看该作者
GDSGSFGSGSGSGS

使用特权

评论回复
15
ictry_51| | 2014-7-28 15:23 | 只看该作者
多谢分享

使用特权

评论回复
16
FSL_TICS_ZJJ|  楼主 | 2014-7-28 15:26 | 只看该作者
ictry_51 发表于 2014-7-28 15:23
多谢分享

更多中文资料,请到我们的资料大本营:https://bbs.21ic.com/icview-649582-1-1.html

使用特权

评论回复
17
wangxuewei| | 2014-7-29 22:52 | 只看该作者
共同学习,共同进步

使用特权

评论回复
18
fyzhuhui| | 2014-8-1 22:18 | 只看该作者
MCG模块输出时钟可以用作系统时钟;

使用特权

评论回复
19
FSL_FAE_REMI| | 2014-8-2 01:08 | 只看该作者
学习了

使用特权

评论回复
20
FSL_FAE_REMI| | 2014-8-2 01:08 | 只看该作者
学习了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

165

主题

5069

帖子

88

粉丝