




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1.5.1 FTM模塊簡(jiǎn)介FTM模塊是一個(gè)多功能定時(shí)器模塊,主要功能有,PWM輸出、輸入捕捉、輸出比較、定時(shí)中斷、脈沖加減計(jì)數(shù)、脈沖周期脈寬測(cè)量。在K10中,共有FTM0,F(xiàn)TM1,F(xiàn)TM2三個(gè)獨(dú)立的FTM模塊。其中FTM0有8個(gè)通道,可用于電機(jī)或舵機(jī)的PWM輸出,但不具備正交解碼功能,也就是對(duì)旋轉(zhuǎn)編碼器輸入的正反向計(jì)數(shù)功能。而FTM1和FTM2則具備正交解碼功能,但是FTM1和FTM2各只有兩個(gè)通道。FTM模塊的時(shí)間基準(zhǔn)來(lái)自一個(gè)16位的計(jì)數(shù)器,該計(jì)數(shù)器的值可讀取,即可作為無(wú)符號(hào)數(shù)對(duì)待,也可作為有符號(hào)數(shù)的補(bǔ)碼對(duì)待。1. FTM模塊特性l 時(shí)鐘源可選擇,F(xiàn)TM的時(shí)鐘源可以來(lái)自系統(tǒng)時(shí)鐘或外部時(shí)鐘。
2、可對(duì)時(shí)鐘分頻,分頻比為1,2,4,8,16,32,64,128。l FTM的一個(gè)16位計(jì)數(shù)器,該計(jì)數(shù)器可設(shè)置為自由運(yùn)行或由用戶設(shè)置起始和結(jié)束值,可遞增計(jì)數(shù)也可遞減計(jì)數(shù)。l FTM的每個(gè)通道都可以設(shè)置為輸入捕捉、輸出比較或邊沿對(duì)其的PWM輸出。l 在輸入捕捉模式下,可捕捉上升沿、下降沿或兩個(gè)邊沿都捕捉,有些通道可選擇輸入濾波器。l 在輸出比較模式下,在比較成功時(shí)可選擇輸出信號(hào)置位、清零或翻轉(zhuǎn)。l 所有的通道都可以設(shè)置為中心對(duì)齊的PWM輸出模式。l 每對(duì)通道都可以級(jí)聯(lián)以產(chǎn)生PWM信號(hào)。l FTM的通道可成對(duì)工作在相同輸出或互補(bǔ)輸出,也可各通道獨(dú)立輸出。l 當(dāng)通道成對(duì)互補(bǔ)輸出時(shí)可使用死區(qū)插入。l 可
3、產(chǎn)生觸發(fā)信號(hào)。l 軟件控制PWM輸出。l 最多4個(gè)全局錯(cuò)誤控制使用的錯(cuò)誤輸入。l 每個(gè)通道的極性可設(shè)置。l 每個(gè)通道都可產(chǎn)生中斷。l 錯(cuò)誤條件發(fā)生時(shí)也可產(chǎn)生中斷。l 同步載入或?qū)懭霂Ь彌_的FTM寄存器。l 關(guān)鍵寄存器有寫保護(hù)功能。l 和HS08系里的TPM兼容。l 對(duì)于維持在低電平或高電平的信號(hào)也可進(jìn)行輸入捕捉的測(cè)試。l 雙邊沿捕捉可用于脈沖或周期信號(hào)寬度測(cè)量。2. FTM模塊框圖由圖可見(jiàn),F(xiàn)TM模塊的核心是一個(gè)16位計(jì)數(shù)器,該計(jì)數(shù)器的時(shí)鐘源可以選擇,如果我們選擇由FTM來(lái)實(shí)現(xiàn)PWM,輸入捕捉,或者輸出比較,定時(shí)中斷,脈寬測(cè)量等功能,則一般選擇system clock。這個(gè)時(shí)鐘實(shí)際上就是我們前
4、面提到的MCG模塊輸出的MCGOUTCLK,再由SIM模塊分配后得到的Bus Clock。如果我們選擇由FTM實(shí)現(xiàn)對(duì)外部脈沖的計(jì)數(shù),也可選擇外部時(shí)鐘,如果是外部編碼器輸入的AB相脈沖,用于電機(jī)正反轉(zhuǎn)測(cè)速,則可以使用PHA和PHB輸入,由計(jì)數(shù)器自動(dòng)加減計(jì)數(shù)。16位計(jì)數(shù)器FTM Counter每個(gè)FTM模塊一個(gè),該FTM模塊的所有通道共用這一個(gè)計(jì)數(shù)器。計(jì)數(shù)器的初始值(CNTIN)和結(jié)束值(MOD)可以設(shè)置。計(jì)數(shù)器的計(jì)數(shù)方式有三種,一種是遞增計(jì)數(shù),計(jì)數(shù)器從初始值開始累加,直到結(jié)束值,在下一個(gè)時(shí)鐘周期,又回到初始值,循環(huán)往復(fù)。第二種是先加后減計(jì)數(shù),計(jì)數(shù)器從初始值開始累加,到結(jié)束值后,從下一個(gè)時(shí)鐘開始遞
5、減,一直減到初始值,然后再次開始累加,循環(huán)往復(fù)運(yùn)行。第三種是正交解碼模式,即對(duì)外部輸入的AB相脈沖計(jì)數(shù),由FTM根據(jù)A相和B相的相位自動(dòng)遞增或遞減計(jì)數(shù)。在這里需要注意,F(xiàn)TM0不具備第三種計(jì)數(shù)模式,只有FTM1和FTM2可以使用正交解碼。1.5.2 FTM的寄存器對(duì)FTM模塊的設(shè)置和訪問(wèn)時(shí)都是通過(guò)FTM的寄存器來(lái)完成,下面我們就開始介紹FTM相關(guān)的寄存器。注意,F(xiàn)TM模塊有很多寄存器的寫入操作并不能立刻更新該寄存器的值,而是先寫到一個(gè)緩沖器(Buffer)里,由系統(tǒng)在設(shè)置好的載入點(diǎn)(load point),再配合軟件或硬件觸發(fā)的方式來(lái)從緩沖器更新寄存器中的值的,后面我們介紹到這些寄存器的時(shí)候會(huì)
6、指出。另外,F(xiàn)TM的很多寄存器具有寫保護(hù)功能,需要先把寫保護(hù)打開才可以寫入,這點(diǎn)也在后面的介紹中提到。1. 狀態(tài)和控制寄存器(FTMx_SC)該寄存器每個(gè)FTM模塊一個(gè),里面包含計(jì)數(shù)器溢出標(biāo)志,溢出中斷允許設(shè)置,計(jì)數(shù)模式設(shè)置,時(shí)鐘源選擇和分頻設(shè)置,具體如下。l TOF:定時(shí)器溢出標(biāo)志,當(dāng)FTM模塊計(jì)數(shù)器到達(dá)MOD寄存器中設(shè)置的結(jié)束值時(shí),無(wú)論是遞增計(jì)數(shù)還是先加后減計(jì)數(shù),在計(jì)數(shù)值從結(jié)束值變化到下一個(gè)值時(shí),該位置1。當(dāng)讀取該寄存器,且該位置1時(shí),寫0可清除該標(biāo)志,寫1則沒(méi)有效果。l TOIE:定時(shí)器溢出中斷使能。當(dāng)TOF置1時(shí)是否觸發(fā)中斷。對(duì)外界固定時(shí)鐘計(jì)數(shù)配合TOF和TOIE則可以實(shí)現(xiàn)定時(shí)中斷的功
7、能。TOIE=0:定時(shí)器溢出中斷禁止;TOIE=1:定時(shí)器溢出中斷使能。l CPWMS:中心對(duì)齊PWM選擇。這一位實(shí)際是設(shè)置計(jì)數(shù)器加減計(jì)數(shù),所謂PWM中心對(duì)齊模式就是指的計(jì)數(shù)器先加后減。該位平時(shí)出于寫保護(hù)狀態(tài),只有在MODEWPDIS = 1時(shí)才可被寫入。CPWMS=0:計(jì)數(shù)器加法計(jì)數(shù);CPWMS=1:計(jì)數(shù)器先加后減計(jì)數(shù)。l CLKS:時(shí)鐘源選擇。選擇FTM計(jì)數(shù)器的時(shí)鐘來(lái)源。該位平時(shí)寫保護(hù),只有在MODEWPDIS = 1時(shí)才可寫入。CLKS=00:未選擇時(shí)鐘;CLKS=01:系統(tǒng)時(shí)鐘(推薦,即Bus Clock);CLKS=10:定頻時(shí)鐘;CLKS=11:外部時(shí)鐘。l PS:預(yù)分頻設(shè)置。設(shè)置
8、對(duì)CLK選中的時(shí)鐘預(yù)分頻。該位平時(shí)寫保護(hù),只有在MODEWPDIS = 1時(shí)才可寫入。預(yù)分頻比=2PS,最大128分頻。2. 計(jì)數(shù)器FTMx_CNT該寄存器包含F(xiàn)TM計(jì)數(shù)器的值。復(fù)位時(shí)該寄存器清0,向該寄存器寫入任何值將會(huì)使該寄存器回到初始設(shè)定值。CNTIN中保存的是初始設(shè)定值。BDM模式下,F(xiàn)TM計(jì)數(shù)器被凍結(jié)。3. 模數(shù)寄存器FTMx_MOD該寄存器保存FTM計(jì)數(shù)器的模數(shù),即計(jì)數(shù)器計(jì)數(shù)終止值,當(dāng)計(jì)數(shù)器到達(dá)對(duì)應(yīng)的模數(shù)值時(shí),TOF將在下一個(gè)時(shí)鐘到來(lái)時(shí)置1。此時(shí)計(jì)數(shù)器的值取決于選擇的計(jì)數(shù)器計(jì)數(shù)方案,默認(rèn)回到初始值。寫該寄存器的值會(huì)先鎖存到一個(gè)緩沖器里,不會(huì)立刻更新,而是和寄存器更新設(shè)置有關(guān)。4.
9、通道n狀態(tài)及控制寄存器(FTMx_CnSC)這是一個(gè)非常重要的寄存器,每個(gè)通道都有一個(gè)CnSC寄存器。該寄存器中包含通道中斷標(biāo)志位、中斷使能控制位、通道設(shè)置以及引腳功能設(shè)置。l CHF:通道標(biāo)志,當(dāng)對(duì)應(yīng)通道設(shè)定事件發(fā)生時(shí)該位由硬件置1。所謂通道設(shè)定事件有兩種,一種是輸入捕捉模式下,捕捉到設(shè)定的邊沿時(shí);另一種是輸出比較模式下,F(xiàn)TM計(jì)數(shù)值變化到和通道n的設(shè)定值相等時(shí)。當(dāng)通道的CHF置1時(shí),讀取CnSC寄存器并對(duì)CHF位寫0可清除該位,寫1無(wú)效。如果該位置1,在對(duì)CSC寄存器進(jìn)行讀寫操作時(shí),新的事件發(fā)生,則CHF位仍保持未清除的狀態(tài)。在這種情況下,新發(fā)生的事件的中斷請(qǐng)求不會(huì)丟失。CHF=0:通道事
10、件未發(fā)生;CHF=1:發(fā)生通道事件。l CHIE:通道中斷使能。該位用于設(shè)置CHF置位時(shí)是否發(fā)出中斷請(qǐng)求。CHIE=0:通道中斷禁止;CHIE=1:通道中斷使能。l MSB、MSA:通道模式選擇,只有在MODEWPDIS = 1的情況下才可寫入。當(dāng)DECAPEN=0,也就是不用雙邊沿捕捉,雙邊沿捕捉一般用于捕捉外部脈沖用于測(cè)量脈沖的周期和脈寬時(shí)用。MSB:MSA=00:輸入捕捉;MSB:MSA=01:輸出比較;MSB:MSA=1x:邊沿對(duì)齊PWM。當(dāng)DECAPEN=1, 即使用雙邊沿捕捉時(shí)。MSB:MSA=X0:?jiǎn)未尾蹲侥J剑籑SB:MSA=X1:連續(xù)捕捉模式。l ELSB、ELSA:邊沿或電
11、平選擇。參看下表:模式、邊沿和電平選擇,在下表中,有些設(shè)置位還沒(méi)有提到,這里提前介紹一下。DECAPEN用于設(shè)置雙邊沿捕捉,主要用于測(cè)外部脈沖的周期和脈寬時(shí)用到;COMBINE用于設(shè)置聯(lián)合模式,用于兩路聯(lián)合輸出PWM,可用于非對(duì)稱PWM波形輸出,或者兩通道互補(bǔ)輸出,使用聯(lián)合方式輸出PWM的方式在有些橋式電機(jī)驅(qū)動(dòng)的電路中,可以很方便的實(shí)現(xiàn)電機(jī)正反轉(zhuǎn)切換,也可以用軟件實(shí)現(xiàn)死區(qū)插入,如果不用聯(lián)合模式,該位置0即可;CPWMS在FTMx_SC寄存器中已經(jīng)介紹,具體參看前面的介紹。有關(guān)MSnB:MSnA和ELSnB:ELSnA在不同用途的設(shè)置,參考下表。DECAPENCOMBINECPWMSMSnB:M
12、SnAELSnB:ELSnAMODE設(shè)置XXXXX0無(wú)沒(méi)有引腳被FTM使用00001輸入捕捉只捕捉上升沿10只捕捉下降沿11捕捉上升沿或下降沿11輸出比較比較成功輸出翻轉(zhuǎn)10比較成功輸出低電平11比較成功輸出高電平1X10邊沿對(duì)齊PWM先高后低X1先低后高1XX10中心對(duì)齊PWM高低高X1低高低10XX10聯(lián)合PWMn通道比較成功高,n+1通道比較成功低X1n通道比較成功低,n+1通道比較成功高100X0查看下表雙邊沿捕捉模式單次捕捉X1連續(xù)捕捉ELSnBELSnA通道端口使能檢測(cè)邊沿00禁止不檢測(cè)01使能上升沿10使能下降沿11使能上升沿和下降沿l DMA:DMA使能,使能該通道的DMA傳輸
13、DMA=0:DMA禁止;DMA=1:DMA使能。5. 通道n計(jì)數(shù)值寄存器((FTMx_CnV)每個(gè)通道都有一個(gè)CnV寄存器,在輸入捕捉模式下,當(dāng)捕捉到設(shè)置的邊沿時(shí),此時(shí)FTM計(jì)數(shù)器的值自動(dòng)保存到CnV寄存器中,該值可用于反映捕捉事件發(fā)生的時(shí)刻。在輸出模式下CnV寄存器保存輸出匹配值,該值用于和FTM計(jì)數(shù)器的值進(jìn)行比較,當(dāng)相等時(shí),則比較成功。在輸入捕捉、捕捉測(cè)試和雙邊沿捕捉模式下,任何對(duì)該寄存器的寫入操作都無(wú)效。在輸出模式下,寫入該寄存器的值會(huì)先鎖存到緩沖器內(nèi),何時(shí)更新和寄存器更新設(shè)置有關(guān)。6. 計(jì)數(shù)器初始值寄存器(FTMx_CNTIN)該寄存器保存FTM計(jì)數(shù)器的初始值。寫入該寄存器的值會(huì)預(yù)先鎖
14、存在緩沖器內(nèi)。在選擇時(shí)鐘前,先設(shè)置該寄存器以初始化FTM計(jì)數(shù)器,否則,計(jì)數(shù)器會(huì)默認(rèn)從0開始計(jì)數(shù)。7. 捕捉和比較狀態(tài)寄存器(FTMx_STATUS)該寄存器中包含了每個(gè)通道的FTMx_CSC寄存器中的CHnF位的拷貝以方便編程。這樣一次就可以讀出一個(gè)FTM模塊的所有通道的標(biāo)志位,讀取后,寫0清除。8. 特性模式選擇寄存器(FTMx_MODE)該寄存器主要設(shè)置錯(cuò)誤中斷、錯(cuò)誤控制、捕捉測(cè)試模式、PWM同步、寫保護(hù)、通道輸出初始化、FTM增強(qiáng)特性使能。這些控制和所有通道都有關(guān)。l FAULTIE:錯(cuò)誤中斷使能,當(dāng)錯(cuò)誤控制使能時(shí),在檢測(cè)到錯(cuò)誤時(shí)是否觸發(fā)中斷。FAULTIE=0:錯(cuò)誤控制中斷禁止;FAU
15、LTIE=1:錯(cuò)誤控制中斷使能。l FAULTM:定義錯(cuò)誤控制模式,該寄存器寫保護(hù),只有當(dāng)MODEWPDIS = 1時(shí)可寫入。FAULTM=00:所有通道錯(cuò)誤控制功能禁止;FAULTM=01:偶數(shù)通道錯(cuò)誤控制使能,且手動(dòng)清除錯(cuò)誤;FAULTM=10:所有通道錯(cuò)誤控制使能,且手動(dòng)清除錯(cuò)誤;FAULTM=11:所有通道錯(cuò)誤控制使能,且自動(dòng)清除錯(cuò)誤。l CAPTEST:捕捉測(cè)試使能,該位寫保護(hù),只有當(dāng)MODEWPDIS = 1時(shí)可寫入。CAPTEST=0:輸入捕捉測(cè)試禁止;CAPTEST=0:輸入捕捉測(cè)試禁止。l PWMSYNC:PWM同步模式,所謂PWM同步實(shí)際上就是如何將某些寄存器的值從Buff
16、er中更新的一種機(jī)制。選擇MOD,CnV, OUTMASK,和FTM counter幾個(gè)寄存器同步時(shí)使用的觸發(fā)器,可選擇軟件觸發(fā)或硬件觸發(fā)。觸發(fā)就是允許計(jì)數(shù)器在到達(dá)下一個(gè)載入點(diǎn)時(shí)更新這些寄存器的值的信號(hào)。軟件觸發(fā)通過(guò)編程實(shí)現(xiàn),硬件觸發(fā)通過(guò)外部脈沖實(shí)現(xiàn)。PWMSYNC=0:MOD,CnV, OUTMASK,和FTM counter幾個(gè)寄存器的同步可以選擇軟件觸發(fā)或硬件觸發(fā),沒(méi)有限制。PWMSYNC=1:MOD,CnV的同步只可以選擇軟件觸發(fā),OUTMASK,和FTM counter的同步只可以選擇硬件觸發(fā)。l WPDIS:寫保護(hù)禁止,該位和WPEN(寫保護(hù)使能)相反,當(dāng)WPEN寫1時(shí),WPDIS
17、被清0WPDIS=0:寫保護(hù)使能,被寫保護(hù)的位不可被寫入;WPDIS=1:寫保護(hù)禁止,被寫保護(hù)的位可寫入。l INIT:通道輸出初始化,當(dāng)對(duì)INIT寫1時(shí),通道的輸出初始化,根據(jù)每個(gè)通道的OUTINIT寄存器而定。對(duì)該位寫0無(wú)效,任何時(shí)候讀取該位都為0。l FTMEN:FTM使能,該位寫保護(hù),只有當(dāng)MODEWPDIS = 1時(shí)可寫入。FTMEN=0:只有和S08的TPM兼容的寄存器可以使用,這時(shí)一般的輸入捕捉和輸出比較,各通道獨(dú)立輸出PWM都可以使用,且不需要選擇PWM同步方式;FTMEN=1:所有寄存器都可以使用。如果使用通道聯(lián)合輸出PWM,雙邊沿捕捉,AB相計(jì)數(shù)等增強(qiáng)的功能,則需要設(shè)置FT
18、MEN=1,這時(shí)也必須規(guī)劃好使用的到的一些寄存器的更新方式,即PWM同步方式和軟硬件觸發(fā)同步的方式。9. 同步寄存器(FTMx_SYNC)該寄存器用于設(shè)置PWM同步。一個(gè)同步事件能夠執(zhí)行MOD, CV,和OUTMASK 寄存器的同步,即使用緩沖器中的值更新這幾個(gè)寄存器,這時(shí)FTM 計(jì)數(shù)器也可以重新初始化。當(dāng)FTMEN=1時(shí),該寄存器必須合理設(shè)置。l SWSYNC:PWM同步軟件觸發(fā)。當(dāng)對(duì)該位寫1時(shí),軟件觸發(fā)發(fā)生,即發(fā)生軟件觸發(fā)事件,當(dāng)計(jì)數(shù)器運(yùn)行到下一個(gè)載入點(diǎn)時(shí),同步發(fā)生,對(duì)應(yīng)寄存器更新,完畢后SWSYNC會(huì)自動(dòng)清0。l TRIG2:PWM同步硬件觸發(fā)器2。使能硬件觸發(fā)器2觸發(fā)PWM同步,觸發(fā)器
19、2輸入引腳上出現(xiàn)上升沿時(shí)硬件觸發(fā)。TRIG2=0:觸發(fā)器禁止;TRIG2=1:觸發(fā)器使能。l TRIG1:PWM同步硬件觸發(fā)器1。使能硬件觸發(fā)器1觸發(fā)PWM同步,觸發(fā)器1輸入引腳上出現(xiàn)上升沿時(shí)硬件觸發(fā)。TRIG1=0:觸發(fā)器禁止;TRIG1=1:觸發(fā)器使能。l TRIG0:PWM同步硬件觸發(fā)器0。使能硬件觸發(fā)器0觸發(fā)PWM同步,觸發(fā)器0輸入引腳上出現(xiàn)上升沿時(shí)硬件觸發(fā)。TRIG0=0:觸發(fā)器禁止;TRIG0=1:觸發(fā)器使能。注意:軟件觸發(fā),即向SWSYNC位寫1,和通過(guò)TRIG0:3實(shí)現(xiàn)的硬件觸發(fā),存在潛在的沖突。當(dāng)SYNCMODE = 0時(shí),如果同時(shí)使用硬件觸發(fā)和軟件觸發(fā)就可能發(fā)生。建議不要同
20、時(shí)使用軟件觸發(fā)和硬件觸發(fā),一般情況下,當(dāng)我們使用FTM的一些增強(qiáng)功能時(shí),我們使用軟件觸發(fā)即可。l SYNCHOM:輸出屏蔽同步,選擇OUTMASK寄存器是否從緩沖器里更新。SYNCHOM=0:在系統(tǒng)時(shí)鐘上升沿時(shí),OUTMASK寄存器從緩沖器中更新自身值;SYNCHOM=1:PWM同步時(shí),OUTMASK寄存器從緩沖器中更新自身值。l RENINT:FTM計(jì)數(shù)器重新初始化。決定當(dāng)選擇的觸發(fā)器觸發(fā)同步時(shí),F(xiàn)TM計(jì)數(shù)器是否重新初始化。RENINT=0:FTM計(jì)數(shù)器繼續(xù)計(jì)數(shù);RENINT=1:當(dāng)觸發(fā)事件發(fā)生時(shí),F(xiàn)TM計(jì)數(shù)器回到設(shè)定的初值。l CNTMAX:最大載入點(diǎn)使能,當(dāng)觸發(fā)事件發(fā)生后,直到FTM計(jì)數(shù)
21、器達(dá)到莫一個(gè)值時(shí),這一時(shí)刻才會(huì)發(fā)生更新寄存器值的同步,這一時(shí)刻就是載入點(diǎn)。當(dāng)該位為1時(shí),當(dāng)FTM計(jì)數(shù)器達(dá)到最大值時(shí),即MOD值,這一時(shí)刻將作為一個(gè)同步的載入點(diǎn)。l CNTMIN:最小裝載點(diǎn)使能當(dāng)該位為1時(shí),當(dāng)FTM計(jì)數(shù)器達(dá)到最小值時(shí),即CNTIN值,這一時(shí)刻將作為一個(gè)同步的載入點(diǎn)。10. 通道輸出初始狀態(tài)(FTMx_OUTINIT)l CHxOI:通道x輸出初始值。CHxOI=0:初始值為0;CHxOI=1:初始值為1。11. 輸出屏蔽寄存器(FTMx_OUTMASK)l CHxOM:通道x輸出屏蔽。CHxOM=0:該通道輸出正常;CHxOM=1:該通道輸出屏蔽。12. 通道聯(lián)合功能寄存器(F
22、TMx_COMBINE)該寄存器包含:錯(cuò)誤控制、同步、死區(qū)插入、雙邊沿捕捉模式、補(bǔ)償、雙通道聯(lián)合等功能。該寄存器在使用雙通道聯(lián)合功能時(shí),主要是非對(duì)稱PWM輸出,雙通道互補(bǔ)輸出,雙邊沿捕捉等功能時(shí)需要合理設(shè)置。l FAULTENn:使能通道2n和2n+1的錯(cuò)誤控制,該位寫保護(hù),只有當(dāng)MODEWPDIS = 1時(shí)可寫入。FAULTENn=0:通道2n和2n+1的錯(cuò)誤控制禁止;FAULTENn=1:通道2n和2n+1的錯(cuò)誤控制使能。l SYNCENn:使能寄存器C(2n)V和C(2n+1)V的PWM同步,即這兩個(gè)寄存器能否被觸發(fā)事件觸發(fā)更新。該位寫保護(hù),只有當(dāng)MODEWPDIS = 1時(shí)可寫入。SY
23、NCENn=0:寄存器C(2n)V和C(2n+1)V的PWM同步禁止;SYNCENn=:寄存器C(2n)V和C(2n+1)V的PWM同步使能。l DTENn:死區(qū)使能。使能通道2n和2n+1的死區(qū)插入。死區(qū)插入在雙通道互補(bǔ)輸入控制橋式電機(jī)驅(qū)動(dòng)電路時(shí),防止同側(cè)開關(guān)管同時(shí)導(dǎo)通的危險(xiǎn),具體插入死區(qū)的時(shí)間則由FTMx_DEADTIME寄存器設(shè)定。該位寫保護(hù),只有當(dāng)MODEWPDIS = 1時(shí)可寫入。DTENn=0:通道2n和2n+1的死區(qū)插入功能禁止;DTENn=1:通道2n和2n+1的死區(qū)插入功能使能。l DECAPn:雙邊沿捕捉。使能通道2n和2n+1的雙邊沿捕捉。該位只有當(dāng)FTMEN=1和DEC
24、APEN=1時(shí)有效。DECAPn=0:通道2n和2n+1的雙邊沿捕捉禁止;DECAPn=1:通道2n和2n+1的雙邊沿捕捉使能。l COMPn:使能通道2n和2n+1的互補(bǔ)模式,即兩個(gè)通道波形相反。該位寫保護(hù),只有當(dāng)MODEWPDIS = 1時(shí)可寫入。COMPn=0:通道2n和2n+1的互補(bǔ)模式禁止;COMPn=1:通道2n和2n+1的互補(bǔ)模式使能。l COBINEn:通道2n和2n+1聯(lián)合設(shè)置。只有COMBINEn=1,才可使用上面那些位設(shè)置的功能。該位寫保護(hù),只有當(dāng)MODEWPDIS = 1時(shí)可寫入。COBINEn=0:通道2n和2n+1獨(dú)立使用;COBINEn=1:通道2n和2n+1聯(lián)合
25、使用。13. 死區(qū)插入控制寄存器(FTMx_DEADTIME)該寄存器設(shè)置死區(qū)時(shí)間分頻系數(shù)和死區(qū)值。所有的FTM通道都使用這個(gè)時(shí)鐘分頻和死區(qū)值。死區(qū)插入的目的時(shí)在驅(qū)動(dòng)全橋電路時(shí),防止同側(cè)半橋同時(shí)導(dǎo)通。只有雙通道聯(lián)合互補(bǔ)輸出時(shí),且對(duì)應(yīng)的DTENn=1時(shí),設(shè)置的死區(qū)值才有效。l DTPS:分頻設(shè)置。死區(qū)時(shí)間的定時(shí)也是由對(duì)BusClock計(jì)數(shù)實(shí)現(xiàn)的,DTPS設(shè)定的時(shí)對(duì)BusClock分頻的設(shè)置。DTPS=0X:分頻比為1;DTPS=10:分頻比為4;DTPS=11:分頻比為16。l DTVAL:DTVAL設(shè)置對(duì)DTPS分頻后的時(shí)鐘的計(jì)數(shù)值以確定死區(qū)插入的時(shí)間。死區(qū)插入的時(shí)間=DTPS*DTVAL*總
26、線時(shí)鐘周期。14. 通道極性寄存器(FTMx_POL)當(dāng)各通道的出于非活動(dòng)狀態(tài),給寄存器設(shè)置各通道非活動(dòng)狀態(tài)下的值。各位都寫保護(hù),只有當(dāng)MODEWPDIS = 1時(shí)可寫入。15. 輸入捕捉濾波控制寄存器(FTMx_FILTER)該寄存器設(shè)置輸入通道的濾波值,通道4、5、6、7無(wú)輸入濾波器。注意,寫入該寄存器的值將立刻起作用,而且通道0、1、2、3必須在輸入模式下,如設(shè)置不當(dāng)可能造成錯(cuò)過(guò)正確的信號(hào)。濾波模式一般只在輸入捕捉時(shí)使用,當(dāng)啟用濾波功能時(shí),如果輸入端發(fā)生變化,則濾波器內(nèi)部的5bit計(jì)數(shù)器開始累加計(jì)數(shù),一旦溢出(溢出值由CHnFVAL3:0設(shè)定),輸入端變化才提交給邊沿檢測(cè)器。如果計(jì)數(shù)過(guò)程
27、中,輸入端再次發(fā)生相反變化,則計(jì)數(shù)器會(huì)被復(fù)位并重新開始計(jì)數(shù),這樣一些比過(guò)濾時(shí)間短的脈沖則會(huì)被視為干擾且不會(huì)提交給邊沿計(jì)數(shù)器,只有在濾波模塊計(jì)數(shù)期間保持穩(wěn)定的信號(hào)才會(huì)提交給邊沿計(jì)數(shù)器。16. 正交解碼控制和狀態(tài)寄存器(FTMx_QDCTRL)正交解碼一般用于正反向脈沖計(jì)數(shù),由旋轉(zhuǎn)編碼器輸入相和相脈沖,由FTM模塊根據(jù)相位自動(dòng)增加或減少。在電機(jī)正反轉(zhuǎn)測(cè)速時(shí)非常有用。l PHAFLTREN:A相輸入濾波使能設(shè)置。濾波值由濾波寄存器中的CH0FVAL定義,如果CH0FVAL=0,濾波也無(wú)效。PHAFLTREN=0:A相輸入濾波禁止;PHAFLTREN=0:A相輸入濾波使能。l PHBFLTREN:B相
28、輸入濾波使能設(shè)置。濾波值由濾波寄存器中的CH1FVAL定義,如果CH1FVAL=0,濾波也無(wú)效。PHBFLTREN=0:B相輸入濾波禁止;PHBFLTREN=0:B相輸入濾波使能。l PHAPOL:A相輸入極性選擇。PHAPOL=0:普通極性;PHAPOL=1:反向極性。l PHBPOL:B相輸入極性選擇。PHBPOL=0:普通極性;PHBPOL=1:反向極性。l QUADMODE:正交解碼模式。QUADMODE=0:A相和B相編碼模式。計(jì)數(shù)方向由AB相之間的關(guān)系決定,計(jì)數(shù)頻率由A相B相輸入信號(hào)決定。當(dāng)A相或B相的信號(hào)出現(xiàn)跳變,即可觸發(fā)FTM計(jì)數(shù)器改變。在這種模式下,只需要把旋轉(zhuǎn)編碼器的AB相
29、輸出直接接到FTM的AB相輸入即可。;QUADMODE=1:計(jì)數(shù)和方向編碼模式。B相輸入值用于指示計(jì)數(shù)方向,A相輸入用于計(jì)數(shù),F(xiàn)TM計(jì)數(shù)器在A相輸入的每個(gè)上升沿進(jìn)行計(jì)數(shù),累加或遞減由B相電平?jīng)Q定。l QUADIR:正交解碼模式下的FTM計(jì)數(shù)方向狀態(tài)位,查詢?cè)撐豢色@知當(dāng)前計(jì)數(shù)方向。QUADIR=0:遞減計(jì)數(shù);QUADIR=1:遞增計(jì)數(shù)。l TOFDIR:正交解碼模式下FTM計(jì)數(shù)器溢出方向。在溢出時(shí),查詢?cè)撐豢色@知溢出方向。TOFDIR=0:底部溢出時(shí)置1;TOFDIR=1:頂部溢出時(shí)置1。l QUADEN:正交解碼模式使能位。QUADEN=0:正交解碼模式禁止;QUADEN=1:正交解碼模式使能
30、。17. 設(shè)置寄存器(FTMx_CONF)l GTBEOUT:全局時(shí)間基準(zhǔn)輸出,使能全局時(shí)間基準(zhǔn)信號(hào)給其它FTMl GTBEEN:全局時(shí)間基準(zhǔn)使能,設(shè)置FTM使用一個(gè)其它FTM模塊產(chǎn)生的外部的全局時(shí)間基準(zhǔn)。l BDMMODE:選擇FTM在BDM模式下的行為。l NUMTOF:設(shè)置計(jì)數(shù)器溢出次數(shù)和TOF標(biāo)志置位次數(shù)的比值,NUMTOF=n,n(031)每溢出n+1次,TOF置位一次。18. 同步設(shè)置寄存器(FTMx_SYNCONF)該寄存器主要設(shè)置軟件觸發(fā)和硬件觸發(fā)對(duì)于某些寄存器的影響。l HWSOC:SWOCTRL寄存器的同步是否由硬件觸發(fā)。HWSOC=0:SWOCTRL寄存器的同步不由硬件觸
31、發(fā);HWSOC=1:SWOCTRL寄存器的同步由硬件觸發(fā)。l HWINVC:INVCTRL寄存器的同步是否由硬件觸發(fā)。HWINVC=0:INVCTRL寄存器的同步不由硬件觸發(fā);HWINVC=1:INVCTRL寄存器的同步由硬件觸發(fā)。l HWOM:OUTMASK寄存器的同步是否由硬件觸發(fā)。HWOM=0:OUTMASK寄存器的同步不由硬件觸發(fā);HWOM=1:OUTMASK寄存器的同步由硬件觸發(fā)。l HWWRBUF:MOD,CNTIN,CnV寄存器的同步是否由硬件觸發(fā)。HWWRBUF=0:MOD,CNTIN,CnV寄存器的同步不由硬件觸發(fā);HWWRBUF=1:MOD,CNTIN,CnV寄存器的同步由
32、硬件觸發(fā)。l HWRETCNT:FTM計(jì)數(shù)器同步是否由硬件觸發(fā)。HWRETCNT=0:FTM計(jì)數(shù)器同步不由硬件觸發(fā);HWRETCN=1T:FTM計(jì)數(shù)器同步由硬件觸發(fā)。l SWSOC:SWOCTRL寄存器的同步是否由軟件觸發(fā)。SWSOC=0:SWOCTRL寄存器的同步不由軟件觸發(fā);SWSOC=1:SWOCTRL寄存器的同步由軟件觸發(fā)。l SWINVC:INVCTRL寄存器的同步是否由軟件觸發(fā)。SWINVC=0:INVCTRL寄存器的同步不由軟件觸發(fā);SWINVC=1:INVCTRL寄存器的同步由軟件觸發(fā)。l SWOM:OUTMASK寄存器的同步是否由軟件觸發(fā)。SWOM=0:OUTMASK寄存器的
33、同步不由軟件觸發(fā);SWOM=1:OUTMASK寄存器的同步由軟件觸發(fā)。l SWWRBUF:MOD,CNTIN,CnV寄存器的同步是否由軟件觸發(fā)。SWWRBUF=0:MOD,CNTIN,CnV寄存器的同步不由軟件觸發(fā);SWWRBUF=1:MOD,CNTIN,CnV寄存器的同步由軟件觸發(fā)。l SWRETCNT:FTM計(jì)數(shù)器同步是否由軟件觸發(fā)。SWRETCNT=0:FTM計(jì)數(shù)器同步不由軟件觸發(fā);SWRETCN=1T:FTM計(jì)數(shù)器同步由軟件觸發(fā)。l SYNCMODE:同步模式SYNCMODE=0:傳統(tǒng)PWM同步方式;SYNCMODE=1:增強(qiáng)型的PWM同步方式。l SWOC:SWOCTRL寄存器同步設(shè)
34、置。SWOC=0:SWOCTRL寄存器在系統(tǒng)時(shí)鐘上升沿更新;SWOC=1:SWOCTRL寄存器更新由PWM同步完成。l INVC:INVCTRL寄存器同步設(shè)置。INVC =0:INVCTRL寄存器在系統(tǒng)時(shí)鐘上升沿更新;INVC =1:INVCTRL寄存器更新由PWM同步完成。l CNTINC:CNTIN寄存器同步設(shè)置。CNTINC =0:CNTIN寄存器在系統(tǒng)時(shí)鐘上升沿更新;CNTINC =1:CNTIN寄存器更新由PWM同步完成。l HWTRIGMODE:硬件觸發(fā)模式。HWTRIGMODE=0:檢測(cè)到硬件觸發(fā)事件時(shí)清除TRIGj位;HWTRIGMODE=1:檢測(cè)到硬件觸發(fā)事件時(shí)不清除TRIG
35、j位。19. FTM反相設(shè)置寄存器(FTMx_INVCTRL)該寄存器中的各位設(shè)置通道2n和通道2n+1顛倒使用,即n通道成為n+1通道的輸出,n+1通道輸出n通道的輸出。可用于控制電機(jī)正反轉(zhuǎn)切換。該功能在雙通道聯(lián)合互補(bǔ)輸出時(shí)可用。l INVnEN:通道2n和通道2n+1切換輸出使能。INVnEN=0:通道2n和通道2n+1各自輸出;INVnEN=1:通道2n和通道2n+1交換輸出。20. FTM軟件輸出控制寄存器(FTMx_SWOCTRL)該寄存器設(shè)置各通道強(qiáng)制輸出高電平或低電平。CHnOC=1時(shí)對(duì)應(yīng)通道n強(qiáng)制輸出;CHnOCV=0:當(dāng)強(qiáng)制輸出時(shí),輸出低電平;CHnOCV=1:當(dāng)強(qiáng)制輸出時(shí),
36、輸出高電平。21. FTMPWM裝載寄存器(FTMx_PWMLOAD)使能PWM的自動(dòng)載入功能,當(dāng)FTM計(jì)數(shù)計(jì)數(shù)到MOD設(shè)定值并變化到下一個(gè)值或該通道設(shè)置為輸出比較且比較成功時(shí),MOD、CNTIN、C(n)V、C(n+1)V載入緩沖器中的值。l LDOK:載入使能。l CHnSEL:載入時(shí)是否包括通道nCHnSEL=0:不包括;CHnSEL=1:包括。1.5.3 FTM功能詳解1. FTM模塊的時(shí)鐘FTM模塊的核心是一個(gè)16位計(jì)數(shù)器,該計(jì)數(shù)器的時(shí)鐘來(lái)源可設(shè)置(由FTMx_SC寄存器中的CLKS設(shè)置),可來(lái)自總線時(shí)鐘(CLKS=01),也可來(lái)自MCG模塊的MCGFFCLK,對(duì)時(shí)鐘源可進(jìn)行分頻(由
37、FTMx_SC寄存器中的PS設(shè)置)。如果使用固定頻率時(shí)鐘,即fixed frenquency clock,也就是MCGFFCLK,則需要在MCG模塊中設(shè)置。MCG模塊提供的MCGFFCLK,可以為其它片上周邊設(shè)備提供時(shí)鐘,該時(shí)鐘可由內(nèi)部慢速參考時(shí)鐘提供或外部晶振,且由FLL分頻后提供。MCGFFCLK由C1_IREFS位設(shè)置來(lái)自內(nèi)部32K還是來(lái)自外部經(jīng)過(guò)FDIV分頻后的時(shí)鐘,輸出到MCGFFCLK還要2分頻一次。MCGFFCLK用于局部總線時(shí)鐘同步,而且不得大于MCGOUTCLK的1/8。且該時(shí)鐘在MCG處于BLPI模式和STOP模式下無(wú)效。一般情況下,只要不是對(duì)外部計(jì)數(shù)功能,我們都會(huì)采用Bu
38、s Clock為FTM提供時(shí)鐘。2. FTM模塊的計(jì)數(shù)模式FTM模塊在時(shí)鐘確定后,計(jì)數(shù)器計(jì)數(shù),默認(rèn)情況下,對(duì)分頻后輸入時(shí)鐘進(jìn)行遞增無(wú)符號(hào)計(jì)數(shù)。計(jì)數(shù)器初始值由FTMx_CNTIN指定。當(dāng)一直計(jì)數(shù)到達(dá)FTMx_MOD寄存器的設(shè)定值時(shí),TOF置位。計(jì)數(shù)器回到初始值,循環(huán)往復(fù)。如下圖所示,計(jì)數(shù)器從0計(jì)數(shù)到3,循環(huán)計(jì)數(shù)。計(jì)數(shù)周期=(MOD-CNTIN+1)*時(shí)鐘周期。初始值也可是負(fù)數(shù),例如CNTIN=0xFFFC(補(bǔ)碼-4),MOD=4,則計(jì)數(shù)器從-4計(jì)數(shù)到4,循環(huán)計(jì)數(shù)。當(dāng)CNTIN的最高位,即CNTIN15=1時(shí),初始值作為負(fù)數(shù)對(duì)待,否則視為正數(shù)。FTM計(jì)數(shù)時(shí),建議MOD值必須大于CNTIN值,編程時(shí)
39、需注意。如果MOD=CNTIN,則計(jì)數(shù)值一直保持MOD值,且TOF位一直置1。當(dāng)QUADEN=0(非正交解碼模式)且CPWMS=0(加法計(jì)數(shù))時(shí),計(jì)數(shù)器為加法計(jì)數(shù),如果設(shè)置CPWMS=1,則進(jìn)入先加后減計(jì)數(shù)模式。(中心對(duì)齊PWM必須將該位置1)。在先加后減計(jì)數(shù)模式下,假設(shè)CNTIN=0,MOD=4,則計(jì)數(shù)過(guò)程如下在該模式下,計(jì)數(shù)周期=2*(MOD-CNTIN),當(dāng)計(jì)數(shù)值從MOD變?yōu)镸OD-1時(shí),TOF置位。如FTMEN=0,此時(shí)FTM模塊功能等同于S08的TPM模塊,此時(shí)無(wú)論MOD=0或者M(jìn)OD=0XFFFF,此時(shí)計(jì)數(shù)器為一個(gè)自由運(yùn)行的16位計(jì)數(shù)器。如FTMEN=1,且QUADEN=0、CPW
40、MS=0時(shí),此時(shí)只有MOD=0xFFFF時(shí),才可作為一個(gè)自由運(yùn)行的計(jì)數(shù)器。任何對(duì)FTM計(jì)數(shù)器的寫入操作,都會(huì)復(fù)位計(jì)數(shù)器,計(jì)數(shù)器的值重新回到CNTIN指定值。也可以使用FTM的同步功能,讓計(jì)數(shù)器重新回到初值,各通道輸出也回到初始值。FTMx_CONF寄存器中的NUMOF4:0可設(shè)置TOF置位的頻率。默認(rèn)情況下,即NUMOF4:0=0,每個(gè)計(jì)數(shù)周期,TOF置位一次,如果NUMOF=n,(n32),則每n+1個(gè)周期,TOF置位一次。3. 邊沿對(duì)齊PWM模式PWM輸出實(shí)際上利用的就是FTM的輸出比較的功能。當(dāng)QUADEN = 0,DECAPEN = 0,COMBINE= 0,CPWMS = 0, MS
41、nB = 1時(shí),F(xiàn)TM工作在EPWM模式下,即邊沿對(duì)齊模式。可用于產(chǎn)生舵機(jī)和電機(jī)的PWM控制信號(hào)。在這個(gè)模式下,F(xiàn)TM計(jì)數(shù)器工作方式和計(jì)數(shù)模式相同,默認(rèn)為加法計(jì)數(shù),計(jì)數(shù)到MOD值后自動(dòng)返回CNTIN值。PWM信號(hào)的周期和計(jì)數(shù)器計(jì)數(shù)周期有關(guān),PWM周期=(MOD-CNTIN+1)*時(shí)鐘周期。PWM信號(hào)高低電平切換的時(shí)刻,則由CnV值決定,當(dāng)計(jì)數(shù)器累加計(jì)數(shù)到CnV值相等時(shí),PWM信號(hào)則翻轉(zhuǎn)。直到計(jì)數(shù)到MOD值,一個(gè)周期結(jié)束,信號(hào)回到初始值。這種模式的原理和輸出比較模式是相同的,當(dāng)比較成功時(shí),也就是FTM計(jì)數(shù)值=CnV時(shí),CHnF標(biāo)志也會(huì)置1。PWM信號(hào)的輸出可以時(shí)左對(duì)齊(信號(hào)先高后低)也可以是右對(duì)
42、齊(信號(hào)先低后高)。左右對(duì)齊由ELSnB:ELSnA決定,若ELSnB:ELSnA=10則是左對(duì)齊模式,若ELSnB:ELSnA=X1則是右對(duì)齊模式。以左對(duì)齊為例,高電平持續(xù)時(shí)間=(CnV-CNTIN)*時(shí)鐘周期。在邊沿對(duì)齊PWM模式中,一般PWM周期不變,通過(guò)改變CnV的值以改變占空比,如改變CnV的值,則新的值并不會(huì)立刻生效,而是到一個(gè)周期結(jié)束,F(xiàn)TM計(jì)數(shù)器從MOD變?yōu)镃NTIN時(shí),CnV值才生效。EPWM例程如下,在該例程中,總線時(shí)鐘為60MHz,經(jīng)過(guò)FTM分頻到3.75MHz,F(xiàn)TM遞增計(jì)數(shù),周期10ms,高電平事件1.5ms。使用FTM0_CH3通道,由PTA6引腳輸出。void F
43、TM_Init(void)PORTA_PCR6= PORT_PCR_MUX(3); / 設(shè)置引腳 A6引腳為FTM0_CH3功能 SIM_SCGC6|=SIM_SCGC6_FTM0_MASK;/使能FTM0時(shí)鐘FTM0_MODE |= FTM_MODE_WPDIS_MASK;/寫保護(hù)禁止/設(shè)置通道0,工作在左邊沿對(duì)其PWM模式/MSB=1,ELSB:ELSA=10FTM0_C3SC |= FTM_CnSC_ELSB_MASK;/ELSB=1,ELSA=0,左對(duì)齊,先高后低FTM0_C3SC &= FTM_CnSC_ELSA_MASK;FTM0_C3SC |= FTM_CnSC_MSB_MASK
44、;/MSB=1,模式選擇邊沿對(duì)齊FTM0_SC=0x0c;/中斷禁止,時(shí)鐘源來(lái)自總線時(shí)鐘60MHz,16分頻后得到3.75MHz,CLKS=01,PS=100,CPWMS=0,遞增計(jì)數(shù)FTM0_MODE &= 1;/FTM0使能FTM0_OUTMASK=0XF7;/通道3輸出,屏蔽其它通道FTM0_QDCTRL&=FTM_QDCTRL_QUADEN_MASK;/禁止正交解碼模式FTM0_COMBINE=0;/DECAPEN=0,雙邊沿捕捉禁止,COMBINE=0,不級(jí)聯(lián)FTM0_CNTIN=0;/FTM0計(jì)數(shù)器初始值為0FTM0_MOD=37499;/結(jié)束值,周期為(MOD-CNTIN+1)*
45、時(shí)鐘周期=10msFTM0_C3V=5625;/高電平1.5msFTM0_CNT=0;4. 中心對(duì)齊PWM模式中心對(duì)齊PWM模式和邊沿對(duì)齊PWM模式唯一不同之處在于CPWMS = 1,即此時(shí)計(jì)數(shù)器工作模式為先加后減模式,計(jì)數(shù)器累加到CnV時(shí),信號(hào)翻轉(zhuǎn),直到計(jì)數(shù)到MOD值后開始遞減計(jì)數(shù),再次到達(dá)CnV時(shí),信號(hào)再次翻轉(zhuǎn),然后遞減到CNTIN值,一個(gè)周期結(jié)束。同樣的MOD、CNTIN、CnV,值,CPWM的周期是EPWM的兩倍,但占空比不變。在中心對(duì)齊PWM模式下,ELSnB:ELSnA 的作用和EPWM相同,即ELSnB:ELSnA=10信號(hào)輸出先高后低,若ELSnB:ELSnA=X1信號(hào)輸出先低
46、后高。5. 輸入捕捉模式FTM的輸入捕捉模式可捕捉外部信號(hào)的正跳變或負(fù)跳變,可替代外部中斷使用。和一般外部中斷不同的是,輸入捕捉功能不但可以在捕捉到特定的跳變時(shí)產(chǎn)生中斷,而且輸入引腳可以啟用濾波功能,關(guān)鍵是,輸入捕捉功能在捕捉到信號(hào)時(shí),還可以記錄捕捉的時(shí)刻,即捕捉發(fā)生時(shí),F(xiàn)TM計(jì)數(shù)器的值會(huì)記錄在CnV寄存器中。輸入捕捉模式下,DECAPEN = 0(不啟用雙邊呀捕捉),COMBINE = 0(各通道獨(dú)立),CPWMS= 0(計(jì)數(shù)器累加計(jì)數(shù)),MSnB:MSnA = 0:0(輸入捕捉模式)。此時(shí),捕捉什么樣的信號(hào)則由ELSnB:ELSnA決定。ELSnB:ELSnA=01:捕捉上升沿;ELSnB
47、:ELSnA=10:捕捉下降升沿;ELSnB:ELSnA=11:捕捉上升沿或下降沿。當(dāng)對(duì)應(yīng)的通道捕捉到設(shè)定的邊沿時(shí),CHnF置位,如果對(duì)應(yīng)的CHnIE=1,即中斷打開時(shí),即可產(chǎn)生中斷。在輸入捕捉模式下,當(dāng)捕捉到設(shè)定的邊沿時(shí),此時(shí)的FTM計(jì)數(shù)器的值將自動(dòng)保存到CnV寄存器中,也就是在輸入捕捉模式下,CnV寄存器在程序中只可做讀出之用,寫入操作會(huì)被忽略。每個(gè)FTM模塊的03通道可以啟用濾波功能,濾波原理是捕捉到邊沿時(shí),延時(shí)若干個(gè)時(shí)鐘周期再置位CHnF。默認(rèn)情況下,如不啟用濾波功能,則延時(shí)3個(gè)系統(tǒng)時(shí)鐘的上升沿。若啟用濾波功能,則延時(shí)可設(shè)置,但只有03通道可以設(shè)置。注意,捕捉模式下,CNTIN應(yīng)為0。
48、當(dāng)啟用濾波功能時(shí),如果輸入端發(fā)生變化,則濾波器內(nèi)部的5bit計(jì)數(shù)器開始累加計(jì)數(shù),一旦溢出(溢出值由CHnFVAL3:0設(shè)定),輸入端變化才提交給邊沿檢測(cè)器。如果計(jì)數(shù)過(guò)程中,輸入端再次發(fā)生相反變化,則計(jì)數(shù)器會(huì)被復(fù)位并重新開始計(jì)數(shù),這樣一些比過(guò)濾時(shí)間短的脈沖則會(huì)被視為干擾且不會(huì)提交給邊沿計(jì)數(shù)器。6. 輸出比較模式當(dāng)DECAPEN = 0(禁止雙邊沿檢測(cè)), COMBINE = 0(各通道獨(dú)立),CPWMS = 0(計(jì)數(shù)器累加),MSnB:MSnA = 0:1時(shí),F(xiàn)TM工作在輸出比較模式下。在輸出比較模式下,計(jì)數(shù)器工作在累加模式下,當(dāng)FTM計(jì)數(shù)器值=CnV值,時(shí),比較成功,對(duì)應(yīng)通道的引腳輸出高電平、
49、低電平或翻轉(zhuǎn)信號(hào)。通道輸出由ELSnB:ELSnA決定,ELSnB:ELSnA=01:輸出翻轉(zhuǎn),ELSnB:ELSnA=10:輸出低電平,ELSnB:ELSn=11:輸出高電平。同時(shí),當(dāng)比較成功時(shí),對(duì)應(yīng)CHnF置位,如CHnIE=1,則比較成功即引發(fā)中斷。比較成功翻轉(zhuǎn)電平輸出,可用于輸出方波。實(shí)際上PWM波形的產(chǎn)生也是利用了輸出比較的功能實(shí)現(xiàn)的,輸出比較功能中如使用中斷且不輸出波形,也可實(shí)現(xiàn)定時(shí)中斷的功能。7. 組合模式以上幾種模式下,F(xiàn)TMEN=0即可,若要使用增強(qiáng)FTM的功能,即不同于PTM模塊功能,則必須FTMEN=1。組合模式就是其中一種,主要用于輸出非對(duì)稱PWM信號(hào)。當(dāng)FTMEN =
50、 1(啟用增強(qiáng)功能) ,QUADEN = 0(不啟用正交解碼),DECAPEN = 0(不啟用雙邊沿捕捉),COMBINE = 1(相鄰?fù)ǖ澜M合使用)CPWMS = 0(計(jì)數(shù)器累加模式)時(shí),F(xiàn)TM工作在組合模式下。組合工作模式下,主要指的是偶數(shù)通道2n和相鄰的2n+1通道共同控制輸出PWM波形。PWM信號(hào)的周期和EPWM相同,但是高低電平的切換的時(shí)機(jī)則由C2nV和C2n+1V確定。電平第一次翻轉(zhuǎn)發(fā)生在通道2n比較成功,電平第二次翻轉(zhuǎn)發(fā)生在通道2n+1比較成功。在一個(gè)周期開始時(shí),初始電平由ELSnB:ELSnA決定,這點(diǎn)和EPWM和CPWM相同。在組合模式下,PWM信號(hào)的第一個(gè)邊沿只由C2nV決
51、定,而第二個(gè)邊沿只由C2n+1V決定。兩個(gè)通道可獨(dú)立設(shè)置對(duì)應(yīng)邊沿出現(xiàn)的位置,這就是非對(duì)稱的PWM輸出。8. 互補(bǔ)模式一般組合模式下,通道2n和通道2n+1輸出波形相同,如果啟用互補(bǔ)模式,則兩個(gè)通道輸出互為反向,在互補(bǔ)模式下,還可以啟用死區(qū)插入功能,這在某些兩路電機(jī)驅(qū)動(dòng)的應(yīng)用中是非常有用的。當(dāng)FTMEN = 1(啟用增強(qiáng)功能) ,QUADEN = 0(不啟用正交解碼),DECAPEN = 0(不啟用雙邊沿捕捉),COMBINE = 1(相鄰?fù)ǖ澜M合使用)CPWMS = 0(計(jì)數(shù)器累加模式)COMP = 1(啟用補(bǔ)償模式)時(shí),F(xiàn)TM工作在補(bǔ)償模式下。在補(bǔ)償模式下,仍然是2n通道和2n+1通道組合使
52、用,輸出PWM信號(hào)。和組合模式下不同的是,COMP=0時(shí),2n通道和2n+1通道輸出信號(hào)相同,而補(bǔ)償模式下,2n+1通道輸出的信號(hào)和2n通道是相反的。例程如下,該例程使用60MHz總線時(shí)鐘,分頻后3.75MHz,輸出引腳為C3和C4,分別對(duì)應(yīng)FTM0_CH2和FTM0_CH3,注意由于FTMEN=1,相關(guān)寄存器更新采用軟件觸發(fā)的方式。在這個(gè)例子中,我們采用了死區(qū)插入,死區(qū)時(shí)間16*63個(gè)總線周期,時(shí)間大約16.8us。void FTM0_Init(void)PORTC_PCR3= PORT_PCR_MUX(4); / 設(shè)置引腳C3引腳為FTM0_CH2功能PORTC_PCR4= PORT_PC
53、R_MUX(4); / 設(shè)置引腳C4引腳為FTM0_CH3功能SIM_SCGC6|=SIM_SCGC6_FTM0_MASK;/使能FTM0時(shí)鐘FTM0_SC=FTM_SC_CLKS(1)|FTM_SC_PS(4);/中斷禁止,時(shí)鐘源來(lái)自總線時(shí)鐘60MHz,16分頻后得到3.75MHz,CLKS=01,PS=100,CPWMS=0,遞增計(jì)數(shù)FTM0_MODE |= FTM_MODE_WPDIS_MASK;/寫保護(hù)禁止FTM0_MODE |=FTM_MODE_FTMEN_MASK;/FTMEN=1FTM0_QDCTRL&=FTM_QDCTRL_QUADEN_MASK;/禁止正交解碼模式FTM0_C
54、OMBINE|=FTM_COMBINE_COMBINE1_MASK;/FTM0通道2,3聯(lián)合使用FTM0_COMBINE|=FTM_COMBINE_COMP1_MASK;/FTM0通道2,3互補(bǔ)輸出FTM0_COMBINE|=FTM_COMBINE_SYNCEN1_MASK;/使能FTM0通道2,3 PWM同步FTM0_COMBINE|=FTM_COMBINE_DTEN1_MASK;/死區(qū)插入 FTM0_DEADTIME=FTM_DEADTIME_DTPS(3)|FTM_DEADTIME_DTVAL(63);FTM0_SYNCONF|=FTM_SYNCONF_SWWRBUF_MASK;/使能M
55、OD,CNTIN,CV寄存器的軟件觸發(fā)同步FTM0_SYNC=FTM_SYNC_CNTMIN_MASK|FTM_SYNC_CNTMAX_MASK;/設(shè)置load pointFTM0_C2SC |= FTM_CnSC_ELSB_MASK;/ELSB=1,ELSA=0,左對(duì)齊,先高后低FTM0_C2SC &= FTM_CnSC_ELSA_MASK;FTM0_C3SC |= FTM_CnSC_ELSB_MASK;/ELSB=1,ELSA=0,左對(duì)齊,先高后低FTM0_C3SC &= FTM_CnSC_ELSA_MASK;FTM0_OUTMASK=0XF3;/通道2,3輸出,屏蔽其它通道FTM0_CNTIN=0;/FTM0計(jì)數(shù)器初始值為0FTM0_MOD=37499;/結(jié)束值,周期為(MOD-CNTIN+1)*時(shí)鐘周期=10msFTM0_C2V=5625;/高電平1.5msFTM0_C3V=20000;FTM0_CNT=0;FTM0_SYNC|=FTM_SYNC_SWSYNC_MASK;/使能軟件觸發(fā)在main函數(shù)的主循環(huán)中,我們可使用串口通信改變波形,通過(guò)示波器觀看,例程如下:for(;) tom= uart_getchar();switch(tom)case a: FTM0_C3V+=50; FTM
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 聘請(qǐng)顧問(wèn)協(xié)議書
- 彩鋼瓦修復(fù)安全協(xié)議書
- 液化氣購(gòu)銷合同協(xié)議書
- 現(xiàn)場(chǎng)建筑體變更協(xié)議書
- 學(xué)生碰牙齒調(diào)節(jié)協(xié)議書
- 理發(fā)店門店合同協(xié)議書
- 移動(dòng)代理協(xié)議書
- 維修補(bǔ)漏協(xié)議書
- 電瓶購(gòu)置協(xié)議書
- 資助建房協(xié)議書
- 期末易錯(cuò)題型創(chuàng)新改編練習(xí)(專項(xiàng)練習(xí))六年級(jí)下冊(cè)數(shù)學(xué)人教版
- 《橋梁工程概況介紹》課件
- 2025年四川成都道德與法制中考試卷(無(wú))
- 2024年不動(dòng)產(chǎn)登記代理人《地籍調(diào)查》考試題庫(kù)大全(含真題、典型題)
- 中醫(yī)基礎(chǔ)學(xué)題庫(kù)(附答案)
- 大學(xué)美育知到智慧樹章節(jié)測(cè)試課后答案2024年秋長(zhǎng)春工業(yè)大學(xué)
- 2024年秋《MySQL數(shù)據(jù)庫(kù)應(yīng)用》形考 實(shí)驗(yàn)訓(xùn)練1 在MySQL中創(chuàng)建數(shù)據(jù)庫(kù)和表答案
- 《數(shù)據(jù)資產(chǎn)會(huì)計(jì)》 課件 第五章 數(shù)據(jù)資產(chǎn)的價(jià)值評(píng)估
- 合同到期不續(xù)簽的模板
- 北京市2018年中考?xì)v史真題試卷(含答案)
- (完整版)新概念英語(yǔ)第一冊(cè)單詞表(打印版)
評(píng)論
0/150
提交評(píng)論