東南大學(xué)DSP實(shí)驗(yàn)報(bào)告(共27頁(yè))_第1頁(yè)
東南大學(xué)DSP實(shí)驗(yàn)報(bào)告(共27頁(yè))_第2頁(yè)
東南大學(xué)DSP實(shí)驗(yàn)報(bào)告(共27頁(yè))_第3頁(yè)
東南大學(xué)DSP實(shí)驗(yàn)報(bào)告(共27頁(yè))_第4頁(yè)
東南大學(xué)DSP實(shí)驗(yàn)報(bào)告(共27頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩32頁(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、PAGE PAGE 37第三章 DSP芯片(xn pin)系統(tǒng)實(shí)驗(yàn)實(shí)驗(yàn)(shyn)3.1 :數(shù)據(jù)(shj)存取實(shí)驗(yàn)一實(shí)驗(yàn)?zāi)康牧私釺MS320F2812A的內(nèi)部存儲(chǔ)器空間的分配及指令尋址方式。了解ICETEK-F2812-A評(píng)估板擴(kuò)展存儲(chǔ)器空間尋址方法,及其應(yīng)用。了解ICETEK-F2812-EDU實(shí)驗(yàn)箱擴(kuò)展存儲(chǔ)器空間尋址方法,及其應(yīng)用。學(xué)習(xí)用Code Composer Studio修改、填充DSP內(nèi)存單元的方法。學(xué)習(xí)操作TMS32028xx內(nèi)存空間的指令。二實(shí)驗(yàn)設(shè)備計(jì)算機(jī),ICETEK-F2812-A-EDU實(shí)驗(yàn)箱(或ICETEK仿真器+ICETEK-F2812-A評(píng)估板+相關(guān)連線及電源)。三

2、實(shí)驗(yàn)內(nèi)容在外部SARAM的0 x800000 x8000f單元置數(shù)00 xf,將該單元塊存儲(chǔ)的數(shù)據(jù)復(fù)制到0 x801000 x8010f處,最后通過(guò)“Memory”查看窗口觀察各存儲(chǔ)區(qū)中的數(shù)據(jù)。四實(shí)驗(yàn)原理TMS32028xx DSP內(nèi)部存儲(chǔ)器資源介紹:TMS32028xx系列DSP基于增強(qiáng)的哈佛結(jié)構(gòu),可以通過(guò)三組并行總線訪問(wèn)多個(gè)存儲(chǔ)空間。它們分別是:程序地址總線(PAB)、數(shù)據(jù)讀地址總線(DRAB)和數(shù)據(jù)寫(xiě)地址總線(DWAB)。由于總線工作是獨(dú)立的,所以可以同時(shí)訪問(wèn)程序和數(shù)據(jù)空間。TMS32028xx系列DSP的地址映象請(qǐng)參考第一章1.2.4節(jié) ICETEK-F2812-A評(píng)估板的存儲(chǔ)空間定義

3、及寄存器映射說(shuō)明中的介紹。五實(shí)驗(yàn)步驟實(shí)驗(yàn)準(zhǔn)備連接實(shí)驗(yàn)設(shè)備。參見(jiàn)第一章131節(jié)中的“硬件連接方法”。連接仿真器USB口接線,打開(kāi)實(shí)驗(yàn)箱電源開(kāi)關(guān),接通評(píng)估板電源(關(guān)閉實(shí)驗(yàn)箱上的擴(kuò)展模塊和信號(hào)源電源開(kāi)關(guān))。設(shè)置Code Composer Studio 2.21在硬件(yn jin)仿真(Emulator)方式下運(yùn)行。參見(jiàn)(cnjin)第一章142節(jié)中的“設(shè)置CCS工作在硬件仿真(fn zhn)環(huán)境”。啟動(dòng)Code Composer Studio 2.21選擇菜單DebugReset CPU。打開(kāi)工程文件工程文件為:C:ICETEK-F2812-A-EDUlabDSP281x_examplesLab0

4、201-MemoryMemory.pjt編譯、手動(dòng)下載程序。如圖圖3.1.1。雙擊Memory.out選擇Debug文件夾選擇Load Program點(diǎn)擊File圖3.1.1 手動(dòng)下載程序程序區(qū)的觀察和修改運(yùn)行到main函數(shù)入口:選擇菜單DebugGo Main,當(dāng)程序運(yùn)行并停止在main函數(shù)入口時(shí),展開(kāi)“Disassembly”反匯編窗口,發(fā)現(xiàn)main函數(shù)入口地址為81000H,也就是說(shuō)從此地址開(kāi)始存放主函數(shù)的程序代碼。顯示程序區(qū):選擇菜單項(xiàng)修改窗口名稱(chēng)輸入十六進(jìn)制地址修改打開(kāi)程序空間完成設(shè)置 圖3.1.2 程序(chngx)區(qū)修改程序(chngx)區(qū)的存儲(chǔ)單元程序(chngx)區(qū)單元的內(nèi)容

5、由CCS的下載功能填充,但也能用手動(dòng)方式修改。雙擊“Code”窗口地址“0 x81000:”后的第一個(gè)數(shù),顯示“Edit Memory”窗口,在“Data”中輸入0 x20,修改“page:”為“program”,單擊“Done”按鈕,觀察“Code”窗口中相應(yīng)地址的數(shù)據(jù)被修改,同時(shí)在反匯編窗口中的反匯編語(yǔ)句也發(fā)生了變化,當(dāng)前語(yǔ)句被改成了“TRAP #0”。將地址0 x81000上的數(shù)據(jù)改回0 xfe08,程序又恢復(fù)成原樣。觀察修改數(shù)據(jù)區(qū)顯示數(shù)據(jù)存儲(chǔ)區(qū):選擇菜單項(xiàng)修改窗口名稱(chēng)輸入十六進(jìn)制地址修改打開(kāi)數(shù)據(jù)空間完成設(shè)置 圖3.1.3 顯示數(shù)據(jù)存儲(chǔ)器同樣打開(kāi)窗口Data1,起始地址在0 x80100

6、。修改數(shù)據(jù)單元:數(shù)據(jù)單元可以單個(gè)進(jìn)行(jnxng)修改,只需雙擊想要改變的數(shù)據(jù)單元即可,如同第(3)步中修改程序區(qū)單元的操作(cozu)一樣。填充數(shù)據(jù)(shj)單元:選擇菜單項(xiàng)輸入十六進(jìn)制地址輸入填充個(gè)數(shù)16輸入所填數(shù)字完成設(shè)置 圖3.1.4 觀察DATA數(shù)據(jù)觀察“Data”窗口中的變化。同樣將0 x80100開(kāi)始的頭16個(gè)單元的值用0填充。運(yùn)行程序觀察結(jié)果打開(kāi)Memory.c,在有注釋的行上加軟件斷點(diǎn)。按“F5”鍵運(yùn)行到各斷點(diǎn),注意觀察窗口“Data”和“Data1”中的變化,學(xué)會(huì)用程序修改數(shù)據(jù)區(qū)語(yǔ)句的方法。退出CCS六實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)程序運(yùn)行之后,位于數(shù)據(jù)區(qū)地址80000H開(kāi)始的16個(gè)單元的數(shù)

7、值被復(fù)制到了數(shù)據(jù)區(qū)80100H開(kāi)始的16個(gè)單元中。通過(guò)改寫(xiě)內(nèi)存單元的方式,我們可以手工設(shè)置DSP的一些狀態(tài)位,從而改變DSP工作的狀態(tài)。七問(wèn)題與思考修改數(shù)據(jù)單元內(nèi)容和修改程序單元內(nèi)容的操作方式是否一樣?實(shí)驗(yàn)3.2 :指示燈與撥碼開(kāi)關(guān)控制實(shí)驗(yàn)一實(shí)驗(yàn)(shyn)目的了解(lioji)ICETEK-F2812-A評(píng)估板在TMS320F2812芯片(xn pin)外部擴(kuò)展存儲(chǔ)空間上的擴(kuò)展。了解ICETEK-F2812-A評(píng)估板上指示燈擴(kuò)展原理。學(xué)習(xí)在C語(yǔ)言中使用擴(kuò)展的控制寄存器的方法。二實(shí)驗(yàn)設(shè)備計(jì)算機(jī),ICETEK-F2812-EDU實(shí)驗(yàn)箱(或ICETEK仿真器+ICETEK-F2812-A系統(tǒng)板+相

8、關(guān)連線及電源)。三實(shí)驗(yàn)內(nèi)容通過(guò)ICETEK-F2812-A評(píng)估板上的擴(kuò)展指示燈和撥碼開(kāi)關(guān),實(shí)現(xiàn)TMS320F2812芯片的存儲(chǔ)器擴(kuò)展接口(EMIF)的數(shù)字輸入與輸出。四實(shí)驗(yàn)原理TMS320F2812芯片的存儲(chǔ)器擴(kuò)展接口存儲(chǔ)器擴(kuò)展接口是DSP擴(kuò)展片外資源的主要接口,它提供了一組控制信號(hào)和地址、數(shù)據(jù)線,可以擴(kuò)展各類(lèi)存儲(chǔ)器和存儲(chǔ)器、寄存器映射的外設(shè)。 ICETEK-F2812-A評(píng)估板在擴(kuò)展接口上除了擴(kuò)展了片外SRAM外,還擴(kuò)展了指示燈、DIP開(kāi)關(guān)和D/A設(shè)備。具體擴(kuò)展地址如下(見(jiàn)第一章124節(jié)的表1.7):C0003-C0007h: D/A轉(zhuǎn)換控制寄存器C0001h: 板上DIP開(kāi)關(guān)控制寄存器C0

9、000h: 板上指示燈控制寄存器 與ICETEK-F2812-A評(píng)估板連接的擴(kuò)展模塊也使用擴(kuò)展空間:108000-108004h: 讀-鍵盤(pán)掃描值,寫(xiě)-液晶控制寄存器108002-108002h: 液晶輔助控制寄存器108003-108004h: 液晶顯示數(shù)據(jù)寄存器108005-108005h: 發(fā)光二極管顯示陣列控制寄存器指示燈擴(kuò)展原理圖3.2.1 指示燈擴(kuò)展(kuzhn)原理?yè)艽a開(kāi)關(guān)(kigun)擴(kuò)展原理圖3.2.2 撥碼開(kāi)關(guān)擴(kuò)展(kuzhn)原理開(kāi)始初始化DSP時(shí)鐘讀取撥碼開(kāi)關(guān)控制寄存器并送指示燈控制寄存器實(shí)驗(yàn)程序流程圖五實(shí)驗(yàn)步驟實(shí)驗(yàn)準(zhǔn)備連接(linji)實(shí)驗(yàn)設(shè)備。連接仿真器USB口接線

10、,打開(kāi)(d ki)實(shí)驗(yàn)箱電源開(kāi)關(guān),接通評(píng)估板電源(關(guān)閉(gunb)實(shí)驗(yàn)箱上的擴(kuò)展模塊和信號(hào)源電源開(kāi)關(guān))。設(shè)置Code Composer Studio 2.21在硬件仿真(Emulator)方式下運(yùn)行啟動(dòng)Code Composer Studio 2.21 選擇菜單DebugReset CPU。打開(kāi)工程文件工程文件為:C:ICETEK-F2812-A-EDUlabDSP281x_examplesLab0302-DIPDIP.pjt 打開(kāi)源程序DIP.c閱讀程序,理解程序內(nèi)容編譯、下載程序。運(yùn)行程序,改變撥碼開(kāi)關(guān)各位的狀態(tài),觀察指示燈DS1-DS4的顯示。退出CCS。六實(shí)驗(yàn)結(jié)果映射在擴(kuò)展存儲(chǔ)器空間地

11、址上的指示燈控制寄存器在設(shè)置時(shí)是低4位有效的,數(shù)據(jù)的最低位對(duì)應(yīng)指示燈D1,次低位對(duì)應(yīng)指示燈D2,.依次類(lèi)推。映射在擴(kuò)展存儲(chǔ)器空間地址上的撥碼開(kāi)關(guān)控制寄存器在回讀時(shí)是低4位有效的,數(shù)據(jù)的最低位對(duì)應(yīng)撥碼開(kāi)關(guān)1,次低位對(duì)應(yīng)撥碼開(kāi)關(guān)2,.依次類(lèi)推。七問(wèn)題與思考ICETEK-F2812-A評(píng)估板上的指示燈控制寄存器是可讀可寫(xiě)的,請(qǐng)問(wèn)用什么辦法可以回讀指示燈狀態(tài)?實(shí)驗(yàn)3.3 :DSP的定時(shí)器實(shí)驗(yàn)一實(shí)驗(yàn)(shyn)目的通過(guò)(tnggu)實(shí)驗(yàn)熟悉F2812A的定時(shí)器;掌握(zhngw)F2812A定時(shí)器的控制方法;掌握F2812A的中斷結(jié)構(gòu)和對(duì)中斷的處理流程;學(xué)會(huì)C語(yǔ)言中斷程序設(shè)計(jì),以及運(yùn)用中斷程序控制程序流

12、程。二實(shí)驗(yàn)設(shè)備計(jì)算機(jī),ICETEK-F2812-EDU實(shí)驗(yàn)箱(或ICETEK仿真器+ICETEK-F2812-A系統(tǒng)板+相關(guān)連線及電源)。三實(shí)驗(yàn)內(nèi)容應(yīng)用TMS320F2812芯片的定時(shí)器0,以定時(shí)器中斷方式實(shí)現(xiàn)定時(shí)功能,并以流水燈的顯示變化周期反映定時(shí)時(shí)間。四實(shí)驗(yàn)原理通用定時(shí)器介紹及其控制方法TMS320F2812A內(nèi)部有三個(gè)32位通用定時(shí)器(TIMER0/1/2),其中定時(shí)器1和2被保留給實(shí)時(shí)操作系統(tǒng)(DSPBIOS)用,只有定時(shí)器0可以提供給用戶(hù)使用。中斷響應(yīng)過(guò)程接受中斷請(qǐng)求。必須由軟件中斷(從程序代碼)或硬件中斷(從一個(gè)引腳或一個(gè)基于芯片的設(shè)備)提出請(qǐng)求去暫停當(dāng)前主程序的執(zhí)行。響應(yīng)中斷。

13、必須能夠響應(yīng)中斷請(qǐng)求。如果中斷是可屏蔽的,則必須滿足一定的條件,按照一定的順序去執(zhí)行。而對(duì)于非可屏蔽中斷和軟件中斷,會(huì)立即作出響應(yīng)。準(zhǔn)備執(zhí)行中斷服務(wù)程序并保存寄存器的值。執(zhí)行中斷服務(wù)子程序。調(diào)用相應(yīng)得中斷服務(wù)程序ISR,進(jìn)入預(yù)先規(guī)定的向量地址,并且執(zhí)行已寫(xiě)好的ISR。中斷類(lèi)別可屏蔽中斷:這些中斷可以用軟件加以屏蔽或解除屏蔽。不可屏蔽中斷:這些中斷不能夠被屏蔽,將立即響應(yīng)該類(lèi)中斷并轉(zhuǎn)入相應(yīng)的子程序去執(zhí)行。所有軟件調(diào)用的中斷都屬于該類(lèi)中斷。中斷的優(yōu)先級(jí)如果多個(gè)中斷被同時(shí)激發(fā),將按照他們的中斷優(yōu)先級(jí)來(lái)提供服務(wù)。中斷優(yōu)先級(jí)是芯片內(nèi)部已定義好的,不可修改。實(shí)驗(yàn)程序流程圖開(kāi)始初始化DSP時(shí)鐘初始化中斷向量

14、等待中斷產(chǎn)生初始化定時(shí)器改變指示燈狀態(tài)中斷服務(wù)開(kāi)始中斷服務(wù)結(jié)束實(shí)驗(yàn)(shyn)程序分析本實(shí)驗(yàn)設(shè)計(jì)的程序(chngx)是在上一個(gè)(y )實(shí)驗(yàn)的基礎(chǔ)上修改得來(lái),由于上一個(gè)實(shí)驗(yàn)控制指示燈閃爍的延時(shí)控制是用循環(huán)計(jì)算方法得到的,延時(shí)不精確也不均勻。采用中斷方式實(shí)現(xiàn)指示燈的定時(shí)閃爍,時(shí)間更加準(zhǔn)確。五實(shí)驗(yàn)步驟實(shí)驗(yàn)準(zhǔn)備連接實(shí)驗(yàn)設(shè)備。連接仿真器USB口接線,打開(kāi)實(shí)驗(yàn)箱電源開(kāi)關(guān),接通評(píng)估板電源(關(guān)閉實(shí)驗(yàn)箱上的擴(kuò)展模塊和信號(hào)源電源開(kāi)關(guān))。設(shè)置Code Composer Studio 2.21在硬件仿真(Emulator)方式下運(yùn)行 啟動(dòng)Code Composer Studio 2.21 選擇菜單DebugReset

15、 CPU。打開(kāi)工程文件打開(kāi)菜單“Project”的“Open”項(xiàng);選擇C:ICETEK-F2812-A-EDUlabDSP281x_examplesLab0303-Timer目錄中的“Timer.pjt”。在項(xiàng)目瀏覽器中,雙擊time.c,激活time.c文件,瀏覽該文件的內(nèi)容,理解各語(yǔ)句作用。編譯、下載程序。運(yùn)行程序,觀察結(jié)果。改變(gibin)“CpuTimer0Regs.PRD.all = 0 xffff;”函數(shù)里的值; 重復(fù)步驟5,6觀察實(shí)驗(yàn)(shyn)現(xiàn)象。退出(tuch)CCS 六實(shí)驗(yàn)結(jié)果指示燈在定時(shí)器的定時(shí)中斷中按照設(shè)計(jì)定時(shí)閃爍。使用定時(shí)器和中斷服務(wù)程序可以完成許多需要定時(shí)完成的

16、任務(wù),比如DSP定時(shí)啟動(dòng)A/D轉(zhuǎn)換,日常生活中的計(jì)時(shí)器計(jì)數(shù)、空調(diào)的定時(shí)啟動(dòng)和關(guān)閉等。在調(diào)試程序時(shí),有時(shí)需要指示程序工作的狀態(tài),可以利用指示燈的閃爍來(lái)達(dá)到,指示燈靈活的閃爍方式可表達(dá)多種狀態(tài)信息。七問(wèn)題與思考改變TMS320F2812定時(shí)器0的定時(shí)時(shí)間有幾種方式?實(shí)驗(yàn)3.4 :外中斷實(shí)驗(yàn)一實(shí)驗(yàn)(shyn)目的通過(guò)(tnggu)實(shí)驗(yàn)熟悉F2812A的中斷響應(yīng)(xingyng)過(guò)程。學(xué)會(huì)C語(yǔ)言中斷程序設(shè)計(jì),以及應(yīng)用中斷程序控制程序流程。二實(shí)驗(yàn)設(shè)備計(jì)算機(jī),ICETEK-F2812-EDU實(shí)驗(yàn)箱(或ICETEK仿真器+ICETEK-F2812-A系統(tǒng)板+相關(guān)連線及電源)。三實(shí)驗(yàn)內(nèi)容應(yīng)用小鍵盤(pán)產(chǎn)生中斷。當(dāng)

17、有鍵按下時(shí),向DSP的XINT2發(fā)送中斷信號(hào),DSP響應(yīng)中斷,執(zhí)行中斷服務(wù)子程序,控制指示燈的閃爍。四實(shí)驗(yàn)原理中斷及中斷處理過(guò)程中斷是一種由硬件或軟件驅(qū)動(dòng)的信號(hào),DSP在接到此信號(hào)時(shí),將當(dāng)前程序懸掛起來(lái),轉(zhuǎn)向去執(zhí)行另外一個(gè)任務(wù),我們稱(chēng)為中斷服務(wù)程序(ISR)。TMS320f28x DSP可支持32個(gè)ISR,可由硬件或軟件觸發(fā)。所有的C28x中斷,可以分成可屏蔽中斷和不可屏蔽中斷兩種,軟件中斷是不可屏蔽的。DSP處理中斷的步驟接收中斷請(qǐng)求:請(qǐng)求由軟件或硬件發(fā)出。響應(yīng)中斷請(qǐng)求:對(duì)于可屏蔽中斷,需要滿足若干條件,才發(fā)生響應(yīng);而對(duì)于不可屏蔽中斷,則立即響應(yīng)。準(zhǔn)備執(zhí)行中斷服務(wù)程序:完成當(dāng)前正在執(zhí)行的指令

18、;將進(jìn)入流水線但還未解碼的指令清除。自動(dòng)保存若干寄存器的值到數(shù)據(jù)堆棧和系統(tǒng)堆棧。取得用戶(hù)定義的中斷向量表中當(dāng)前中斷向量,中斷向量指向中斷服務(wù)程序入口。執(zhí)行中斷服務(wù)程序:中斷服務(wù)程序包含中斷返回指令,這樣返回時(shí)可以出棧以前保存的關(guān)鍵寄存器數(shù)據(jù),從而恢復(fù)中斷服務(wù)程序執(zhí)行前的現(xiàn)場(chǎng)。外中斷。TMS320F2812可以響應(yīng)兩個(gè)外中斷。擴(kuò)展模塊的鍵盤(pán)接口擴(kuò)展模塊(顯示/控制模塊)通過(guò)接口P8連接小鍵盤(pán),接收小鍵盤(pán)傳送的掃描碼,并在每個(gè)掃描碼結(jié)束后保存,同時(shí)向DSP的XINT2發(fā)送中斷信號(hào);當(dāng)DSP讀鍵盤(pán)時(shí)將掃描碼送到數(shù)據(jù)總線上。小鍵盤(pán)上每次按下一個(gè)鍵將產(chǎn)生2個(gè)掃描碼、2次中斷。程序編制由一個(gè)不含中斷處理程

19、序的工程通過(guò)改寫(xiě)加入中斷處理程序部分大致需要(xyo)如下操作(假設(shè)使用INT2):編制(binzh)中斷服務(wù)程序:可以用C語(yǔ)言程序?qū)崿F(xiàn),編寫(xiě)單獨(dú)的一個(gè)函數(shù)XINT,此函數(shù)使用interrupt修飾,沒(méi)有(mi yu)參數(shù)和返回值。構(gòu)造中斷向量表:程序中“InitPieVectTable();”是初始化向量表?!癙ieVectTable.XINT2 = &XINT2_isr;”把中斷服務(wù)程序和向量表該中斷對(duì)應(yīng)起來(lái)。主程序中進(jìn)行初始化設(shè)置:使能中斷,清中斷等。實(shí)驗(yàn)程序流程圖開(kāi)始初始化:DSP時(shí)鐘、ICETEK-CTR初始化中斷控制寄存器等待中斷產(chǎn)生改變指示燈狀態(tài)中斷服務(wù)開(kāi)始中斷服務(wù)結(jié)束五實(shí)驗(yàn)步驟

20、實(shí)驗(yàn)準(zhǔn)備連接實(shí)驗(yàn)設(shè)備。連接仿真器USB口接線,打開(kāi)實(shí)驗(yàn)箱電源開(kāi)關(guān),接通評(píng)估板電源,接通擴(kuò)展模塊電源(關(guān)閉信號(hào)源電源開(kāi)關(guān))。連接實(shí)驗(yàn)箱附帶鍵盤(pán)的PS2插頭到擴(kuò)展模塊的“鍵盤(pán)接口”P(pán)8。設(shè)置Code Composer Studio 2.21在硬件仿真(Emulator)方式下運(yùn)行啟動(dòng)Code Composer Studio 2.21,選擇菜單DebugReset CPU。打開(kāi)工程文件工程目錄:C:ICETEK-F2812-A-EDUlabDSP281x_examplesLab0304-Xintxint.pjt瀏覽xint.c文件的內(nèi)容,理解各語(yǔ)句作用。編譯、下載程序。運(yùn)行程序,觀察結(jié)果。運(yùn)行程序,

21、按一下小鍵盤(pán)上任意一個(gè)鍵,注意觀察擴(kuò)展模塊上指示燈閃爍的情況。觀察中斷函數(shù)的執(zhí)行選擇(xunz)“Debug”菜單(ci dn)中“Halt”暫停運(yùn)行程序,在XINT2中斷程序中的語(yǔ)句上加軟件斷點(diǎn)(dun din),重新運(yùn)行程序(選擇“Debug”菜單中“Run”),觀察何時(shí)程序停留在斷點(diǎn)上。退出CCS。六實(shí)驗(yàn)結(jié)果通過(guò)實(shí)驗(yàn)可以發(fā)現(xiàn),每次按下鍵盤(pán)均會(huì)發(fā)生兩次中斷,當(dāng)按下鍵不放時(shí)會(huì)產(chǎn)生連續(xù)的中斷;只有在外中斷發(fā)生時(shí),xint2中斷函數(shù)才會(huì)被執(zhí)行。七問(wèn)題與思考TMS320F2812芯片的中斷設(shè)置與響應(yīng)過(guò)程?實(shí)驗(yàn)3.5 :?jiǎn)温?、多路模?shù)轉(zhuǎn)換(A/D)實(shí)驗(yàn)一實(shí)驗(yàn)(shyn)目的通過(guò)實(shí)驗(yàn)(shyn)熟悉F

22、2812A的定時(shí)器。掌握(zhngw)F2812A片內(nèi)A/D的控制方法。二實(shí)驗(yàn)設(shè)備計(jì)算機(jī),ICETEK-F2812-EDU實(shí)驗(yàn)箱(或ICETEK仿真器+ICETEK-F2812-A系統(tǒng)板+相關(guān)連線及電源)。三實(shí)驗(yàn)內(nèi)容應(yīng)用TMS320F2812A芯片自帶模數(shù)轉(zhuǎn)換模塊,將信號(hào)發(fā)生器上的正弦、三角波或方波通過(guò)AIN0和AIN1通道輸入轉(zhuǎn)換成12位的數(shù)字量,并且在CCS的圖形窗口中顯示。四實(shí)驗(yàn)原理TMS320F2812A芯片自帶模數(shù)轉(zhuǎn)換模塊的特性12位帶流水線的模數(shù)轉(zhuǎn)換模塊,時(shí)鐘配置在25MHz,最高采樣帶寬12.5MSPS,16個(gè)模擬輸入通道(AIN0AIN15),內(nèi)置雙采樣-保持器。ADC模塊的1

23、6個(gè)通道,可配置為兩個(gè)獨(dú)立的8通道模塊,以方便為事件管理器A和B服務(wù)。兩個(gè)獨(dú)立的8通道模塊可以級(jí)連組成16通道模塊。在ADC內(nèi)部只有一個(gè)轉(zhuǎn)換器,即同一時(shí)刻只有1路A/D進(jìn)行轉(zhuǎn)換。采樣幅度:0-3v,切記輸入A/D的信號(hào)不要超過(guò)這個(gè)范圍,否則會(huì)燒壞2812芯片的。模數(shù)轉(zhuǎn)換的程序控制模數(shù)轉(zhuǎn)換相對(duì)于計(jì)算機(jī)來(lái)說(shuō)是一個(gè)較為緩慢的過(guò)程。一般采用中斷方式啟動(dòng)轉(zhuǎn)換及保存結(jié)果,這樣可以少占用的CPU處理時(shí)間。設(shè)計(jì)轉(zhuǎn)換程序應(yīng)首先考慮處理過(guò)程如何與模數(shù)轉(zhuǎn)換的時(shí)間相匹配,根據(jù)實(shí)際需要選擇適當(dāng)?shù)挠|發(fā)轉(zhuǎn)換的手段,并能及時(shí)地保存結(jié)果。實(shí)驗(yàn)程序流程圖開(kāi)始初始化CPU時(shí)鐘、AD采樣時(shí)鐘啟動(dòng)AD0和AD1通道采集中斷中對(duì)AD0和

24、AD1通道采集數(shù)據(jù)依次存入緩沖區(qū)Voltage1Voltage2五實(shí)驗(yàn)(shyn)步驟實(shí)驗(yàn)(shyn)準(zhǔn)備信號(hào)源接入A/D輸入(shr):取出2根實(shí)驗(yàn)箱附帶的信號(hào)線(如右圖,兩端均為單聲道語(yǔ)音插頭)。用1根信號(hào)線連接實(shí)驗(yàn)箱底板上信號(hào)源I模塊的“波形輸出”插座(圖3.5.1中的3或4)和“A/D輸入”模塊的“ADCIN0”插座(圖3.5.1中的A),信號(hào)源I的輸出波形即可送到ICETEK-F2812-A評(píng)估板的A/D輸入通道0。用1根信號(hào)線連接實(shí)驗(yàn)箱底板上信號(hào)源II模塊的“波形輸出”插座(圖3.5.1中的c或d)和“A/D輸入”模塊的“ADCIN1”插座(圖3.5.1中的B),信號(hào)源II的輸出波

25、形即可送到ICETEK-F2812-A評(píng)估板的A/D輸入通道1。注意:如果使用2812單板,請(qǐng)把您的信號(hào)源輸入端接到P2擴(kuò)展接口上的ad輸入引腳,把地線接到擴(kuò)展接口上的AGND引腳上(具體位置參考ICETEK-F2812-A評(píng)估板原理圖)。設(shè)置信號(hào)源I:調(diào)整撥動(dòng)開(kāi)關(guān)“頻率選擇”(圖3.5.1中的5)撥到“100Hz1KHz”檔(圖3.5.1中的10)。將“頻率微調(diào)”(圖3.5.1中的6)順時(shí)針調(diào)到頭(最大)。調(diào)整撥動(dòng)開(kāi)關(guān)“波形選擇”(圖3.5.1中的7)撥到“三角波”檔(圖3.5.1中的11)。將“幅值微調(diào)”(圖3.5.1中的8)順時(shí)針調(diào)到頭(最大)。1236845791011ABabcfhd

26、egik圖3.5.1 信號(hào)源面板(min bn)設(shè)置(shzh)信號(hào)源II:調(diào)整撥動(dòng)(b dn)開(kāi)關(guān)“頻率選擇”(圖3.5.1中的e)撥到“100Hz1KHz”檔(圖3.5.1中的j)。將“頻率微調(diào)”(圖3.5.1中的f)順時(shí)針調(diào)到頭(最大)。調(diào)整撥動(dòng)開(kāi)關(guān)“波形選擇”(圖3.5.1中的g)撥到“正弦波”檔(圖3.5.1中的k)。將“幅值微調(diào)”(圖3.5.1中的h)順時(shí)針調(diào)到頭(最大)。調(diào)整信號(hào)源輸出幅度必須保證A/D輸入通道輸入的模擬信號(hào)幅度在0-3V之間。先用示波器檢測(cè)信號(hào)源輸出范圍,保證最小值0V最大值3 V,然后再接入A/D輸入通道。否則容易損壞DSP芯片的模數(shù)采集模塊。連接實(shí)驗(yàn)設(shè)備。連

27、接仿真器USB口接線,打開(kāi)實(shí)驗(yàn)箱電源開(kāi)關(guān),接通評(píng)估板電源,接通擴(kuò)展模塊電源。打開(kāi)信號(hào)源電源開(kāi)關(guān),即將兩個(gè)信號(hào)源的電源開(kāi)關(guān)(圖3.5.1中的2和b)撥到“開(kāi)”的位置。設(shè)置Code Composer Studio 2.21在硬件仿真(Emulator)方式下運(yùn)行啟動(dòng)Code Composer Studio 2.21選擇菜單DebugReset CPU。打開(kāi)工程文件工程目錄:C:ICETEK-F2812-A-EDUlabDSP281x_examplesLab0305-AD ADC.pjt。在項(xiàng)目(xingm)瀏覽器中,雙擊adc.c,打開(kāi)(d ki)adc.c文件,瀏覽(li ln)該文件的內(nèi)容,理

28、解各語(yǔ)句作用。編譯、下載程序。打開(kāi)觀察窗口選擇菜單“View”、“Graph”、“Time/Frequency”做如下設(shè)置,然后單擊“OK”按鈕:圖3.5.2觀察窗口設(shè)置1選擇菜單“View”、“Graph”、“Time/Frequency”做如下設(shè)置,然后單擊“OK”按鈕:圖3.5.3觀察(gunch)窗口設(shè)置2在彈出的圖形(txng)窗口中單擊鼠標(biāo)右鍵,選擇“Clear Display”。通過(guò)設(shè)置,我們打開(kāi)了兩個(gè)圖形窗口觀察兩個(gè)通道(tngdo)模數(shù)轉(zhuǎn)換的結(jié)果。運(yùn)行程序觀察結(jié)果單擊“Debug”菜單,“Run”項(xiàng),運(yùn)行程序;停止運(yùn)行,觀察“ADCIN0”、“ADCIN1”窗口中的圖形顯示;

29、適當(dāng)改變信號(hào)源的頻率,按F5健再次運(yùn)行,停止后觀察圖形窗口中的顯示。注意:輸入信號(hào)的頻率不能大于10KHz,否則會(huì)引起混疊失真,而無(wú)法觀察到波形,如果有興趣,可以試著做一下,觀察采樣失真后的圖形。選擇菜單Fileworkspacesave workspacs As,輸入文件名SY.wks 。退出CCS六實(shí)驗(yàn)結(jié)果用實(shí)驗(yàn)中的設(shè)置,我們可以看到結(jié)果為:圖3.5.4 結(jié)果(ji gu)輸出七問(wèn)題(wnt)與思考引起(ynq)波形混疊失真的原因是什么?實(shí)驗(yàn)3.6 :?jiǎn)温贰⒍嗦窋?shù)模轉(zhuǎn)換(D/A)實(shí)驗(yàn)一實(shí)驗(yàn)(shyn)目的了解(lioji)數(shù)模轉(zhuǎn)換的基本操作;了解ICETEK-F2812-A評(píng)估(pn )板

30、擴(kuò)展數(shù)模轉(zhuǎn)換方式;掌握數(shù)模轉(zhuǎn)換程序設(shè)計(jì)方法。二實(shí)驗(yàn)設(shè)備計(jì)算機(jī),示波器,ICETEK-F2812-EDU實(shí)驗(yàn)箱(或ICETEK仿真器+ICETEK-F2812-A系統(tǒng)板+相關(guān)連線及電源)。三實(shí)驗(yàn)內(nèi)容應(yīng)用ICETEK-F2812-A評(píng)估板上擴(kuò)展的DAC7617數(shù)模轉(zhuǎn)換模塊,將00 xfff的數(shù)字量轉(zhuǎn)換成模擬的三角波,并用示波器觀察波形輸出。四實(shí)驗(yàn)原理數(shù)模轉(zhuǎn)換操作在ICETEK-F2812-A評(píng)估板上,使用的數(shù)模轉(zhuǎn)換芯片是DAC7617,它可以同時(shí)實(shí)現(xiàn)四路數(shù)模轉(zhuǎn)換輸出,12位精度,轉(zhuǎn)換時(shí)間10s。其控制方式較為簡(jiǎn)單:首先將需要轉(zhuǎn)換的數(shù)值通過(guò)數(shù)據(jù)總線傳送到DAC7617上相應(yīng)寄存器,再發(fā)送轉(zhuǎn)換信號(hào),經(jīng)

31、過(guò)一個(gè)時(shí)間延遲,轉(zhuǎn)換后的模擬量就從DAC7617輸出引腳輸出。DAC7617與TMS320F2812A的連接TMS320F2812A DSP外擴(kuò)數(shù)模轉(zhuǎn)換芯片DAC7617,DAC7617的轉(zhuǎn)換寄存器被映射到C0003-C0007h。在DAC7617的輸出端,為了增加輸出功率,經(jīng)過(guò)一級(jí)運(yùn)放再輸出到評(píng)估板插座上。關(guān)于DAC7617的外擴(kuò)方法,請(qǐng)參見(jiàn)第一章125節(jié)。硬件原理圖:CTRL ADDR DATAF2812 E M I F DAC7617數(shù)字信號(hào)輸入模擬信號(hào)輸出 輸出波形 P2圖3.6.1 硬件(yn jin)原理圖DSP初始化。產(chǎn)生每一個(gè)通路的三角波進(jìn)行數(shù)模轉(zhuǎn)換結(jié)束波形輸出開(kāi)始實(shí)驗(yàn)(shy

32、n)程序流程圖五實(shí)驗(yàn)(shyn)步驟連接實(shí)驗(yàn)設(shè)備連接仿真器USB口接線,打開(kāi)實(shí)驗(yàn)箱電源開(kāi)關(guān),接通評(píng)估板電源(關(guān)閉擴(kuò)展模塊電源、信號(hào)源電源開(kāi)關(guān))。設(shè)置Code Composer Studio 2.21在硬件仿真(Emulator)方式下運(yùn)行啟動(dòng)Code Composer Studio 2.21選擇菜單DebugReset CPU。打開(kāi)工程文件工程目錄:C:ICETEK-F2812-A-EDUlabDSP281x_exampleslab0306-Dac dac.pjt。瀏覽dac.c文件的內(nèi)容,理解各語(yǔ)句作用。編譯、下載程序。運(yùn)行程序,觀察結(jié)果。用信號(hào)線從實(shí)驗(yàn)箱底板上右側(cè)“D/A輸出”的四個(gè)插座引

33、線到示波器。也可以用擴(kuò)展模塊右側(cè)的DAOUT1DAOUT4測(cè)試勾連接示波器。單擊菜單“Debug”“Run”項(xiàng),運(yùn)行程序,觀察示波器上的波形。退出(tuch)CCS 六實(shí)驗(yàn)(shyn)結(jié)果四路(s l)輸出均為0-5V,示波器顯示波形為三角波。七問(wèn)題與思考采用計(jì)算法輸出波形,這樣做的缺點(diǎn)是速度慢,波形的形狀有運(yùn)算失真;優(yōu)點(diǎn)是占用存儲(chǔ)空間很少。請(qǐng)考慮使用別的方法產(chǎn)生三角波、正弦波輸出(如查表法)。實(shí)驗(yàn)3.7 :異步串口通信實(shí)驗(yàn)一實(shí)驗(yàn)(shyn)目的了解(lioji)ICETEK-F2812-A評(píng)估(pn )板擴(kuò)展標(biāo)準(zhǔn)RS-232串行通信接口的原理和方法。學(xué)會(huì)對(duì)串行通信芯片的配置編程。學(xué)習(xí)設(shè)計(jì)異步

34、通信程序。二實(shí)驗(yàn)設(shè)備計(jì)算機(jī),ICETEK-F2812-EDU實(shí)驗(yàn)箱(或ICETEK仿真器+ICETEK-F2812-A系統(tǒng)板+相關(guān)連線及電源)。三實(shí)驗(yàn)內(nèi)容應(yīng)用TMS320F2812A芯片自帶的標(biāo)準(zhǔn)RS-232串行通信接口(SCI)模塊,實(shí)現(xiàn)與PC機(jī)串口的通訊。四實(shí)驗(yàn)原理評(píng)估板異步串口設(shè)計(jì)在評(píng)估板上加上Max232模塊即可。驅(qū)動(dòng)電路主要完成將輸出的0-3.3V電平轉(zhuǎn)換成異步串口電平的工作,轉(zhuǎn)換電平的工作由MAX232芯片完成。實(shí)驗(yàn)程序流程圖:開(kāi)始初始化:DSP時(shí)鐘初始化:SCI各控制寄存器串口是否有輸入信息?發(fā)送啟動(dòng)信息到串口將接收到的信息回發(fā)否是串行通信(tng xn)波特率計(jì)算(j sun)

35、內(nèi)部(nib)生成的串行時(shí)鐘是由低速的外部時(shí)鐘LSPCLK頻率和波特率選擇寄存器決定的。對(duì)于一個(gè)給定的設(shè)備時(shí)鐘,SCI通過(guò)波特率選擇器的16位值從64k開(kāi)始的不同串行時(shí)鐘頻率中選擇一個(gè)時(shí)鐘。理想的波特率BRR值24007A0H48003D0H96001E7H19200F3H3840079H五實(shí)驗(yàn)步驟實(shí)驗(yàn)準(zhǔn)備連接串口接線注意:連接前將實(shí)驗(yàn)箱和計(jì)算機(jī)的電源關(guān)閉。用串口線(兩端均為9孔“D”形插頭)將計(jì)算機(jī)com1或com2插座與評(píng)估板上標(biāo)準(zhǔn)RS-232插座連接起來(lái)。連接實(shí)驗(yàn)設(shè)備連接仿真器USB口接線,打開(kāi)實(shí)驗(yàn)箱電源開(kāi)關(guān),接通評(píng)估板電源(關(guān)閉擴(kuò)展模塊電源、信號(hào)源電源開(kāi)關(guān))。設(shè)置Code Compos

36、er Studio 2.21在硬件仿真(Emulator)方式下運(yùn)行啟動(dòng)Code Composer Studio 2.21。選擇菜單DebugReset CPU。打開(kāi)工程文件工程目錄:C:ICETEK-F2812-A-EDUlabDSP281x_exampleslab0308-sci瀏覽sci.c文件的內(nèi)容,理解各語(yǔ)句作用。編譯、下載程序。打開(kāi)串口調(diào)試助手利用桌面上“我的電腦”,找到C:ICETEK-F2812-A-EDUlabDSP281x_exampleslab0308-sci目錄中的程序“串口調(diào)試助手V2.0B.exe”,雙擊它(啟動(dòng));“串口調(diào)試助手”的串行端口設(shè)置為實(shí)際連接的計(jì)算機(jī)C

37、OM端口,設(shè)置波特率為9600,設(shè)置傳輸方式為8位、無(wú)校驗(yàn)、1個(gè)停止位。運(yùn)行程序觀察結(jié)果運(yùn)行程序后,切換窗口到“串口調(diào)試助手”;在“串口調(diào)試助手”的接收窗口中可看到DSP通過(guò)SCI發(fā)送來(lái)的“Hello PC!,Over|”字樣;在“發(fā)送的字符/數(shù)據(jù)”欄中輸入一些要發(fā)送到DSP的字符串,以“.”字符結(jié)尾;然后單擊“手動(dòng)發(fā)送”按鈕,DSP在接收到PC機(jī)的信息后會(huì)自動(dòng)進(jìn)行回答。結(jié)束(jish)程序運(yùn)行,退出CCS。六實(shí)驗(yàn)(shyn)結(jié)果通過(guò)DSP傳送到PC機(jī)上的信息(xnx),可以看到:串口正確工作。七問(wèn)題與思考請(qǐng)考慮用中斷方式設(shè)計(jì)程序完成異步串行通信。實(shí)驗(yàn)3.8 :PWM輸出實(shí)驗(yàn)一實(shí)驗(yàn)?zāi)康牧私釺M

38、S320F2812A片內(nèi)事件管理器模塊的脈寬調(diào)制電路PWM的特性參數(shù);掌握PWM電路的控制方法;學(xué)會(huì)用程序控制產(chǎn)生不同占空比的PWM波形。二實(shí)驗(yàn)設(shè)備計(jì)算機(jī),示波器,ICETEK-F2812-A-EDU實(shí)驗(yàn)設(shè)備。三實(shí)驗(yàn)內(nèi)容應(yīng)用TMS320F2812A芯片事件管理器(EVA、EVB)的通用定時(shí)器14和比較器16產(chǎn)生PWM波形,并用示波器觀察輸出波形。四實(shí)驗(yàn)原理脈寬調(diào)制電路PWM的特性每個(gè)事件管理器模塊(TMS320F2812A DSP片內(nèi)有兩個(gè))可產(chǎn)生8路的PWM波形輸出。由3個(gè)帶可編程死區(qū)控制的比較單元產(chǎn)生獨(dú)立的3對(duì)(即6個(gè)輸出),由通用定時(shí)器比較產(chǎn)生的2個(gè)獨(dú)立的PWM輸出。PWM的特性如下: 16位寄存器; 從0到16s的可編程死區(qū)發(fā)生器控制PWM輸出對(duì); 最小的死區(qū)寬度為1個(gè)CPU時(shí)鐘周期; 對(duì)PWM頻率的變動(dòng)可根據(jù)需要改變PWM

溫馨提示

  • 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)論