飞思卡尔k系列ftm模块详解文档格式.docx
《飞思卡尔k系列ftm模块详解文档格式.docx》由会员分享,可在线阅读,更多相关《飞思卡尔k系列ftm模块详解文档格式.docx(48页珍藏版)》请在冰豆网上搜索。
可产生触发信号。
软件控制PWM输出。
最多4个全局错误控制使用的错误输入。
每个通道的极性可设置。
每个通道都可产生中断。
错误条件发生时也可产生中断。
同步载入或写入带缓冲的FTM寄存器。
关键寄存器有写保护功能。
和HS08系里的TPM兼容。
对于维持在低电平或高电平的信号也可进行输入捕捉的测试。
双边沿捕捉可用于脉冲或周期信号宽度测量。
2.FTM模块框图
3.
nodocksete^ed
(FTMcourterdi-®
.ble)s-ystsmdbck
fbcdlrcciuiencydockextermlcbck
phaseAQuadratuinei
phaseB►decador
CLKS
FTIVEN
QUADEN
>
町nchionrzer
CPWMS
ICAPTES
FTMcoupler
险ukinputif
pairchawels0-ehanneIs0and1
I
4
r__
i
chanreinpui.
inpdlcapturennodBJogc;
channel1igt
DECAPEN
combinecTCPWMSMISO日:
NISOAEL9&
R:
EL90H
ELEdEELSlR
FWLTM1:
<
S
FFVAL30
captute
bgc
ainputcapture
modebpc
COIVBINEO
DECAPEM
「;
门阿RlhFr;
MS6日札怡抄
ELS6B:
ELS6A
ackedbc^capture
modelogic
chamrel「put.
chanrelinp"
DECAPE忖
COMIBINES:
CPWM]
MS7BMS7A1
ELS7B:
ELS7A
-PS-
CMTIN
TOIE
TOFDIR
I—►QLJADIR
怙lpHconcftion
TOF
feLftcanirol
MwseriB^.2,1.D
inrtralE.ation
Ingaer
limercverfbwinterrupt
■
FALILTH-J
FAULTF
FAULTFn*
MOD
IOHQIE!
■_rGhanr^lOICHoTRIG卜
割CHOF】_L*interrupt
interrupt
MirtpLrtirocfesbgfc
(gensration口tchanrekDand1outpulsagnalsinoirtputccrnpare,EPWM.CPWMandronbinemoctesaccoiding1.aicamplenn^ntary'
rriude,inuediing,QUtpiJ
COrTtrol,dtadiir口uipjtnna^k他曲control
dnannell
pairchannels3・c-hanreb6and7
channel6|CH6TRIGfinterrupt
inpuicagiuremodslogic
CSV
inpulCi&
pturie
C7V
*
rradeItogic
.channel0
7re.tchtrigger
—channel0
•口5*sgn^l;
.channel1
!
oirtpiJsigna.
Channellmetehlinger
;
fc£
hannal6TTnaichtrigger
outputmodeslogic
(generarti&
nolchannelsiS^ndiZoUiputs$jgne|$inoutput
npa吗EPWM,CFWMandcomBnemxtesaccedingIo
hrtializatton,complerrfeniaiymcde,irtjertinQsortwarecutpiJ
corrtrol,deadtinshsertbn,oirtputmas^焙ultcontrol
andpotartvcontrol)
-J->
chann创6
outputsignal
-;
-►channel7
icutpilsignal
charnel7
rterrupt
icharms7
丿■rtnatohtrigger
Figure37-1.FTMBlockDiagram
由图可见,FTM模块的核心是一个16位计数器,该计数器的时钟源可以选择,如果我们选择由FTM来实现PWM输入捕捉,或者输出比较,定时中断,脉宽测量等功能,则一般选择systemclock。
这个时钟实际上就是我们前面提到的MCG莫块输出的MCGOUTCLK再由
SIM模块分配后得到的BusClock。
如果我们选择由FTM实现对外部脉冲的计数,也可选择外部时钟,如果是外部编码器输入的AB相脉冲,用于电机正反转测速,则可以使用PHA和
PHB输入,由计数器自动加减计数。
rodocfesefeclad(FTMaourtefdsHe^非stemdeskfij«
iltreque吋dock
罰emalcbekphe無AQuacHiure
iphaseB►
CAPTEBT
CL潜
FTtfH
OUADEN
piescaler
|CPWMS]
Z3=
#synthionzBr
16h3殺附圈
SIiiTT
rroin♦rm-
iniiiaizatioi
rroin
inrliaiTAtion
tn®
饶
U~^
tn^er
timerraedkiw
jrriemjpi:
timer»
QrHow
irferrupi:
计敬奚
16位计数器FTMCounter每个FTM模块一个,该FTM模块的所有通道共用这一个计数器。
计数器的初始值(CNTIN)和结束值(MOD可以设置。
计数器的计数方式有三种,一种是递增计数,计数器从初始值开始累加,直到结束值,在下一个时钟周期,又回到初始值,循环往复。
第二种是先加后减计数,计数器从初始值开始累加,到结束值后,从下一个时钟
开始递减,一直减到初始值,然后再次开始累加,循环往复运行。
第三种是正交解码模式,即对外部输入的AB相脉冲计数,由FTM根据A相和B相的相位自动递增或递减计数。
在这里需要注意,FTM0不具备第三种计数模式,只有FTM1和FTM2可以使用正交解码。
1.5.2FTM的寄存器
对FTM模块的设置和访问时都是通过FTM的寄存器来完成,下面我们就开始介绍FTM
相关的寄存器。
注意,FTM模块有很多寄存器的写入操作并不能立刻更新该寄存器的值,而是先写到一个缓冲器(Buffer)里,由系统在设置好的载入点(loadpoint),再配合软件或硬件触发的方式来从缓冲器更新寄存器中的值的,后面我们介绍到这些寄存器的时候会指
出。
另外,FTM的很多寄存器具有写保护功能,需要先把写保护打开才可以写入,这点也在后面的介绍中提到。
1.状态和控制寄存器(FTMx_SC
设置,时钟源选择和分频设置,具体如下。
TOF定时器溢出标志,当FTM模块计数器到达MO晴存器中设置的结束值时,无论是递增计数还是先加后减计数,在计数值从结束值变化到下一个值时,该位置1。
当读取
该寄存器,且该位置1时,写0可清除该标志,写1则没有效果。
TOIE:
定时器溢出中断使能。
当TOF置1时是否触发中断。
对外界固定时钟计数配合
TOF和TOIE则可以实现定时中断的功能。
TOIE=0:
定时器溢出中断禁止;
TOIE=1:
CPWMS中心对齐PWM选择。
这一位实际是设置计数器加减计数,所谓PWM中心对齐模
式就是指的计数器先加后减。
该位平时出于写保护状态,只有在MODE[WPDIS=1时才
可被写入。
CPWMS=0计数器加法计数;
CPWMS:
计数器先加后减计数。
CLKS时钟源选择。
选择FTM计数器的时钟来源。
该位平时写保护,只有在MODE[WPDIS]=1时才可写入。
CLKS=O0未选择时钟;
CLKS=01:
系统时钟(推荐,即BusClock);
CLKS=10定频时钟;
CLKS=11:
外部时钟。
PS:
预分频设置。
设置对CLK选中的时钟预分频。
该位平时写保护,只有在MODE[WPDIS]=1时才可写入。
预分频比=2APS,最大128分频。
2.计数器FTMx_CNT
该寄存器包含FTM计数器的值。
复位时该寄存器清0,向该寄存器写入任何值将会使该
寄存器回到初始设定值。
CNTIN中保存的是初始设定值。
BDM模式下,FTM计数器被冻结。
3.模数寄存器FTMx_MOD
该寄存器保存FTM计数器的模数,即计数器计数终止值,当计数器到达对应的模数值时,TOF将在下一个时钟到来时置1。
此时计数器的值取决于选择的计数器计数方案,默认回到初始值。
写该寄存器的值会先锁存到一个缓冲器里,不会立刻更新,而是和寄存器更新设置有关。
313D292B2?
26252422213319181?
16
1614131211110987654321O
Rfiserved
0000000000000000
OOODOOOOOOOOODOO
R
W
E:
it
4.通道n状态及控制寄存器(FTMx_CnSC
这是一个非常重要的寄存器,每个通道都有一个CnSC寄存器。
该寄存器中包含通道中
CHF:
通道