第4章_中斷管理及復(fù)位_第1頁
第4章_中斷管理及復(fù)位_第2頁
第4章_中斷管理及復(fù)位_第3頁
第4章_中斷管理及復(fù)位_第4頁
第4章_中斷管理及復(fù)位_第5頁
已閱讀5頁,還剩94頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、DSP原理與應(yīng)用技術(shù)原理與應(yīng)用技術(shù)主要內(nèi)容主要內(nèi)容4.1 中斷向量和優(yōu)先級(jí)中斷向量和優(yōu)先級(jí) 4.2 可屏蔽中斷可屏蔽中斷4.3 不可屏蔽中斷不可屏蔽中斷4.4 非法指令陷阱非法指令陷阱4.5 復(fù)位操作復(fù)位操作4.6 低功耗模式低功耗模式4.7 片內(nèi)外設(shè)的中斷擴(kuò)展片內(nèi)外設(shè)的中斷擴(kuò)展中斷的基本概念中斷的基本概念o中斷的基本概念中斷的基本概念o1. 中斷申請(qǐng)中斷申請(qǐng)o中斷請(qǐng)求信號(hào)由軟件或硬件驅(qū)動(dòng)的信號(hào),可暫中斷請(qǐng)求信號(hào)由軟件或硬件驅(qū)動(dòng)的信號(hào),可暫停目前執(zhí)行的主程序,轉(zhuǎn)而去執(zhí)行一個(gè)中斷服停目前執(zhí)行的主程序,轉(zhuǎn)而去執(zhí)行一個(gè)中斷服務(wù)子程序。務(wù)子程序。o通常中斷請(qǐng)求由外設(shè)和硬件產(chǎn)生,以便通常中斷請(qǐng)求由外設(shè)和

2、硬件產(chǎn)生,以便CPU實(shí)實(shí)現(xiàn)數(shù)據(jù)的傳送或接收。現(xiàn)數(shù)據(jù)的傳送或接收。(ADC,DAC等設(shè)備等設(shè)備)o中斷也可以作為特殊事件發(fā)生的標(biāo)志信號(hào)中斷也可以作為特殊事件發(fā)生的標(biāo)志信號(hào)o2.中斷分類:中斷分類:o可屏蔽中斷:可屏蔽中斷:可用軟件加以屏蔽或使能。是由可用軟件加以屏蔽或使能。是由外設(shè)產(chǎn)生的中斷外設(shè)產(chǎn)生的中斷o非屏蔽中斷:非屏蔽中斷:這些中斷不能夠被屏蔽。所有軟這些中斷不能夠被屏蔽。所有軟件觸發(fā)的中斷都屬于該類中斷件觸發(fā)的中斷都屬于該類中斷nCPU將立即響應(yīng)該種中斷并轉(zhuǎn)入相應(yīng)的子將立即響應(yīng)該種中斷并轉(zhuǎn)入相應(yīng)的子程序去執(zhí)行。程序去執(zhí)行。中斷的基本概念中斷的基本概念o3.中斷向量及中斷向量表中斷向量及中

3、斷向量表o(1)中斷向量)中斷向量:中斷服務(wù)程序的入口地址中斷服務(wù)程序的入口地址o(2)中斷向量號(hào):)中斷向量號(hào):中斷向量按一定順序中斷向量按一定順序0,1, 2, n,編排的序號(hào)稱為中斷向量號(hào)編排的序號(hào)稱為中斷向量號(hào)o(3)中斷向量表:)中斷向量表:按中斷向量號(hào)的順序把中斷按中斷向量號(hào)的順序把中斷向量仿真一塊連續(xù)的存儲(chǔ)器空間,這塊存儲(chǔ)器向量仿真一塊連續(xù)的存儲(chǔ)器空間,這塊存儲(chǔ)器空間稱為中斷向量表空間稱為中斷向量表o(4)中斷向量地址:)中斷向量地址:中斷向量所存放的存儲(chǔ)器中斷向量所存放的存儲(chǔ)器單元的地址稱為中斷向量地址單元的地址稱為中斷向量地址中斷的基本概念中斷的基本概念o4. 中斷的處理過程

4、:中斷的處理過程:o(1)接收中斷請(qǐng)求:)接收中斷請(qǐng)求:由軟件中斷由軟件中斷(從程序代碼從程序代碼中中)或者硬件中斷或者硬件中斷(從一個(gè)引腳或一個(gè)基于芯片從一個(gè)引腳或一個(gè)基于芯片的設(shè)備的設(shè)備)提出請(qǐng)求去暫停當(dāng)前主程序的執(zhí)行。提出請(qǐng)求去暫停當(dāng)前主程序的執(zhí)行。o(2)響應(yīng)中斷:)響應(yīng)中斷:如果中斷是可屏蔽的,如果中斷是可屏蔽的, CPU則必須滿足一定的條件,按照一定的順序去進(jìn)則必須滿足一定的條件,按照一定的順序去進(jìn)行測(cè)試。而對(duì)于非屏蔽硬件中斷和軟件中斷,行測(cè)試。而對(duì)于非屏蔽硬件中斷和軟件中斷,CPU會(huì)立即作出響應(yīng)。會(huì)立即作出響應(yīng)。中斷的基本概念中斷的基本概念o(3)準(zhǔn)備執(zhí)行中斷服務(wù)程序并保存寄存器

5、值。)準(zhǔn)備執(zhí)行中斷服務(wù)程序并保存寄存器值。n 完整地執(zhí)行完當(dāng)前指令,清除流水線中還完整地執(zhí)行完當(dāng)前指令,清除流水線中還沒有到達(dá)第二階段的所有指令。沒有到達(dá)第二階段的所有指令。n 將寄存器將寄存器ST0、T、AH、AL、PH、PL、AR0、ARl、DP、STl、DBGSTAT、PC和和IER寄存器的內(nèi)容保存到堆棧中,以便自動(dòng)寄存器的內(nèi)容保存到堆棧中,以便自動(dòng)保存主程序的大部分內(nèi)容(現(xiàn)場(chǎng)保護(hù))。保存主程序的大部分內(nèi)容(現(xiàn)場(chǎng)保護(hù))。n 取回中斷向量并把它放入程序寄存器取回中斷向量并把它放入程序寄存器PC中。中。中斷的基本概念中斷的基本概念o(4)執(zhí)行中斷服務(wù)子程序:)執(zhí)行中斷服務(wù)子程序:oCPU進(jìn)入

6、預(yù)先規(guī)定的中斷向量地址,并且執(zhí)行進(jìn)入預(yù)先規(guī)定的中斷向量地址,并且執(zhí)行已寫好的中斷服務(wù)程序。已寫好的中斷服務(wù)程序。中斷的基本概念中斷的基本概念o4.1 中斷向量和優(yōu)先級(jí)中斷向量和優(yōu)先級(jí)oC28x系列芯片支持系列芯片支持32個(gè)個(gè)中斷向量,包括復(fù)位向中斷向量,包括復(fù)位向量。每個(gè)中斷向量占量。每個(gè)中斷向量占2個(gè)存儲(chǔ)器單元,共個(gè)存儲(chǔ)器單元,共64個(gè)存?zhèn)€存儲(chǔ)單元。儲(chǔ)單元。o每個(gè)中斷向量是一個(gè)每個(gè)中斷向量是一個(gè)22位的地址,該地址是相位的地址,該地址是相應(yīng)中斷服務(wù)程序應(yīng)中斷服務(wù)程序ISR的入口地址。的入口地址。o每個(gè)向量被保存在兩個(gè)地址連續(xù)的存儲(chǔ)器單元每個(gè)向量被保存在兩個(gè)地址連續(xù)的存儲(chǔ)器單元中,每個(gè)存儲(chǔ)器單

7、元為中,每個(gè)存儲(chǔ)器單元為16位,兩個(gè)共位,兩個(gè)共32位。位。4.1 中斷向量和優(yōu)先級(jí)中斷向量和優(yōu)先級(jí)o低地址單元保存中斷向量的低地址單元保存中斷向量的低低16位位,高地址單,高地址單元?jiǎng)t保存它的高元?jiǎng)t保存它的高6位位。o當(dāng)一個(gè)中斷被確定后,其當(dāng)一個(gè)中斷被確定后,其22位的向量被取回,位的向量被取回,而地址的高而地址的高10位被忽略。位被忽略。4.1 中斷向量和優(yōu)先級(jí)中斷向量和優(yōu)先級(jí)中斷向量的高中斷向量的高6位位中斷向量的低中斷向量的低16位位高高10被忽略被忽略D15 D0D5 D0D15 D6高地址單元高地址單元低地址單元低地址單元22位中斷向量位中斷向量4.1 中斷向量和優(yōu)先級(jí)中斷向量和優(yōu)

8、先級(jí)o向量表可以映像到程序空間的底部或頂部,這向量表可以映像到程序空間的底部或頂部,這取決于狀態(tài)寄存器取決于狀態(tài)寄存器STl的向量映像位的向量映像位VMAP,o如果如果VMAP=0,向量就映像在以,向量就映像在以 000000H開始開始的地址上,的地址上,0000H0040H;o如果如果VMAP=1,向量就映像到以,向量就映像到以3FFFC0h開始開始的地址上的地址上,3F FFC0H3F FFFFH;。oVMAP位可以由位可以由SETC VMAP指令進(jìn)行置指令進(jìn)行置1,由,由CLRC VMAP指令清指令清0。VMAP的復(fù)位值是的復(fù)位值是1。向量向量硬件優(yōu)先級(jí)硬件優(yōu)先級(jí)說明說明高高低低最高最高

9、通通用用中中斷斷復(fù)位復(fù)位可屏蔽中斷可屏蔽中斷1向量向量硬件優(yōu)先級(jí)硬件優(yōu)先級(jí)說明說明最低最低可屏蔽數(shù)據(jù)日志中斷可屏蔽數(shù)據(jù)日志中斷可屏蔽實(shí)時(shí)操作系統(tǒng)中斷可屏蔽實(shí)時(shí)操作系統(tǒng)中斷非屏蔽中斷非屏蔽中斷非法指令陷阱非法指令陷阱用戶定義軟件中斷用戶定義軟件中斷4.2 可屏蔽中斷可屏蔽中斷oINTlINTl4 14個(gè)通用中斷個(gè)通用中斷o DLOGINT(數(shù)據(jù)標(biāo)志中斷數(shù)據(jù)標(biāo)志中斷)和和TOSINT(實(shí)實(shí)時(shí)操作系統(tǒng)中斷時(shí)操作系統(tǒng)中斷)是是為仿真而設(shè)計(jì)的中斷。為仿真而設(shè)計(jì)的中斷。o三個(gè)中斷寄存器:三個(gè)中斷寄存器:o 1. 中斷標(biāo)志寄存器中斷標(biāo)志寄存器IFRl6位寄存器位寄存器IFR包包含的標(biāo)志位,表明相應(yīng)中斷在等待

10、含的標(biāo)志位,表明相應(yīng)中斷在等待CPU的確認(rèn)。的確認(rèn)。o外部輸入線外部輸入線INTlINTl4在在CPU的每一個(gè)時(shí)鐘的每一個(gè)時(shí)鐘周期都被采樣。如果識(shí)別出一個(gè)中斷信號(hào),周期都被采樣。如果識(shí)別出一個(gè)中斷信號(hào),IFR相應(yīng)的位就被置位和鎖存。相應(yīng)的位就被置位和鎖存。o對(duì)于對(duì)于DLOGINT或或RTOSINT,CPU片內(nèi)分析邏片內(nèi)分析邏輯送來的信號(hào)使得相應(yīng)標(biāo)志位被設(shè)置和鎖存。輯送來的信號(hào)使得相應(yīng)標(biāo)志位被設(shè)置和鎖存。4.2 可屏蔽中斷可屏蔽中斷o2.中斷使能寄存器中斷使能寄存器IER包含的每一位對(duì)可屏包含的每一位對(duì)可屏蔽中斷進(jìn)行使能和關(guān)閉。要使能蔽中斷進(jìn)行使能和關(guān)閉。要使能IER的某一個(gè)的某一個(gè)中斷,可以將

11、中斷,可以將TER中的相應(yīng)位置中的相應(yīng)位置1.o 3. 調(diào)試中斷使能寄存器調(diào)試中斷使能寄存器DBGIER包含的每包含的每一位對(duì)可屏蔽中斷進(jìn)行使能和關(guān)閉。要使能一位對(duì)可屏蔽中斷進(jìn)行使能和關(guān)閉。要使能IER的某一個(gè)中斷,可以將的某一個(gè)中斷,可以將TER中的相應(yīng)位置中的相應(yīng)位置1.oDBGIER表明了當(dāng)表明了當(dāng)CPU處于實(shí)時(shí)仿真模式時(shí)哪處于實(shí)時(shí)仿真模式時(shí)哪一個(gè)中斷可以利用。一個(gè)中斷可以利用。 4.2 可屏蔽中斷可屏蔽中斷o可屏蔽中斷也利用狀態(tài)寄存器可屏蔽中斷也利用狀態(tài)寄存器STl的的D0位(位(P40),),即中斷全局屏蔽位即中斷全局屏蔽位INTM,進(jìn)行全局使能中斷和關(guān),進(jìn)行全局使能中斷和關(guān)閉中斷。

12、閉中斷。 o 當(dāng)當(dāng)INTM0時(shí),這些中斷全局使能;時(shí),這些中斷全局使能;o 當(dāng)當(dāng)INTM1時(shí),這些中斷全局關(guān)閉。時(shí),這些中斷全局關(guān)閉。o可以利用可以利用SETC INTM和和CLRC INTM指令對(duì)指令對(duì)INTM進(jìn)行置進(jìn)行置1和清和清0.4.2 可屏蔽中斷可屏蔽中斷o當(dāng)一個(gè)中斷標(biāo)志被鎖存在當(dāng)一個(gè)中斷標(biāo)志被鎖存在IFR中,直到中,直到IER、DBGIER和和INTM位被使能,否則相應(yīng)的中斷將位被使能,否則相應(yīng)的中斷將不再響應(yīng)。不再響應(yīng)。o使能可屏蔽中斷的條件如下:使能可屏蔽中斷的條件如下:中斷處理過程中斷處理過程使能可屏蔽中斷的條件使能可屏蔽中斷的條件標(biāo)準(zhǔn)標(biāo)準(zhǔn)INTM=0, IER中的相應(yīng)位是中

13、的相應(yīng)位是1DSP工作在實(shí)時(shí)仿真模式工作在實(shí)時(shí)仿真模式且且CPU停止停止IER和和DBGIER中的相應(yīng)位是中的相應(yīng)位是14.2 可屏蔽中斷可屏蔽中斷o4.2.1 中斷標(biāo)志寄存器中斷標(biāo)志寄存器o IFR(Interrupt Flag Register)o若一個(gè)可屏蔽中斷等待若一個(gè)可屏蔽中斷等待CPU響應(yīng),則響應(yīng),則IFR的相的相應(yīng)位自動(dòng)置應(yīng)位自動(dòng)置1,否則,否則IFR的相應(yīng)位是的相應(yīng)位是0.中斷標(biāo)志寄存器中斷標(biāo)志寄存器 (IFR)4.2 可屏蔽中斷可屏蔽中斷o為了識(shí)別未確認(rèn)中斷,可以利用指令為了識(shí)別未確認(rèn)中斷,可以利用指令PUSH IFR,然后測(cè)試堆棧的值。,然后測(cè)試堆棧的值。o 運(yùn)用運(yùn)用OR

14、IFR指令來設(shè)置指令來設(shè)置IFR各位為各位為1。o 利用指令利用指令A(yù)ND IFR可以對(duì)所有的未決中斷進(jìn)可以對(duì)所有的未決中斷進(jìn)行清行清0。4.2 可屏蔽中斷可屏蔽中斷o4.2.2. 中斷使能寄存器中斷使能寄存器IER(Interrup Enable Register)o若要使能中斷,需要把它的相應(yīng)位置若要使能中斷,需要把它的相應(yīng)位置1;o若要關(guān)閉中斷,應(yīng)該清除它的相應(yīng)位。若要關(guān)閉中斷,應(yīng)該清除它的相應(yīng)位。o可以使用指令可以使用指令MOV的兩種語法對(duì)寄存器的兩種語法對(duì)寄存器IER進(jìn)行讀和寫。進(jìn)行讀和寫。o OR IER指令可以用來設(shè)置指令可以用來設(shè)置IER各位為各位為1,o AND IER指令可

15、以用來清除指令可以用來清除IER位,使之為位,使之為 0。o注意:注意:當(dāng)執(zhí)行當(dāng)執(zhí)行AND IER和和OR IER指令時(shí),應(yīng)確保指令時(shí),應(yīng)確保它們不會(huì)修改狀態(tài)位它們不會(huì)修改狀態(tài)位D15(RTOSINT),除非當(dāng)前處,除非當(dāng)前處于實(shí)時(shí)操作系統(tǒng)模式。于實(shí)時(shí)操作系統(tǒng)模式。 4.2 可屏蔽中斷可屏蔽中斷中斷使能寄存器中斷使能寄存器 (IER)4.2 可屏蔽中斷可屏蔽中斷o調(diào)試中斷使能寄存器調(diào)試中斷使能寄存器DEBIER(Debug Interrup Enable Register)o當(dāng)當(dāng)CPU處于實(shí)時(shí)仿真模式下并暫停時(shí),才可以使用處于實(shí)時(shí)仿真模式下并暫停時(shí),才可以使用DBGIER。o可通過讀可通過讀D

16、BGIER來識(shí)別使能或關(guān)閉中斷,或通來識(shí)別使能或關(guān)閉中斷,或通過寫過寫DBGIER來使能或關(guān)閉中斷。來使能或關(guān)閉中斷。o用指令用指令PUSH DBGIER對(duì)對(duì)DBGIER進(jìn)行讀操作,進(jìn)行讀操作,o用指令用指令POP DBGIET對(duì)對(duì)DBGIER進(jìn)行寫操作。進(jìn)行寫操作。o在復(fù)位時(shí),在復(fù)位時(shí),DBGIER的所有位被清的所有位被清0。全局中斷使能全局中斷使能oINTM用來做全局的使能用來做全局的使能/禁止中斷禁止中斷:n使能使能: INTM = 0n禁止禁止: INTM = 1 (reset value)oINTM只能被匯編語言修改只能被匯編語言修改:可屏蔽中斷處理過程可屏蔽中斷處理過程4.2.3

17、可屏蔽中斷的標(biāo)準(zhǔn)操作可屏蔽中斷的標(biāo)準(zhǔn)操作o1. 向向CPU發(fā)出中斷請(qǐng)求。發(fā)出中斷請(qǐng)求。o2設(shè)置相應(yīng)的設(shè)置相應(yīng)的IFR標(biāo)志位。標(biāo)志位。o3當(dāng)當(dāng) IER中的相應(yīng)位是中的相應(yīng)位是1;STl中的中的INTM位是位是0,確認(rèn),確認(rèn)中斷;中斷;一旦一個(gè)中斷被使能并且被一旦一個(gè)中斷被使能并且被CPU確認(rèn),則其他確認(rèn),則其他的中斷就不能得到響應(yīng)直到的中斷就不能得到響應(yīng)直到CPU開始執(zhí)行中斷服務(wù)程開始執(zhí)行中斷服務(wù)程序,即中斷響應(yīng)的步驟序,即中斷響應(yīng)的步驟13。o4清除相應(yīng)的清除相應(yīng)的IFR位。位。o5清空流水線。清空流水線。4.2 可屏蔽中斷可屏蔽中斷o6增加和臨時(shí)存儲(chǔ)增加和臨時(shí)存儲(chǔ)PC。o7取回中斷向量。取回

18、中斷向量。o8SP增增1。o9執(zhí)行自動(dòng)上下文存儲(chǔ)。執(zhí)行自動(dòng)上下文存儲(chǔ)。o10清除相應(yīng)的清除相應(yīng)的IER位。位。o11設(shè)置設(shè)置INTM和和DBGM,清除,清除LOOP、 EALLOW和和IDLESTAT。o12取回向量賦值給取回向量賦值給PC。o13執(zhí)行中斷服務(wù)程序。執(zhí)行中斷服務(wù)程序。o14繼續(xù)執(zhí)行程序繼續(xù)執(zhí)行程序。 向向CPU發(fā)出中斷請(qǐng)求發(fā)出中斷請(qǐng)求設(shè)置相應(yīng)的設(shè)置相應(yīng)的IFR標(biāo)志位標(biāo)志位IER的中斷使能否的中斷使能否?通過通過INTM使能否使能否?清除相應(yīng)的清除相應(yīng)的IFR標(biāo)志位標(biāo)志位清空流水線清空流水線增加并暫存增加并暫存PC值值取中斷向量取中斷向量SP值增加值增加1自動(dòng)保護(hù)現(xiàn)場(chǎng)自動(dòng)保護(hù)現(xiàn)場(chǎng)

19、清除相應(yīng)的清除相應(yīng)的IER位位置位置位INTM和和DBGM,清除,清除LOOP/EALLOW和和IDLESTAT用取回的向量值裝入用取回的向量值裝入PC執(zhí)行中斷服務(wù)程序執(zhí)行中斷服務(wù)程序返回主程序返回主程序該過程受到中斷保護(hù)該過程受到中斷保護(hù)4.3 非屏蔽中斷非屏蔽中斷 o非屏蔽中斷不能被任何使能位禁止。非屏蔽中斷不能被任何使能位禁止。o當(dāng)有非屏蔽中斷請(qǐng)求時(shí),當(dāng)有非屏蔽中斷請(qǐng)求時(shí),CPU必須立即響應(yīng),必須立即響應(yīng),并執(zhí)行相應(yīng)的中斷服務(wù)程序。并執(zhí)行相應(yīng)的中斷服務(wù)程序。o例外,當(dāng)例外,當(dāng)CPU處于實(shí)時(shí)仿真模式且被暫停時(shí),處于實(shí)時(shí)仿真模式且被暫停時(shí),不響應(yīng)任何正常中斷。不響應(yīng)任何正常中斷。o非屏蔽中斷

20、包括:非屏蔽中斷包括:o(1)軟中斷:)軟中斷:INTR和和TRAP指令指令o(2)硬件中斷:)硬件中斷:o(3) 非法指令陷阱非法指令陷阱o(4)硬件復(fù)位中斷)硬件復(fù)位中斷NMIRS4.3 非屏蔽中斷非屏蔽中斷 4.3.1 INTR指令指令o可以通過可以通過INTR指令對(duì)中斷指令對(duì)中斷INTlINTl4、DLOGINT、RTOSINT和和NMI進(jìn)行初始化。進(jìn)行初始化。o1. INTlINTl4、DLOGINT和和RTOSINT。o這些可屏蔽中斷在這些可屏蔽中斷在IFR中有相應(yīng)的標(biāo)志位,當(dāng)中有相應(yīng)的標(biāo)志位,當(dāng)外部引腳接收到一個(gè)中斷請(qǐng)求時(shí),相應(yīng)的外部引腳接收到一個(gè)中斷請(qǐng)求時(shí),相應(yīng)的IFR位置位置

21、1,則這個(gè)中斷必須使能。,則這個(gè)中斷必須使能。o當(dāng)這些中斷之一由當(dāng)這些中斷之一由INTR指令使能時(shí),相應(yīng)的指令使能時(shí),相應(yīng)的IFR位并不會(huì)被置位并不會(huì)被置1,而中斷仍將被響應(yīng)和服務(wù),而中斷仍將被響應(yīng)和服務(wù),并且與任何使能位的值無關(guān)。并且與任何使能位的值無關(guān)。o2. NMI是一個(gè)非屏蔽中斷,引腳上的硬件是一個(gè)非屏蔽中斷,引腳上的硬件請(qǐng)求和用請(qǐng)求和用INTR指令引起的軟件請(qǐng)求都會(huì)導(dǎo)致同指令引起的軟件請(qǐng)求都會(huì)導(dǎo)致同樣的事件發(fā)生。樣的事件發(fā)生。o這些事件與執(zhí)行這些事件與執(zhí)行TRAP指令時(shí)所發(fā)生的事件相指令時(shí)所發(fā)生的事件相同。同。4.3.1 INTR指令指令4.3.2 TRAP指令指令oTRAP指令可初

22、始化任何中斷,包括用戶定義指令可初始化任何中斷,包括用戶定義的軟件中斷。的軟件中斷。oTRAP指令可以操作指令可以操作32個(gè)個(gè)CPU級(jí)中斷中的任何級(jí)中斷中的任何一個(gè)。一個(gè)。o例如:可以利用例如:可以利用TRAP #1指令執(zhí)行指令執(zhí)行INT1的中斷的中斷服務(wù)程序。服務(wù)程序。oTRAP指令不受指令不受IFR和和IER中各位的影響,也不中各位的影響,也不影響它們中的任何位。影響它們中的任何位。TRAP指令對(duì)中斷進(jìn)行初始化的流程圖指令對(duì)中斷進(jìn)行初始化的流程圖取回取回TRAP指令指令清空流水線清空流水線PC增增1并暫存并暫存PC值值取回中斷向量取回中斷向量SP增增1自動(dòng)現(xiàn)場(chǎng)保護(hù)自動(dòng)現(xiàn)場(chǎng)保護(hù)設(shè)置設(shè)置INT

23、M和和DBGM,清除,清除LOOP、EALLOW和和IDLESTAT用取回的向量裝載用取回的向量裝載PC執(zhí)行中斷服務(wù)程序執(zhí)行中斷服務(wù)程序返回主程序返回主程序該過程受到中斷保護(hù)該過程受到中斷保護(hù)4.3.3 非屏蔽硬件中斷非屏蔽硬件中斷o通過通過NMI引腳輸入可以進(jìn)行不可屏蔽硬件中斷引腳輸入可以進(jìn)行不可屏蔽硬件中斷請(qǐng)求,低電平有效。請(qǐng)求,低電平有效。oCPU一旦在一旦在NMI引腳上檢測(cè)到一個(gè)有效請(qǐng)求,引腳上檢測(cè)到一個(gè)有效請(qǐng)求,就將按就將按TRAP指令中所示的方式來處理。指令中所示的方式來處理。o需要說明的是:盡管需要說明的是:盡管NMI不可以被屏蔽,但有不可以被屏蔽,但有一些調(diào)試執(zhí)行狀態(tài)是一些調(diào)試

24、執(zhí)行狀態(tài)是NMI所不能服務(wù)的。所不能服務(wù)的。4.4非法指令陷阱非法指令陷阱o以下以下3中情況中的任一種都會(huì)造成非法指令陷阱。中情況中的任一種都會(huì)造成非法指令陷阱。o(1)無效的指令被譯碼無效的指令被譯碼o(2)操作碼操作碼0000h被譯碼,對(duì)應(yīng)于指令被譯碼,對(duì)應(yīng)于指令I(lǐng)TRAP0o(3)操作碼操作碼FFFFh被譯碼,對(duì)應(yīng)于指令被譯碼,對(duì)應(yīng)于指令I(lǐng)TRAP1o非法指令陷阱不能被禁止,即使在仿真過程中非法指令陷阱不能被禁止,即使在仿真過程中也不能。一旦被使能,則非法指令陷阱的中斷也不能。一旦被使能,則非法指令陷阱的中斷操作就像操作就像TRAP指令一樣。指令一樣。4.5 硬件復(fù)位中斷硬件復(fù)位中斷RS

25、o復(fù)位(復(fù)位(RS=0)是優(yōu)先級(jí)最高的中斷,為非屏蔽)是優(yōu)先級(jí)最高的中斷,為非屏蔽外部中斷外部中斷o復(fù)位通常在電源打開之后被啟動(dòng)復(fù)位通常在電源打開之后被啟動(dòng)o每次復(fù)位之后必須重新初始化系統(tǒng)每次復(fù)位之后必須重新初始化系統(tǒng)o作為硬件復(fù)位的一部分,所有當(dāng)前操作均被放作為硬件復(fù)位的一部分,所有當(dāng)前操作均被放棄,流水線被清除棄,流水線被清除o復(fù)位后復(fù)位后CPU的寄存器按表的寄存器按表4-5-1所示進(jìn)行復(fù)位,所示進(jìn)行復(fù)位,然后然后RESET中斷向量被取回,從而執(zhí)行相應(yīng)的中斷向量被取回,從而執(zhí)行相應(yīng)的中斷服務(wù)程序。中斷服務(wù)程序。DP指向數(shù)據(jù)頁指向數(shù)據(jù)頁0沒有未響應(yīng)的中斷,所沒有未響應(yīng)的中斷,所有中斷在復(fù)位時(shí)

26、均被清有中斷在復(fù)位時(shí)均被清0在在IER寄存器中可屏蔽中寄存器中可屏蔽中斷被關(guān)閉斷被關(guān)閉在在DBGIER寄存器中可寄存器中可屏蔽中斷被關(guān)閉屏蔽中斷被關(guān)閉PC指針由地址指針由地址00 0000H或或3F FFC0H的復(fù)位中斷的復(fù)位中斷向量賦值向量賦值SP指針指向地址指針指向地址0400H禁止符號(hào)位擴(kuò)展禁止符號(hào)位擴(kuò)展關(guān)閉溢出模式關(guān)閉溢出模式乘積移位模式被設(shè)置為左乘積移位模式被設(shè)置為左移移1位位4.6 低功耗模式低功耗模式o低功耗模式可使芯片核心部分進(jìn)入休眠狀態(tài),低功耗模式可使芯片核心部分進(jìn)入休眠狀態(tài),耗散更少的功率。有三種模式:耗散更少的功率。有三種模式:o1. IDLE模式:模式:o任何被使能的中

27、斷或任何被使能的中斷或NMI中斷都可以使處理器中斷都可以使處理器退出退出IDLE模式。在這種模式下,如果低功耗模模式。在這種模式下,如果低功耗模塊控制寄存器塊控制寄存器LPMCRD1:D0位都設(shè)置成零,位都設(shè)置成零,LPM(Low-Power modes)模塊將不完成任何)模塊將不完成任何工作。工作。o2. HALT模式:模式:只有復(fù)位信號(hào)只有復(fù)位信號(hào)XRS和和XNMI_XINT13外部信號(hào)能夠喚醒器件,使其外部信號(hào)能夠喚醒器件,使其退出退出HALT模式。在模式。在XMNICR寄存器中,寄存器中,CPU有一位使能有一位使能/禁止禁止XNMI 。o3. STANDBY模式:模式:如果在如果在LP

28、MCR1寄存器中寄存器中被選中,所有信號(hào)被選中,所有信號(hào)(包括包括XNMI)都能夠?qū)⑻幚砥鞫寄軌驅(qū)⑻幚砥鲝膹腟TANDBY模式喚醒,用戶必須選擇具體哪模式喚醒,用戶必須選擇具體哪個(gè)信號(hào)喚醒處理器。在喚醒處理器之前,要通個(gè)信號(hào)喚醒處理器。在喚醒處理器之前,要通過過OSCCLK確認(rèn)被選定的信號(hào):確認(rèn)被選定的信號(hào):OSCCLK的周的周期數(shù)在期數(shù)在LPMCR0寄存器當(dāng)中確定。寄存器當(dāng)中確定。4.6 低功耗模式低功耗模式o低功耗模式寄存器低功耗模式寄存器o低功耗模式通過低功耗模式通過LPMCR0和和LPMCR1兩個(gè)寄存兩個(gè)寄存器來控制器來控制低功耗方式控制低功耗方式控制0寄存器寄存器LPMCR0 保留保

29、留 D15 D1 D0QUAL STDBYLPM R-0 R/W-1 R/W-04.6 低功耗模式低功耗模式確定從低功耗模式喚醒到正常工確定從低功耗模式喚醒到正常工作模式的時(shí)鐘周期個(gè)數(shù)作模式的時(shí)鐘周期個(gè)數(shù)00000:2個(gè)個(gè)OSCCLKS00001:3個(gè)個(gè)OSCCLKS11111: 65個(gè)個(gè)OSCCLKS設(shè)置低功耗模式設(shè)置低功耗模式00:IDLE模式模式01:STANDBY模式模式1x:HALT模式模式CANRX D15 D14 D13 D12 D11 D10 D9 D8SCIRXA C6TRIPC5TRIPC4TRIPC3TRIPC2TRIPSCIRXBC1TRIP D7 D6 D5 D4 D

30、3 D2 D1 D0T3CTRIPT2CTRIPT1CTRIPWDINT XNMI XINT1T4CTRIP低功耗方式控制低功耗方式控制1寄存器寄存器LPMCR14.6 低功耗模式低功耗模式如果相應(yīng)的控制位設(shè)置為如果相應(yīng)的控制位設(shè)置為1,則使能對(duì)應(yīng)的信號(hào),將器,則使能對(duì)應(yīng)的信號(hào),將器件從低功耗模式喚醒,進(jìn)入正常工作模式;件從低功耗模式喚醒,進(jìn)入正常工作模式;如果設(shè)置為如果設(shè)置為0,則相應(yīng)的信號(hào)沒有影響。,則相應(yīng)的信號(hào)沒有影響。4.7 外設(shè)中斷擴(kuò)展模塊外設(shè)中斷擴(kuò)展模塊PIE( Peripheral Interrupt Expansion block )o外設(shè)中斷擴(kuò)展模塊外設(shè)中斷擴(kuò)展模塊PIE把許

31、多中斷源多路復(fù)用把許多中斷源多路復(fù)用成一個(gè)較小的中斷輸入集,使成一個(gè)較小的中斷輸入集,使F2812能夠管理能夠管理更多的中斷。更多的中斷。o功能:功能:PIE模塊支持模塊支持96個(gè)不同的中斷,這些中個(gè)不同的中斷,這些中斷分成斷分成12個(gè)組,每個(gè)組有個(gè)組,每個(gè)組有8個(gè)中斷,每個(gè)組都被個(gè)中斷,每個(gè)組都被反饋到反饋到CPU內(nèi)核的內(nèi)核的12條中斷線條中斷線(1NTlINTl2)的的一條上。一條上。o這這96個(gè)中斷中的每一個(gè)都得到了各自向量的支個(gè)中斷中的每一個(gè)都得到了各自向量的支持,這些向量被保存在專用持,這些向量被保存在專用RAM塊中并可以進(jìn)塊中并可以進(jìn)行修改。行修改。在在PIE模塊中可對(duì)每個(gè)中斷分別

32、使能模塊中可對(duì)每個(gè)中斷分別使能或者使之無效?;蛘呤怪疅o效。 4.7.1 PIE控制器概述控制器概述oCPU支持支持17個(gè)個(gè)CPU級(jí)硬件中斷,包括級(jí)硬件中斷,包括1個(gè)個(gè)NMI和和16(INT1INT14,PTOSINT, DLOGINT)個(gè))個(gè)可屏蔽中斷請(qǐng)求??善帘沃袛嗾?qǐng)求。oF2812有許多個(gè)外設(shè),每個(gè)外設(shè)都可以產(chǎn)生一有許多個(gè)外設(shè),每個(gè)外設(shè)都可以產(chǎn)生一個(gè)或多個(gè)外設(shè)級(jí)中斷請(qǐng)求。在個(gè)或多個(gè)外設(shè)級(jí)中斷請(qǐng)求。在CPU沒有足夠能沒有足夠能力去處理所有外設(shè)的中斷請(qǐng)求,所以需要一個(gè)力去處理所有外設(shè)的中斷請(qǐng)求,所以需要一個(gè)集中的外設(shè)集中的外設(shè)中斷控制器中斷控制器PIE,來對(duì)各種中斷源,來對(duì)各種中斷源的請(qǐng)求進(jìn)行

33、管理和仲裁。的請(qǐng)求進(jìn)行管理和仲裁。o所有多路復(fù)用所有多路復(fù)用(MUXed)中斷和非多路復(fù)用中斷和非多路復(fù)用(nonMUXed)中斷中的每個(gè)中斷都有一個(gè)向量。中斷中的每個(gè)中斷都有一個(gè)向量。非多路復(fù)用中斷源由非多路復(fù)用中斷源由CPU直接提供。直接提供。oPIE向量向量(vector)表用來存儲(chǔ)系統(tǒng)的各個(gè)中斷服表用來存儲(chǔ)系統(tǒng)的各個(gè)中斷服務(wù)子程序務(wù)子程序ISR的地址。的地址。o在器件配置期間,用戶要使用向量表并在操作在器件配置期間,用戶要使用向量表并在操作期間去修改它。期間去修改它。4.7.1 PIE控制器概述控制器概述o1.外設(shè)級(jí)中斷:外設(shè)級(jí)中斷:o某個(gè)外設(shè)產(chǎn)生中斷時(shí),與該事件相關(guān)的中斷標(biāo)某個(gè)外設(shè)產(chǎn)

34、生中斷時(shí),與該事件相關(guān)的中斷標(biāo)志志(IF)位會(huì)在這個(gè)外設(shè)的寄存器中置為位會(huì)在這個(gè)外設(shè)的寄存器中置為1。如果。如果相應(yīng)的中斷使能相應(yīng)的中斷使能(IE)位已經(jīng)置位,則外設(shè)向位已經(jīng)置位,則外設(shè)向PIE控制器產(chǎn)生一個(gè)中斷請(qǐng)求??刂破鳟a(chǎn)生一個(gè)中斷請(qǐng)求。o如果該中斷在外設(shè)級(jí)使能無效,則相應(yīng)的如果該中斷在外設(shè)級(jí)使能無效,則相應(yīng)的IF位位會(huì)一直保持直到用軟件清除它為止。如果在以會(huì)一直保持直到用軟件清除它為止。如果在以后使能該中斷,且中斷標(biāo)志仍然置位,那么就后使能該中斷,且中斷標(biāo)志仍然置位,那么就會(huì)向會(huì)向PIE發(fā)出一個(gè)中斷請(qǐng)求。發(fā)出一個(gè)中斷請(qǐng)求。o外設(shè)寄存器中的中斷標(biāo)志必須采用軟件清除。外設(shè)寄存器中的中斷標(biāo)志必

35、須采用軟件清除。4.7.1 PIE控制器概述控制器概述o2. PIE級(jí)中斷:級(jí)中斷:oPIE塊復(fù)用了塊復(fù)用了8個(gè)外設(shè)和外部引腳的中斷進(jìn)入個(gè)外設(shè)和外部引腳的中斷進(jìn)入1個(gè)個(gè)CPU中斷。中斷。o這些中斷被劃分為這些中斷被劃分為12個(gè)組:個(gè)組:PIE組組1PIE組組12,1個(gè)組中的中斷被多路復(fù)用進(jìn)入個(gè)組中的中斷被多路復(fù)用進(jìn)入1個(gè)個(gè)CPU中斷。中斷。o例如,例如,PIE組組1被多路復(fù)用進(jìn)入被多路復(fù)用進(jìn)入CPU中斷中斷INTl,而而PIE組組12被多路復(fù)用進(jìn)入被多路復(fù)用進(jìn)入CPU中斷中斷INTl2。4.7.1 PIE控制器概述控制器概述o與與CPU剩余的中斷相連接的中斷源不是多路復(fù)剩余的中斷相連接的中斷源

36、不是多路復(fù)用的用的o對(duì)于非多路復(fù)用的中斷而言,對(duì)于非多路復(fù)用的中斷而言,PIE直接向直接向CPU傳送中斷請(qǐng)求。傳送中斷請(qǐng)求。o對(duì)于多路復(fù)用的中斷源,對(duì)于多路復(fù)用的中斷源,PIE塊中的每個(gè)中斷塊中的每個(gè)中斷組都有一個(gè)相關(guān)標(biāo)志位組都有一個(gè)相關(guān)標(biāo)志位PIEIFRx.y和使能位和使能位PIEIERx.y。o另外,每個(gè)中斷組另外,每個(gè)中斷組(1NT1INTl2)都有一個(gè)應(yīng)都有一個(gè)應(yīng)答位答位PIEACKx。4.7.1 PIE控制器概述控制器概述o3. CPU級(jí)中斷:級(jí)中斷:o一旦某個(gè)中斷請(qǐng)求被送往一旦某個(gè)中斷請(qǐng)求被送往CPU,CPU級(jí)中與級(jí)中與INTx相關(guān)的中斷標(biāo)志相關(guān)的中斷標(biāo)志(IFR)位就被置位。位就

37、被置位。o該標(biāo)志位被鎖存在該標(biāo)志位被鎖存在IFR后,后,CPU不會(huì)馬上就去不會(huì)馬上就去執(zhí)行相應(yīng)的中斷,而是等待執(zhí)行相應(yīng)的中斷,而是等待CPU使能使能IER寄存寄存器,或者使能器,或者使能DBGIER寄存器,并對(duì)全局中斷寄存器,并對(duì)全局中斷屏蔽位屏蔽位INTM進(jìn)行適當(dāng)?shù)氖鼓?。進(jìn)行適當(dāng)?shù)氖鼓堋?.7.1 PIE控制器概述控制器概述來自外設(shè)來自外設(shè)或外部中斷或外部中斷INT2.4=1INT2.4=1INT2使用使用PIE控制器的復(fù)用中斷控制器的復(fù)用中斷IFR寄存器寄存器INT2=0IER寄存器寄存器INT2=1ST1寄存器寄存器INTM=0CPU級(jí)中斷級(jí)中斷PIE級(jí)中斷級(jí)中斷XINT1XINT2XI

38、NT13外設(shè)級(jí)中斷外設(shè)級(jí)中斷開始開始PIEIFRX.Y=1?PIEIERX.Y=1?IERX.=1?PIEACKX.=0?硬件置位硬件置位PIEACKX=1中斷請(qǐng)求發(fā)送到中斷請(qǐng)求發(fā)送到CPU的的INTxIFRX位置位置1INTMX.=1?CPU響應(yīng)響應(yīng)IFRx=0,IERx=0INTM=1,EALLOW=0完成中斷現(xiàn)場(chǎng)保護(hù)完成中斷現(xiàn)場(chǎng)保護(hù)從從PIE獲取中斷向量獲取中斷向量執(zhí)行中斷程序執(zhí)行中斷程序結(jié)束結(jié)束4.7.2 向量表映射向量表映射o在在C28x芯片上,中斷向量表可以映射到存儲(chǔ)器芯片上,中斷向量表可以映射到存儲(chǔ)器的五個(gè)不同存儲(chǔ)器空間。實(shí)際上,的五個(gè)不同存儲(chǔ)器空間。實(shí)際上,F(xiàn)2812芯片芯片只

39、使用了只使用了PIE向量表映像。向量表映像。o向量映像由下述方式位向量映像由下述方式位/信號(hào)控制。信號(hào)控制。o1VMAP:該位是狀態(tài)寄存器該位是狀態(tài)寄存器STl(P40)的)的D3位。芯片復(fù)位將把該位置位。芯片復(fù)位將把該位置1。通過寫。通過寫STl或執(zhí)或執(zhí)行行SETCCLRC VMAP指令可以修改該位的指令可以修改該位的狀態(tài)。對(duì)于正常的狀態(tài)。對(duì)于正常的F2812操作,可把該位設(shè)置操作,可把該位設(shè)置為為1。o2M0MlMAP:該位是狀態(tài)寄存器該位是狀態(tài)寄存器ST1的的D11位。芯片復(fù)位將把該位置位。芯片復(fù)位將把該位置1。通過寫。通過寫STl或執(zhí)行或執(zhí)行SETC/CLRC M0MlMAP指令可以修

40、改該位的指令可以修改該位的狀態(tài)。狀態(tài)。o對(duì)于正常的對(duì)于正常的F2812操作,該位應(yīng)該保持為操作,該位應(yīng)該保持為1。M0MlMAP=0保留,僅用于保留,僅用于TI測(cè)試。測(cè)試。4.7.2 向量表映射向量表映射o3MP/MC:該位是該位是XINTCNF2寄存器(寄存器(P70)的的D8位。在有外部接口位。在有外部接口(XINTF)的芯片上,復(fù)的芯片上,復(fù)位時(shí),該位的默認(rèn)值由位時(shí),該位的默認(rèn)值由XMP/MC輸入信號(hào)設(shè)置。輸入信號(hào)設(shè)置。在沒有在沒有XINTF的芯片上,在內(nèi)部將的芯片上,在內(nèi)部將XMP/MC拉拉為低電平。為低電平。o復(fù)位后,通過寫復(fù)位后,通過寫XINTCNF2寄存器寄存器(地址:地址:0

41、x0000 0B34),可以修改該位狀態(tài)。,可以修改該位狀態(tài)。4.7.2 向量表映射向量表映射o4ENPIE:該位是寄存器該位是寄存器PIECTRL(P115)的的D0位。復(fù)位時(shí)該位的默認(rèn)值設(shè)為位。復(fù)位時(shí)該位的默認(rèn)值設(shè)為0(PIE無效無效)。復(fù)位后,通過寫復(fù)位后,通過寫PIECTRL寄存器寄存器(地址:地址:0 x0000 0CE0),可以修改該位狀態(tài)。,可以修改該位狀態(tài)。 4.7.2 向量表映射向量表映射4.7.2 向量表映射向量表映射中斷向量表映射中斷向量表映射向量映射向量映射取向量值取向量值地址范圍地址范圍oM1和和M0向量表映像僅留作向量表映像僅留作TI測(cè)試之用,當(dāng)使測(cè)試之用,當(dāng)使用其

42、他向量映像時(shí),用其他向量映像時(shí),M0和和M1存儲(chǔ)器用作存儲(chǔ)器用作RAM塊,可以自由使用,沒有限制。塊,可以自由使用,沒有限制。o芯片復(fù)位后,向量表映像如下表所示芯片復(fù)位后,向量表映像如下表所示。向量映射向量映射取向量值取向量值地址范圍地址范圍4.7.2 向量表映射向量表映射o在復(fù)位和程序引導(dǎo)完成之后,應(yīng)該由用戶對(duì)在復(fù)位和程序引導(dǎo)完成之后,應(yīng)該由用戶對(duì)PIE向量表進(jìn)行代碼初始化,然后,由應(yīng)用程向量表進(jìn)行代碼初始化,然后,由應(yīng)用程序使能序使能PIE向量表,從向量表,從PIE向量表所指出的位置向量表所指出的位置上取回中斷向量。上取回中斷向量。4.7.2 向量表映射向量表映射4.7.3 中斷源中斷源o

43、發(fā)出中斷請(qǐng)求的模塊或片內(nèi)外設(shè),稱作中斷源。發(fā)出中斷請(qǐng)求的模塊或片內(nèi)外設(shè),稱作中斷源。oF2812三級(jí)中斷包括:三級(jí)中斷包括:oF2812可以提供可以提供96個(gè)個(gè)PIE級(jí)中斷級(jí)中斷n41個(gè)片內(nèi)外設(shè)模塊中斷個(gè)片內(nèi)外設(shè)模塊中斷n2個(gè)外部中斷個(gè)外部中斷XINT1和和XINT2n1個(gè)看門狗和低功耗模式復(fù)用的中斷個(gè)看門狗和低功耗模式復(fù)用的中斷WAKEINTn1個(gè)用于個(gè)用于CPU定時(shí)器定時(shí)器0的中斷的中斷TINT0n51個(gè)沒有定義的中斷個(gè)沒有定義的中斷n2個(gè)個(gè)CPU中斷中斷INT13和和INT14n1個(gè)非屏蔽中斷個(gè)非屏蔽中斷NMI4.7.3 中斷源中斷源C28X 中斷源中斷源PIE向量表向量表oPIE模塊相

44、連的外設(shè)及外部中斷組如下表模塊相連的外設(shè)及外部中斷組如下表(P114)。)。o表中的每一行表示表中的每一行表示8個(gè)中斷復(fù)用為一個(gè)特定的個(gè)中斷復(fù)用為一個(gè)特定的CPU中斷中斷F2812/10 PIE Interrupt Assignment TablePIE向量表向量表oPIE向量表由向量表由25616位的位的SARAM快組成??旖M成。oCPU對(duì)對(duì)INT1INT12的優(yōu)先級(jí)進(jìn)行定位。的優(yōu)先級(jí)進(jìn)行定位。oINT1的優(yōu)先級(jí)最高,的優(yōu)先級(jí)最高,INT12的優(yōu)先級(jí)最低的優(yōu)先級(jí)最低oPIE每組中每組中INTx.1的優(yōu)先級(jí)最高,的優(yōu)先級(jí)最高, INTx.8的優(yōu)的優(yōu)先級(jí)最低。先級(jí)最低。oPIE向量表見向量表見P

45、110.4.7.4 PIE配置和控制寄存器配置和控制寄存器名稱名稱地址地址占用空間占用空間描述描述PIECTRL0 x0000 0CE01PIE控制寄存器控制寄存器PIEACK0 x0000 0CE11PIE應(yīng)答寄存器應(yīng)答寄存器PIEIERxX=1,2,120 x0000 0CE2 0CF8(偶數(shù)偶數(shù))1PIE,INTx組使能寄存器組使能寄存器PIEIFRx0 x0000 0CE3 0CF9(奇數(shù)奇數(shù))1PIE,INTx組標(biāo)志寄存器組標(biāo)志寄存器保留保留x0000 0CFAx0000 0CFF6保留保留o1. PIE控制寄存器(控制寄存器(PIECTRL)指示從指示從PIE向量表中取出的中斷向量

46、地址。向量表中取出的中斷向量地址。當(dāng)當(dāng)PIECTRL=0 x0D27(去掉最低位)(去掉最低位),則來自則來自地址地址0 x0D26的中斷向量被取出。的中斷向量被取出。當(dāng)當(dāng)ENPIE=1,向量取自向量取自PIE向量表。向量表。當(dāng)當(dāng)ENPIE=0,向量取自向量取自Boot ROM的的CPU向量向量表或表或XINTF Zone74.7.4 PIE配置和控制寄存器配置和控制寄存器o2. PIE中斷應(yīng)答寄存器中斷應(yīng)答寄存器PIEACK ( )reservedD11-D0位對(duì)應(yīng)位對(duì)應(yīng)INT12-INT1如果某組中斷里有一個(gè)中斷未被處理,則向相應(yīng)的中斷位如果某組中斷里有一個(gè)中斷未被處理,則向相應(yīng)的中斷位寫

47、寫1讀取該寄存器的值,可以顯示各讀取該寄存器的值,可以顯示各PIE組中是否有未被處理的中斷組中是否有未被處理的中斷4.7.4 PIE配置和控制寄存器配置和控制寄存器o3. PIE中斷標(biāo)志寄存器中斷標(biāo)志寄存器PIEIFRx ( )oPIE中有中有12個(gè)中斷標(biāo)志寄存器,分別對(duì)應(yīng)個(gè)中斷標(biāo)志寄存器,分別對(duì)應(yīng)INT1INT12.reservedINTx8 INTx1=1,相應(yīng)的中斷被激活,相應(yīng)的中斷被激活當(dāng)某個(gè)中斷被響應(yīng)后,當(dāng)某個(gè)中斷被響應(yīng)后, INTx8 INTx1=04.7.4 PIE配置和控制寄存器配置和控制寄存器o4.PIE中斷使能寄存器中斷使能寄存器PIEIERx( )oPIE中有中有12個(gè)中

48、斷使能寄存器,分別對(duì)應(yīng)個(gè)中斷使能寄存器,分別對(duì)應(yīng)INT1INT12.reservedINTx8 INTx1=1,使能相應(yīng)的中斷,使能相應(yīng)的中斷INTx8 INTx1=0,禁止相應(yīng)的中斷,禁止相應(yīng)的中斷4.7.4 PIE配置和控制寄存器配置和控制寄存器4.7.5 外部中斷控制寄存器組外部中斷控制寄存器組oF2812支持支持3個(gè)外部可屏蔽中斷個(gè)外部可屏蔽中斷XINT1、 XINT2、 XINT13oXINT13和不可屏蔽中斷和不可屏蔽中斷XNMI復(fù)用。復(fù)用。o外部中斷可以選擇外部中斷可以選擇下降沿下降沿或或上升沿上升沿觸發(fā),還可以觸發(fā),還可以使能或禁止(包括使能或禁止(包括XNMI)。)。o可屏蔽

49、中斷包含一個(gè)可屏蔽中斷包含一個(gè)16位自由運(yùn)行的遞增計(jì)數(shù)器,位自由運(yùn)行的遞增計(jì)數(shù)器,當(dāng)一個(gè)有效的中斷邊沿被檢查到時(shí),計(jì)數(shù)器被清當(dāng)一個(gè)有效的中斷邊沿被檢查到時(shí),計(jì)數(shù)器被清0.o計(jì)數(shù)器的作用是給中斷提供一個(gè)精確的時(shí)間標(biāo)記計(jì)數(shù)器的作用是給中斷提供一個(gè)精確的時(shí)間標(biāo)記oExternal Interrupt RegistersXINT1控制寄存器控制寄存器XINT2控制寄存器控制寄存器XINT1計(jì)數(shù)寄存器計(jì)數(shù)寄存器XINT2計(jì)數(shù)寄存器計(jì)數(shù)寄存器XNMI控制寄存器控制寄存器XNMI計(jì)數(shù)寄存器計(jì)數(shù)寄存器4.7.5 外部中斷控制寄存器組外部中斷控制寄存器組o1. 外部中斷外部中斷1/2控制寄存器控制寄存器(XIN

50、T1CR/XINT1CR2)ReservedPolarityReservedEnableD15 . D3 D2 D1 D0 R-0 R/W-0 R/W-0 R/W-00 0 禁止中斷禁止中斷1 1 使能中斷使能中斷 0 0 下降沿觸發(fā)下降沿觸發(fā)1 1 上升沿觸發(fā)上升沿觸發(fā) 保留保留 保留保留 4.7.5 外部中斷控制寄存器組外部中斷控制寄存器組o2. 外部外部NMI中斷控制器中斷控制器XNMICRReservedPolaritySelectEnableD15 . D3 D2 D1 D0 R-0 R/W-0 R/W-0 R/W-00 0 禁止禁止NMINMI中斷中斷1 1 使能使能NMINMI中

51、斷中斷 0 Timer1 連接到連接到INT131 XNMI連接到連接到INT130 0 下降沿觸發(fā)下降沿觸發(fā)1 1 上升沿觸發(fā)上升沿觸發(fā) 保留保留 4.7.5 外部中斷控制寄存器組外部中斷控制寄存器組o3. 外部外部NMI中斷計(jì)數(shù)寄存器中斷計(jì)數(shù)寄存器XNMICTRoXNMICTR是是16位自由運(yùn)行遞增計(jì)數(shù)器,以系位自由運(yùn)行遞增計(jì)數(shù)器,以系統(tǒng)統(tǒng)SYSCLKOUT為計(jì)數(shù)脈沖。為計(jì)數(shù)脈沖。o當(dāng)檢測(cè)到有效的觸發(fā)脈沖時(shí),計(jì)數(shù)器復(fù)位為當(dāng)檢測(cè)到有效的觸發(fā)脈沖時(shí),計(jì)數(shù)器復(fù)位為0 x0000,開始計(jì)數(shù),直到檢測(cè)到下一個(gè)有效的,開始計(jì)數(shù),直到檢測(cè)到下一個(gè)有效的觸發(fā)脈沖停止計(jì)數(shù)。觸發(fā)脈沖停止計(jì)數(shù)。o當(dāng)計(jì)數(shù)值達(dá)到最

52、大時(shí),自動(dòng)返回到當(dāng)計(jì)數(shù)值達(dá)到最大時(shí),自動(dòng)返回到0.4.7.5 外部中斷控制寄存器組外部中斷控制寄存器組o4.外部中斷外部中斷1、2計(jì)數(shù)寄存器計(jì)數(shù)寄存器oXINT1CTR、 XINT1CTR與外部與外部NMI中斷計(jì)數(shù)中斷計(jì)數(shù)寄存器寄存器XNMICTR的功能基本相同。的功能基本相同。4.7.5 外部中斷控制寄存器組外部中斷控制寄存器組中斷請(qǐng)求的流程(中斷請(qǐng)求的流程(P109)o從外設(shè)到從外設(shè)到CPU的多通道中斷請(qǐng)求流程的多通道中斷請(qǐng)求流程 o 如果如果任何任何PIE組里的外設(shè)和外部中斷產(chǎn)生一組里的外設(shè)和外部中斷產(chǎn)生一個(gè)中斷,假如外設(shè)中斷已被使能,那么,該中個(gè)中斷,假如外設(shè)中斷已被使能,那么,該中斷

53、的請(qǐng)求就被置入斷的請(qǐng)求就被置入PIE模塊。模塊。o PIE模塊識(shí)別模塊識(shí)別PIE組組x內(nèi)已經(jīng)錄入的中斷內(nèi)已經(jīng)錄入的中斷y(INTx.y),并且將相應(yīng)的,并且將相應(yīng)的PIE中斷標(biāo)志位鎖存:中斷標(biāo)志位鎖存:PIEIFRx.y=1。o 為了使能從為了使能從PIE到到CPU的中斷要求,下列兩的中斷要求,下列兩個(gè)條件必須為真。個(gè)條件必須為真。n(1)相應(yīng)的中斷使能位必須置位相應(yīng)的中斷使能位必須置位(PIEIERx.y=1)。n(2)必須清除該組的必須清除該組的PIEACKx位。位。中斷請(qǐng)求的流程(中斷請(qǐng)求的流程(P109)o 如果步驟如果步驟3中的兩個(gè)條件為真,那么就在中的兩個(gè)條件為真,那么就在CPU建

54、立了一個(gè)中斷請(qǐng)求,響應(yīng)位再次被置位建立了一個(gè)中斷請(qǐng)求,響應(yīng)位再次被置位(PIEACKx=1)。PIEACKx位將一直保持置位直位將一直保持置位直至清除該位,這表示來自該組的附加中斷能夠至清除該位,這表示來自該組的附加中斷能夠被從被從PIE設(shè)置到設(shè)置到CPU。o CPU中斷標(biāo)志位置位中斷標(biāo)志位置位(CPU IFRx=1)以標(biāo)示出以標(biāo)示出一個(gè)一個(gè)CPU級(jí)的未決的中斷級(jí)的未決的中斷x。中斷請(qǐng)求的流程(中斷請(qǐng)求的流程(P109)o 假如假如CPU中斷被使能中斷被使能(CPU IER bitx=1或或DBGIER bitx=1),全局中斷屏蔽被清除,全局中斷屏蔽被清除(1NTM=0),那么,那么CPU將

55、為將為INTx服務(wù)。服務(wù)。o CPU識(shí)別這個(gè)中斷并自動(dòng)存放有關(guān)信息,清識(shí)別這個(gè)中斷并自動(dòng)存放有關(guān)信息,清除除IER位,設(shè)置位,設(shè)置INTM,清除,清除EALLOW。 中斷請(qǐng)求的流程(中斷請(qǐng)求的流程(P109)o CPU從從PIE向量表中獲得相應(yīng)的中斷向量。向量表中獲得相應(yīng)的中斷向量。o 對(duì)于復(fù)用的對(duì)于復(fù)用的PIE中斷,中斷,PIE模塊使用模塊使用PIEIERx和和PIEIFRx寄存器中的當(dāng)前值去找出要使用的寄存器中的當(dāng)前值去找出要使用的向量地址。有兩種可能的情況:向量地址。有兩種可能的情況:中斷請(qǐng)求的流程(中斷請(qǐng)求的流程(P109)o(1)該組中最高優(yōu)先級(jí)中斷的向量被取出,并)該組中最高優(yōu)先級(jí)中斷的向量被取出,并且被用作分支地址。這個(gè)中斷在且被用作分支地址。這個(gè)中斷在PIEIERx寄存寄存器中使能,在器中使能,在PIEIFRx中標(biāo)示為未決的中斷。中標(biāo)示為未決的中斷。在這種方式下,假如一個(gè)更高級(jí)的使能中斷在在這種方式下,假如一個(gè)更高級(jí)的使能中斷在步驟步驟4之后被標(biāo)示,它就會(huì)首先得到服務(wù)。之后被標(biāo)示,它就會(huì)首先得到服務(wù)。中斷請(qǐng)求的流程(中斷請(qǐng)求的流程(P109)o(2)如果該組中沒有已經(jīng)標(biāo)示

溫馨提示

  • 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. 人人文庫(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)論