第08章中斷系統(tǒng)和CPU定時(shí)器的使用_第1頁
第08章中斷系統(tǒng)和CPU定時(shí)器的使用_第2頁
第08章中斷系統(tǒng)和CPU定時(shí)器的使用_第3頁
第08章中斷系統(tǒng)和CPU定時(shí)器的使用_第4頁
第08章中斷系統(tǒng)和CPU定時(shí)器的使用_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2005.88.1 中斷概述及中斷源中斷概述及中斷源 8.2 PIE-外設(shè)中斷擴(kuò)展外設(shè)中斷擴(kuò)展8.3 可屏蔽中斷處理流程可屏蔽中斷處理流程8.4 中斷向量中斷向量8.5 復(fù)用中斷處理的注意事項(xiàng)復(fù)用中斷處理的注意事項(xiàng)8.6 定時(shí)器中斷應(yīng)用實(shí)例定時(shí)器中斷應(yīng)用實(shí)例2005.8中斷(Interrupt)是由硬件或者軟件所驅(qū)動(dòng)的事件。它使得CPU暫停當(dāng)前的主程序,轉(zhuǎn)而去執(zhí)行一個(gè)中斷服務(wù)程序。2005.8C28x 中斷源中斷源u2個(gè)不可屏蔽中斷個(gè)不可屏蔽中斷l(xiāng)/RSlNMIu14個(gè)可屏蔽中斷個(gè)可屏蔽中斷 (INT1 INT14)每個(gè)中斷源都分別對(duì)應(yīng)一個(gè)中斷向每個(gè)中斷源都分別對(duì)應(yīng)一個(gè)中斷向量,中斷向量其實(shí)是

2、量,中斷向量其實(shí)是32位的中斷位的中斷入口地址,應(yīng)用程序可以利用這入口地址,應(yīng)用程序可以利用這些入口地址跳轉(zhuǎn)到相應(yīng)的中斷服些入口地址跳轉(zhuǎn)到相應(yīng)的中斷服務(wù)程序。務(wù)程序。2005.8C28X DSP 的中斷源的中斷源2005.8PIEPIE2812內(nèi)部具有很多外設(shè),每個(gè)外設(shè)又可以產(chǎn)生一個(gè)或者多個(gè)內(nèi)部具有很多外設(shè),每個(gè)外設(shè)又可以產(chǎn)生一個(gè)或者多個(gè)中斷請(qǐng)求,對(duì)于中斷請(qǐng)求,對(duì)于2812的的CPU而言,它沒有足夠的能力去同時(shí)而言,它沒有足夠的能力去同時(shí)處理所有外設(shè)的中斷請(qǐng)求。處理所有外設(shè)的中斷請(qǐng)求。2812的的CPU為了能夠及時(shí)有效的為了能夠及時(shí)有效的處理好各個(gè)外設(shè)的中斷請(qǐng)求,特別設(shè)計(jì)了一個(gè)專門處理外設(shè)中處

3、理好各個(gè)外設(shè)的中斷請(qǐng)求,特別設(shè)計(jì)了一個(gè)專門處理外設(shè)中斷的擴(kuò)展模塊(斷的擴(kuò)展模塊(the Peripheral Interrupt Expansion block),叫做外設(shè)中斷控制器),叫做外設(shè)中斷控制器PIE,它能夠?qū)Ω鞣N中斷請(qǐng)求源(例,它能夠?qū)Ω鞣N中斷請(qǐng)求源(例如來自于外設(shè)或者其他外部引腳的請(qǐng)求)做出判斷以及相應(yīng)的如來自于外設(shè)或者其他外部引腳的請(qǐng)求)做出判斷以及相應(yīng)的決策。決策。 8.2 Peripheral Interrupt Expansion - PIE2005.8PIE可以支持可以支持96個(gè)不同的中斷,這些中斷分成了個(gè)不同的中斷,這些中斷分成了12個(gè)組,每個(gè)個(gè)組,每個(gè)組有組有8個(gè)中

4、斷,而且每個(gè)組都被反饋到個(gè)中斷,而且每個(gè)組都被反饋到CPU內(nèi)核的內(nèi)核的12條中斷線條中斷線中的某一條上(中的某一條上(INT1-INT12),我們平時(shí)用到的所有的外設(shè)),我們平時(shí)用到的所有的外設(shè)中斷都被歸入了這中斷都被歸入了這96個(gè)中斷中,被分布在不同的組里,這里其個(gè)中斷中,被分布在不同的組里,這里其實(shí)也是用到了多路復(fù)用的原理。值得一提的是,實(shí)也是用到了多路復(fù)用的原理。值得一提的是,PIE目前只使目前只使用了用了96個(gè)終端中的個(gè)終端中的45個(gè),其他的等待將來的功能擴(kuò)展。個(gè),其他的等待將來的功能擴(kuò)展。 8.2 Peripheral Interrupt Expansion - PIE2005.88

5、.2 Peripheral Interrupt Expansion - PIE101(TINT1 / XINT13)(TINT2)2005.8PIE 寄存器寄存器reservedreservedreserved#include “DSP28_Device.h” PieCtrlRegs.PIEIFR1.bit.INTx4 = 1; /manually set IFR for XINT1 in PIE group 1 PieCtrlRegs.PIEIER3.bit.INTx5 = 1; /enable CAPINT1 in PIE group 3 PieCtrlRegs.PIEACK.all =

6、0 x0004; /acknowledge the PIE group 3 PieCtrlRegs.PIECTRL.bit.ENPIE = 1; /enable the PIE2005.82812的PIE內(nèi)部的中斷分布圖,8列12行,總共有96個(gè)中斷,黃色部分表示已經(jīng)使用的中斷2005.8三種中斷級(jí)別:三種中斷級(jí)別:外設(shè)級(jí)中斷、外設(shè)級(jí)中斷、PIEPIE級(jí)中斷、級(jí)中斷、CPUCPU級(jí)中斷級(jí)中斷2005.8三種中斷級(jí)別:三種中斷級(jí)別:外設(shè)級(jí)中斷外設(shè)級(jí)中斷、PIEPIE級(jí)中斷、級(jí)中斷、CPUCPU級(jí)中斷級(jí)中斷外設(shè)產(chǎn)生中斷時(shí),中斷標(biāo)志寄存器(外設(shè)產(chǎn)生中斷時(shí),中斷標(biāo)志寄存器(IFRIFR)相)相應(yīng)位置應(yīng)

7、位置1 1 若外設(shè)的中斷使能寄存器(若外設(shè)的中斷使能寄存器(IERIER)相應(yīng)位也置位)相應(yīng)位也置位則向則向PIEPIE發(fā)請(qǐng)求發(fā)請(qǐng)求 若沒有被使能,標(biāo)志位保持不變,除非若沒有被使能,標(biāo)志位保持不變,除非軟件軟件清除清除 若中斷產(chǎn)生后才被使能,且標(biāo)志位未清除,仍會(huì)若中斷產(chǎn)生后才被使能,且標(biāo)志位未清除,仍會(huì)向向PIEPIE發(fā)中斷請(qǐng)求發(fā)中斷請(qǐng)求2005.8PIEPIE級(jí)中斷級(jí)中斷當(dāng)外設(shè)產(chǎn)生中斷事件,相關(guān)中斷標(biāo)志位置位,中斷使能位使當(dāng)外設(shè)產(chǎn)生中斷事件,相關(guān)中斷標(biāo)志位置位,中斷使能位使能之后,外設(shè)就會(huì)把中斷請(qǐng)求提交給我們的能之后,外設(shè)就會(huì)把中斷請(qǐng)求提交給我們的PIE模塊。模塊。在前面我們已經(jīng)講到,在前面

8、我們已經(jīng)講到,PIE模塊將模塊將96個(gè)外設(shè)和外部引腳的中個(gè)外設(shè)和外部引腳的中斷進(jìn)行了分組,每斷進(jìn)行了分組,每8個(gè)中斷為個(gè)中斷為1組,一共是組,一共是12組,分別是組,分別是PIE1-PIE12。每個(gè)組的中斷被多路匯集進(jìn)入。每個(gè)組的中斷被多路匯集進(jìn)入1個(gè)個(gè)CPU中斷,中斷,例如例如PDPINDA,PDPINDB,XINT1,XINT2,ADCINT,TINT0,WAKEINT這這7個(gè)中斷都在個(gè)中斷都在PIE1組內(nèi),這些中斷都匯集到組內(nèi),這些中斷都匯集到CPU中斷的中斷的INT1;同樣的,;同樣的,PIE2的中斷都被匯集到的中斷都被匯集到CPU中斷的中斷的INT2,INT12組的中斷都被匯集到了組

9、的中斷都被匯集到了CPU中端的中端的INT12。 2005.8PIEPIE級(jí)級(jí)中斷中斷響應(yīng)響應(yīng)流程流程2005.8PIEPIE級(jí)中斷級(jí)中斷在在PIE級(jí)需要我們手動(dòng)的地方有:級(jí)需要我們手動(dòng)的地方有: u PIE中斷的使能。需要使能某個(gè)外設(shè)中斷,就得將其相應(yīng)中斷的使能。需要使能某個(gè)外設(shè)中斷,就得將其相應(yīng)組的使能寄存器組的使能寄存器PIEIERx的相應(yīng)位進(jìn)行置位;的相應(yīng)位進(jìn)行置位; u PIE中斷的屏蔽。這是和使能相反的操作;中斷的屏蔽。這是和使能相反的操作; u PIE應(yīng)答寄存器應(yīng)答寄存器PIEACK相關(guān)位的清除,以使得相關(guān)位的清除,以使得CPU能夠能夠響應(yīng)同組的其他中斷。響應(yīng)同組的其他中斷。 2

10、005.8PIEPIE級(jí)中斷級(jí)中斷PIE級(jí)中斷和外設(shè)級(jí)中斷的比較級(jí)中斷和外設(shè)級(jí)中斷的比較l 外設(shè)中斷的中斷標(biāo)志位是需要手工清除的,而外設(shè)中斷的中斷標(biāo)志位是需要手工清除的,而PIE級(jí)的中級(jí)的中斷標(biāo)志位都是自動(dòng)置位或者清除的。斷標(biāo)志位都是自動(dòng)置位或者清除的。l 但是但是PIE多了一個(gè)多了一個(gè)PIEACK寄存器,相當(dāng)于一個(gè)通行的關(guān)寄存器,相當(dāng)于一個(gè)通行的關(guān)卡,同一時(shí)間只能放一個(gè)中斷過去,只有等到這個(gè)中斷被響卡,同一時(shí)間只能放一個(gè)中斷過去,只有等到這個(gè)中斷被響應(yīng),給關(guān)卡一個(gè)放行命令之后,才能讓同組的下一個(gè)中斷過應(yīng),給關(guān)卡一個(gè)放行命令之后,才能讓同組的下一個(gè)中斷過去,被去,被CPU響應(yīng)。響應(yīng)。 2005

11、.8CPUCPU級(jí)中斷級(jí)中斷向向CPUCPU申請(qǐng)中斷,申請(qǐng)中斷,CPUCPU級(jí)級(jí)IFRIFR置置1 1響應(yīng)中斷的條件:響應(yīng)中斷的條件:IER/DBGIERIER/DBGIERINTMINTM相應(yīng)位被使能相應(yīng)位被使能 標(biāo)準(zhǔn)模式下,不使用標(biāo)準(zhǔn)模式下,不使用DBGIERDBGIER 實(shí)時(shí)調(diào)試且實(shí)時(shí)調(diào)試且CPUCPU被停止時(shí),使用被停止時(shí),使用DBGIERDBGIERu 此時(shí)此時(shí)INTMINTM不起作用不起作用2005.88.3 可屏蔽中斷處理過程可屏蔽中斷處理過程2005.8中斷標(biāo)志寄存器中斷標(biāo)志寄存器 (IFR)2005.8中斷使能寄存器中斷使能寄存器 (IER)2005.8中斷全局使能中斷全局使

12、能uINTM用來做全局的使能/禁止中斷:l使能:INTM = 0l禁止:INTM = 1 (reset value)uINTM只能被匯編語言修改:2005.8中斷響應(yīng)過程中斷響應(yīng)過程2005.88.4 中斷向量中斷向量一個(gè)或多個(gè)中斷源對(duì)應(yīng)一個(gè)中斷向量,中斷向一個(gè)或多個(gè)中斷源對(duì)應(yīng)一個(gè)中斷向量,中斷向量量放在放在RAMRAM中的中斷向量表中的中斷向量表兩種可行的方案:兩種可行的方案:A A 每組(每組(8 8個(gè))共用一個(gè)中斷向量(軟件分離)個(gè))共用一個(gè)中斷向量(軟件分離)B B 每個(gè)每個(gè)PIEPIE級(jí)中斷用一個(gè)中斷向量級(jí)中斷用一個(gè)中斷向量1 1 中斷向量的分配中斷向量的分配2005.88.4 中斷

13、向量中斷向量1 1 中斷向量的分配中斷向量的分配 獲取中斷向量、保存寄存器需獲取中斷向量、保存寄存器需9 9個(gè)時(shí)鐘周期個(gè)時(shí)鐘周期 復(fù)用中斷模式復(fù)用中斷模式,如何分離多個(gè)中斷源的中斷?,如何分離多個(gè)中斷源的中斷? 軟件分離的方法影響速度,如何解決?軟件分離的方法影響速度,如何解決?u 外設(shè)中斷擴(kuò)展模塊外設(shè)中斷擴(kuò)展模塊2005.88.4 中斷向量中斷向量2 2 中斷向量表的重映射中斷向量表的重映射PIEPIE:將中斷向量表大小擴(kuò)展,使得將中斷向量表大小擴(kuò)展,使得9696個(gè)可能產(chǎn)生的個(gè)可能產(chǎn)生的中斷都有各自獨(dú)立的中斷都有各自獨(dú)立的3232位入口地址位入口地址 須重新定位中斷向量表到須重新定位中斷向量

14、表到0 x00 0D000 x00 0D00地址地址 使用前必須初始化,以使用使用前必須初始化,以使用PIEPIE中斷向量表中斷向量表WMAP=1WMAP=1(復(fù)位時(shí)為(復(fù)位時(shí)為1 1) ENPIE=1ENPIE=1(復(fù)位時(shí)為(復(fù)位時(shí)為0 0) 2005.88.4 中斷向量中斷向量2005.8TMS320F2812 內(nèi)存映射內(nèi)存映射reservedreservedreservedreservedreservedreservedreservedXINT Zone 0 (8K)XINT Zone 1 (8K)XINT Zone 2 (0.5M)XINT Zone 6 (0.5M)XINT Zone

15、 7 (16K)MP/MC=1XINT Vector-RAM (32)MP/MC=1 ENPIE=0reservedreservedreservedreserved2005.8復(fù)位時(shí)默認(rèn)中斷向量表復(fù)位時(shí)默認(rèn)中斷向量表2005.8PIE Vector Mapping (ENPIE = 1)CPU vectors are remapped to 0 x00 0D00 in Data spacePIE vector space - 0 x00 0D00 256 Word memory in Data space RESET and INT1-INT12 vector locations are Re

16、-mapped2005.8F2812/10 PIE Interrupt Assignment Table2005.8Device Vector Mapping - Summary2005.88.5 復(fù)用中斷處理的注意事項(xiàng)(略)復(fù)用中斷處理的注意事項(xiàng)(略)(見教科書上的(見教科書上的8.4節(jié)節(jié) 中斷源中斷源 部分)部分)2005.88.6 定時(shí)器中斷應(yīng)用舉例2005.8定時(shí)器中斷應(yīng)用舉例2005.8定時(shí)器中斷應(yīng)用舉例2005.81. 1. 定時(shí)器控制寄存器(定時(shí)器控制寄存器(TCRTCR)2005.82. 2. 定時(shí)器預(yù)定標(biāo)寄存器(定時(shí)器預(yù)定標(biāo)寄存器(TPRTPR)2005.83. 3. 定時(shí)器

17、計(jì)數(shù)器(定時(shí)器計(jì)數(shù)器(TPRTPR)2005.84. 4. 定時(shí)器周期寄存器(定時(shí)器周期寄存器(PRDPRD)2005.8本章小結(jié) F2812的中斷源及類型的中斷源及類型 F2812中斷源的擴(kuò)展原理中斷源的擴(kuò)展原理 F2812中斷向量的分配和映射方式中斷向量的分配和映射方式 簡(jiǎn)述簡(jiǎn)述F2812可屏蔽中斷的處理過程可屏蔽中斷的處理過程 定時(shí)器的工作原理及中斷應(yīng)用定時(shí)器的工作原理及中斷應(yīng)用2005.8C28x CPU的中斷源分類的中斷源分類At the CPU level, each of the C28x interrupts, whether hardware or software, can

18、 be placed in one of the following two categories:u Maskable interrupts.These are interrupts that can be blocked (masked) or enabled (unmasked) through software.u Nonmaskable interrupts. These interrupts cannot be blocked. The C28x will immediately approve this type of interrupt and branch to the co

19、rresponding subroutine. All software-initiated interrupts are in this category.2005.8The C28x handles interrupts in four main phases:uReceive the interrupt request. Suspension of the current program sequence must be requested by a software interrupt (from program code) or a hardware interrupt (from a pin or an on-chip device).1)Approve the interrupt. The C28x must

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論