DSP完整課件第6課_第1頁
DSP完整課件第6課_第2頁
DSP完整課件第6課_第3頁
DSP完整課件第6課_第4頁
DSP完整課件第6課_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第8章事件管理器8.1事件管理器模塊概述8.2通用定時器8.3比較單元8.4脈寬調(diào)試電路PWM8.5捕捉單元8.5正交編碼器脈沖電路作業(yè):20)事件管理器的基本組成21)EV中斷響應過程22)GPT的基本功能23)TxCON的作用24)GPTCONA/B的作用25)GPT有幾種中斷方式26)GPT有幾種計數(shù)方式,怎樣設(shè)置27)怎樣利用GPT產(chǎn)生非對稱PWM波形28)怎樣利用GPT產(chǎn)生對稱PWM波形29)怎樣利用比較單元產(chǎn)生非對稱PWM波形28)怎樣利用比較單元產(chǎn)生對稱PWM波形30)捕捉單元的基本功能31)QEP電路的應用

240x芯片內(nèi)含有兩個事件管理器模塊EVA和EVB,用于運動控制和電機控制。

EVA與EVB結(jié)構(gòu)完全相同,外設(shè)地址7400-743FH對EVA進行管理。7500-753FH對EVB進行管理。

每個事件管理器有:1)定時器GPT(2個)輸出引腳為:T1PWM/T1CMP

T2PWM/T2CMP2)比較單元CMP(3個)每個單元兩個輸出:PWM1-PWM6

3)捕獲單元CAP(3個)輸入引腳為:CAP1.2.34)正交脈沖編碼QEP電路,2個輸入引腳QEP1.2與CAP1.2復用

另外:有計數(shù)器計數(shù)方向選擇輸入TDIRA:1:加計數(shù)

0:減計數(shù)有定時器外部/內(nèi)部時鐘輸入:TCLKINA(CPU頻率的1/4)8.1事件管理器模塊概述EVAEVB各13個引腳26328.1.1事件管理器結(jié)構(gòu)、引腳事件管理模塊EVA模塊引腳信號EVB模塊引腳信號GP定時器(2個)定時器1定時器2T1PWM/CMP輸出T2PWM/CMP輸出定時器3定時器4T3PWM/CMP輸出T4PWM/CMP輸出比較單元(3個)比較器1比較器2比較器3PWM1/2輸出PWM3/4輸出PWM5/6輸出Compare4Compare5Compare6PWM7/8輸出PWM9/10輸出PWM11/12輸出捕獲單元(3個)捕獲器1捕獲器2捕獲器3CAP1/QEP1輸入CAP2/QEP2輸入CAP3輸入Capture4Capture5Capture6CAP4/QEP3輸入CAP5/QEP4輸入CAP6輸入正交編碼脈沖電路QEP(2個)QEP1QEP2QEP1輸入QEP2輸入QEP3QEP4QEP3輸入QEP4輸入外部輸入計數(shù)方向外部時鐘TDIRA輸入TCLKINA輸入計數(shù)方向外部時鐘TDIRB輸入TCLKINB輸入

EVA和EVB的功能相同,只是單元的名稱有所區(qū)別。8.1事件管理器模塊概述8.1.1事件管理器結(jié)構(gòu)

定時器(GP):具有基本計數(shù)/定時功能,可以為各種應用提供時基,還可以與其他三個單元合作,進行電機控制,產(chǎn)生比較輸出/PWM信號。多個定時器可配置行使不同功能。

3個比較單元:可以輸出三組比較輸出/PWM信號,且具有死區(qū)控制等功能。

3個捕捉單元:可以記錄輸入引腳跳變的時刻。

正交編碼脈沖電路(QEP):可以直接連接光電編碼器,可獲得旋轉(zhuǎn)機械的速度和方向等信息。

事件管理器模塊中的大多數(shù)引腳與I/O口共用。當不用作事件管理器時,作為I/O引腳。

8.1.1事件管理器結(jié)構(gòu)比較/PWM輸出引腳:每個事件管理器都有8個比較/PWM輸出引腳。其中,2個為通用定時器的比較/PWM輸出,6個全比較器的比較/PWM輸出。片外時鐘輸入引腳:定時器可以通過軟件編程決定使用片內(nèi)時鐘還是片外時鐘。當使用片外時鐘時,TCLKINA、TCLKINB作為片外時鐘輸入引腳。計數(shù)方向引腳:當通用定時器處于定向增/減計數(shù)方式時,通過引腳TDIRA、TDIRB設(shè)置計數(shù)方向。

事件管理器常用于運動控制和電機控制,一般其PWM輸出信號要經(jīng)過功率驅(qū)動才能控制電機等設(shè)備。為了保證系統(tǒng)操作的安全,設(shè)計了功率驅(qū)動保護中斷功能。

功率驅(qū)動保護中斷引腳:

中斷引腳一般用于向電機監(jiān)視程序提供過電壓、過電流等異常信息。

中斷引腳低電平有效,當發(fā)生由高到低的電平跳變時,相應的中斷標志位置1,但是必須維持至少2個時鐘周以使中斷引腳的跳變能被識別并且與內(nèi)部時鐘同步。如果相應的中斷使能,硬件立即將所有事件管理器輸出引腳置為高阻,起到保護作用,同時向CPU發(fā)出中斷請求。信號的鑒別與同步需要2個CPU時鐘周期,因此中斷引腳的低電平至少要保持2個時鐘周期。8.1.2EV寄存器及地址EVA模塊中的寄存器(起始地址是7400h~7431h)地

址寄

器名

稱7400hGPTCONA定時器控制寄存器7401hT1CNT定時器1的計數(shù)寄存器定時器17402hT1CMPR定時器1的比較寄存器7403hT1PR定時器1的周期寄存器7404hT1CON定時器1的控制寄存器7405hT2CNT定時器2的計數(shù)寄存器定時器27406hT2CMPR定時器2的比較寄存器7407hT2PR定時器2的周期寄存器7408hT2CON定時器2的控制寄存器EVA定時寄存器(9個)

每個EV各有29個寄存器。8.1.2EV寄存器及地址EVA模塊中的寄存器(起始地址是7400h~7431h)EVA比較控制寄存器(6個)

址寄

器名

稱7411hCOMCONA比較控制寄存器7413hACTRA比較方式控制寄存器7415hDBTCONA死區(qū)時間控制寄存器7417hCMPR1比較寄存器17418hCMPR2比較寄存器27419hCMPR3比較寄存器38.1.2EV寄存器及地址EVA模塊中的寄存器(起始地址是7400h~7431h)EVA捕獲控制寄存器(8個)地

址寄

器名

稱7420hCAPCONA捕獲控制寄存器7422hCAPFIFOA捕獲FIFO狀態(tài)寄存器A7423hCAP1FIFO兩級深度的捕獲FIFO棧17424hCAP2FIFO兩級深度的捕獲FIFO棧27425hCAP3FIFO兩級深度的捕獲FIFO棧37427hCAP1FBOTFIFO棧的棧底寄存器,允許讀最近捕獲的值7428hCAP2FBOT7429hCAP3FBOT8.1.2EV寄存器及地址EVA模塊中的寄存器(起始地址是7400h~7431h)EVA中斷寄存器(6個)

址寄

器名

稱742ChEVAIMRA中斷屏蔽寄存器A742DhEVAIMRB中斷屏蔽寄存器B742EhEVAIMRC中斷屏蔽寄存器C742FhEVAIFRA中斷標志寄存器A7430hEVAIFRB中斷標志寄存器B7431hEVAIFRC中斷標志寄存器C8.1.2EV寄存器及地址EVB模塊中的寄存器(起始地址是7500h~7531h)EVB定時寄存器(9個)地

址寄

器名

稱7500hGPTCONB定時器控制寄存器7501hT3CNT定時器3的計數(shù)寄存器定時器37502hT3CMPR定時器3的比較寄存器7503hT3PR定時器3的周期寄存器7504hT3CON定時器3的控制寄存器7505hT4CNT定時器4的計數(shù)寄存器定時器47506hT4CMPR定時器4的比較寄存器7507hT4PR定時器4的周期寄存器7508hT4CON定時器4的控制寄存器8.1.2EV寄存器及地址EVB模塊中的寄存器(起始地址是7500h~7531h)EVB比較控制寄存器(6個)

址寄

器名

稱7511hCOMCONB比較控制寄存器7513hACTRB比較方式控制寄存器7515hDBTCONB死區(qū)時間控制寄存器7517hCMPR4比較寄存器47518hCMPR5比較寄存器57519hCMPR6比較寄存器68.1.2EV寄存器及地址EVB模塊中的寄存器(起始地址是7500h~7531h)EVB捕獲控制寄存器(8個)

址寄

器名

稱7520hCAPCONB捕獲控制寄存器7522hCAPFIFOB捕獲FIFO狀態(tài)寄存器B7523hCAP4FIFO兩級深度的捕獲FIFO棧47524hCAP5FIFO兩級深度的捕獲FIFO棧57525hCAP6FIFO兩級深度的捕獲FIFO棧67527hCAP4FBOTFIFO棧的棧底寄存器,允許讀最近捕獲的值7528hCAP5FBOT7529hCAP6FBOT8.1.2EV寄存器及地址EVB模塊中的寄存器(起始地址是7500h~7531h)EVB中斷寄存器地址(6個)地

址寄

器名

稱752ChEVBIMRA中斷屏蔽寄存器A752DhEVBIMRB中斷屏蔽寄存器B752EhEVBIMRC中斷屏蔽寄存器C752FhEVBIFRA中斷標志寄存器A7530hEVBIFRB中斷標志寄存器B7531hEVBIFRC中斷標志寄存器C8.1.3EV事件管理器中斷捕獲單元3中斷0035h3CAP3INT捕獲單元2中斷0034h2CAP2INT4捕獲單元1中斷0033h1CAP1INTC通用定時器2上溢中斷002Eh4T2OFINT通用定時器2下溢中斷002Dh3T2UFINT通用定時器2比較中斷002Ch2T2CINT3通用定時器2周期中斷002Bh1T2PINTB通用定時器1上溢中斷002Ah8T1OFINT通用定時器1下溢中斷0029h7T1UFINT通用定時器1比較中斷0028h6T1CINT通用定時器1周期中斷0027h5T1PINT比較單元3比較中斷0023h4CMP3INT比較單元2比較中斷0022h3CMP2INT2比較單元1比較中斷0021h2CMP1INTA1功率驅(qū)動保護中斷A0020h1INT中斷源中斷向量優(yōu)先級中斷名稱中斷組EVAEVA、EVB各有15個中斷源,其中14個分成A、B、C3個組,產(chǎn)生INT2、INT3、INT4內(nèi)核級中斷,另一個產(chǎn)生INT1內(nèi)核級中斷。8.1.3EV事件管理器中斷EVB捕獲單元6中斷0038h3CAP6INT捕獲單元5中斷0037h2CAP5INT4捕獲單元4中斷0036h1CAP4INTC通用定時器4上溢中斷003Ch4T4OFINT通用定時器4下溢中斷003Bh3T4UFINT通用定時器4比較中斷003Ah2T4CINT3通用定時器4周期中斷0039h1T4PINTB通用定時器3上溢中斷0032h8T3OFINT通用定時器3下溢中斷0031h7T3UFINT通用定時器3比較中斷0030h6T3CINT通用定時器3周期中斷002Fh5T3PINT比較單元6比較中斷0026h4CMP6INT比較單元5比較中斷0025h3CMP5INT2比較單元4比較中斷0024h2CMP4INTA1功率驅(qū)動保護中斷B0019h1INT中斷源中斷向量優(yōu)先級中斷名稱中斷組中斷產(chǎn)生條件:下溢:計數(shù)值為0000h時,上溢:計數(shù)值為FFFFh比較:計數(shù)值與比較寄存器的值匹配時;周期:計數(shù)值與周期寄存器的值。8.1.3EV中斷請求和服務1)產(chǎn)生外設(shè)中斷請求

當事件管理器模塊產(chǎn)生一個中斷時,則其相應的中斷標志位置1。如果此時相應的中斷未被屏蔽(使能),則外設(shè)中斷擴展控制器(PIE)就產(chǎn)生了一個外設(shè)中斷請求。2)加載優(yōu)先級別較高的中斷向量到PIVR

當中斷請求被CPU接受時,和最高優(yōu)先級相對應的那個中斷向量被裝載到PIVR中,在主中斷服務程序(ISR)中可讀取該中斷向量。

注意:一旦發(fā)生中斷,在中斷服務程序中應通過向中斷標志寄存器的相應位寫1的方法來清除中斷標志,否則,該中斷以后將不再產(chǎn)生中斷請求。8.1.3EV中斷請求和服務3)中斷響應過程(8.1.5EV中斷響應過程)

(1)中斷源產(chǎn)生中斷條件當EV某些中斷源產(chǎn)生中斷條件,EVA、EVB的3的組中斷標志寄存器EVxIFRA、EVxIFRB、EVxIFRC中相應位置1,并一直保持到中斷服務程序中軟件清0。(2)外設(shè)級中斷使能通過對EV相應中斷屏蔽寄存器EVxIMRA、EVxIMRB、EVxIMRC的相應位寫1使能相應中斷源,反之寫0則禁止中斷。(3)PIE產(chǎn)生內(nèi)核級中斷請求(INT2、3、4)當中斷標志位和使能位都置1,PIE接收并記錄所有中斷請求,并根據(jù)優(yōu)先級別產(chǎn)生內(nèi)核級中斷請求INTx。(4)CPU響應CPU接收中斷請求,置IFR相應標志位為1,若相應中斷使能且全局中斷使能,則CPU識別中斷并向PIE返回中斷應答,同時控制PC跳轉(zhuǎn)到相應的內(nèi)核級中斷向量,進入中斷服務程序。8.1.3EV中斷請求和服務3)中斷響應過程(8.1.5EV中斷響應過程)

(5)PIE響應

PIE管理器通過CPU返回的中斷應答信號,清除外設(shè)中斷請求寄存器PIRQRx中的相應位,并加載外設(shè)級中斷向量到PIVR。然后PIE與當前中斷軟件并行工作,以便產(chǎn)生新的中斷。(6)執(zhí)行中斷服務程序①主中斷服務程序(GISR)保護處理,讀取PIVR,控制PC跳轉(zhuǎn)到相應外設(shè)中斷向量,進入外設(shè)級中斷服務子程序。②外設(shè)級中斷服務子程序(SISR)完成特定任務,并在返回前通過向EVxIFRA、EVxIFRB、EVxIFRC中相應位寫1,清除中斷標志位,同時還要清0全局中斷屏蔽位INTM。8.1.3EV中斷寄存器1)EVA中斷標志寄存器和屏蔽寄存器

(1)中斷標志寄存器A(EVAIFRA)(742Fh)及屏蔽寄存器A(EVAIMRA)

(742Ch)15141312111098保留(只讀,讀為0)T1上溢T1下溢T1比較76543210T1周期保留(只讀,讀為0)比較單元3比較單元2比較單元1功率驅(qū)動保護

相應標志寄存器與屏蔽寄存器對應中斷源相同,復位時,除功率驅(qū)動屏蔽位為1,其余都為0。標志寄存器:讀操作:1,表示對應的中斷發(fā)出申請;0,表示對應的中斷沒有申請。

寫操作:寫0無效,寫1清除相應中斷標志。屏蔽寄存器:寫操作:1,使能相應中斷;0,禁止相應中斷。8.1.3EV中斷寄存器1)EVA中斷標志寄存器和屏蔽寄存器

(2)中斷標志寄存器B(EVAIFRB)(7430h)及屏蔽寄存器B(EVAIMRB)

(742Dh)15~43210保留(只讀,讀為0)T2上溢T2下溢T2比較T2周期

相應標志寄存器與屏蔽寄存器對應中斷源相同,復位時都為0。標志寄存器:讀操作:1,表示對應的中斷發(fā)出申請;0,表示對應的中斷沒有申請。

寫操作:寫0無效,寫1清除相應中斷標志。屏蔽寄存器:寫操作:1,使能相應中斷;0,禁止相應中斷。8.1.3EV中斷寄存器1)EVA中斷標志寄存器和屏蔽寄存器

(2)中斷標志寄存器C(EVAIFRC)(7431h)及屏蔽寄存器C(EVAIMRC)

(742Eh)15~3210保留(只讀,讀為0)捕獲單元3捕獲單元2捕獲單元1

相應標志寄存器與屏蔽寄存器對應中斷源相同,復位時都為0。標志寄存器:讀操作:1,表示對應的中斷發(fā)出申請;0,表示對應的中斷沒有申請。

寫操作:寫0無效,寫1清除相應中斷標志。屏蔽寄存器:寫操作:1,使能相應中斷;0,禁止相應中斷。8.1.3EV中斷寄存器1)EVB中斷標志寄存器和屏蔽寄存器

(1)中斷標志寄存器A(EVBIFRA)(752Fh)及屏蔽寄存器A(EVBIMRA)

(752Ch)15141312111098保留(只讀,讀為0)T3上溢T3下溢T3比較76543210T3周期保留(只讀,讀為0)比較單元6比較單元5比較單元4功率驅(qū)動保護

相應標志寄存器與屏蔽寄存器對應中斷源相同,復位時,除功率驅(qū)動屏蔽位為1,其余都為0。標志寄存器:讀操作:1,表示對應的中斷發(fā)出申請;0,表示對應的中斷沒有申請。

寫操作:寫0無效,寫1清除相應中斷標志。屏蔽寄存器:寫操作:1,使能相應中斷;0,禁止相應中斷。8.1.3EV中斷寄存器1)EVB中斷標志寄存器和屏蔽寄存器

(2)中斷標志寄存器B(EVBIFRB)(7530h)及屏蔽寄存器B(EVBIMRB)

(752Dh)15~43210保留(只讀,讀為0)T4上溢T4下溢T4比較T4周期

相應標志寄存器與屏蔽寄存器對應中斷源相同,復位時都為0。標志寄存器:讀操作:1,表示對應的中斷發(fā)出申請;0,表示對應的中斷沒有申請。

寫操作:寫0無效,寫1清除相應中斷標志。屏蔽寄存器:寫操作:1,使能相應中斷;0,禁止相應中斷。8.1.3EV中斷寄存器1)EVA中斷標志寄存器和屏蔽寄存器

(2)中斷標志寄存器C(EVBIFRC)(7531h)及屏蔽寄存器C(EVBIMRC)

(752Eh)15~3210保留(只讀,讀為0)捕獲單元6捕獲單元5捕獲單元4

相應標志寄存器與屏蔽寄存器對應中斷源相同,復位時都為0。標志寄存器:讀操作:1,表示對應的中斷發(fā)出申請;0,表示對應的中斷沒有申請。

寫操作:寫0無效,寫1清除相應中斷標志。屏蔽寄存器:寫操作:1,使能相應中斷;0,禁止相應中斷。8.2通用定時器8.2.1計數(shù)器定時器的基本工作原理定時器是EV的核心模塊。2407芯片內(nèi)含有4個16位通用定時器,計數(shù)范圍是0~65535(216-1)個脈沖。主要功能----為以下應用提供時基(1)控制系統(tǒng)中的采樣時鐘(2)正交編碼QEP電路和捕捉單元時鐘(3)比較單元和相應的PWM電路操作時鐘(4)其他定時功能計數(shù)時鐘脈沖:內(nèi)部時鐘經(jīng)分配產(chǎn)生,或由外部引腳來提供。計數(shù)方向:增計數(shù),減計數(shù)。4種工作方式:停止/保持,連續(xù)增計數(shù)模式,定向增/減計數(shù)模式,連續(xù)增減模式4種中斷模式:下溢,上溢,比較,周期中斷8.2.1通用定時器概述

4種中斷模式:下溢,上溢,比較,周期中斷1)下溢中斷:計數(shù)器TxCNT計數(shù)回零時,產(chǎn)生下溢中斷.2)上溢中斷:計數(shù)器TxCNT計數(shù)到FFFF時,產(chǎn)生上溢中斷.3)比較中斷:計數(shù)器TxCNT計數(shù)值等于比較值時,產(chǎn)生比較匹配中斷.4)周期中斷:計數(shù)器TxCNT計數(shù)值等于周期值時,產(chǎn)生周期匹配中斷

回零時的轉(zhuǎn)換時間需延遲1個時鐘.中斷標志置位需延時2個時鐘.

8.2.1通用定時器概述1)通用定時器結(jié)構(gòu)(以T1為例)加/減計數(shù)寄存器雙緩沖比較寄存器,用于存儲與計數(shù)器進行比較的值雙緩沖周期寄存器,當其值與計數(shù)器匹配時,根據(jù)計數(shù)模式定時器復位或開始遞減計數(shù)。定時控制寄存器,決定定時器的模式全局通用定時器控制寄存器,控制定時器工作模式注意:T2可選T1周期寄存器,T4可選T3周期寄存器。T1PRT2PRMUXTnCON[0]T1CMPR比較邏輯波形發(fā)生器輸出邏輯GPTCONAT1CNT控制邏輯T1CONADC啟動CPU時鐘預定標:1-1/128fcTDIRATCLKINA<1/4fc(外部時鐘)中斷標志T1PWMGP控制寄存器周期寄存器選擇,GP2/GP4有效,用于同步方式0:選擇自身的周期寄存器1:選擇T1PR/T3PR忽略T2PR/T4PRT1PRT2PRMUXTnCON[0]T1CMPR比較邏輯波形發(fā)生器輸出邏輯GPTCONAT1CNT控制邏輯T1CONADC啟動CPU時鐘預定標:1-1/128fcTDIRATCLKINA<1/4fc(外部時鐘)中斷標志T1PWMGP控制寄存器8.2.1通用定時器概述通用定時器結(jié)構(gòu)可選擇的內(nèi)部或外部輸入時鐘

預定標計數(shù)分頻器,可設(shè)置為對內(nèi)部時鐘或外部時鐘進行分頻計數(shù)

控制和中斷邏輯用于4個可屏蔽的中斷:上溢、下溢、定時器比較和周期可選擇方向的輸入引腳TDIRxTPWM/T1CMP輸出引腳8.2.1通用定時器概述通用定時器的輸入內(nèi)部CPU時鐘

外部時鐘TCLKINA/B,最大頻率是CPU時鐘頻率1/4

方向輸入TDIRA/B引腳復位信號RESET正交編碼脈沖電路可產(chǎn)生定時器的時鐘和計數(shù)方向通用定時器的輸出

通用定時器比較輸出TxCMP(x=1,2,3,4)

到ADC模塊的模數(shù)轉(zhuǎn)換啟動信號

比較邏輯和比較單元的下上溢、匹配和周期匹配信號計數(shù)方向指示位

8.2.1通用定時器概述通用定時器的控制寄存器

1)單個通用定時器控制寄存器TxCON(x=1,2,3,4)TxCON決定著定時器的操作模式15141312111098FreeSoft保留位TMODE1TMODE0TPS2TPS1TPS076543210T2SWT1/T4SWT3+TENABLETCLKS1TCLKS0TCLD1TCLD0TECMPRSELT1PR/SELT3PR+位12-11:用于選擇計數(shù)模式。為00時,停止/保持模式;為01時,連續(xù)增/減計數(shù)模式;為10時,連續(xù)增計數(shù)模式;為11時,定向增/減模式。位10-8:確定輸入時鐘預定標系數(shù)。為000時,輸入時鐘為fCPU/1;為001,為fCPU/2;為010,為fCPU/4;為011,為fCPU/8;為100,為fCPU/16;為101,為fCPU/32;為110,為fCPU/64;為111,為fCPU/128。位7:為定時器2、4的使能選擇位(僅在定時器2、4中有效)。為0時,定時器2、4使用自身的使能位;為1時,使用T1CON、T3CON中的使能位來使能或禁止定時器2、4的相應操作,從而忽略了自身的定時器使能位位6:為定時器使能位。為0時,禁止定時器操作,即定時器被置于保持狀態(tài)且預定標器被復位;為1時,使能定時器的操作。位5-4用于時鐘的選擇。為00時,選擇內(nèi)部CPU時鐘;為01時,選擇外部時鐘;為10時保留;為11時選擇正交編碼脈沖(僅適用于定時器2和4,在SELT1PR=0時有效)。

位3-2:決定比較寄存器的重裝載條件。為00時,當計數(shù)值是0時重裝載;為01時,當計數(shù)值是0或等于周期寄存器值時重裝載;為10時,立即重裝載;為11時保留。位1:為定時器的比較使能位。為0時禁止定時器的比較操作;為1時使能定時器的比較操作。位0:為周期寄存器的選擇位(僅在定時器2和4中有效)。為0時,使用自身周期寄存器;為1時,使用T1PR或T3PR作為周期寄存器。可禁止、使能定時器,可選擇4種計數(shù)模式之一,可選擇時鐘源,可使用定時器同步,可使能比較操作,可選擇比較寄存器的重新加載條件。8.2.1通用定時器概述2)全局通用定時器控制寄存器GPTCONA/B

GPTCONA/B規(guī)定了通用定時器針對不同定時器事件所采取的操作,并指明了它們的計數(shù)方向。

GPTCONA15141312~1110~98~7-T2STATT1STAT-T2TOADCT1TOADC65~43~21~0TCOMPOE-T2PINT1PIN位14:是通用定時器2的只讀狀態(tài)位,用于仿真觀察。當為0時作減計數(shù);為1時作加計數(shù)。位13:是通用定時器1的只讀狀態(tài)位,用于仿真觀察。當為0時作減計數(shù);為1時作加計數(shù)。

位10-9:用于定時器2啟動ADC事件。為00時,無事件啟動ADC;為01時,設(shè)置由下溢中斷啟動ADC;為10時,設(shè)置由周期中斷啟動ADC;為11時,設(shè)置由比較中斷啟動ADC。位8-7:用于定時器1啟動ADC事件。為00時,無事件啟動ADC;為01時,設(shè)置由下溢中斷啟動ADC;為10時,設(shè)置由周期中斷啟動ADC;為11時,設(shè)置由比較中斷啟動ADC。位6:是比較輸出使能位。為0時,禁止所有通用定時器的比較輸出(高阻狀態(tài));為1時,使能(允許)所有通用定時器的比較輸出。

位3-2:是通用定時器2的比較輸出極性選擇位。為00時,輸出強制低電平;為01時,輸出低電平有效;為10時,輸出高電平有效;為11時,輸出強制高電平。位1-0:是通用定時器1的比較輸出極性選擇位。為00時,輸出強制低電平;為01時,輸出低電平有效;為10時,輸出高電平有效;為11時,輸出強制高電平。GPTCONB

15141312~1110~98~7-T4STATT3STAT-T4TOADCT3TOADC65~43~21~0TCOMPOE-T4PINT3PIN8.2.1通用定時器概述GPT的周期寄存器具有雙緩沖結(jié)構(gòu)(帶有一個映像寄存器),用于存放定時周期值,在一個周期中的任何時刻新的周期值可以寫進映像寄存器中,僅當計數(shù)寄存器中的值為0時,映像寄存器中的值才重新加載到工作的周期寄存器中,可以改變下一個周期的定時周期。GPT的比較寄存器具有雙緩沖結(jié)構(gòu)(帶有一個映像寄存器),用于存放比較值,在一個周期中的任何時刻新的比較值可以寫進映像寄存器中,用于改變下一個周期的PWM脈沖寬度。當TxCON中所指定的定時器事件發(fā)生時,映像寄存器中的值可以加載到工作的比較寄存器中??赡芗虞d的情況有:1)數(shù)據(jù)寫入到映像寄存器后立即加載;2)下溢時,即計數(shù)寄存器為0時;3)周期匹配時,即計數(shù)寄存器的值等于周期寄存器的值時。8.2.1通用定時器概述基于正交編碼器脈沖(QEP)的時鐘輸入QEP電路可被選定為定向增/減計數(shù)模式下的通用T2和T4提供輸入時鐘和計數(shù)方向信號。

QEP電路被選作時鐘源時,則選中的T2和T4的預定標因子總是1,不再取決于預定標分頻比;而且QEP產(chǎn)生的時鐘頻率是每個正交編碼脈沖輸入頻率的4倍。QEP輸入頻率必須低于或等于內(nèi)部CPU當前工作時鐘頻率的1/4。通用定時器事件(中斷)啟動模數(shù)轉(zhuǎn)換GPTCONA/B寄存器的位定義了ADC模塊的啟動信號。GPT的4個中斷可以作為內(nèi)部ADC模塊的啟動信號,使得沒有CPU干涉也能在GPT和ADC的啟動之間實現(xiàn)同步。8.2.1通用定時器概述通用定時器的同步通過正確配置T2CON和T4CON,T2可與與T1實現(xiàn)同步,T4可與T3實現(xiàn)同步。過程為:(1)置TnCON(n為2或4)的TnSWTm[.7](m為1或3)位為1,同時置TmCON中的TENABL[.6]位為1。這樣2個定時器的計數(shù)器將同時啟動。(2)在啟動同步操作前,將Tn與Tm定時/計數(shù)器設(shè)置為不同初始值。(3)置Tn中的SELTmPR[.0]位為1,使Tn將Tm的周期寄存器作為自己的周期寄存器使用(忽略自己的周期寄存器)通過定時器同步,可使一個定時器在另一個定時器啟動之后延時一段時間再啟動。8.2.4通用定時器計數(shù)操作(1)停止/保持模式(TxCON[.12.11]=00)

在該種模式下,通用定時器停止操作并保持當前狀態(tài),計數(shù)寄存器、比較輸出和分頻系數(shù)都保持不變。(2)連續(xù)增計數(shù)模式(TxCON[.12.11]=10)

----可用于定時,邊沿觸發(fā)、異步PWM波形。全局控制寄存器中的計數(shù)方向指示位為1,TDIRA/B引腳不起作用。

定時計數(shù)器TxCNT按照預定標時鐘進行計數(shù),并與周期寄存器(TxPR)進行比較,直到計數(shù)值與周期寄存器中數(shù)值匹配(相等)為止,在匹配之后的下一個輸入時鐘的上升沿復位計數(shù)器的數(shù)值為0,并重新開始下一個計數(shù)周期的計數(shù)操作。4種計數(shù)模式:8.2.4通用定時器計數(shù)操作通用定時器連續(xù)增計數(shù)模式的工作過程:

在該計數(shù)模式下,若外設(shè)中斷沒有被屏蔽,則一旦發(fā)生匹配就對相應的周期中斷標志進行置位,并產(chǎn)生外設(shè)中斷請求。如果該中斷已經(jīng)設(shè)置為用來啟動ADC,則在中斷標志被置位的同時,將啟動一次ADC。

定時器的初始值可在0000h-FFFFh范圍內(nèi)選。當初始值大于周期寄存器數(shù)值時,定時器將計數(shù)到FFFFh,上溢中斷標志位置位,計數(shù)值復位為0后再進入正常的操作;當初始值等于周期寄存器數(shù)值時,定時器將置位周期中斷標志,計數(shù)器復位為0,并產(chǎn)生下溢中斷標志進入正常操作。如果定時計數(shù)器的初始數(shù)值為0,定時時間為TxPR+1個定標的時鐘輸入周期。8.2.4通用定時器計數(shù)操作(3)定向增/減計數(shù)模式(TxCON[.12.11]=11)

適用于正交脈沖電路及外部事件控制

根據(jù)TDIRA/B引腳的輸入進行連續(xù)加或減計數(shù)操作。當引腳TDIRA/B為高電平時,定時器將加計數(shù)一直到等于周期寄存器的數(shù)值,然后計數(shù)器復位為0,并繼續(xù)進行加計數(shù);當引腳TDIRA/B為低電平時,定時器將進行減計數(shù)操作,一直到0,然后定時器重新裝載周期寄存器的數(shù)值,并繼續(xù)進行減計數(shù)操作。8.2.4通用定時器計數(shù)操作初始值可以為0000h-FFFFh之間的任何值。當計數(shù)初始值大于周期寄存器的值時,如果引腳TDIRA/B為高電平,定時器復位到0,并繼續(xù)加計數(shù)到周期寄存器的值;如果引腳TDIRA/B為低電平,則計數(shù)器減計數(shù)到周期寄存器的值后,再減計數(shù)到0,然后重新裝入周期寄存器的值,并開始新的減計數(shù)操作。從引腳TDIRA/B的變化到計數(shù)方向變化之間的延遲是當前計數(shù)結(jié)束后的兩個CPU時鐘周期,即當前預定標的計數(shù)周期結(jié)束后的兩個CPU周期。在該種計數(shù)模式下,無論是通過TCLKINA/B輸入的外部時鐘信號,還是來自內(nèi)部的CPU時鐘,都可作為該模式下的計數(shù)輸入。

周期、下溢、上溢中斷的標志位及中斷和相關(guān)的事件都由各自的匹配產(chǎn)生,其產(chǎn)生方式與連續(xù)增計數(shù)模式相同。通用定時器定向增/減計數(shù)模式可用于正交編碼脈沖電路,在這種情況下,正交編碼脈沖電路為定時器2和4提供計數(shù)時鐘和計數(shù)方向。

8.2.4通用定時器計數(shù)操作(4)連續(xù)增減計數(shù)模式(TxCON[.12.11]=01---適用于PWM輸出

方向引腳TDIRA/B不起作用。計數(shù)方向的改變?nèi)Q于計數(shù)寄存器的值:當計數(shù)值等于周期值后開始減計數(shù),當計數(shù)值為0后開始增計數(shù)。初始計數(shù)方向與初始值有關(guān)。

該種模式的定時時間為2×(TxPR)個輸入時鐘周期。8.2.4通用定時器計數(shù)操作(4)連續(xù)增/減計數(shù)模式

該計數(shù)模式的計數(shù)初始值不同,第一個周期的計數(shù)方向和周期也不同。

當計數(shù)初始值在0和周期寄存器的值之間時,計數(shù)器將加計數(shù)到周期寄存器的值,然后進入正常計數(shù)操作;

當計數(shù)初始值等于周期寄存器的值時,計數(shù)器將減計數(shù)到0,然后開始正常的計數(shù)操作;

當計數(shù)初始值大于周期寄存器的值時,定時器將加計數(shù)到FFFFh,然后復位為0,開始正常的連續(xù)增/減計數(shù)操作。周期、下溢、上溢中斷的標志位、以及中斷和相關(guān)的事件都由各自的匹配產(chǎn)生,其產(chǎn)生方式與連續(xù)增計數(shù)模式下相同。

8.2.5通用定時器比較操作

每個通用定時器都有一個相關(guān)的比較寄存器TxCMPR和一個PWM輸出引腳TxPWM。

當計數(shù)值與比較寄存器的值相等時,就會發(fā)生比較匹配。如果比較操作被使能(TxCON.1位被置1),當產(chǎn)生比較匹配時將發(fā)生下列事件:1)在匹配發(fā)生一個CPU時鐘周期后,比較中斷寄存器標志位被置位。如果比較中斷標志位已通過設(shè)置GPTCONA/B寄存器中的相應位去啟動ADC,則當比較中斷標志位被置位的同時也將產(chǎn)生ADC的啟動信號;2)在匹配發(fā)生一個CPU時鐘周期后,根據(jù)GPTCONA/B寄存器相應位的配置情況,相關(guān)的PWM輸出發(fā)生跳變;

3)如果比較中斷未被屏蔽,則將產(chǎn)生一個外設(shè)中斷請求。8.2.5通用定時器比較操作通用定時器的比較操作1)PWM輸出跳變由一個非對稱和對稱的波形發(fā)生器和相應的輸出邏輯控制,并且依賴于以下條件。(1)GPTCONA/B寄存器中相應位的定義;

(2)定時器所處的計數(shù)模式;

(3)在連續(xù)增/減計數(shù)模式下的計數(shù)方向。

2)非對稱和對稱波形發(fā)生器

根據(jù)通用定時器所處的計數(shù)模式,產(chǎn)生一個非對稱和對稱的PWM波形輸出。

8.2.5通用定時器比較操作3)非對稱波形的發(fā)生如果計數(shù)操作開始前輸出為0,則保持不變直到比較匹配的發(fā)生,匹配時產(chǎn)生觸發(fā),輸出發(fā)生跳變。如果在下一周期的新比較值不是0,則發(fā)生周期匹配的那個周期結(jié)束后輸出復位為0。如果在一個周期開始時比較值為0,則在整個周期輸出將是1;如果下一個周期的新比較值也是0,則輸出將不復位為0,這意味著可以產(chǎn)生0~100%的脈沖寬度調(diào)節(jié)。

如果比較值大于周期寄存器的值,則整個周期輸出為0。如果比較值等于周期寄存器的值,則輸出為1將保持一個定標后的時鐘輸入周期。比較寄存器值的改變只影響PWM脈沖的單邊,這是非對稱PWM波形的特點。

工作于連續(xù)遞增計數(shù)模式時,產(chǎn)生非對稱波形。保持跳變復位新比較值非0周期開始比較值為0不復位跳變整個周期輸出0跳變比周期更長的比較值8.2.5通用定時器比較操作4)對稱波形發(fā)生

當通用定時器處于連續(xù)增/減計數(shù)模式時產(chǎn)生對稱波形。

若計數(shù)開始前輸出為0,則輸出保持不變直到第一次比較匹配,輸出發(fā)生跳變,然后輸出保持不變直到第二次比較匹配,輸出再次發(fā)生跳變直到周期結(jié)束。如果沒有第二次匹配且下一個周期的新比較值不為0,則在周期結(jié)束后復位為0。

若比較值在周期開始時為0,則輸出為1直到第二次比較匹配發(fā)生。如果比較值在周期的后半部為0,則輸出將保持為1直到周期結(jié)束。在這種情況下,如果新比較值仍為0,輸出將不會復位為0。

如果前半周期中的比較值大于或等于周期寄存器的值,則第一次跳變將不會發(fā)生,但是當后半周期發(fā)生匹配時,輸出仍會跳變。這種輸出錯誤的跳變經(jīng)常是由于應用程序計算不正確引起的,它將在周期結(jié)束時被糾正。跳變跳變比較值為0保持保持跳變跳變保持保持跳變8.2.5通用定時器比較操作5)輸出邏輯

輸出邏輯可通過配置GPTCONA/B寄存器中的相應位來規(guī)定高有效、低有效、強制低或強制高。

當PWM的輸出定義為高有效時,它的極性與相關(guān)的波形發(fā)生器的極性相同;當PWM的輸出定義為低有效時,它的極性與相關(guān)波形發(fā)生器的極性相反;當通過GPTCONA/B寄存器中的控制位將PWM的輸出定義為強制低或高時,PWM的輸出立即變?yōu)?或1。

當出現(xiàn)下列任何一種情況時,所有的通用定時器PWM輸出都置為高阻態(tài):

(1)軟件將GPTCONA/B[6]置為0;

(3)任何一個復位事件發(fā)生;

(4)軟件將TxCON[1]置為0。

(2)PDPINTx引腳上的電平被拉低并且未被屏蔽;8.2.6通用定時器的PWM輸出每個GPT有一路PWM輸出。若GPT工作于連續(xù)增計數(shù),輸出非對稱PWM波;若工作于連續(xù)增減計數(shù)方式,輸出對稱PWM波形。GPT輸出PWM波形的初始化過程:(1)根據(jù)PWM波形的周期設(shè)置TxPR;(2)設(shè)置TxCON確定計數(shù)方式、時鐘、使能比較操作;(3)根據(jù)PWM脈寬占空比設(shè)置TxCMPR.新的占空比需要新的比較值,比較寄存器的值根據(jù)脈寬的要求不斷更新。

8.2.7通用定時器復位當任何復位事件發(fā)生時,產(chǎn)生以下復位操作。1)GPTCONA/B中,計數(shù)方向指示位置1,其余位都復位為0,禁止所有通用定時器的操作2)所有定時器中斷標志位復位為0;3)所有定時器中斷屏蔽位復位為0,屏蔽所有中斷。4)所有通用定時器的比較器輸出都置為高阻。通用定時器應用利用EVA的通用定時器1定時,初始化程序:編程步驟:初始化T1CON使能定時器操作設(shè)置EVAIMAR清EVAIFRA初值T1PR0T1CNTvoidtimer1_ini()//定時器1初始化子程序{

*IMR=0x0002;/*使能int2中斷,*/

*EVAIMRA=0x0080;/*使能T1PINT中斷,或EVAIMRA=EVAIMRA|0x0080;*/

*EVAIFRA=0xFFFF;/*清EVA中斷標志*/

*T1PER=0x0177;/*GPT1的周期寄存器,fCPU=24MHz,

約1ms產(chǎn)生一次中斷*/

*T1CNT=0x0000;/*計數(shù)器清零*/

*T1CON=0x164C;/*連續(xù)增計數(shù)模式,

預分頻為64,定時器計時使能,

內(nèi)部時鐘,定時器1比較使能*/

asm("clrcINTM");/*開總中斷*/}通用定時器應用假中斷服務子程序:interruptvoidnothing()//啞中斷子程序{return;}//定時器1中斷子程序interruptvoidtimer1(){if(num==1000)

/*記中斷次數(shù)1000次,產(chǎn)生1秒延時*/

{

num=0;show=~show;/*顯示值取反*/

}elsenum++;

*T1CNT=0x0000;/*計數(shù)器清零*/*EVAIFRA=0xFFFF;/*清EVA中斷標志*/return;}通用定時器應用主程序:voidmain(void){sys_ini();timer1_ini();for(;;){/*將欲顯示值賦予io空間的0004地址*/port0004=show;}}通用定時器應用中斷向量表程序:.global_c_int0,_nothing,_timer1.sect".vecs"reset:b_c_int0;復位向量int1:b_nothing;ADC,SPI,CAN,SCI,EVA,EVBint2:btimer1;EVA,EVBint3:b_nothing;EVA,EVBint4:b_nothing;EVA,EVBint5:b

_nothing;SPI,SCI,CANint6:b_nothing;ADC,EXINT。。。8.3比較單元

EVA模塊:比較單元1、2和3,定時器1提供時基。

EVB模塊:比較單元4、5和6,定時器3提供時基。

每個比較單元都有兩個相關(guān)的PWM輸出引腳,每個EV共有6個。

(1)比較單元輸入和輸出

輸入:1)控制寄存器的控制信號;2)通用定時器1和3(T1CNT和T3CNT)及它們的下溢和周期匹配信號;3)復位信號。輸出:比較匹配信號。如果比較操作使能,該匹配信號將置中斷標志位,并使和比較單元相關(guān)的兩個輸出引腳發(fā)生跳變。8.3比較單元(2)比較操作模式--由比較控制寄存器(COMCONx)相關(guān)位決定

EV的GPT1(或GPT3)的計數(shù)值不斷與比較寄存器的值進行比較,當發(fā)生匹配時,比較單元的兩個引腳的輸出電平按照方式控制寄存器ACTRA(或ACTRB)控制的位進行跳變。

匹配時,若比較被使能,則比較匹配中斷標志位被置位,這時若中斷沒有被屏蔽,則會產(chǎn)生外設(shè)中斷請求,且輸出跳變的時序。中斷請求的產(chǎn)生與通用定時器的比較操作相同。輸出邏輯、死區(qū)單元及空間矢量PWM邏輯可改變比較單元的輸出。(3)比較操作(4)比較單元操作的寄存器配置

EVAEVB設(shè)置T1PR設(shè)置T3PR設(shè)置ACTRA設(shè)置ACTRB初始化CMPRx初始化CMPRx設(shè)置COMCONA設(shè)置COMCONB設(shè)置T1CON設(shè)置T3CON步驟見右表。

8.3.3比較單元寄存器

若比較使能,則當比較匹配事件發(fā)生時,6個比較輸出引腳就按比較方式控制寄存器設(shè)定的方式跳變。任何復位事件使所有比較單元寄存器復位為0,并且比較輸出引腳置為高阻。1)比較控制寄存器A(COMCONA)(7411h)或B(COMCONB)(7511h)

位15:是比較使能位。為0禁止比較操作;為1使能比較操作。

位14-13:確定比較寄存器CMPRx的重載條件。為00時為T1CNT=0(即下溢);為01時為T1CNT=0或T1CNT=T1PR(即下溢或周期匹配);為10時為立即重載;為11時為保留位。位12:為空間矢量PWM模式使能位。為0時禁止空間矢量PWM模式;為1時使能空間矢量PWM模式。

位11-10:確定方式控制寄存器ACTRA的重載條件。為00時條件為T1CNT=0(即下溢);為01時條件為T1CNT=0或T1CNT=T1PR(即下溢或周期匹配);為10時條件為立即重載;為11時為保留位。

位9:是比較輸出使能位。為0時禁止PWM引腳輸出,輸出為高阻態(tài);為1時PWM輸出引腳處于使能狀態(tài)。

位8:反映了當前引腳PDPINTA的狀態(tài)。

-STATUSFCOMPOEACTRLD0ACTRLD1SVENABLECLD0CLD1CENABLE7~089101112131415PDPINTA-STATUSFCOMPOEACTRLD0ACTRLD1SVENABLECLD0CLD1CENABLE7~089101112131415PDPINTB3)比較動作(方式)控制寄存器A(ACTRA)(7413h)或B(ACTRA)(7413h)15141312111098SVRDIRD2D1D0CMP6ACT1CMP6ACT0CMP5ACT1CMP5ACT076543210CMP4ACT1CMP4ACT0CMP3ACT1CMP3ACT0CMP2ACT1CMP2ACT0CMP1ACT1CMP1ACT0位15:確定空間矢量PWM的旋轉(zhuǎn)方向。為0時正向;為1時反向位14-12:為基本的空間矢量,僅用于空間矢量PWM輸出的產(chǎn)生位11-10:用于選擇引腳PWM6/IOPB3的比較輸出方式。為00輸出強制低;為01輸出低電平有效;為10輸出高電平有效;為11輸出強制高。位9-8:用于選擇引腳PWM5/IOPB2的比較輸出方式。為00輸出強制低;為01輸出低電平有效;為10輸出高電平有效;為11輸出強制高。

位7-6:用于選擇引腳PWM4/IOPB1的比較輸出方式。為00輸出強制低;為01輸出低電平有效;為10輸出高電平有效;為11輸出強制高。位5-4:用于選擇引腳PWM3/IOPB0的比較輸出方式。為00輸出強制低;為01輸出低電平有效;為10輸出高電平有效;為11輸出強制高。

位3-2:用于選擇引腳PWM2/IOPA7的比較輸出方式。為00輸出強制低;為01輸出低電平有效;為10輸出高電平有效;為11輸出強制高。位1-0:用于選擇引腳PWM1/IOPA6的比較輸出方式。為00輸出強制低;為01輸出低電平有效;為10輸出高電平有效;為11輸出強制高。15141312111098SVRDIRD2D1D0CMP12ACT1CMP12ACT0CMP11ACT1CMP11ACT076543210CMP10ACT1CMP10ACT0CMP9ACT1CMP9ACT0CMP8ACT1CMP8ACT0CMP7ACT1CMP7ACT08.3.3比較單元寄存器

若比較操作使能,在比較匹配發(fā)生后的1個CPU時鐘EVxIFRA寄存器中的相應比較中斷標志位置1;如果比較中斷允許,則會產(chǎn)生一個比級中斷請求。比較單元的復位復位時所有與比較單元相關(guān)的寄存器都復位為0;并且所有比較輸出引腳都為高阻態(tài)。8.4脈寬調(diào)試PWM電路

在電動機控制中,采用基于DSP硬件的PWM發(fā)生電路可大大減小用戶編程的工作量和CPU時間的開銷。

每個EV都有3對0-16μs的可編程死區(qū)控制PWM波形輸出的功能。

脈寬調(diào)制(PWM)的核心就是產(chǎn)生周期不變但脈寬可變的信號,這個定長的周期被稱為PWM載波周期,其倒數(shù)被稱為PWM載波頻率。

不變的PWM載波周期由通用定時器的周期匹配實現(xiàn),根據(jù)調(diào)制頻率來設(shè)置通用定時器周期寄存器的值;

可變的PWM脈寬由通用定時器的比較匹配實現(xiàn),根據(jù)已知的脈寬變化規(guī)律在每個周期內(nèi)修改通用定時器比較寄存器的值,用于得到不同的脈寬。

8.4.1PWM信號8.4.2用EV產(chǎn)生PWM信號8.4PWM電路及PWM信號的產(chǎn)生

PWM波形發(fā)生器的特性1)具有16位的死區(qū)控制寄存器;

2)有從0到16μs的可編程死區(qū)發(fā)生器控制PWM輸出對;3)最小的死區(qū)寬度為1個CPU時鐘周期;

4)可根據(jù)需要改變PWM的載波頻率;5)在每個PWM周期內(nèi)可根據(jù)需要改變PWM脈沖的寬度;

6)具有外部可屏蔽的功率驅(qū)動保護中斷;7)脈沖形成發(fā)生器電路用于可編程的對稱、非對稱以及4個空間矢量PWM波形產(chǎn)生;8)具有自動重裝載的比較和周期寄存器使CPU的負擔最小。通過設(shè)置死區(qū)控制寄存器可選擇死區(qū)時間。8.4PWM電路及PWM信號的產(chǎn)生8.4.3與比較單元相關(guān)的PWM電路(空間矢量PWM波形產(chǎn)生)

對于每個事件管理器,都具有6路帶有可編程的死區(qū)和輸出極性控制的PWM輸出。

可編程的死區(qū)單元和輸出邏輯死區(qū)單元的組成輸入:比較單元的非對稱/對稱波形發(fā)生器產(chǎn)生的PHx信號。輸出:DTPHx、DTPHx_。輸入時鐘預分頻器(x/1、x/2、x/4、x/8、x/16、x/32)3個4位減計數(shù)定時器1)死區(qū)單元的輸入輸出

當死區(qū)被禁止時,2個輸出信號完全相同,且等于輸入PHx;

EVA和EVB具有各自獨立的可編程死區(qū)單元。可編程的死區(qū)單元和輸出邏輯帶有死區(qū)的PWM波形圖如DBTCONA[11-8]是m,則當預定標因子DBTCONA[4-2]對應為x/p時,死區(qū)數(shù)值為(m×p)個TCPU。2)死區(qū)的產(chǎn)生

當死區(qū)使能時,這兩個信號的轉(zhuǎn)換邊沿就會被死區(qū)間隔分開。死區(qū)間隔的大小由DBTCONA/B決定??删幊痰乃绤^(qū)單元和輸出邏輯4)死區(qū)定時器控制寄存器(1)死區(qū)控制寄存器A(DBTCONA):地址7415h15~12111098保留位DBT3DBT2DBT1DBT07654~21~0EDBT3EDBT2EDBT1DBTPS2DBTPS1DBTPS0保留位位11-8:用于定義死區(qū)定時器周期。這些位規(guī)定了3個4位死區(qū)定時器的周期值位7:為死區(qū)定時器3的使能位(對應比較單元3的引腳PWM5、PWM6)。該位為0表示禁止;為1表示使能。

位6:為死區(qū)定時器2的使能位(對應比較單元2的引腳PWM3、PWM4)。該位為0表示禁止;為1表示使能。位5:為死區(qū)定時器1的使能位(對應比較單元1的引腳PWM1、PWM2)。該位為0表示禁止;為1表示使能。位4-2:確定死區(qū)定時器的預分頻因子。為000時x/1;為001時x/2;為010時x/4;為011時x/8;為100時x/16;為101-111時x/32。(2)死區(qū)控制寄存器B(DBTCONB):地址為7515h

15~12111098保留位DBT3DBT2DBT1DBT07654~21~0EDBT3EDBT2EDBT1DBTPS2DBTPS1DBTPS0保留位可編程的死區(qū)單元和輸出邏輯5)輸出邏輯

在比較發(fā)生匹配時,輸出引腳PWM1-PWM12上的輸出極性和方式是由輸出邏輯電路決定的。

與每個比較單元相關(guān)的輸出方式可分為低有效、高有效、強制低和強制高。

PWM輸出極性和方式可通過ACTRA/B寄存器中相應的位來配置。當發(fā)生以下任一情況時,所有的PWM輸出引腳都置成高阻態(tài):(1)軟件將COMCONA/B[9]清0;(2)當PDPINTA/B未被屏蔽時,由硬件將PDPINTA/B引腳上的電平拉低;(3)發(fā)生任何復位事件;8.4.4PWM波形產(chǎn)生舉例EV中的每個比較單元都能夠產(chǎn)生非對稱和對稱的PWM波形,并且三個比較單元一起可以產(chǎn)生三相對稱空間向量PWM輸出。與通用定時器產(chǎn)生PWM波形相比,比較單元多了死區(qū)控制和空間向量PWM輸出功能。

(1)PWM產(chǎn)生的寄存器設(shè)置1)設(shè)置和裝載比較動作寄存器ACTRA/B,決定PWM輸出的極性;2)若死區(qū)使能,則設(shè)置和裝載死區(qū)控制寄存器DBTCONA/B,以決定死區(qū)的大??;3)設(shè)置和裝載T1PR或T3PR寄存器,以決定PWM波形的周期;4)初始化比較周期寄存器CMPRx,設(shè)置和裝載比較控制寄存器COMCONA/B;

5)設(shè)置和裝載TlCON或T3CON寄存器,來啟動比較操作;

6)更新CMPRx寄存器的值,使輸出的PWM波形的占空比發(fā)生變化。非對稱和對稱PWM的產(chǎn)生(2)非對稱PWM波形的產(chǎn)生

產(chǎn)生條件:1)將T1或T3設(shè)置為連續(xù)增計數(shù)模式;2)裝載周期寄存器=PWM載波周期的數(shù);3)COMCONA/B配置成使能比較操作,使能PWM輸出引腳。4)如果死區(qū)使能,設(shè)置死區(qū)時間值(DBTCONA/B的11-8位);5)適當?shù)嘏渲帽容^方式寄存器ACRTA/B。

非對稱和對稱PWM的產(chǎn)生(3)對稱PWM波形的產(chǎn)生

產(chǎn)生條件:1)將T1或T3的設(shè)置為連續(xù)增/減計數(shù)模式;2)裝載周期寄存器=PWM載波周期的數(shù);3)COMCONA/B配置成使能比較操作,使能PWM輸出引腳。4)如果死區(qū)使能,設(shè)置死區(qū)時間值(DBTCONA/B的11-8位);5)適當?shù)嘏渲眉拇嫫鰽CRTA/B。

對稱PWM波形比非對稱PWM波形的優(yōu)越之處在于它存在有兩個相同長度的非激活區(qū)(無效區(qū)),這兩個區(qū)分別位于PWM波形的起始和結(jié)束處。非對稱和對稱PWM的產(chǎn)生*PWM輸出的占空比計算

假設(shè)PWM的引腳輸出為高電平有效,比較寄存器的值為TxCMPR,周期寄存器的值為TxPR,正常時有0<TxCMPR<TxPR,通用定時器的工作模式為連續(xù)增/減方式。波形的發(fā)生過程如下:1)計數(shù)器從0開始增計數(shù),在未達到比較寄存器的值之前,引腳輸出為無效的低電平。2)當計數(shù)值與比較寄存器的值相等時,產(chǎn)生第一次比較匹配事件,PWM引腳輸出有效高電平。3)計數(shù)器繼續(xù)增計數(shù)到周期值,發(fā)生周期匹配事件。計數(shù)器減計數(shù)操作,當再次與比較值相等時,發(fā)生第二次比較匹配事件,對應的PWM引腳輸出低電平。之后,定時計數(shù)器繼續(xù)減計數(shù)到0為止,產(chǎn)生一次下溢事件,完成一個周期。4)如果下一個周期比較寄存器的值仍然大于0且小于周期寄存器的值,則又重復以上步驟。非對稱和對稱PWM的產(chǎn)生由于在一個周期內(nèi)會發(fā)生兩次比較匹配事件,如果兩次比較值相同,則會產(chǎn)生對稱的PWM波形。如果兩次比較匹配值不同,則會產(chǎn)生非對稱的PWM波形。

由于連續(xù)增/減計數(shù)模式的脈沖周期為T=2×TxPR,而有效電平時間為t1=(TxPR-TxCMPRup)+(TxPR-TxCMPRdown)個計數(shù)脈沖,其中,TxCMPRup為第一次比較匹配值,TxCMPRdown為第二次比較匹配值,故PWM輸出波形的占空比為

q=t1/T=(2×TxPR-TxCMPRup-TxCMPRdown)/(2×TxPR)在兩次比較匹配值相等時(即TxCMPRup=TxCMPRdown時),PWM輸出的占空比為

q=t1/T=(TxPR-TxCMPR)/TxPR當比較寄存器的值為0時,PWM輸出波形的占空比為

q=t1/T=100%

當比較寄存器的值等于周期寄存器的值時(即TxPR=TxCMPR時),PWM輸出波形的占空比為

q=t1/T=0%

voidpwm_ini()//pwm初始化子程序{*MCRA|=0x0FC0;

/*設(shè)置復用控制寄存器使能pwm1~6引腳*/*ACTRA=0x0666;

/*pwm6,4,2高有效,pwm5,3,1低有效*/*DBTCONA=0x0000;

/*禁用死區(qū)控制*/*CMPR1=0x0100;/*設(shè)定比較器周期寄存器CMPR1~3*/

*CMPR2=0x0300;

/*確定不同的占空比*/

*CMPR3=0x0500;

/*設(shè)置定時器1的周期寄存器,確定載波頻率*/*T1PER=0x0600;*COMCONA=0x8200;/*使能比較器操作*/

*T1CON=0x1000;/*定時器1為連續(xù)增計數(shù)模式*/

}EVA/B的PWM波形應用軟件設(shè)計頭文件,鏈接命令文件,中斷向量表文件,芯片初始化子程序,PWM初始化子程序,主程序。EVA/B的PWM波形應用軟件設(shè)計

.global_c_int0,_nothing.sect".vecs"reset:b_int0;復位向量int1:b_nothing

;ADC,SPI,CAN,SCI,EVA,EVBint2:b_nothing;EVA,EVBint3:b_nothing;EVA,EVBint4:b_nothing;EVA,EVBint5:b_nothing;SPI,SCI,CANint6:b_nothing;ADC,EXINT

中斷向量表文件:此應用僅僅只是在引腳輸出PWM波形,沒有用到比較中斷。EVA/B的PWM波形應用軟件設(shè)計/****************文件預處理****************/#include"exp3_2408.h"/******************************************/

voidmain(){sys_ini();

//調(diào)用芯片初始化子程序pwm_ini();

//調(diào)用EVA比較單元產(chǎn)生PWM波形初始化子程序

/*啟動定時器1*/*T1CON|=0x0040;for(;;){}}

主程序:系統(tǒng)初始化,啟動功能模塊工作,具體應用操作??臻g向量PWM為三相功率變換器中六個功率晶體等設(shè)計的特殊開關(guān)電路三相功率反相換流器原理:aa_T1T2bb_VaVbVcT3T4T5T6c_cV0UT010110011100001101空間向量PWMabcVa0Vb0Vc0VabVbcVacT2T4T6000000000111001-1/3-1/32/30-11110010-1/32/3-1/3-110101011-2/31/31/3-1011001002/3-1/3-1/310-10

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論