DSP芯片TMS320f2812的外中斷
一.實(shí)驗目的
1.通過(guò)實(shí)驗熟悉F2812A的中斷響應過(guò)程。
2.學(xué)會(huì )C語(yǔ)言中斷程序設計,以及運用中斷程序控制程序流程。
二.實(shí)驗原理
1.中斷及中斷處理過(guò)程
(1)中斷簡(jiǎn)介
中斷是一種由硬件或軟件驅動(dòng)的信號,DSP在接到此信號時(shí),將當前程序懸掛起來(lái),
轉向去執行另外一個(gè)任務(wù),稱(chēng)為中斷服務(wù)程序(ISR)。TMS320f28x DSP可支持32 個(gè)ISR,
可由硬件或軟件觸發(fā)。
所有的C28x 中斷,可以分成可屏蔽中斷和不可屏蔽中斷兩種,軟件中斷是不可屏蔽的。
(2)DSP處理中斷的步驟
①接收中斷請求。請求由軟件或硬件發(fā)出。
②響應中斷請求。對于可屏蔽中斷,需要滿(mǎn)足若干條件,才發(fā)生響應;而對于不可屏蔽中
斷,則立即響應。
③準備執行中斷服務(wù)程序。
-完成當前正在執行的指令;將進(jìn)入流水線(xiàn)但還未解碼的指令清除。
-自動(dòng)保存若干寄存器的值到數據堆棧和系統堆棧。
-取得用戶(hù)定義的中斷向量表中當前中斷向量,中斷向量指向中斷服務(wù)程序入口。
④執行中斷服務(wù)程序。中斷服務(wù)程序包含中斷返回指令,這樣返回時(shí)可以出棧以前保存的
關(guān)鍵寄存器數據,從而恢復中斷服務(wù)程序執行前的現場(chǎng)。
(4)外中斷
TMS320f2812 可以響應兩個(gè)外中斷。
2.ICETEK-CTR板的鍵盤(pán)接口
顯示/控制模塊ICETEK-CTR通過(guò)接口P8連接小鍵盤(pán),接收小鍵盤(pán)傳送的掃描碼,并在
每個(gè)掃描碼結束后保存,同時(shí)向DSP的XINT2 發(fā)送中斷信號;當DSP讀鍵盤(pán)時(shí)將掃描碼送到
數據總線(xiàn)上。小鍵盤(pán)上每次按下一個(gè)鍵將產(chǎn)生2個(gè)掃描碼、2 次中斷。
3.程序編制
由一個(gè)不含中斷處理程序的工程通過(guò)改寫(xiě)加入中斷處理程序部分大致需要如下操作(假設
使用INT2):
(1)編制中斷服務(wù)程序:可以用C語(yǔ)言程序實(shí)現(參見(jiàn)實(shí)驗程序),編寫(xiě)單獨的一個(gè)函數XINT,
此函數使用interrupt 修飾,沒(méi)有參數和返回值。
(2)構造中斷向量表:程序中“InitPieVectTable();”是初始化向量表,
“PieVectTable.XINT2 = XINT2_isr;”把中斷服務(wù)程序和向量表該中斷對應起來(lái)。
(3)主程序中進(jìn)行初始化設置:使能中斷,清中斷等。
4.實(shí)驗程序流程圖(如下圖9-1所示):
圖9-1 程序流程圖
三.實(shí)驗設備
計算機,ICETEK-F2812-EDU實(shí)驗箱(或ICETEK 仿真器+ICETEK-F2812-A系統板+相關(guān)連
線(xiàn)及電源)。
四.實(shí)驗內容與步驟
1.實(shí)驗準備
(1)連接實(shí)驗設備:請參看本書(shū)第一部分、二。
(2)連接實(shí)驗箱附帶的鍵盤(pán)的PS2插頭到ICETEK-CTR的“鍵盤(pán)接口”P8。
(3)將ICETEK-CTR板的供電電源開(kāi)關(guān)撥動(dòng)到“開(kāi)”的位置。
2.設置Code Composer Studio 2.21在硬件仿真(Emulator)方式下運行
請參看本書(shū)第一部分、四、2。
3.啟動(dòng)Code Composer Studio 2.21:請參看本書(shū)第一部分、五、2。
選擇菜單Debug→Reset CPU。
4.打開(kāi)工程文件
工程目錄:C:ICETEK-F2812-A-EDUlabDSP281x_examplesLab0304-Xintxint.pjt
瀏覽xint.c文件的內容,理解各語(yǔ)句作用。
5.編譯、下載程序。
6.運行程序,觀(guān)察結果。
運行程序,按一下小鍵盤(pán)上任意一個(gè)鍵,注意觀(guān)察ICETEK-CTR板上指示燈閃爍的情況。
7.觀(guān)察中斷函數的執行
選擇“Debug”菜單中“Halt”暫停運行程序,在XINT2 中斷程序中的語(yǔ)句上加軟件斷
點(diǎn),重新運行程序(選擇“Debug”菜單中“Run”),觀(guān)察何時(shí)程序停留在斷點(diǎn)上。
8.退出CCS
五.預習要求
1.了解F2812A的中斷響應過(guò)程。
2.了解C語(yǔ)言中斷程序設計。
六.注意事項
本實(shí)驗要注意連接實(shí)驗箱的連接。
七.思考題
修改程序完成按鍵中斷控制的指示燈依次逐一點(diǎn)亮功能。
八.實(shí)驗報告要求
1.說(shuō)明該實(shí)驗中,每次按下鍵盤(pán)均會(huì )發(fā)生幾次中斷?
2.說(shuō)明該實(shí)驗中產(chǎn)生連續的中斷的條件。
3.說(shuō)明xint2 中斷函數被執行的條件。
評論