利用TMS320F2812芯片產(chǎn)生輸出SPWM波形_第1頁(yè)
利用TMS320F2812芯片產(chǎn)生輸出SPWM波形_第2頁(yè)
利用TMS320F2812芯片產(chǎn)生輸出SPWM波形_第3頁(yè)
利用TMS320F2812芯片產(chǎn)生輸出SPWM波形_第4頁(yè)
利用TMS320F2812芯片產(chǎn)生輸出SPWM波形_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本文格式為Word版,下載可任意編輯——利用TMS320F2812芯片產(chǎn)生輸出SPWM波形題目:利用TMS320F2812芯片產(chǎn)生輸出SPWM波形

要求:在片外區(qū)通過(guò)仿真器的運(yùn)行得出正確結(jié)果,并用計(jì)算機(jī)打印程序,還要求用有詳細(xì)

的文檔說(shuō)明文件及相應(yīng)的硬件原理圖。格式可采用A4復(fù)印紙,試卷要求工整、內(nèi)容一定要確鑿無(wú)誤。一.產(chǎn)生SPWM波形的理論基礎(chǔ)

產(chǎn)生SPWM波形主要用到事件管理模塊EVA或EVB。它包括通用目的定時(shí)器、全比較單元和EV中斷。1.通用定時(shí)器

事件管理器各有兩組GP定時(shí)器。GP定時(shí)器x(x=1或2屬于EVA;x=3或4屬于EVB)包括:

(1)1個(gè)16位的定時(shí)器TXCNT,為增/減計(jì)數(shù)器,TXCNT可以讀/寫。(2)1個(gè)16位的定時(shí)器比較寄放器TxCMPR(帶陰影的雙緩沖寄放器),可以讀/寫。(3)1個(gè)16位的定時(shí)器周期寄放器TxPR(帶陰影的雙緩沖寄放器),可以讀/寫。(4)1個(gè)16位的定時(shí)器控制寄放器TxCON,可以讀/寫。(5)可選擇的內(nèi)部或外部輸入時(shí)鐘。

(6)一個(gè)對(duì)于內(nèi)部或外部輸入時(shí)鐘可編程的預(yù)定標(biāo)因子。

(7)控制和中斷規(guī)律,用于4種可屏蔽中斷:下溢中斷、上溢中斷、定時(shí)器比較中斷和定

時(shí)器周期中斷。(8)1個(gè)輸入方向選擇引腳(TDIRx)(選中擇為單增/減計(jì)數(shù)模式后,進(jìn)行增計(jì)數(shù)或減計(jì)數(shù))。

GP定時(shí)器可以進(jìn)行單獨(dú)操作,也可與其他定時(shí)器同步操作。每個(gè)GP定時(shí)器所具有的比較寄放器可以用作比較功能和PWM波形的產(chǎn)生。對(duì)于每一個(gè)GP定時(shí)器在增或增/減計(jì)數(shù)模式下都有3種連續(xù)操作模式。通過(guò)預(yù)定標(biāo)因子,每個(gè)GP定時(shí)器可以使用內(nèi)部或外部時(shí)鐘。GP定時(shí)器可以為事件管理器的其他子模塊提供時(shí)基:GP定時(shí)器1可以為所有的比較和PWM電路提供時(shí)基,GP定時(shí)器1和GP定時(shí)器2可以為捕獲電路和正交脈沖計(jì)數(shù)操作提供時(shí)基。雙緩沖的周期和比較寄放器允許可編程的變化定時(shí)器(PWM)的周期,從而得到比較/PWM脈沖的所需寬度。2.全比較單元

每個(gè)事件管理器都有3個(gè)全比較單元。這些比較單元使用定時(shí)器1為其提供時(shí)基,通過(guò)使用可編程的死區(qū)電路可產(chǎn)生6個(gè)比較輸出或PWM波形輸出,6個(gè)輸出中的任何一個(gè)輸出狀態(tài)都可以單獨(dú)設(shè)置。比較單元中的比較寄放器是雙緩沖的,允許可編程的變換比較PWM脈沖寬度。3.EV中斷

每個(gè)EV中斷組都有多個(gè)中斷源,CPU的中斷請(qǐng)求由外設(shè)中斷擴(kuò)展(PIE)模塊來(lái)處理。詳情見外設(shè)中斷擴(kuò)展的外圍應(yīng)用參考指南(文件號(hào)SPRU045)。相應(yīng)的過(guò)程如下。(1)中斷源。假使產(chǎn)生外圍中斷,寄放器EVxIFRA、EVxIFRB或EVxIFRC(x=A或B)中各自的標(biāo)志位將會(huì)被置位。一旦置位,這些標(biāo)志位將會(huì)保持直到軟件清0。當(dāng)標(biāo)志位被軟件清0后,隨后的中斷將不會(huì)被響應(yīng)。

(2)使能中斷事件管理器中斷可以由中斷屏蔽寄放器EVxIMRA、EVxIMRB和EVxIMRC(x=A或B)單獨(dú)的使能或阻止。寄放器中的每個(gè)位置1使能中斷,清0阻止中斷。

(3)PIE請(qǐng)求。假使同時(shí)有兩個(gè)中斷標(biāo)志位和中斷屏蔽位被置為1,那么外圍設(shè)備向PIE模塊發(fā)出一個(gè)中斷請(qǐng)求。PIE模塊將會(huì)收到來(lái)自外圍設(shè)備的一個(gè)以上的中斷。PIE

規(guī)律記錄所有的中斷請(qǐng)求并產(chǎn)生各自的CPU中斷。INT1、2、3、4或5是建立在所收到中斷的預(yù)先分派的中斷優(yōu)先級(jí)。

(4)CPU響應(yīng)。當(dāng)接受到INT1、2、3、4或5的中斷請(qǐng)求時(shí),CPU中斷標(biāo)志寄放器(IFR)中的相應(yīng)位將會(huì)置1。假使中斷屏蔽寄放器(IMR)相應(yīng)的位置為1而且INTM位被清0,那么CPU將響應(yīng)中斷并向PIE發(fā)出確認(rèn)信號(hào)。隨后,CPU執(zhí)行當(dāng)前指令跳到與INT1.y、INT12.y、INT13.y、INT14.y或INT15.y對(duì)應(yīng)的中斷向量地址。同時(shí),IFR的相應(yīng)位將會(huì)清0而且INTM也會(huì)置1,阻止響應(yīng)其他的中斷。中斷向量中包含一個(gè)中斷服務(wù)路徑的地址。從這里開始,中斷響應(yīng)將由軟件來(lái)控制。

(5)PIE響應(yīng)。PIE規(guī)律利用來(lái)自CPU的確認(rèn)信號(hào)清除PIEIFR位??蓞⒁娡鈬袛鄶U(kuò)展的外圍設(shè)備參考指南(文件號(hào)SPRU045)中使能隨后的中斷部分。

(6)中斷軟件。在這個(gè)階段,中斷軟件具有正確的響應(yīng)中斷的能力,以避免不正確的中斷響應(yīng)。執(zhí)行具體的中斷程序代碼后,相應(yīng)的程序會(huì)將寄放器EVxIFRA、EVxIFRB或EVxIFRC中的標(biāo)志位清0,以便響應(yīng)以后的中斷服務(wù)。中斷返回前,中斷軟件會(huì)通過(guò)清除各自的PIEACKx位和使能全局中斷位INTM來(lái)重新使能中斷。4.定時(shí)器的中斷

寄放器EVAIFRA、EVAIFRB、EVBIFRB和EVBIFRB中共有16個(gè)關(guān)于GP定時(shí)器的中斷標(biāo)志。4個(gè)GP定時(shí)器的任何一個(gè)都可以產(chǎn)生以下4種中斷:

(1)上溢:TxOFINT(x=1,2,3,4);(2)下溢:TxUFINT(x=1,2,3,4);(3)比較匹配:TxCINT(x=1,2,3,4);(4)周期匹配:TxPINT(x=1,2,3,4)。

當(dāng)GP定時(shí)器的計(jì)數(shù)器的值等于比較寄放器的值時(shí)就會(huì)產(chǎn)生比較事件匹配。假使比較操作被使能,相應(yīng)的中斷標(biāo)志會(huì)在匹配產(chǎn)生一個(gè)機(jī)器周期后置1。

當(dāng)定時(shí)器計(jì)數(shù)器的值達(dá)到FFFFh就會(huì)產(chǎn)生上溢事件。當(dāng)定時(shí)器計(jì)數(shù)器的值達(dá)到0000h就會(huì)產(chǎn)生下溢事件。同樣,當(dāng)定時(shí)器計(jì)數(shù)器的值等于周期寄放器的值就會(huì)產(chǎn)生周期事件。上溢、下溢和周期中斷標(biāo)志將會(huì)在各自的事件發(fā)生后一個(gè)機(jī)器周期置1。注意,關(guān)于上溢和下溢的定義不同于傳統(tǒng)的定義。

5.利用TMS320F2812產(chǎn)生SPWM的原理

根據(jù)正弦波的變化幅值,在正弦波的一個(gè)周期內(nèi)通過(guò)采樣256個(gè)點(diǎn)來(lái)確定輸出SPWM波形的高低電平(如第0個(gè)點(diǎn)為高電平,第1個(gè)點(diǎn)為低電平,以此類推,直到第256個(gè)點(diǎn)為止)。并利用EVA定時(shí)器1的上溢中斷來(lái)判斷采樣點(diǎn)m是否為256,當(dāng)m=256時(shí),m的值就從0重新開始;當(dāng)m?256時(shí),退出中斷,程序繼續(xù)執(zhí)行。

二.TMS320F2812產(chǎn)生SPWM的主程序及結(jié)果1.主程序及中斷服務(wù)程序流程圖主程序流程圖如圖1所示。

圖1主程序流程圖

中斷服務(wù)程序流程圖如圖2所示。

圖2中斷服務(wù)程序流程圖

由圖2可知,當(dāng)m=256時(shí),中斷子程序終止,返回主程序;m?256時(shí),繼續(xù)讀取采樣的m的值,直到m=256為止。2.主程序

#include\interruptvoidT1(void);intm=0;constinttable[256]={0x8000,0x8323,0x8647,0x8969,0x8c8a,0x8fa9,0x92c5,0x95df,0x98f5,0x9c07,0x9f16,0xa21f,

0xa523,0xa821,0xab19,0xae0b,0xb0f5,0xb3d8,0xb6b3,0xb985,0xbc4f,0xbf0f,0xc1c6,0xc472,0xc714,0xc9ab,0xcc37,0xceb7,0xd12a,0xd392,0xd5ec,0xd839,0xda79,0xdcaa,0xdece,0xe0e2,0xe2e8,0xe4df,0xe6c6,0xe89d,0xea64,0xec1b,0xedc1,0xef56,0xf0da,0xf24c,0xf3ad,0xf4fd,0xf63a,0xf765,0xf87d,0xf983,0xfa76,0xfb57,0xfc24,0xfcde,0xfd85,0xfe19,0xfe99,0xff06,0xff5f,0xffa5,0xffd7,0xfff5,0xffff,0xfff6,0xffd9,0xffa9,0xff64,0xff0d,0xfea1,0xfe22,

0xfd90,0xfcea,0xfc31,0xfb65,0xfa86,0xf993,0xf88f,0xf777,0xf64e,0xf512,0xf3c4,0xf264,0xf0f2,0xef70,0xeddc,0xec37,0xea81,0xe8bb,0xe6e5,0xe4ff,0xe309,0xe104,0xdef1,0xdcce,0xda9e,0xd85f,0xd613,0xd3b9,0xd153,0xcee0,0xcc61,0xc9d6,0xc740,0xc49e,0xc1f3,0xbf3d,0xbc7d,0xb9b4,0xb6e2,0xb408,0xb125,0xae3c,0xab4a,0xa853,0xa555,0xa251,0x9f48,0x9c3a,0x9928,0x9612,0x92f9,0x8fdc,0x8cbe,0x899d,0x867b,0x8357,0x8034,0x7d10,0x79ed,0x76ca,0x73a9,0x708a,0x6d6d,0x6a54,0x673d,0x642b,0x611c,0x5e12,0x5b0e,0x580f,0x5517,0x5225,0x4f3a,0x4c57,0x497b,0x46a8,0x43de,0x411d,0x3e66,0x3bb9,0x3916,0x367e,0x33f2,0x3171,0x2efd,0x2c95,0x2a3a,0x27ec,0x25ab,0x2379,0x2154,0x1f3f,0x1d38,0x1b40,0x1958,0x1780,0x15b8,0x1400,0x1259,0x10c3,0xf3e,0xdca,0xc68,0xb18,0x9d9,0x8ad,0x794,0x68c,0x598,0x4b6,0x3e8,0x32c,0x284,0x1ef,0x16d,0xff,0xa5,0x5e,0x2b,0xb,0x0,0x8,0x23,0x53,0x96,0xec,0x156,0x1d4,0x265,0x30a,0x3c2,0x48d,0x56a,0x65b,0x75f,0x875,0x99d,0xad8,0xc25,0xd84,0xef4,0x1076,0x1209,0x13ad,0x1561,0x1726,0x18fb,0x1ae0,0x1cd5,0x1ed9,0x20eb,0x230d,0x253d,0x277a,0x29c6,0x2c1e,0x2e84,0x30f6,0x3374,0x35fe,0x3894,0x3b35,0x3de0,0x4095,0x4354,0x461c,0x48ee,0x4bc8,0x4ea9,0x5193,0x5483,0x577b,0x5a78,0x5d7c,0x6084,0x6392,0x66a4,0x69b9,0x6cd3,0x6fef,0x730d,0x762e,0x7950,0x7c73};voidmain(void){/*初始化系統(tǒng)*/InitSysCtrl();/*關(guān)中斷*/DINT;IER=0x0000;IFR=0x0000;/*初始化PIE控制寄放器*/InitPieCtrl();/*初始化PIE矢量表*/InitPieVectTable();EALLOW;//ThisisneededtowritetoEALLOWprotectedregistersPieVectTable.T1OFINT=

EDIS;//ThisisneededtodisablewritetoEALLOWprotectedregistersPieCtrl.PIECRTL.bit.ENPIE=1;PieCtrl.PIEIER2.bit.INTx7=1;

IER=0x02;/*初始化EV*/InitEv();

EINT;ERTM;for(;;){}}

//===========================================================================//Nomore.

//===========================================================================

interruptvoidT1(void){

EvaRegs.CMPR1=table[m];m++;if(m==256)m=0;

PieCtrl.PIEACK.all=0x0002;

EvaRegs.EVAIFRA.bit.T1OFINT=1;}

EVA的初始化:

#include\

////InitEv:

////Thisfunctioninitializestoaknownstat

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論