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