飞思卡尔k系列ftm模块详解

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实用文档
1.5FTM模块
1.5.1 FTM模块简介
FTM模块是一个多功能定时器模块,主要功能有,PWM输出、输入捕捉、输出比较、定
时中断、脉冲加减计数、脉冲周期脉宽测量。

在K10中,共有FTM0 FTM1 FTM2三个独立
的FTM模块。

其中FTM0有8个通道,可用于电机或舵机的PWM输出,但不具备正交解码功能,也就是对旋转编码器输入的正反向计数功能。

而FTM1和FTM2则具备正交解码功能,但
是FTM1和FTM2各只有两个通道。

FTM模块的时间基准来自一个16位的计数器,该计数器的值可读取,即可作为无符号数对待,也可作为有符号数的补码对待。

1. FTM模块特性
时钟源可选择,FTM的时钟源可以来自系统时钟或外部时钟。

可对时钟分频,分频
比为1,2,4,8,16,32,64,128 。

FTM的一个16位计数器,该计数器可设置为自由运行或由用户设置起始和结束值,可递增
计数也可递减计数。

FTM的每个通道都可以设置为输入捕捉、输出比较或边沿对其的PWM输出。

在输入捕捉模式下,可捕捉上升沿、下降沿或两个边沿都捕捉,有些通道可选择输
入滤波器。

在输出比较模式下,在比较成功时可选择输出信号置位、清零或翻转。

所有的通道都可以设置为中心对齐的PWM输出模式。

每对通道都可以级联以产生PWMI号。

FTM的通道可成对工作在相同输出或互补输出,也可各通道独立输出。

当通道成对互补输出时可使用死区插入。

可产生触发信号。

软件控制PWM输出。

最多4个全局错误控制使用的错误输入。

每个通道的极性可设置。

每个通道都可产生中断。

错误条件发生时也可产生中断。

同步载入或写入带缓冲的FTM寄存器。

关键寄存器有写保护功能。

和HS08系里的TPM兼容。

对于维持在低电平或高电平的信号也可进行输入捕捉的测试。

双边沿捕捉可用于脉冲或周期信号宽度测量。

2. FTM模块框图
实用文档
no dock sete^ed
(FTM cou rter di-®.ble) s-y st sm dbc k --------------------------------- fbcdlrcciuiency dock exterml cbck ----------------------------------- phase A ------- Quadratuinei phase B ------ ► decador CLKS FTIVEN QUADE N
> 町 nchionrzer
QUADEN
CPWMS
FWLTM 1:<S FFVAL30
captute bgc
a input capture
mode bpc DECAPEN COIVBINEO CPWMS DECAPEM
「;门阿
RlhFr ;
CPWMS
MS6日札怡抄 ELS6B:ELS6A
a cked BC ^ capture
mode logic
chamrel 「put.
chanrel inp"
DECAPE 忖 COMIBINES : CPWM] MS7B MS7A 1 ELS7B:ELS7A
■ FALILTH-J
FAULTF
FAULTFn*
I OHQIE !■_r Ghanr^lO ICHoTRIG 卜
割 CHOF 】_L*
interrupt
interrupt <MirtpLrt irocfes bgfc
(gensration 口t cha nrek Da nd 1 outpuls agnals in oirtput ccrnpare, EPWM. CPWM a nd ronbine moctes accoiding1.ai
camplenn^ntary' rriude, inuediing, QUtpiJ
COrTtrol, dtadiir 口uipjt nna^k 他曲 control
dnannell
pair channels 3 ・ c-hanreb 6 and 7
inpui cagiure mods logic
CSV
inpul Ci&pturie
C7V
*
rrade Itogic
.channel 0
7re.tch trigger
—channel 0
• 口5* sgn^l ;.channel 1 > Channell mete h linger
output modes logic
(generarti&nolchannelsiS^ndiZoUiputs $jgne|$ inoutput <npa 吗 EPWM, CFWMandcomBne mxtes acceding Io hrtializatton, complerrfeniaiy mcde, irtjertinQ sortware cutpiJ corrtrol, dead tins hsert bn, oirtput mas^ 焙 ult control
and potartv control)
-J->cha nn 创 6 ! output signal -;-► channel 7 i cutpil signal
Figure 37-1. FTM Block Diagram
由图可见,FTM 模块的核心是一个 16位计数器,该计数器的时钟源可以选择,如果我 们选择由FTM 来实现PWM 输入捕捉,或者输出比较,定时中断,脉宽测量等功能,则一般 选择system clock 。

这个时钟实际上就是我们前面提到的 MCG 莫块输出的MCGOUTCLK 再由
SIM 模块分配后得到的 Bus Clock 。

如果我们选择由 FTM 实现对外部脉冲的计数,也可选择 外部时钟,
如果是外部编码器输入的
AB 相脉冲,用于电机正反转测速,则可以使用
PHA 和
PHB 输入,由计数器自动加减计数。

ICAPTES
FTM coupler
险uk input if
pair chawels 0 - eha nne Is 0 and 1
I
4
r__
i
chan re inpui.
inpdl capture nnodB Jogc;
channel 1
igt
DECAPEN
COMBINEC T CPWMS
MISO 日:NISOA EL9&R :EL90H
ELEdEELSlR
-JilJL E
FAULThEN* -PS-
I 忖I 厂匚
IGEN
CMTI N
TOIE TOFDIR I —► QLJADIR
怙 LP H
concftion
TOF
feLftcanirol
Mwse riB ^.2,1.D
inrtralE.ation
Ingaer
limercverfbw interrupt
MOD
channel6 |CH6TRIGf interrupt
;fc £hannal6 TTnaich trigger
charnel 7 rterrupt
i ____ charms 7
丿 ■ rtnatoh trigger
实用文档
rodocfesefeclad
(FTMaourtefdsHe^ 非 stem desk fij«iltreque 吋 dock ----
罰 emal c bek phe 無 A
QuacHiure iphaseB ----- ►
ctetoder
CAPTEB T
CL 潜
FTtfH
OUADE N
16h 3 殺附圈
F 也jgn[i 谓
SI ii TT
FTM courier
rroin ♦rm-
iniiiaizatioi rroin
inrliaiTAtion
tn®饶
U~^ tn^er
timer ra edkiw jrriemjpi
: timer »QrHow
irferrupi :
计敬奚
16 位计数器FTM Counter 每个FTM 模块一个,该 FTM 模块的所有通道共用这一个计数 器。

计数器的初始值(CNTIN )和结束值(MOD 可以设置。

计数器的计数方式有三种,一种 是递增计数,计数器从初始值开始累加,直到结束值,在下一个时钟周期,又回到初始值, 循环往复。

第二种是先加后减计数,
计数器从初始值开始累加,到结束值后,从下一个时钟
开始递减,一直减到初始值,然后再次开始累加,循环往复运行。

第三种是正交解码模式, 即对外部输入的 AB 相脉冲计数,由FTM 根据A 相和B 相的相位自动递增或递减计数。

在这 里需要注意,FTM0不具备第三种计数模式,只有
FTM1和FTM2可以使用正交解码。

1.5.2 FTM 的寄存器
对FTM 模块的设置和访问时都是通过
FTM 的寄存器来完成,下面我们就开始介绍
FTM
相关的寄存器。

注意,FTM 模块有很多寄存器的写入操作并不能立刻更新该寄存器的值,而 是先写到一个缓冲器(Buffer )里,由系统在设置好的载入点(load point ),再配合软件 或硬件触发的方式来从缓冲器更新寄存器中的值的,
后面我们介绍到这些寄存器的时候会指
出。

另外,FTM 的很多寄存器具有写保护功能,需要先把写保护打开才可以写入,这点也在 后面的介绍
中提到。

设置,时钟源选择和分频设置,具体如下。

TOF 定时器溢出标志,当 FTM 模块计数器到达 MO 晴存器中设置的结束值时,无论是 递增计数还是先加后减计数,在计数值从结束值变化到下一个值时,该位置 1。

当读取
该寄存器,且该位置 1时,写0可清除该标志,写1则没有效果。

TOIE :定时器溢出中断使能。

当 TOF 置1时是否触发中断。

对外界固定时钟计数配合
TOF 和TOIE 则可以实现定时中断的功能。

TOIE=0 :定时器溢出中断禁止;
pie scaler
| CPWMS]
Z3=
# synthionzBr
1. 状态和控制寄存器(FTMx_SC
TOIE=1 :定时器溢出中断使能。

实用文档
CPWMS 中心对齐PWM 选择。

这一位实际是设置计数器加减计数,所谓 PWM 中心对齐模
式就是指的计数器先加后减。

该位平时出于写保护状态,只有在 MODE[WPDIS= 1时才
可被写入。

CPWMS=0计数器加法计数; CPWMS :计数器先加后减计数。

CLKS 时钟源选择。

选择FTM 计数器的时钟来源。

该位平时写保护,只有在MODE[WPDIS] =1时才可写入。

CLKS=O0未选择时钟;
CLKS=01:系统时钟(推荐,即 Bus Clock ); CLKS=10定频时钟; CLKS=11 :外部时钟。

PS:预分频设置。

设置对CLK 选中的时钟预分频。

该位平时写保护,只有在MODE[WPDIS] =1时才可写入。

预分频比=2A PS,最大128分频。

2.
计数器 FTMx_CNT
该寄存器包含FTM 计数器的值。

复位时该寄存器清 0,向该寄存器写入任何值将会使该
寄存器回到初始设定值。

CNTIN 中保存的是初始设定值。

BDM 模式下,FTM 计数器被冻结。

3. 模数寄存器FTMx_MOD
该寄存器保存FTM 计数器的模数,即计数器计数终止值,当计数器到达对应的模数值时, TOF 将在下一个时钟到来时置 1。

此时计数器的值取决于选择的计数器计数方案,默认回到 初始值。

写该寄存器的值会先锁存到一个缓冲器里,
不会立刻更新,而是和寄存器更新设置有关。

4. 通道n 状态及控制寄存器(FTMx_CnSC
这是一个非常重要的寄存器,每个通道都有一个
CnSC 寄存器。

该寄存器中包含通道中
CHF:通道标志,当对应通道设定事件发生时该位由硬件置
1。

所谓通道设定事件有两种,
一种是输入捕捉模式下,捕捉到设定的边沿时;另一种是输出比较模式下,
FTM 计数值
实用文档
R W
E it
变化到和通道n的设定值相等时。

当通道的CHF置1时,读取CnSC寄存器并对CHF位写0可清除该位,写1无效。

如果该位置1,在对CSC寄存器进行读写操作时,新的事件发生,则CHF位仍保持未清除的状态。

在这种情况下,新发生的事件的中断请求不会丢失。

CHF=0通道事件未发生;
CHF=1发生通道事件。

CHIE:通道中断使能。

该位用于设置CHF置位时是否发出中断请求。

CHIE=0:通道中断禁止;
CHIE=1 :通道中断使能。

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连续捕捉模式。

ELSB ELSA边沿或电平选择。

参看下表:模式、边沿和电平选择,在下表中,有些设置位还没有提到,这里提前介绍一下。

DECAPE用于设置双边沿捕捉,主要用于测外部脉冲的周期和脉宽时用到;COMBINED于设置联合模式,用于两路联合输出PWM可用于非对称PWM波形输出,或
者两通道互补输出,使用联合方式输出PWM勺方式在有些桥式电机驱动的电路中,可以很方
便的实现电机正反转切换,也可以用软件实现死区插入,如果不用联合模式,该位置0即可;
CPWM在FTMx_SC寄存器中已经介绍,具体参看前面的介绍。

有关MSnB:MSnA和ELSnB ELSnA在不同用途的设置,参考下表。

ooooooooooo
ooooooooooooooooooooo
实用文档
ELS nB ELS nA 通道端口使能 检测边沿 0 0 禁止 不检测 0 1 使能 上升沿 1
0 使能 下降沿 —
1
1
使能
上升沿和下降沿
DMA DMA 使能,使能该通道的 DMA 专输
DMA=0 DMA 禁止; DMA=1 DMA 使 能。

5.
通道n 计数值寄存器((FTMx_CnV
每个通道都有一个 CnV 寄存器,在输入捕捉模式下,当捕捉到设置的边沿时,此时 FTM
计数器的值自动保存到 CnV 寄存器中,该值可用于反映捕捉事件发生的时刻。

在输出模式下
CnV 寄存器保存输出匹配值, 该值用于和FTM 计数器的值进行比较,当相等时,则比较成功。

在输入捕捉、捕捉测试和双边沿捕捉模式下,
任何对该寄存器的写入操作都无效。

在输
出模式下,写入该寄存器的值会先锁存到缓冲器内,何时更新和寄存器更新设置有关。

6. 计数器初始值寄存器(FTMx_CNTIN
该寄存器保存FTM 计数器的初始值。

写入该寄存器的值会预先锁存在缓冲器内。

在选择
时钟前,先设置该寄存器以初始化
FTM 计数器,否则,计数器会默认从 0开始计数。

e*t 31 30 20 se 27 26 25 24 曲 22 21 20
16 17 16 115 14 12 12 in 10 Q 8
7
6
5
4^2
1
Reserved INIT
7. 捕捉和比较状态寄存器(FTMX_STATUS
该寄存器中包含了每个通道的
FTMx_CS (寄存器中的CHnF 位的拷贝以方便编程。

这样一
次就可以读出一个 FTM 模块的所有通道的标志位,读取后,写 0清除。

S M 30 曲 甜 27 站 55 亂 | 虻 盏 21
20 也 1A 仃 瞄
R
Reset
0 0
0 0 0
0 0

0 0 0
0 Bit 1& 14
12 11
10
g
T
a £ 4
2
2
T 0
R
0 CH7F CH6F CH6F CH 吓
CH3F
CH2F
CH1F CHOF
-
O
0 0 0 Reset Q Q
0 0 0 0 0 0 0
Q
0 0 0
8. 特性模式选择寄存器(F T M x _M O D E
该寄存器主要设置错误中断、错误控制、捕捉测试模式、 P W M 同步、写保护、通道输出
初始化、FTM 增强特性使能。

这些控制和所有通道都有关。

实用文档
B1I X 20 2& 27
£ 24 23 22 21 20 10
17 16 15 14 13 12 11 10 0
&
7
6
6
4
3
2
1
FAULTIE:错误中断使能,当错误控制使能时,在检测到错误时是否触发中断。

FAULTIE=O:错误控制中断禁止;
FAULTIE=1:错误控制中断使能。

FAULTM定义错误控制模式,该寄存器写保护,只有当MODE[WPDIS] = 1时可写入。

FAULTM=00所有通道错误控制功能禁止;
FAULTM=01偶数通道错误控制使能,且手动清除错误;
FAULTM=10所有通道错误控制使能,且手动清除错误;
FAULTM=11所有通道错误控制使能,且自动清除错误。

CAPTEST捕捉测试使能,该位写保护,只有当MODE[WPDIS] = 1时可写入。

CAPTEST=0输入捕捉测试禁止;
CAPTEST=0输入捕捉测试禁止。

PWMSYNCPWM同步模式,所谓PWM同步实际上就是如何将某些寄存器的值从Buffer中更新的一种机制。

选择MOD CnV OUTMAS K和FTM counter几个寄存器同步时使用的触发器,可选择
软件触发或硬件触发。

触发就是允许计数器在到达下一个载入点时更新这些寄存器的值的信号。

软件触发通过编程实现,硬件触发通过外部脉冲实现。

PWMSYNC=0MOD CnV, OUTMAS K和FTM counter几个寄存器的同步可以选择软件触发或硬件触发,没有限制。

PWMSYNC=1MOD CnV的同步只可以选择软件触发,OUTMASK和FTM counter的同步只可以选择硬件触发。

WPDIS写保护禁止,该位和WPEIN写保护使能)相反,当WPEN写1时,WPDIS被清0 WPDIS=0写保护使能,被写保护的位不可被写入;
WPDIS=1写保护禁止,被写保护的位可写入。

INIT :通道输出初始化,当对INIT写1时,通道的输出初始化,根据每个通道的OUTINIT 寄存器而定。

对该位写0无效,任何时候读取该位都为0。

FTMEN FTM使能,该位写保护,只有当MODE[WPDIS] = 1时可写入。

FTMEN=0只有和S08的TPM兼容的寄存器可以使用,这时一般的输入捕捉和输出比较,
各通道独立输出PWM都可以使用,且不需要选择PWM同步方式;
FTMEN=1所有寄存器都可以使用。

如果使用通道联合输出PWM双边沿捕捉,AB相计数等增强的功能,则需要设置FTMEN=1这时也必须规划好使用的到的一些寄存器的更新方式,即PWM同步方式和软硬件触发同步的方式。

9. 同步寄存器(FTMx_SYNC
该寄存器用于设置PWM同步。

一个同步事件能够执行MOD CV,和OUTMASK寄存器的
同步,即使用缓冲器中的值更新这几个寄存器,这时FTM计数器也可以重新初始化。


FTMEN=时,该寄存器必须合理设置。

实用文档
00000000 7
£ «
4
a
2 1 o
X
TRIG2: PWM 同步硬件触发器 出现上升沿时硬件触发。

TRIG2=0:触发器禁止; TRIG2=1:触发器使能。

2。

使能硬件触发器 2触发PWM 同步, 触发器2输入引脚上
TRIG1: PWM 同步硬件触发器 出现上升沿时硬件触发。

TRIG 仁0:触发器禁止; TRIG 仁1:触发器使能。

TRIG0: PWM 同步硬件触发器 出现上升沿时硬件触发。

1。

使能硬件触发器 0。

使能硬件触发器 1触发PWM 同步, 0触发PWM 同步, 触发器1输入引脚上
触发器0输入引脚上 注意:软件触发,即向 SWSYN 位写1,和通过 TRIG0:3实现的硬件触发,存在潜在的
SWSYNCPWM 同步软件触发。

当对该位写 1时,软件触发发生,即发生软件触发事件, 当计数器运行到下一个载入点时,同步发生,对应寄存器更新,完毕后 SWSYN 会自动
清0。

TRIG0=0:触发器禁止;
TRIG0=1 :触发器使能。

冲突。

当SYNCMODE =时,如果同时使用硬件触发和软件触发就可能发生。

建议不要同时
使用软件触发和硬件触发, 一般情况下,当我们使用FTM 的一些增强功能时, 我们使用软件 触发即可。

SYNCHQMI 输出屏蔽同步,选择 OUTMAS 寄存器是否从缓冲器里更新。

SYNCHOM=0在系统时钟上升沿时, OUTMAS 寄存器从缓冲器中更新自身值; SYNCHOM=1PWM 同步时,OUTMAS 寄存器从缓冲器中更新自身值。

RENINT FTM 计数器重新初始化。

决定当选择的触发器触发同步时, FTM 计数器是否重
新初始化。

RENINT=0 FTM 计数器继续计数;
RENINT=1当触发事件发生时, FTM 计数器回到设定的初值。

CNTMAX 最大载入点使能,当触发事件发生后,直到
FTM 计数器达到莫一个值时, 这一
时刻才会发生更新寄存器值的同步,这一时刻就是载入点。

当该位为1时,当FTM 计数器达到最大值时, 即MOD 直,这一时刻将作为一个同步的载 入点。

CNTMIN 最小装载点使能
当该位为1时,当FTM 计数器达到最小值时,即CNTIN 值,这一时刻将作为一个同步的 载入点。

10.通道输出初始状态(FTMx_OUTINIT
w
山 J-—l nv
匚CVJMHLCI
wn_38
wdrjoo
FleS 削 Q 0 0 0 0 0 0
6M 15
1J 13 1? 11 1C

R
Sus
"NuldTOIUJa
od<Q


实用文档
CHxOM 通道x 输出屏蔽。

CHxOM=0该通道输出正常; CHxOM=1该通道输出屏蔽。

12. 通道联合功能寄存器(FTMx_COMBINE
该寄存器包含:错误控制、同步、死区插入、双边沿捕捉模式、补偿、双通道联合等功 能。

该寄存
器在使用双通道联合功能时, 主要是非对称PWM t 出,双通道互补输出,双边沿
捕捉等功能时需要合理设置。

BM *1 30 2S 2S 27 2)6 25
24
23
22
21
20
10 1& 17 1S
Re?et QOOOOOOQ|OOQOOOO
FAULTENn 使能通道 2n 和2n+1的错误控制,该位写保护,只有当 MODE[WPDIS] = 1
时可写入。

FAULTENn=0通道2n 和2n +1的错误控制禁止; FAULTENn=1通道2n 和2n +1的错误控制使能。

SYNCENn 使能寄存器 C(2n)V 和C(2n+1)V 的PWM 同步,即这两个寄存器能否被触发事 件触发更新。

该位写保护,只有当 MODE[WPDIS] = 1时可写入。

SYNCENn=0 寄存器 C(2n)V 和 C(2n+1)V 的 PWM 同步禁止; SYNCENn ^ 寄存器 C(2n)V 和 C(2n+1)V 的 PWM 同步使能。

DTENn 死区使能。

使能通道
2n 和2n+1的死区插入。

死区插入在双通道互补输入控制
桥式电机驱动电路时,防止同侧开关管同时导通的危险,具体插入死区的时间则由 FTMx_DEADTIM 寄存器设定。

该位写保护,只有当
MODE[WPDIS] = 1时可写入。

DTENn=0通道2n 和2n+1的死区插入功能禁止; DTENn=1通道2n 和2n+1的死区插入功能使能。

DECAPn 双边沿捕捉。

使能通道 2n 和2n+1的双边沿捕捉。

该位只有当 FTMEN=1和
DECAPENM 有效。

实用文档
Bit 31 M 2Q 27 26 25 24 22 21 20 19 1B 17 IS | IS 14 il 12 11 10 5 & 1 E E 4 A 2 i 0
nflMt OOOOOaOOOOOOOOOolOOoOOOOOooOOOOoO CHxO :通道x 输出初始值。

CHxOI=0:初始值为0; CHxOI=1 :初始值为1。

11.输出屏蔽寄存器(FTMx_OUTMA$K
at 31 30 £0 鸽 2T
2 £1 20 1D 17 1@ I 1£
13 12 11 K> » & 7 & 5 4 3 2 1 0 E 山
1M<U_
DECAPn=0通道2n和2n+1的双边沿捕捉禁止;
DECAPn=1通道2n和2n+1的双边沿捕捉使能。

COMPn使能通道2n和2n+1的互补模式,即两个通道波形相反。

该位写保护,只有当
MODE[WPDIS] = 1 时可写入。

COMPn=:通道2n和2n+1的互补模式禁止;
COMPn=1通道2n和2n+1的互补模式使能。

COBINEn通道2n和2n+1联合设置。

只有COMBINEn=1才可使用上面那些位设置的功
能。

该位写保护,只有当MODE[WPDIS] = 1时可写入。

COBINEn=0通道2n和2n+1独立使用;
COBINEn=1通道2n和2n+1联合使用。

13. 死区插入控制寄存器(FTMx_DEADTIM)E
该寄存器设置死区时间分频系数和死区值。

所有的FTM通道都使用这个时钟分频和死区值。

死区插入的目的时在驱动全桥电路时,防止同侧半桥同时导通。

只有双通道联合互补输出时,且对应的DTE Nn=1时,设置的死区值才有效。

Bit 刚50 29 aa 27 曲25 2"骼£2 出M TP 伯订16 | TE 14 1』T2 1T 10 9 & 1 6 6 4 2 2 i ©
R 0
DTPS分频设置。

死区时间的定时也是由对BusClock计数实现的,DTPS设定的时对
BusClock分频的设置。

DTPS=0X分频比为1;
DTPS=10分频比为4;
DTPS=11分频比为16。

DTVAL DTVAL设置对DTPS分频后的时钟的计数值以确定死区插入的时间。

死区插入的时间=DTPS*DTVAL总线时钟周期。

14. 通道极性寄存器(FTMx_POL
当各通道的出于非活动状态,给寄存器设置各通道非活动状态下的值。

各位都写保护,
只有当MODE[WPDIS] = 1时可写入。

15.输入捕捉滤波控制寄存器(FTMx_FILTER
该寄存器设置输入通道的滤波值,通道4、5、6、7无输入滤波器。

注意,写入该寄存器的值将立刻起作用,而且通道0、1、2、3必须在输入模式下,如设置不当可能造成错过正确的信号。

滤波模式一般只在输入捕捉时使用,当启用滤波功能时,如果输入端发生变化,则滤波
器内部的5bit计数器开始累加计数,一旦溢出(溢出值由CHnFVAL[3:0]设定),输入端变
化才提交给边沿检测器。

如果计数过程中,输入端再次发生相反变化,则计数器会被复位并
重新开始计数,这样一些比过滤时间短的脉冲则会被视为干扰且不会提交给边沿计数器,只
有在滤波模块计数期间保持稳定的信号才会提交给边沿计数器。

实用文档
16.正交解码控制和状态寄存器(FTMx_QDCTRL 正交解码一般用于正反向脉冲计数,
由旋转编码器输入A 相和E 相脉冲, 由FTM 模块根
据相位自动增加或减少。

在电机正反转测速时非常有用。

Reset 0 000 0000|00 0000'00 PHAFLTRE : A 相输入滤波使能设置。

滤波值由滤波寄存器中的 CH0FVAL 定义,如果
CHOFVAL=0滤波也无效。

PHAFLTREN=O A 相输入滤波禁止; PHAFLTREN=O A 相输入滤波使能。

PHBFLTRE : B 相输入滤波使能设置。

滤波值由滤波寄存器中的
CH1FVAL 定义,如果
CH1FVAL=0滤波也无效。

PHBFLTREN=0 B 相输入滤波禁止; PHBFLTREN=0 B 相输入滤波使能。

PHAPOL A 相输入极性选择。

PHAPOL=0普通极性; PHAPOL=1反向极性。

PHBPOL B 相输入极性选择。

PHBPOL=0普通极性; PHBP0L=1反向极性。

QUADMODEE 交解码模式。

QUADMODE=0A 相和B 相编码模式。

计数方向由 AB 相之间的关系决定,计数频率由 A 相B 相输入信号决定。

当A 相或B 相的信号出现跳变,即可触发FTM 计数器改变。

在这 种模式下,只需要把旋转编码器的 AB 相输出直接接到FTM 的AB 相输入即可。

; QUADMODE=1t 数和方向编码模式。

B 相输入值用于指示计数方向,
A 相输入用于计数,
channel (n) input after, tta
sywhranizjer
lilterouipirt
戶吐 2H
30
20
2fi
27
26 24 I 22, 22
21
20 10) 17 1£
R
FTM计数器在A相输入的每个上升沿进行计数,累加或递减由B相电平决定。

QUADIR正交解码模式下的FTM计数方向状态位,查询该位可获知当前计数方向。

QUADIR=0递减计数;
QUADIR=1递增计数。

TOFDIR 正交解码模式下 TOFDIR=0底部溢出时置 FTM 计数器溢出方向。

在溢出时,查询该位可获知溢出方向。

1 ;
TOFDIR=1顶部溢出时置 1。

QUADEN 正交解码模式使能位。

QUADEN=0正交解码模式禁止; QUADEN=1正交解码模式使能。

NIII

1-0
------- B DMMODE
NUMTOF
Li-nfgCE


CJ 0SSH
R6SSI 00000000|0000000
Bi1 15 14
14 12 1i iC « & 7 £ & 4 H 2 1
R
LL-nguMMS
Reset 000000000
HWSOC SWOCTR 寄存器的同步是否由硬件触发。

HWSOC=0SWOCTR 寄存器的同步不由硬件触发; HWSOC=1 SWOCTR 寄存器的同步由硬件触发。

HWINVC INVCTRL 寄存器的同步是否由硬件触发。

HWINVC=0 INVCTRL 寄存器的同步不由硬件触发; HWINVC=1 INVCTRL 寄存器的同步由硬件触发。

HWOMOUTMAS 寄存器的同步是否由硬件触发。

HWOM=OOUTMAS 寄存器的同步不由硬件触发;
R@SGI 0
000000000000
0 00
GTBEOUT 全局时间基准输出,使能全局时间基准信号给其它 FTM
GTBEEN 全局时间基准使能,设置FTM 使用一个其它FTM 模块产生的外部的全局时间基 准。

BDMMODE 选择FTM 在 BDM 模式下的行为。

NUMTOF 设置计数器溢出次数和 TOF 标志置位次数的比值,NUMTOF=nn (0~31) 每溢出n+1次,TOF 置位一次。

18. 同步设置寄存器(FTMx_SYNCONF
该寄存器主要设置软件触发和硬件触发对于某些寄存器的影响。

Bit 31 M 20
2& 27 2G 2S 24 | £3 22 21 20 19 1B 17 16
F ;
17.设置寄存器(FTMx_CONF
Bit 31 X » se 27 第 第 24
±3 甜 21
20
10
17
16
Resel 0000000000000000
Bit 15
14
13
12
11
10
9
8 7 @ 5 4 3 2 1 0

吕山凹
W
00

S
85^

00
暑NA3
oNLLNGi
0>z_
山 OOWO E LAAH
HWOM:OUTMAS寄存器的同步由硬件触发。

HWWRBUFMOD CNTIN, CnV寄存器的同步是否由硬件触发。

HWWRBUF F CMOD CNTIN, CnV 寄存器的同步不由硬件触发; HWWRBUF:=1MOD CNTIN, CnV寄存器的同步由硬件触发。

HWRETCNTFTM计数器同步是否由硬件触发。

HWRETCNT=OFTM十数器同步不由硬件触发;
HWRETCN=仃FTM十数器同步由硬件触发。

SWSOC SWOCTR寄存器的同步是否由软件触发。

SWSOC=0 SWOCTR寄存器的同步不由软件触发;SWSOC:SWOCTR寄存器的同步由软件触发。

SWINVC INVCTRL寄存器的同步是否由软件触发。

SWINVC=0 INVCTRL寄存器的同步不由软件触发;SWINVC=1 INVCTRL寄存器的同步由软件触发。

SWOM OUTMAS寄存器的同步是否由软件触发。

SWOM=0 OUTMAS寄存器的同步不由软件触发;
SWOM=1 OUTMAS寄存器的同步由软件触发。

SWWRBUFMOD CNTIN, CnV寄存器的同步是否由软件触发。

SWWRBUF=CMOD CNTIN CnV 寄存器的同步不由软件触发; SWWRBUF F IMOD CNTIN CnV寄存器的同步由软件触发。

SWRETCNTFTM计数器同步是否由软件触发。

SWRETCNT=0FTM计数器同步不由软件触发;
SWRETCN=1TFTM计数器同步由软件触发。

SYNCMODE同步模式
SYNCMODE=(传统PWM同步方式;
SYNCMODE=1增强型的PWM同步方式。

SWO C SWOCTR寄存器同步设置。

SWOC=0 SWOCTR寄存器在系统时钟上升沿更新;
SWOC=1 SWOCTR寄存器更新由PWM同步完成。

INVC: INVCTRL寄存器同步设置。

INVC =0 : INVCTRL寄存器在系统时钟上升沿更新;
INVC =1 : INVCTRL寄存器更新由PWM同步完成。

CNTINC CNTIN寄存器同步设置。

CNTINC =0: CNTIN寄存器在系统时钟上升沿更新;
CNTINC =1: CNTIN寄存器更新由PWM同步完成。

HWTRIGMOD硬件触发模式。

HWTRIGMODE=脸测到硬件触发事件时清除TRIGj位;HWTRIGMODE=检测到硬件触发事件时不清除TRIGj位。

19. FTM反相设置寄存器(FTM X_INVCTRL
Bit 30 2D 2S 27 26 26 24 22 21 20 16 17 161 16 U 13 11 10 5 & 7 6 S 4 3 2 1 0
该寄存器中的各位设置通道2n和通道2n+1颠倒使用,即n通道成为n+1通道的输出,
n+1通道输出n通道的输出。

可用于控制电机正反转切换。

该功能在双通道联合互补输出时
JUJ SZH C*
1LLI

工O
1L1J
當工O
1L1J 3
寸工
O
1L1J 幕工
」関壬
■ESQHO
可用。

INVnEN 通道2n 和通道2n+1切换输出使能。

INVnEN=O :通道2n 和通道2n+1各自输出; INVnEN=1:通道2n 和通道2n+1交换输出。

20. FTM 软件输出控制寄存器(FTMx_SWOCTRL 该寄存器设置各通道强制输出高电平或低电平。

Reset 000 0 0000 0
0000000
CHnOC=时对应通道n 强制输出; CHnO CV=0当强制输出时,输出低电平; CHnO CV=1当强制输出时,输出高电平。

21. FTMPW 装载寄存器(FTMx_PWMLOAD
使能PWM 勺自动载入功能,当FTM 计数计数到MO 既定值并变化到下一个值或该通道设 置为输
出比较且比较成功时,
MOD CNTIN C (n )V 、C (n+1)V 载入缓冲器中的值。

LDOK 载入使能。

CHn SE L 载入时是否包括通道 n
CHn SEL=0不包括; CHn SEL=1 包括。

1.5.3 FTM 功能详解
1. FTM 模块的时钟
FTM 模块的核心是一个 16位计数器,该计数器的时钟来源可设置(由 FTMx_SC 寄存器
中的CLKS 设置),可来自总线时钟(CLKS=01,也可来自MCG 模块的MCGFFCL ,对时钟源 可进行
分频(由FTMx SC 寄存器中的PS 设置)。

C H 7O C V
C H 4O C V
G H 1O G V
C H O 0C V
0H 7O 0
W
Blf 31 帥 如 甜 27 苗 25
24 I 鈴 22 21 20 19 祐 1? 16
R
Bll 31 3D 29
26 27
26
25
24 I
22
21
20 19 13 IT 16
u J
CLKS PS
| O
1—
no 曲! k selEdad (FTMcDurter Hej 科 stem clock
fis«iltrequerc^ctaclc-
SX I BITB I C bck phiw A
iphass B
— CPWWIS]
CAPTE3T
r
inriiakaticri
inriiairation tn®er 计蛾器
rroO rrsi iimer avorllbw timer raedlaw
irtterrupi
irtemjpi

如果使用固定频率时钟,即 fixed frenquency clock ,也就是 MCGFFCLK 则需要在 MCG 模块中设置。

MCG^块提供的MCGFFCLK 可以为其它片上周边设备提供时钟, 该时钟可由内
部慢速参考时钟提供或外部晶振,且由 FLL 分频后提供。

MCGFFCL 由C1_IREFS 位设置来自
内部32K 还是来自外部经过 FDIV 分频后的时钟,输出到 MCGFFCL 还要2分频一次。

MCGFFCL 用
于局部总线时钟同步,而且不得大于 MCGOUTCLK 1/8。

且该时钟在 MCG±于
BLPI 模式和STOP 模式下无效。

一般情况下,只要不是对外部计数功能,我们都会采用 Bus Clock 为FTM 提供时钟。

2. FTM 模块的计数模式
FTM 模块在时钟确定后,计数器计数,默认情况下,对分频后输入时钟进行递增无符号
计数。

计数器初始值由FTMx_CNTlN 旨定。

当一直计数到达FTMx_MO 寄存器的设定值时,TOF 置位。

计数器回到初始值,循环往复。

如下图所示,计数器从 0计数到3,循环计数。

计数
周期=(MOD-CNTIN+1)*时钟周期。

实用文档
BH n

A
R
a
Rft8££t
CLbS
FThlEN
QU1E£N
・ jynchnrmr
FTM courier
F 世guM
EEgEh
er
FFV^LJiO].
TTITH M

盯神选桿
| INlTmiGEH
卜匚]卄 | iNimilOEH H * TOT。

相关文档
最新文档