大三第三次實(shí)驗(yàn)報(bào)告_第1頁(yè)
大三第三次實(shí)驗(yàn)報(bào)告_第2頁(yè)
大三第三次實(shí)驗(yàn)報(bào)告_第3頁(yè)
大三第三次實(shí)驗(yàn)報(bào)告_第4頁(yè)
大三第三次實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、東南大學(xué)自動(dòng)化學(xué)院DSP 技術(shù)及課程設(shè)計(jì)第三次實(shí)驗(yàn)設(shè)計(jì)實(shí)驗(yàn)三定時(shí)器中斷實(shí)驗(yàn)(選作直流電機(jī)*)姓名:學(xué)號(hào):08012126專(zhuān)業(yè):自動(dòng)化:別:、棒組同組2015 年4 月30 日實(shí)驗(yàn)時(shí)間:評(píng)定成績(jī):審閱教師:錢(qián)堃第一部分實(shí)驗(yàn):基于 DSP 系統(tǒng)的實(shí)驗(yàn)定時(shí)器一實(shí)驗(yàn)?zāi)康?通過(guò)實(shí)驗(yàn)熟悉F28335A 的定時(shí)器;2掌握F28335A 定時(shí)器的控制方法;3掌握F28335A 的中斷結(jié)構(gòu)和對(duì)中斷的處理流程;4學(xué)會(huì)C 語(yǔ)言中斷程序設(shè)計(jì),以及運(yùn)用中斷程序控制程序流程。二實(shí)驗(yàn)設(shè)備1PC機(jī)一臺(tái);操作系統(tǒng)為WindowsXP (或WindowsNT、Windows98、Windows2000)。2ICETEK-F283

2、35-A 實(shí)驗(yàn)箱一臺(tái)。3USB 連接電纜一條。三實(shí)驗(yàn)原理1通用定時(shí)器介紹及其控制方法TMS320F28335A有三個(gè)32 位通用定時(shí)器(TIMER0/1/2),定時(shí)器1 和2 被保留給實(shí)時(shí)操作系統(tǒng)(DSPBIOS)用,只有定時(shí)器0 可以提供給用戶(hù)使用。2中斷響應(yīng)過(guò)程a接受中斷請(qǐng)求。必須由中斷(從程序代碼)或硬件中斷(從一個(gè)引腳或一個(gè)基于的設(shè)備)提出請(qǐng)求去暫停當(dāng)前主程序的執(zhí)行。b響應(yīng)中斷。必須能夠響應(yīng)中斷請(qǐng)求。如果中斷是可的,則必須滿足一定的條件,按照一定的順序去執(zhí)行。而對(duì)于非可中斷和中斷,會(huì)立即作出響應(yīng)。c準(zhǔn)備執(zhí)行中斷服務(wù)程序并保存寄存器的值。d執(zhí)行中斷服務(wù)子程序。調(diào)用相應(yīng)得中斷服務(wù)程序ISR

3、,進(jìn)入預(yù)先規(guī)定的向量地址,并且執(zhí)行已寫(xiě)好的ISR。3中斷類(lèi)別可中斷:這些中斷可以用加以或解除。不可中斷:這些中斷不能夠被,將立即響應(yīng)該類(lèi)中斷并轉(zhuǎn)入相應(yīng)的子程序去執(zhí)行。所有調(diào)用的中斷都屬于該類(lèi)中斷。4中斷的優(yōu)先級(jí)如果多個(gè)中斷被同時(shí)激發(fā),將按照他們的中斷優(yōu)先級(jí)來(lái)提供服務(wù)。中斷優(yōu)先級(jí)是內(nèi)部已定義好的,不可修改。5. 中斷程序的一般設(shè)置步驟:Step1:初始化系統(tǒng)控制寄存器、PLL、看門(mén)狗等InitSysCtrl();Step2: 初始化 GPIO/InitGpio();InitXf16Gpio();Step3:清除所有中斷并初始化 PIE 向量表,所有 cpu 中斷D;InitPieCtr();/初

4、始化 PIE 控制寄存器為默認(rèn)值IER=0 x0000;IFR=0 x0000;/所有 CPU 中斷并清除所有中斷標(biāo)志位InitPieVectTable();/初始化 PIE 控制寄存器EALLOWPieVectTable .T0=&cpu_timer0_isr;/重新中斷向量,使其指向中斷服務(wù)程序EDIS;Step4:初始化外設(shè)(可選)Step5:配置定時(shí)器ConfigCpuTimer(&CpuTimer0,150,1000000);/150MHz 的 CPU 頻率,周期 1s(用s 表示)StartCpuTimer();Step6:使能中斷IER |=M_1; /使能連接 CPU_time

5、r0 的1PieCtrlRegs.PIEIER1.bit.x7=1;/使能位于 PIE 中的組 1 的第 7 個(gè)中斷 T0E;/使能全局中斷ERTM;/使能全局實(shí)時(shí)中斷Step7:等待中斷產(chǎn)生for(;)四實(shí)驗(yàn)步驟打開(kāi)工程文件 C:ICETEKF28335DSP2833x_exlesLab303-Timer 目錄中的 “Timjt”。填寫(xiě)部分代碼,讀懂程序,編譯運(yùn)行,觀察指示燈在定時(shí)器的定時(shí)中斷中按照設(shè)計(jì)定時(shí)閃爍(流水)。改變 CpuTimer0Regs.PRD. all = 0 xf 函數(shù)里的值,觀察實(shí)驗(yàn)現(xiàn)象。五.實(shí)驗(yàn)程序#include DSP2833x_Device.h/ DSP2833

6、x Headerfile Include File #include DSP2833x_Exles.h / DSP2833x Exles Include File/ Prototype sements for functions found withhis file. errupt void cpu_timer0_isr(void);#define LED (*(unsigned short*)0 x180000)#define startCpuTimer0() CpuTimer0Regs.TCR.bit.TSS=0 i=0,ncount;unsigneduLBD; void main(voi

7、d)/ Step 1. Initialize System Control: InitSysCtrl();/ Step 2. Initalize GPIO:/InitGpio();/ Skipped for this exle InitXf16Gpio();/zq/ Step 3. Clear allerrupts and initializE vector table:/ Disable CPUerrupts D;/ Initialize thE control registers to their default se.InitPieCtrl();/ Disable CPUerrupts

8、and clear all CPUerrupt flags: IER = 0 x0000;IFR = 0 x0000;/ Initialize thE vector table with poers to the serrupt InitPieVectTable();/erruptst are usedhis exle are re-mapped to/ ISR functions found withhis file.EALLOW;/ This is needed to write to EALLOW protected registers/TASK:將 cpu_timer0_isr地址賦值

9、給 T0PieVectTable.T0=&cpu_timer0_isr;/重新中斷向量,使其指向中斷服務(wù)程序EDIS;/ This is needed to disable write to EALLOW protected registers/ Step 4. Initialize the Device Peripheral.InitCpuTimers();/ For this exle, only initialize the Cpu Timers#if (CPU_FRQ_150MHZ)/ Configure CPU-Timer 0, 1, and 2 toerrupt every sec

10、ond:/ 150MHz CPU Freq, 1 second Period (in uSeconds)ConfigCpuTimer(&CpuTimer0, 150, 1000000); #endif#if (CPU_FRQ_100MHZ)/ Configure CPU-Timer 0, 1, and 2 toerrupt every second:/ 100MHz CPU Freq, 1 second Period (in uSeconds)ConfigCpuTimer(&CpuTimer0, 100, 1000000); #endif/ Step 5. User specific code

11、, enableerrupts: CpuTimer0Regs.PRD.all=0 x f; CpuTimer0Regs.TPR.all=0; CpuTimer0Regs.TIM.all=0; CpuTimer0Regs.TPRH.all=0; CpuTimer0Regs.TCR.bit.TSS=1; CpuTimer0Regs.TCR.bit.SOFT=1; CpuTimer0Regs.TCR.bit.FREE=1; CpuTimer0Regs.TCR.bit.TRB=1; CpuTimer0Regs.TCR.bit.TIE=1;CpuTimer0.erruptCount=0; startCp

12、uTimer0();/ Enable CPU1 which is connected to CPU-Timer 0, CPU13/ which is connected to CPU-Timer 1, and CPU14, which is connected/ to CPU-Timer 2:/TASK:使能連接 cpu_timer0 的1 中斷/IER |= M_13;/IER |= M_14;/ TASK: 使能 Pie 中的組 1 的第 7 個(gè)中斷IER |=M_1; /使能連接 CPU_timer0 的1PieCtrlRegs.PIEIER1.bit.x7=1;/使能位于 PIE 中的

13、組 1 的第 7 個(gè)中斷T0/ Enable globalerrupts and highriority real-time debug events: E;/ Enable GlobalerruptMERTM;/ Enable Global realtimeerrupt DBGM/ Step 6. IDLE loop. Just sit and loop forever (optional): for(;)errupt void cpu_timer0_isr(void)CpuTimer0.erruptCount+;/ Acknowledge thiserrupt to receive mor

14、eerrupts from group 1PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; CpuTimer0Regs.TCR.bit.TIF=1;六.實(shí)驗(yàn)結(jié)果觀察指示燈在定時(shí)器的定時(shí)中斷中按照設(shè)計(jì)定時(shí)閃爍(流水)。此時(shí),有:CpuTimer0Regs.PRD. all = 0 x fCpuTimer0Regs.TCR.bit.TRB=1; if(ncount=0)LED=uLBD; uLBD+;uLBD%=16;ncount+;ncount%=194;改變CpuTimer0Regs.PRD. all = 0 x f函數(shù)里的值為:可以觀察到:CpuTimer0Re

15、gs.PRD. All 的值越小,流水燈閃爍的速度會(huì)越快。七.總結(jié)與思考通過(guò)這次實(shí)驗(yàn),熟悉了F28335A 的定時(shí)器及定時(shí)器的控制方法,并了解掌握了F28335A的中斷結(jié)構(gòu)和對(duì)中斷的處理流程。自己也嘗試使用C 語(yǔ)言設(shè)計(jì)中斷程序,以及運(yùn)用中斷程序控制程序流程。大概熟悉了中斷執(zhí)行的順序:接受中斷請(qǐng)求響應(yīng)中斷執(zhí)行中斷服務(wù)子程序。CpuTimer0Regs.PRD. all = 0 x55ff第二部分實(shí)驗(yàn):直流電機(jī)控制一實(shí)驗(yàn)?zāi)康?學(xué)習(xí)用C語(yǔ)言編制中斷程序,可控制F28335DSP通用I/O管腳產(chǎn)生不同占空比的信號(hào)。2. 學(xué)習(xí)直流電機(jī)原理和控制方法 。二實(shí)驗(yàn)設(shè)備計(jì)算機(jī),ICETEKF28335-A 實(shí)驗(yàn)

16、箱(或ICETEK 仿真器+ICETEKF28335-A 評(píng)估板+相關(guān)連線及電源)。三實(shí)驗(yàn)原理1. TMS320F28335 的 McBSP 引腳通過(guò)設(shè)置 E3A 和 EQEP1S 的工作方式和狀態(tài),可以實(shí)現(xiàn)將他們用作通用 I/O 引腳。2. 直流電機(jī)控制直流電機(jī)是最早出現(xiàn)的電機(jī),也是最早可以實(shí)現(xiàn)調(diào)速的電機(jī)。近年來(lái),之久電機(jī)的結(jié)構(gòu)和控制方式都發(fā)生了很大的變化。隨著計(jì)算機(jī)進(jìn)入控制領(lǐng)域,以及新的電力電子功率元器件的不斷出現(xiàn),使得采用全控型的開(kāi)關(guān)功率元件進(jìn)行脈寬調(diào)制()已經(jīng)成為主流。3. ICETEK-CTR 直流電機(jī)模塊原理圖如下圖 3.1 直流電機(jī)模塊原理圖輸入對(duì)應(yīng)實(shí)驗(yàn)板上 P4 外擴(kuò)插座第 2

17、6 引腳的 EQEP1S 信號(hào),DSP 將此引腳圖中上給出信號(hào)用來(lái)控制直流電機(jī)的轉(zhuǎn)速;圖中的 DIR 輸入對(duì)應(yīng) P1 外擴(kuò)插座的第 6 個(gè)引腳的 P4 信號(hào),DSP 將此引腳上給出高或低電平來(lái)控制直流電機(jī)的方向。4. 程序編制程序采用定時(shí)器中斷產(chǎn)生固定頻率的波,在每個(gè)中斷中根據(jù)當(dāng)前占空比判斷應(yīng)輸出波形的高低電平。主程序用輪詢(xún)方式讀入鍵盤(pán)輸入,得到轉(zhuǎn)速和方向控制命令。在改變電機(jī)轉(zhuǎn)速時(shí)為了減少電壓和電流的波動(dòng)采用先再反轉(zhuǎn)的控制順序。5. 實(shí)驗(yàn)程序流圖圖 3.2 實(shí)驗(yàn)程序流圖四實(shí)驗(yàn)步驟1.實(shí)驗(yàn)準(zhǔn)備(1)連接實(shí)驗(yàn)設(shè)備。(2)將 ICETEK-CTR 板的供電開(kāi)關(guān)撥動(dòng)到“開(kāi)”。(3)啟動(dòng) CCS,連接實(shí)

18、驗(yàn)箱。2.打開(kāi)工程文件 lab0406-Dcmotor,瀏覽程序 dcmotor.c 的內(nèi)容,理解各語(yǔ)句的作用。程序。3.運(yùn)行觀察程序運(yùn)行結(jié)果運(yùn)行程序后,電機(jī)以中速轉(zhuǎn)動(dòng),在小鍵盤(pán)上按數(shù)字 16 鍵分別從低速到高速轉(zhuǎn)動(dòng)。dcmotor.c程序如下所示:CTRGR=0 x80;/ 初始化ICETEK-CTR CTRGR=0 x0;CTRGR=0 x80;CTRLR=0;/ 關(guān)閉東西方向的交通燈 CTRLR=0 x40; / 關(guān)閉南北方向的交通燈 CTRLR=0 xC0;CTRGR=0 x81; uPort8000=CTRCLKEY;Gpio_PortA(); Gpio_PortB();uN=60; nCount=nCount1=0; nDir=0; cKey=cOldKey=0;StartCpuTimer0(); /啟動(dòng)定時(shí)器 while (1)nScanCode=*(*)0 x208001; / 讀掃描碼 nScanCode&=0 x0ff;/ 低8位 uPort8000=*(*)0 x208002;if ( nScanCode!=0 )if ( nScanCode=9

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論