X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng)_第1頁(yè)
X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng)_第2頁(yè)
X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng)_第3頁(yè)
X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng)_第4頁(yè)
X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩31頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 第11章 X2812的中斷系統(tǒng) X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 11.1 什么是中斷 n在任何一款事件驅(qū)動(dòng)型的CPU里面都應(yīng)該會(huì)有 中斷系統(tǒng),因?yàn)橹袛嗑褪菫轫憫?yīng)某種事件而存 在的。 n中斷的靈活應(yīng)用不僅能夠?qū)崿F(xiàn)想要實(shí)現(xiàn)的功能, 而且合理的中斷安排可以提高事件執(zhí)行的效率, 因此中斷在DSP應(yīng)用中的地位是非常重要的。 n中斷(Interrupt)是硬件和軟件驅(qū)動(dòng)事件,它使 得CPU暫停當(dāng)前的主程序,并轉(zhuǎn)而去執(zhí)行一個(gè) 中斷服務(wù)子程序。 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 中斷的生活實(shí)例 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) F2812的三級(jí)中斷 nCPU中斷 nPIE中

2、斷 n外設(shè)中斷 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 11.2 CPU中斷 nX2812的中斷主要由兩種方式觸發(fā)。 n一種是通過(guò)在軟件中寫(xiě)指令,例如INTR、 OR IFR或者TRAP指令。 n另一種是硬件方式觸發(fā),例如來(lái)自于片 內(nèi)外設(shè),或者外圍設(shè)備的中斷信號(hào),表 示某個(gè)事件已經(jīng)發(fā)生。 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 可屏蔽中斷和不可屏蔽中斷 n可屏蔽中斷就是這些中斷可以用軟件加以屏蔽 或者解除屏蔽。X2812片內(nèi)外設(shè)所產(chǎn)生的中斷 都是可屏蔽中斷,每一個(gè)中斷都可以通過(guò)相應(yīng) 寄存器的中斷使能位來(lái)禁止或者使能該中斷。 n不可屏蔽中斷就是這些中斷是不可以被屏蔽的, 一旦中斷申請(qǐng)信號(hào)發(fā)出,CPU必須無(wú)條

3、件的立 即去響應(yīng)該中斷并執(zhí)行相應(yīng)的中斷服務(wù)子程序。 X281X的不可屏蔽中斷主要包括軟件中斷 (INTR指令和TRAP指令等)、硬件中斷、非法指 令陷阱以及硬件復(fù)位中斷。 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) CPU處理中斷的步驟 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 中斷向量和優(yōu)先級(jí) 前面講解的是單個(gè)中斷請(qǐng)求的處理過(guò)程, 那要是幾個(gè)中斷同時(shí)向CPU發(fā)出中斷請(qǐng)求, CPU該如何處理呢? X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 優(yōu)先級(jí)的簡(jiǎn)單例子 假如有一個(gè)醫(yī)生但是有兩個(gè)病人需要急 診,一個(gè)出了車(chē)禍,性命攸關(guān),而另一個(gè) 只是普通的感冒,這時(shí)候醫(yī)生會(huì)先診治哪 個(gè)病人呢? X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 22位的

4、CPU中斷向量 n一共可以支持32個(gè)CPU中斷,其中每一 個(gè)中斷都是一個(gè)32位的中斷向量 。 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 中斷向量 絕對(duì)地址 優(yōu)先級(jí)說(shuō)明 VMAP=0VMAP=1 RESET00 0000h3F FFC0h1(最高)復(fù)位中斷 INT100 0002h3F FFC2h5可屏蔽中斷1 INT200 0004h3F FFC4h6可屏蔽中斷2 INT300 0006h3F FFC6h7可屏蔽中斷3 INT400 0008h3F FFC8h8可屏蔽中斷4 INT500 000Ah3F FFCAh9可屏蔽中斷5 INT600 000Ch3F FFCCh10可屏蔽中斷6 INT700

5、000Eh3F FFCEh11可屏蔽中斷7 INT800 0010h3F FFD0h12可屏蔽中斷8 INT900 0012h3F FFD2h13可屏蔽中斷9 INT1000 0014h3F FFD4h14可屏蔽中斷10 INT1100 0016h3F FFD6h15可屏蔽中斷11 INT1200 0018h3F FFD8h16可屏蔽中斷12 INT1300 001Ah3F FFDAh17可屏蔽中斷13 INT1400 001Ch3F FFDCh18可屏蔽中斷14 DLOGINT00 001Eh3F FFDEh19(最低)可屏蔽數(shù)據(jù)標(biāo)志中斷 RTOSINT00 0020h3F FFE0h4可屏

6、蔽實(shí)時(shí)操作系統(tǒng)中斷 Reserved00 0022h3F FFE2h2保留 NMI00 0024h3F FFE4h3不可屏蔽硬件中斷 ILLEGAL00 0026h3F FFE6h非法指令捕獲 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) IER寄存器 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) IFR寄存器 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 可屏蔽中斷的響應(yīng)過(guò)程 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 多個(gè)中斷申請(qǐng)時(shí)CPU響應(yīng)過(guò)程 n中斷A的優(yōu)先級(jí)高于中斷B的優(yōu)先級(jí) n中斷A和中斷B均已使能 n全局中斷INTM也已經(jīng)使能 n中斷A和中斷B同時(shí)提出申請(qǐng),CPU如何 處理? n如果CPU在執(zhí)行中斷A的服務(wù)子程序時(shí), 中斷A

7、的標(biāo)志位又被置位了,那么CPU接 下來(lái)會(huì)如何處理? X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 11.3 PIE中斷 2812的中斷源 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) PIE的生活實(shí)例 n好比一家大公司,每天會(huì)有很多員工向老總提 交文件,請(qǐng)求老總處理。老總通常事務(wù)繁忙, 他一個(gè)人沒(méi)有能力同時(shí)去處理所有的事情,那 怎么辦呢? nX281X的CPU為了能夠及時(shí)有效的處理好各個(gè) 外設(shè)的中斷請(qǐng)求,特別設(shè)計(jì)了一個(gè)“秘書(shū)” 專(zhuān)門(mén)處理外設(shè)中斷的擴(kuò)展模塊(the Peripheral Interrupt Expansion Block),簡(jiǎn)稱(chēng) 外設(shè)中斷控制器PIE,它能夠?qū)Ω鞣N中斷請(qǐng)求 源(來(lái)自于外設(shè)或者其他外部引腳

8、的請(qǐng)求)做出 判斷和相應(yīng)的決策。 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 外設(shè)中斷在PIE中的分布 PIE一共可以支持96個(gè)不同的中斷,并把這些中斷分成了12個(gè)組, 每個(gè)組有8個(gè)中斷,而且每個(gè)組都被反饋到CPU內(nèi)核的INT1INT12 這12條中斷線中的某一條上。平時(shí)能夠用到的所有的外設(shè)中斷 都被歸入了這96個(gè)中斷中,被分布在不同的組里。 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) INTx.8INTx.7INTx.6INTx.5INTx.4INTx.3INTx.2INTx.1 INT1WAKEINTTINT0ADCINTXINT2XINT1PDPINTBPDPINTA INT2T1OFINTT1UFINTT

9、1CINTT1PINTCMP3INTCMP2INTCMP1INT INT3CAPINT3CAPINT2CAPINT1T2OFINTT2UFINTT2CINTT2PINT INT4T3OFINTT3UFINTT3CINTT3PINTCMP6INTCMP5INTCMP4INT INT5CAPINT6CAPINT5CAPINT4T4OFINTT4UFINTT4CINTT4PINT INT6MXINTMRINTSPITXINTASPIRXINTA INT7 INT8 INT9ECA1INTECAN0INTSCITXINTBSCIRXINTBSCITXINTASCIRXINTA INT10 INT11

10、INT12 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 中斷寄存器 nPIE中斷使能寄存器(PIEIERx) nPIE標(biāo)志寄存器(PIEIFRx) nPIE應(yīng)答寄存器(PIEACKx) nX=1,2,3.12 n問(wèn)題:CPU定時(shí)器0周期中斷TINT0 位于PIE中斷寄存器的什么位置? X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) PIE使能寄存器PIEIERx X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) PIE標(biāo)志寄存器PIEIFRx X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) PIE中斷應(yīng)答寄存器PIEACKx X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) PIE控制寄存器 PIEVECT:位151表示從PIE向量表取回的向量地址。最低位 忽略

11、,只顯示位1到位15的地址。用戶可以讀取向量值,以確 定取回的向量是由哪一個(gè)中斷產(chǎn)生的。 ENPIE:位0,從PIE塊取回向量使能。當(dāng)該位置1時(shí),所有向量 取自PIE向量表若該位為0,PIE塊無(wú)效,向量取自引導(dǎo)ROM的 CPU向量表或XINTF7區(qū)外部接口。 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) PIE中斷向量表(表11-6,P214-218) n中斷向量表可以映射到5個(gè)不同的存儲(chǔ)空 間: nM1向量 nM0向量 nBROM向量 nXINTF向量 nPIE向量 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) n由以下4個(gè)控制信號(hào)控制: nVMAP nM1M1MAP nMP/MC nENPIE nM1向量和M0向

12、量?jī)H留給TI測(cè)試用。 n通常情況下ENPIE為1,也即是使用PIE向 量。 PIE中斷向量表(表11-6,P214-218) X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 三級(jí)中斷系統(tǒng) X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 外設(shè)級(jí) n以CPU定時(shí)器T0的周期中斷為例。 TIMH:TIM計(jì)數(shù)到0TIMH:TIM計(jì)數(shù)到0TIMER0TCR寄存器的第15位TIF被置位 TIMER0TCR的第14位TIE=1? N 向PIE發(fā)出中斷請(qǐng)求 Y n以CPU定時(shí)器T0的周期中斷為例。 TIMH:TIM計(jì)數(shù)到0TIMH:TIM計(jì)數(shù)到0TIMER0TCR寄存器的第15位TIF被置位 TIMER0TCR的第14位TIE=1? N

13、 向PIE發(fā)出中斷請(qǐng)求 Y TIMH:TIM計(jì)數(shù)到0TIMH:TIM計(jì)數(shù)到0TIMER0TCR寄存器的第15位TIF被置位 TIMER0TCR的第14位TIE=1? N 向PIE發(fā)出中斷請(qǐng)求 Y n以CPU定時(shí)器T0的周期中斷為例。 TIMH:TIM計(jì)數(shù)到0TIMH:TIM計(jì)數(shù)到0TIMER0TCR寄存器的第15位TIF被置位 TIMER0TCR的第14位TIE=1? N 向PIE發(fā)出中斷請(qǐng)求 Y X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 外設(shè)級(jí)手動(dòng)操作的內(nèi)容 n外設(shè)中斷的使能,需要將與該中斷相關(guān)的外設(shè) 寄存器中的中斷使能位置1; n外設(shè)中斷的屏蔽,需要將與該中斷相關(guān)的外設(shè) 寄存器中的中斷使能位置0;

14、 n外設(shè)中斷標(biāo)志位的清除,需要將與該中斷相關(guān) 的外設(shè)寄存器中的中斷標(biāo)志位置1。 n清除CPU定時(shí)器0中斷標(biāo)志位TIF的語(yǔ)句如下: 清除定時(shí)器中斷標(biāo)志位 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) PIE級(jí) n以CPU定時(shí)器T0的周期中斷為例。 TIMH:TIM計(jì)數(shù)到0TIMH:TIM計(jì)數(shù)到0TIMER0TCR寄存器的第15位TIF被置位 n以CPU定時(shí)器T0的周期中斷為例。 TIMH:TIM計(jì)數(shù)到0TIMH:TIM計(jì)數(shù)到0TIMER0TCR寄存器的第15位TIF被置位TIMH:TIM計(jì)數(shù)到0TIMH:TIM計(jì)數(shù)到0TIMER0TCR寄存器的第15位TIF被置位 向CPU發(fā)出INT1中斷請(qǐng)求 n以CPU定

15、時(shí)器T0的周期中斷為例。 TIMH:TIM計(jì)數(shù)到0向PIE提出中斷請(qǐng)求PIEIFR1.7被置位 N PIEIER1.7=1?PIEIER1.7=1? PIEACK.1=1? N Y TIMH:TIM計(jì)數(shù)到0TIMH:TIM計(jì)數(shù)到0TIMER0TCR寄存器的第15位TIF被置位TIMH:TIM計(jì)數(shù)到0TIMH:TIM計(jì)數(shù)到0TIMER0TCR寄存器的第15位TIF被置位TIMH:TIM計(jì)數(shù)到0TIMH:TIM計(jì)數(shù)到0TIMER0TCR寄存器的第15位TIF被置位 向CPU發(fā)出INT1中斷請(qǐng)求 n以CPU定時(shí)器T0的周期中斷為例。 TIMH:TIM計(jì)數(shù)到0外設(shè)向PIE提出中斷 請(qǐng)求 PIEIFR1

16、.7被置位 N PIEIER1.7=1?PIEIER1.7=1? PIEACK.1=0? Y X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) PIE級(jí)手動(dòng)操作的內(nèi)容 nPIE中斷的使能。需要使能某個(gè)外設(shè)中斷,就得將 其相應(yīng)組的使能寄存器PIEIERx的相應(yīng)位進(jìn)行置位; nPIE中斷的屏蔽。這是和使能相反的操作; nPIE應(yīng)答寄存器PIEACK相關(guān)位的清除,以使得 CPU能夠響應(yīng)同組內(nèi)的其他中斷。 n清除PIEACK中與T0INT相關(guān)的應(yīng)答位的語(yǔ)句如下 所示: n響應(yīng)PIE組1內(nèi)的其他中斷。 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) CPU級(jí) PIE向CPU提出INT1中斷 請(qǐng)求 TIMER0TCR寄存器的第15位T

17、IF被置位TIMER0TCR寄存器的第15位TIF被置位TIMER0TCR寄存器的第15位TIF被置位 CPU響應(yīng)定時(shí)器T0周期中斷 n以CPU定時(shí)器T0的周期中斷為例。 IFR.1被置位 N PIEIER1.7=1?IER.1=1? INTM=0? Y N X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 2812的中斷過(guò)程 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 11.5 成功實(shí)現(xiàn)中斷的必要步驟 X2812的中斷系統(tǒng)三級(jí)中斷系統(tǒng) 第1步 外設(shè)初始化 void InitCpuTimers(void) CpuTimer0Regs.TCR.bit.TIE=1; /使能CPU定時(shí)器0的周期中斷 X2812的中斷系統(tǒng)三級(jí)中

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論