- 相關(guān)推薦
TMS320F24x的實(shí)時多中斷任務(wù)處理
摘要:TMS320F240是TI公司定點(diǎn)DSP芯片F(xiàn)24x系列中具有代表性的一種。在分析其多中斷源共享DSP內(nèi)核同一中斷級原理的基礎(chǔ)上,探討該系列芯片在實(shí)時多中斷任務(wù)處理的軟件編程過程中的實(shí)現(xiàn)方法,并給出具體的應(yīng)用實(shí)例。引言
TMS320F240內(nèi)部集成了完善的外圍設(shè)備,包括2個10位的A/D轉(zhuǎn)換器和1個串口通信接口模塊(SCI),以及其獨(dú)有的、可提供3個16位的定時器,3個單比較單元和3個全比較單元的事件管理器(event manager)單元。F240芯片采用多個中斷源共享DSP內(nèi)核同一中斷級的中斷結(jié)構(gòu),與常用的數(shù)學(xué)控制芯片相比,它提供了更多的中斷源,可以滿足對復(fù)雜控制對象的實(shí)時多中斷任務(wù)處理要求,使得用戶能更加方便、靈活地編寫中斷處理程序。
1 TMS320F240中斷系統(tǒng)的特點(diǎn)及中斷響應(yīng)過程
1.1 TMS320F240的中斷系統(tǒng)的特點(diǎn)
TMS320F240芯片中斷系統(tǒng)的基本特點(diǎn)是:通過賦予每個中斷源以不同的優(yōu)先級,使多個中斷源可以共享DSP內(nèi)核中同一中斷級,從而提供更多的中斷源和更靈活的中斷處理方法。具體而言,在F240器件中,所有的中斷請求都是送至DSP內(nèi)核進(jìn)行處理的。對可屏蔽中斷,DSP內(nèi)核只提供了6個可屏蔽的中斷級(INT1~I(xiàn)NT6)。而F240的可屏蔽中斷源大大超過了6個(例如:僅F240器件的3個通用定時器就有12個可屏蔽中斷源,用戶可使用的中斷源則多達(dá)36個)。所以,在F240中,這6個中斷級中的每一個都會被多個中斷源共享,即F240在實(shí)現(xiàn)多中斷任務(wù)時,基本上都會出現(xiàn)多中斷源共享DSP內(nèi)核同一中斷的情況。當(dāng)多于一個的硬件中斷被觸發(fā)掛起時,F(xiàn)240將根據(jù)優(yōu)先級別的高低順序執(zhí)行相應(yīng)的中斷服務(wù)子程序。F240器件可以識別下列4種類型的中斷源:
①復(fù)位中斷;
②由6個外部引腳(XINT1、XINT2、XINT3、PDPINT、RS以及NMI引腳)產(chǎn)生的外部中斷;
③由片內(nèi)外設(shè)模塊,包括事件管理模塊(EV)、A/D轉(zhuǎn)換模塊(ADC)、串行通信模塊(SCI)等產(chǎn)生的外設(shè)中斷;
④由INTR指令、NMI指令或TRAP指令等引起的軟件中斷等。
其中,除了軟件中斷、兩個外部硬件中斷RS和NMI是不可屏蔽中斷之外,其余的都是可屏蔽中斷。相對于可屏蔽中斷而言,不可屏蔽中斷涉及的寄存器較少,處理方法較為簡便。文中主要對可屏蔽中斷的多中斷任務(wù)處理進(jìn)行詳細(xì)分析。
1.2 TMS320F240多級中斷寄存器的結(jié)構(gòu)
在TMS320F240的程序空間中,中斷向量占據(jù)了0000h~0003fh的地址空間。中斷向量地址被分為兩個地址單元,從而雙字的轉(zhuǎn)移指令可存放在這些單元中。為了處理多中斷源共享DSP內(nèi)核同一中斷級的問題,DSP內(nèi)部提供了多級中斷控制寄存器以滿足需要。
(1)CPU總中斷級寄存器
①中斷屏蔽寄存器(IMR)。它包含用于使能或禁止每一中斷級(INT1~I(xiàn)NT6)的屏蔽位,地址為0004h,各位情況如圖1所示。它用來屏蔽外部和內(nèi)部硬件中斷(NMI和RS除外)。當(dāng)要屏蔽某硬件中斷時,就把相應(yīng)位清0;當(dāng)要開放某硬件中斷時,就把相應(yīng)位置1,并且它的每一位不受硬件復(fù)位的影響。在圖1中,0表示一般情況下讀的數(shù)為0,R表示讀,W表示寫,-0表示復(fù)位后這位為0。
②中斷標(biāo)志寄存器(IFR)。它包含用以指示INT1~I(xiàn)NT6中斷級中,已經(jīng)發(fā)送至CPU的可屏蔽中斷請求的標(biāo)志位,地址為0006h,各位情況如圖2所示。當(dāng)有一個可屏蔽中斷到達(dá)CPU時,IFR的相應(yīng)標(biāo)志位就置1,表明相應(yīng)中斷(INT1~I(xiàn)NT6)正在被掛起或正在等待響應(yīng)。將1寫入到相應(yīng)的標(biāo)志位,可清除相應(yīng)位,并清除其中斷請求。在圖2中,0表示一般情況下讀的數(shù)為0,R表示讀,W1C表示寫1時把這位清為0,-0表示復(fù)位后這位為0。
(2)外設(shè)備中斷源分級控制寄存器
由外設(shè)產(chǎn)生的每一個特定中斷源,DSP都提供兩個相應(yīng)的分級控制寄存器,包括一個子標(biāo)志位中斷控制寄存器和一個子屏蔽位中斷控制寄存器。
對于由事件管理器產(chǎn)生的中斷事件,每個中斷源都有相應(yīng)的中斷控制寄存器,如圖3所示。
①三組事件中斷子屏蔽寄存器(EVIMRA/EVIMRB/EVIMRC),用以屏蔽對應(yīng)的事件管理器中斷。EVIMRi(i=A,B,C)各位的意義基本與IMR一致。
②三組事件中斷子標(biāo)志寄存器(EVIFRA/EVIFRB/EVIFRC),用以指示對應(yīng)的事件管理器中斷。EVIFRi(i=A,B,C)各位的意義基本與IFR一致。
對于系統(tǒng)模塊中斷,其各個中斷事件的中斷屏蔽位和中斷標(biāo)志位由各個專用的分級模塊寄存器提供。如SCI中斷,其掃收中斷RXINT的屏蔽與使能由SCI模塊內(nèi)的控制寄存器SCICLT2的中斷位RX/BKEN設(shè)置。當(dāng)接收中斷產(chǎn)生后,SCI的接收狀態(tài)寄存器SCIRXST的RXRDY位置1,以表示接收中斷產(chǎn)生。
圖4 可屏蔽中斷的多中斷任務(wù)響應(yīng)處理示意圖
另外,值得注意的是,DSP內(nèi)核的ST0狀態(tài)寄存器中還有一個中斷總屏蔽位-INTM。INTM為0時,開中斷,允許沒有被屏蔽的中斷使能;INTM為1時,則禁止所有可屏蔽中斷。
【TMS320F24x的實(shí)時多中斷任務(wù)處理】相關(guān)文章:
適應(yīng)實(shí)時多任務(wù)的微控制器高效指令支持05-29
基于J2EE的遠(yuǎn)動系統(tǒng)Web實(shí)時曲線的研究05-11
嵌入式實(shí)時網(wǎng)絡(luò)通信技術(shù)淺析論文(精選7篇)07-26
任務(wù)書和開題報告區(qū)別02-23
飛機(jī)艙音背景聲特征實(shí)時分析系統(tǒng)開發(fā)及應(yīng)用05-05
任務(wù)驅(qū)動教學(xué)法的特點(diǎn)和難點(diǎn)探微11-21
教育論文:淺談教學(xué)設(shè)計中的任務(wù)分析11-21
善的意志有多善?05-29
淤泥軟土地基處理探析08-09
淺論混凝土裂縫原因分析與處理08-11