C語言編程修養(yǎng)_第1頁
C語言編程修養(yǎng)_第2頁
C語言編程修養(yǎng)_第3頁
C語言編程修養(yǎng)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 在某些應(yīng)用中讓占空比控制達(dá)到滿量程0%100% 是非常重要的。TMS320x280x系列處理器使用靈活、配置豐富,是在整個(gè)范圍內(nèi)實(shí)現(xiàn)滿量程占空比控制的最佳選擇。 增強(qiáng)型脈寬調(diào)制(ePWM)模塊在保證系統(tǒng)開銷最小的前提下可提供0%100%占空比。這些模塊有三種工作模式:加法計(jì)數(shù)模式、可逆計(jì)數(shù)模式和減法計(jì)數(shù)模式,本文重點(diǎn)討論前兩種工作模式。這里對(duì)TMS320x280xx/28xxx ePWM的基本使用不做詳細(xì)介紹,并假設(shè)用戶已熟悉TMS320x280xx/28xxx ePWM(SPRU791)的使用。 PWM模塊配置 ePWM模塊包括以下幾個(gè)子模塊:時(shí)基(TB)子模塊、計(jì)數(shù)器-比較器(CC)子模

2、塊、動(dòng)作限定(AQ)子模塊、?死區(qū)(DB)發(fā)生器子模塊、PWM斬波器(PC)子模塊、故障斷路器(Trip Zone)子模塊、事件觸發(fā)器(ET)子模塊。圖1為PWM模塊結(jié)構(gòu)框圖。 圖1:PWM模塊結(jié)構(gòu)框圖。 配置ePWM模塊時(shí)需要對(duì)上述子模塊中的寄存器進(jìn)行初始化。必須正確配置控制寄存器,以便ePWM模塊能工作在上述三種模式的任意一種模式中。 在無需0%或100%的占空比的情況下,配置和使用ePWM模塊比較簡(jiǎn)單,按照TMS320x280xx/28xxx ePWM參考指南給出的程序就可實(shí)現(xiàn)ePWM模塊的配置。但0%和/或100%占空比的應(yīng)用則屬于特殊情況,需要按照附加的程序配置ePWM模塊。附加程序

3、在本文的網(wǎng)絡(luò)版本中給出。 占空比的滿量程調(diào)節(jié) 通過執(zhí)行附加的軟件實(shí)現(xiàn)滿量程的占空比調(diào)節(jié),該軟件可以跟蹤當(dāng)前占空比值和下一個(gè)占空比值,并充分利用動(dòng)作限定子模塊所具有的靈活的配置性能。該附加程序代碼位于PWM中斷服務(wù)例程(ISR)中,如果要改變下一個(gè)周期寄存器的數(shù)值,可以在當(dāng)前ISR中進(jìn)行設(shè)置。下文描述了在可逆計(jì)數(shù)模式及加法計(jì)數(shù)模式下,該軟件的執(zhí)行過程。 1. 可逆計(jì)數(shù)模式 當(dāng)工作在可逆計(jì)數(shù)模式(PWM波形對(duì)稱)時(shí),若加法計(jì)數(shù)達(dá)到的值與CMPA值相匹配,置位ePWMxA輸出;若減法計(jì)數(shù)達(dá)到的值與CMPA值相匹配,ePWMxA輸出復(fù)位;如果CMPA值與計(jì)數(shù)器的值不匹配,則調(diào)用ISR并加載陰影寄存器。

4、 在這種情況下,向CMPA寄存器加載0實(shí)現(xiàn)100%的ePWMxA占空比,向CMPA寄存器加載大于或等于周期的數(shù)值實(shí)現(xiàn)0%的ePWMxA占空比。代碼的執(zhí)行過程如下: 在當(dāng)前周期的ISR中,計(jì)算下一個(gè)PWM周期的比較寄存器的值,這樣通過當(dāng)前ISR就可得知當(dāng)前和下一個(gè)周期的占空比。獲知下一個(gè)周期的占空比能更好的了解當(dāng)前周期,詳細(xì)描述如下: a. 當(dāng)CMPA值由非零變?yōu)榱銜r(shí): (1) 改變動(dòng)作確認(rèn)控制寄存器的值,AQCTLA.bit.ZRO=AQ_SET。在下一個(gè)周期中立即使PWM引腳置位。 (2) 在下一個(gè)周期(實(shí)際上是第一個(gè)100%占空比)的ISR中,將動(dòng)作確認(rèn)寄存器的值變?yōu)槌跏贾怠?b. 當(dāng)CM

5、PA值由零變?yōu)榉橇銜r(shí): (1) 改變動(dòng)作確認(rèn)控制寄存器的值,AQCTLA.bit.ZRO=AQ_CLEAR,AQCTLA.bit.CAD=AQ_NO_ACTION。 (2) 改變LOADAMODE位的值,加載零或周期值。 需要注意的是,AQCTLA.bit.CAU=AQ_SET未發(fā)生變化,因此,對(duì)于最后一個(gè)'CMPA=0'周期之后的下一個(gè)周期,即使CMPA值等于1,當(dāng)CMPA值與計(jì)數(shù)器值一致時(shí),ePWM引腳也應(yīng)置為高電平。 將動(dòng)作確認(rèn)寄存器和控制寄存器的值變回到SIR初始時(shí)的值,為下一個(gè)周期做準(zhǔn)備。(實(shí)際上第一個(gè)非0%周期或者第一個(gè)非零CMPA周期都跟有一個(gè)零CMPA周期。)當(dāng)

6、CMPA值進(jìn)入周期寄存器和返回時(shí)無需上述操作。EPwm1Regs.ETPS.bit.INTPRD應(yīng)初始化為ET_1ST,即每一事件都產(chǎn)生中斷。 2. 加法計(jì)數(shù)方式 當(dāng)采用加法計(jì)數(shù)模式工作時(shí),若計(jì)數(shù)器的值與ZRO值匹配,置位ePWMxA輸出,若計(jì)數(shù)器的值與CMPA值匹配,則ePWMxA輸出復(fù)位。CMPA值與計(jì)數(shù)器的值不匹配時(shí)調(diào)用ISR,并加載陰影寄存器。 在這種情況下,向CMPA寄存器加載大于周期的一個(gè)值即可實(shí)現(xiàn)100%的ePWMxA占空比;向CMPA寄存器加載0實(shí)現(xiàn)0%的ePWMxA占空比。代碼的執(zhí)行過程如下: 采用加法計(jì)數(shù)模式工作時(shí),在當(dāng)前周期的ISR中,計(jì)算下一個(gè)PWM周期的比較寄存器的值

7、。因此,通過當(dāng)前ISR就可得知當(dāng)前和下一個(gè)周期的占空比。獲知下一個(gè)周期的占空比能更好的了解當(dāng)前周期,詳細(xì)描述如下: a. 當(dāng)CMPA的值由非零變?yōu)榱銜r(shí): (1) 改變動(dòng)作確認(rèn)控制寄存器的值,AQCTLA.bit.ZRO=AQ_CLEAR。在下一個(gè)周期中立即清除PWM引腳的狀態(tài)。 (2) 在下一個(gè)周期(實(shí)際上是第一個(gè)100%占空比)的ISR中,將動(dòng)作確認(rèn)寄存器的值變?yōu)槌跏贾怠?b. 當(dāng)CMPA值由零變?yōu)榉橇銜r(shí): (1) 改變動(dòng)作確認(rèn)控制寄存器的值A(chǔ)QCTLA.bit.ZRO=AQ_SET。 (2) 改變LOADAMODE位的值,加載零或周期值。 需要注意的是:AQCTLA.bit.CAU=AQ_

8、CLEAR未發(fā)生變化。因此,在最后一個(gè)CMPA=0周期后的下一個(gè)周期,即使該周期的CMPA值等于1,在CMPA匹配時(shí)也應(yīng)清除ePWM引腳的狀態(tài)。 (3) 將動(dòng)作確認(rèn)寄存器和控制寄存器的值變回到ISR初始值,為下一個(gè)周期工作做準(zhǔn)備。(實(shí)際上第一個(gè)非0%周期或者第一個(gè)非零CMPA周期都跟有一個(gè)零CMPA周期)。 當(dāng)CMPA值進(jìn)入周期寄存器和返回時(shí)無需上述操作。 EPwm1Regs.ETPS.bit.INTPRD應(yīng)初始化為ET_1ST,即每一事件都產(chǎn)生中斷。也應(yīng)按此方法配置PWM時(shí)基子模塊,這樣可確保在可逆計(jì)數(shù)模式下,可在半個(gè)PWM周期內(nèi)即可執(zhí)行完ISR代碼;而在加法計(jì)數(shù)模式下,可在一個(gè)PWM周期內(nèi)執(zhí)行完ISR代碼。 軟件流程 代碼執(zhí)行的軟件流程圖如圖2

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論