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

下載本文檔

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

文檔簡介

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

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

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

4、斷,而且每個組都被反饋到個中斷,而且每個組都被反饋到CPU內(nèi)核的內(nèi)核的12條中斷線條中斷線中的某一條上(中的某一條上(INT1-INT12),我們平時用到的所有的外設(shè)),我們平時用到的所有的外設(shè)中斷都被歸入了這中斷都被歸入了這96個中斷中,被分布在不同的組里,這里其個中斷中,被分布在不同的組里,這里其實也是用到了多路復(fù)用的原理。值得一提的是,實也是用到了多路復(fù)用的原理。值得一提的是,PIE目前只使目前只使用了用了96個終端中的個終端中的45個,其他的等待將來的功能擴(kuò)展。個,其他的等待將來的功能擴(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個中斷,黃色部分表示已經(jīng)使用的中斷2005.8三種中斷級別:三種中斷級別:外設(shè)級中斷、外設(shè)級中斷、PIEPIE級中斷、級中斷、CPUCPU級中斷級中斷2005.8三種中斷級別:三種中斷級別:外設(shè)級中斷外設(shè)級中斷、PIEPIE級中斷、級中斷、CPUCPU級中斷級中斷外設(shè)產(chǎn)生中斷時,中斷標(biāo)志寄存器(外設(shè)產(chǎn)生中斷時,中斷標(biāo)志寄存器(IFRIFR)相)相應(yīng)位置應(yīng)

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

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

9、的中斷都被匯集到了CPU中端的中端的INT12。 2005.8PIEPIE級級中斷中斷響應(yīng)響應(yīng)流程流程2005.8PIEPIE級中斷級中斷在在PIE級需要我們手動的地方有:級需要我們手動的地方有: u PIE中斷的使能。需要使能某個外設(shè)中斷,就得將其相應(yīng)中斷的使能。需要使能某個外設(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級中斷級中斷PIE級中斷和外設(shè)級中斷的比較級中斷和外設(shè)級中斷的比較l 外設(shè)中斷的中斷標(biāo)志位是需要手工清除的,而外設(shè)中斷的中斷標(biāo)志位是需要手工清除的,而PIE級的中級的中斷標(biāo)志位都是自動置位或者清除的。斷標(biāo)志位都是自動置位或者清除的。l 但是但是PIE多了一個多了一個PIEACK寄存器,相當(dāng)于一個通行的關(guān)寄存器,相當(dāng)于一個通行的關(guān)卡,同一時間只能放一個中斷過去,只有等到這個中斷被響卡,同一時間只能放一個中斷過去,只有等到這個中斷被響應(yīng),給關(guān)卡一個放行命令之后,才能讓同組的下一個中斷過應(yīng),給關(guān)卡一個放行命令之后,才能讓同組的下一個中斷過去,被去,被CPU響應(yīng)。響應(yīng)。 2005

11、.8CPUCPU級中斷級中斷向向CPUCPU申請中斷,申請中斷,CPUCPU級級IFRIFR置置1 1響應(yīng)中斷的條件:響應(yīng)中斷的條件:IER/DBGIERIER/DBGIERINTMINTM相應(yīng)位被使能相應(yīng)位被使能 標(biāo)準(zhǔn)模式下,不使用標(biāo)準(zhǔn)模式下,不使用DBGIERDBGIER 實時調(diào)試且實時調(diào)試且CPUCPU被停止時,使用被停止時,使用DBGIERDBGIERu 此時此時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 中斷向量中斷向量一個或多個中斷源對應(yīng)一個中斷向量,中斷向一個或多個中斷源對應(yīng)一個中斷向量,中斷向量量放在放在RAMRAM中的中斷向量表中的中斷向量表兩種可行的方案:兩種可行的方案:A A 每組(每組(8 8個)共用一個中斷向量(軟件分離)個)共用一個中斷向量(軟件分離)B B 每個每個PIEPIE級中斷用一個中斷向量級中斷用一個中斷向量1 1 中斷向量的分配中斷向量的分配2005.88.4 中斷

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

14、表到0 x00 0D000 x00 0D00地址地址 使用前必須初始化,以使用使用前必須初始化,以使用PIEPIE中斷向量表中斷向量表WMAP=1WMAP=1(復(fù)位時為(復(fù)位時為1 1) ENPIE=1ENPIE=1(復(fù)位時為(復(fù)位時為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ù)位時默認(rèn)中斷向量表復(fù)位時默認(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ù)用中斷處理的注意事項(略)復(fù)用中斷處理的注意事項(略)(見教科書上的(見教科書上的8.4節(jié)節(jié) 中斷源中斷源 部分)部分)2005.88.6 定時器中斷應(yīng)用舉例2005.8定時器中斷應(yīng)用舉例2005.8定時器中斷應(yīng)用舉例2005.81. 1. 定時器控制寄存器(定時器控制寄存器(TCRTCR)2005.82. 2. 定時器預(yù)定標(biāo)寄存器(定時器預(yù)定標(biāo)寄存器(TPRTPR)2005.83. 3. 定時器

17、計數(shù)器(定時器計數(shù)器(TPRTPR)2005.84. 4. 定時器周期寄存器(定時器周期寄存器(PRDPRD)2005.8本章小結(jié) F2812的中斷源及類型的中斷源及類型 F2812中斷源的擴(kuò)展原理中斷源的擴(kuò)展原理 F2812中斷向量的分配和映射方式中斷向量的分配和映射方式 簡述簡述F2812可屏蔽中斷的處理過程可屏蔽中斷的處理過程 定時器的工作原理及中斷應(yīng)用定時器的工作原理及中斷應(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等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論