打印
[资料分享与下载]

kinetis定时器FTM详解

[复制链接]
楼主: niuyaliang
手机看帖
扫描二维码
随时随地手机跟帖
21
niuyaliang|  楼主 | 2015-2-28 15:35 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
通道n状态及控制寄存器(FTMx_CnSC)
这是一个非常重要的寄存器,每个通道都有一个CnSC寄存器。该寄存器中包含通道中断标志位、中断使能控制位、通道设置以及引脚功能设置。

使用特权

评论回复
22
niuyaliang|  楼主 | 2015-2-28 15:35 | 只看该作者
CHF:通道标志,当对应通道设定事件发生时该位由硬件置1。所谓通道设定事件有两种,一种是输入捕捉模式下,捕捉到设定的边沿时;另一种是输出比较模式下,FTM计数值变化到和通道n的设定值相等时。当通道的CHF置1时,读取CnSC寄存器并对CHF位写0可清除该位,写1无效。如果该位置1,在对CSC寄存器进行读写操作时,新的事件发生,则CHF位仍保持未清除的状态。在这种情况下,新发生的事件的中断请求不会丢失。
CHF=0:通道事件未发生;
CHF=1:发生通道事件。

使用特权

评论回复
23
niuyaliang|  楼主 | 2015-2-28 15:36 | 只看该作者
CHIE:通道中断使能。该位用于设置CHF置位时是否发出中断请求。
CHIE=0:通道中断禁止;
CHIE=1:通道中断使能。

使用特权

评论回复
24
niuyaliang|  楼主 | 2015-2-28 15:36 | 只看该作者
MSB、MSA:通道模式选择,只有在MODE[WPDIS] = 1的情况下才可写入。
当DECAPEN=0,也就是不用双边沿捕捉,双边沿捕捉一般用于捕捉外部脉冲用于测量脉冲的周期和脉宽时用。
MSB:MSA=00:输入捕捉;
MSB:MSA=01:输出比较;
MSB:MSA=1x:边沿对齐PWM。
当DECAPEN=1,即使用双边沿捕捉时。
MSB:MSA=X0:单次捕捉模式;
MSB:MSA=X1:连续捕捉模式。

使用特权

评论回复
25
niuyaliang|  楼主 | 2015-2-28 15:36 | 只看该作者
ELSB、ELSA:边沿或电平选择。参看下表:
模式、边沿和电平选择,在下表中,有些设置位还没有提到,这里提前介绍一下。
DECAPEN用于设置双边沿捕捉,主要用于测外部脉冲的周期和脉宽时用到;
COMBINE用于设置联合模式,用于两路联合输出PWM,可用于非对称PWM波形输出,或者两通道互补输出,使用联合方式输出PWM的方式在有些桥式电机驱动的电路中,可以很方便的实现电机正反转切换,也可以用软件实现死区插入,如果不用联合模式,该位置0即可;
CPWMS在FTMx_SC寄存器中已经介绍,具体参看前面的介绍。有关MSnB:MSnA和ELSnB:ELSnA在不同用途的设置,参考下表。

使用特权

评论回复
26
niuyaliang|  楼主 | 2015-2-28 15:37 | 只看该作者

使用特权

评论回复
27
niuyaliang|  楼主 | 2015-2-28 15:37 | 只看该作者

使用特权

评论回复
28
niuyaliang|  楼主 | 2015-2-28 15:38 | 只看该作者
DMA:DMA使能,使能该通道的DMA传输
DMA=0:DMA禁止;
DMA=1:DMA使能。

使用特权

评论回复
29
niuyaliang|  楼主 | 2015-2-28 15:39 | 只看该作者
通道n计数值寄存器((FTMx_CnV)
每个通道都有一个CnV寄存器,在输入捕捉模式下,当捕捉到设置的边沿时,此时FTM计数器的值自动保存到CnV寄存器中,该值可用于反映捕捉事件发生的时刻。在输出模式下CnV寄存器保存输出匹配值,该值用于和FTM计数器的值进行比较,当相等时,则比较成功。

使用特权

评论回复
30
niuyaliang|  楼主 | 2015-2-28 15:39 | 只看该作者
在输入捕捉、捕捉测试和双边沿捕捉模式下,任何对该寄存器的写入操作都无效。在输出模式下,写入该寄存器的值会先锁存到缓冲器内,何时更新和寄存器更新设置有关。

使用特权

评论回复
31
niuyaliang|  楼主 | 2015-2-28 15:39 | 只看该作者
计数器初始值寄存器(FTMx_CNTIN)
该寄存器保存FTM计数器的初始值。写入该寄存器的值会预先锁存在缓冲器内。在选择时钟前,先设置该寄存器以初始化FTM计数器,否则,计数器会默认从0开始计数。

使用特权

评论回复
32
niuyaliang|  楼主 | 2015-2-28 15:40 | 只看该作者
捕捉和比较状态寄存器(FTMx_STATUS)
该寄存器中包含了每个通道的FTMx_CSC寄存器中的CHnF位的拷贝以方便编程。这样一次就可以读出一个FTM模块的所有通道的标志位,读取后,写0清除。

使用特权

评论回复
33
niuyaliang|  楼主 | 2015-2-28 15:40 | 只看该作者
特性模式选择寄存器(FTMx_MODE)
该寄存器主要设置错误中断、错误控制、捕捉测试模式、PWM同步、写保护、通道输出初始化、FTM增强特性使能。这些控制和所有通道都有关。

使用特权

评论回复
34
niuyaliang|  楼主 | 2015-2-28 15:41 | 只看该作者
FAULTIE:错误中断使能,当错误控制使能时,在检测到错误时是否触发中断。
FAULTIE=0:错误控制中断禁止;
FAULTIE=1:错误控制中断使能。

使用特权

评论回复
35
niuyaliang|  楼主 | 2015-2-28 15:41 | 只看该作者
FAULTM:定义错误控制模式,该寄存器写保护,只有当MODE[WPDIS] = 1时可写入。
FAULTM=00:所有通道错误控制功能禁止;
FAULTM=01:偶数通道错误控制使能,且手动清除错误;
FAULTM=10:所有通道错误控制使能,且手动清除错误;
FAULTM=11:所有通道错误控制使能,且自动清除错误。

使用特权

评论回复
36
niuyaliang|  楼主 | 2015-2-28 15:41 | 只看该作者
FAULTM:定义错误控制模式,该寄存器写保护,只有当MODE[WPDIS] = 1时可写入。
FAULTM=00:所有通道错误控制功能禁止;
FAULTM=01:偶数通道错误控制使能,且手动清除错误;
FAULTM=10:所有通道错误控制使能,且手动清除错误;
FAULTM=11:所有通道错误控制使能,且自动清除错误。

使用特权

评论回复
37
niuyaliang|  楼主 | 2015-2-28 15:41 | 只看该作者
CAPTEST:捕捉测试使能,该位写保护,只有当MODE[WPDIS] = 1时可写入。
CAPTEST=0:输入捕捉测试禁止;
CAPTEST=0:输入捕捉测试禁止。

使用特权

评论回复
38
niuyaliang|  楼主 | 2015-2-28 15:42 | 只看该作者
PWMSYNC:PWM同步模式,所谓PWM同步实际上就是如何将某些寄存器的值从Buffer中更新的一种机制。
选择MOD,CnV,OUTMASK,和FTM counter几个寄存器同步时使用的触发器,可选择软件触发或硬件触发。触发就是允许计数器在到达下一个载入点时更新这些寄存器的值的信号。软件触发通过编程实现,硬件触发通过外部脉冲实现。

使用特权

评论回复
39
niuyaliang|  楼主 | 2015-2-28 15:43 | 只看该作者
PWMSYNC=0:MOD,CnV,OUTMASK,和FTM counter几个寄存器的同步可以选择软件触发或硬件触发,没有限制。
PWMSYNC=1:MOD,CnV的同步只可以选择软件触发,OUTMASK,和FTM counter的同步只可以选择硬件触发。

使用特权

评论回复
40
niuyaliang|  楼主 | 2015-2-28 15:43 | 只看该作者
WPDIS:写保护禁止,该位和WPEN(写保护使能)相反,当WPEN写1时,WPDIS被清0
WPDIS=0:写保护使能,被写保护的位不可被写入;
WPDIS=1:写保护禁止,被写保护的位可写入。

使用特权

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

本版积分规则