中斷在TMS320C54x系列DSP中的應(yīng)用
中斷在TMS320C54x系列DSP中的應(yīng)用
南京東南大學(xué)信息處理與應(yīng)用工程研究中心(210096) 朱繼紅 于東海 鄒采榮
摘 要:詳細(xì)分析了TMS320C54x系列DSP的中斷機(jī)制,以及在擴(kuò)展地址模式下中斷控制所具有的一些特點(diǎn),并給出了DSP/BIOS下中斷的管理。
關(guān)鍵詞:中斷 中斷向量表 TMS320C54x DSP/BIOS DSP
中斷是嵌入式芯片的靈魂,這是因?yàn)槎鄶?shù)嵌入式系統(tǒng)對(duì)實(shí)時(shí)性都有很高的要求,即對(duì)出現(xiàn)事件的響應(yīng)要極為迅速。中斷與軟件查詢方式相比有著更高的執(zhí)行效率。在TI公司的TMS320C54x系列(以下簡(jiǎn)稱C54x系列)DSP中,同樣也提供了很好的中斷機(jī)制。
1 C54x中的中斷機(jī)制
中斷信號(hào)實(shí)質(zhì)上是由硬件或者是軟件驅(qū)動(dòng)的信號(hào),它能使DSP暫停正在執(zhí)行的程序并進(jìn)入中斷服務(wù)程序(ISR)。在最典型的DSP系統(tǒng)中,如果A/D轉(zhuǎn)換器需要送數(shù)據(jù)到DSP中,或者D/A轉(zhuǎn)換器需要從DSP中取走數(shù)據(jù),都是通過硬件中斷向DSP發(fā)出請(qǐng)求的。
C54x系列DSP支持軟件中斷和硬件中斷。軟件中斷是由指令(INTR、TRAP、RESET)觸發(fā)的,硬件中斷是由外圍器件觸發(fā)的。硬件中斷實(shí)際上又分為兩類:一類是由DSP的片外外設(shè)(如A/D轉(zhuǎn)換器)觸發(fā)的,另外一類是由DSP的片內(nèi)外設(shè)(如定時(shí)器中斷)觸發(fā)的。硬件中斷又有優(yōu)先級(jí)的區(qū)分,這是為了處理同一時(shí)刻有多個(gè)硬件中斷源觸發(fā)中斷的情況。硬件中斷的種類和優(yōu)先級(jí)請(qǐng)參看具體使用的芯片資料。
如果按照可屏蔽情況分類,中斷又可分為可屏蔽中斷(C54x至多支持16個(gè))和不可屏蔽中斷。可屏蔽中斷受ST1寄存器中的INTM位和IMR寄存器中相應(yīng)位的影響。當(dāng)INTM=0時(shí),IMR中某位為1,則開放相應(yīng)的中斷。其實(shí),在C54x中硬件中斷并不一定要由外圍器件觸發(fā),它同樣可以由指令I(lǐng)NTR、TRAP觸發(fā),并且不受INTM的限制。有一點(diǎn)需要引起注意的是:指令RESET復(fù)位和硬件RS復(fù)位對(duì)IPTR和外圍電路初始化是不相同的。硬件復(fù)位時(shí)IPTR總是被置為0x1FF,軟件復(fù)位時(shí)則不會(huì)修改當(dāng)前IPTR的值。C54x的中斷處理過程分為三個(gè)階段:
①中斷請(qǐng)求??梢杂糜布骷蛘哕浖噶钫?qǐng)求中斷。如果請(qǐng)求的中斷是可屏蔽中斷,則IFR寄存器中相應(yīng)的位被置為1,而不管中斷是否會(huì)被響應(yīng)。
②中斷響應(yīng)。對(duì)于軟件中斷和不可屏蔽中斷,CPU是立即響應(yīng)的。對(duì)于可屏蔽中斷,要滿足下列條件才能響應(yīng):
評(píng)論