




已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第四章 S3C2410的中斷系統(tǒng),S3C2410的中斷系統(tǒng),S3C2410的處理器中斷 S3C2410的中斷控制 S3C2410的中斷源 S3C2410中斷控制專用寄存器 S3C2410中斷控制程序編寫步驟 本章實驗例程,S3C2410的中斷系統(tǒng),S3C2410的處理器中斷 S3C2410的中斷控制邏輯如圖,它可以處理56個中斷源的中斷請求。這些中斷源可以是來自片內(nèi)外設(shè)的中斷,比如DMA、UART和I2C等;也可以是來自處理器外部中斷輸入引腳。,S3C2410的中斷系統(tǒng),S3C2410的處理器中斷 下面的11個中斷源通過分支中斷控制器來申請使用中斷 INT_ADC A/D轉(zhuǎn)換中斷; INT_TC 觸摸屏中斷; INT_ERR2 UART2收發(fā)錯誤中斷; INT_TXD2 UART2發(fā)送中斷; INT_RXD2 UART2接收中斷; INT_ERR1 UART1收發(fā)錯誤中斷; INT_TXD1 UART1發(fā)送中斷; INT_RXD1 UART1接收中斷; INT_ERR0 UART0收發(fā)錯誤中斷; INT_TXD0 UART0發(fā)送中斷; INT_RXD0 UART0接收中斷。,S3C2410的中斷系統(tǒng),S3C2410的處理器中斷 片內(nèi)UARTn中斷和EINTn是邏輯“或”的關(guān)系,它們共用一根中斷請求線。 中斷控制邏輯(interruption controller logic)的任務(wù)是在片內(nèi)外圍和外部中斷源組成的多重中斷發(fā)生時,選擇其中一個中斷,通過FIQ(快速請求中斷)或IRQ(通用中斷請求)向CPU內(nèi)核發(fā)出中斷請求。,S3C2410的中斷系統(tǒng),S3C2410的處理器中斷 實際上最初CPU內(nèi)核只有FIQ和IRQ兩種中斷,其他中斷都是各個芯片廠家在設(shè)計芯片時,通過加入一個中斷控制器來擴(kuò)展定義的。這些中斷根據(jù)中斷優(yōu)先級的高低來進(jìn)行處理,更符合實際應(yīng)用系統(tǒng)中要求提供多個中斷源的要求。 例如,如果定義所有的中斷源為IRQ中斷(通過中斷模式寄存器設(shè)置),并且同時有10個中斷發(fā)出請求,那么這時可以通過讀中斷優(yōu)先級寄存器來確定哪一個中斷被優(yōu)先執(zhí)行,S3C2410的中斷系統(tǒng),S3C2410的處理器中斷 當(dāng)多重中斷源請求中斷時,硬件優(yōu)先級邏輯會判斷哪一個中斷將被執(zhí)行;同時,硬件邏輯將會執(zhí)行位于0x18(或0x1C)地址處的指令,再由軟件編程識別各個中斷源,然后再根據(jù)中斷源跳轉(zhuǎn)到相應(yīng)的中斷處理程序,S3C2410的中斷系統(tǒng),中斷控制 4.2.1 程序狀態(tài)寄存器的F位和I位 4.2.2 中斷模式(INTMOD) 4.2.3 中斷掛起寄存器(INTPND)和中斷源掛起寄存器 (SRCPND) 4.2.4 中斷屏蔽寄存器(INTMSK) 4.2.5 中斷優(yōu)先寄存器 (PRIORITY),S3C2410的中斷系統(tǒng),4.2.1 程序狀態(tài)寄存器的F位和I位 如果CPSR(程序狀態(tài)寄存器)的F位被設(shè)置為1,那么CPU將不接受來自中斷控制器的FIQ(快速中斷請求);如果CPSR程序狀態(tài)寄存器的I位被設(shè)置為1,那么CPU將不接受來自中斷控制器的IRQ(通用中斷請求)。因此,為了使能FIQ和IRQ,必須先將CPSR程序狀態(tài)寄存器的F位和I位清零,并且中斷屏蔽寄存器INTMSK中相應(yīng)的位也要清零。 在使用C語言編寫控制程序時,CPSR在程序中是不可見的。F位和I位清零可由中斷屏蔽寄存器INTMSK中相應(yīng)的位清零自動完成。,S3C2410的中斷系統(tǒng),4.2.2 中斷模式(INTMOD) S3C2410提供了兩種中斷模式,即FIQ(快速)模式和IRQ(通用)模式。所有的中斷源在中斷請求時都要確定使用那一種中斷模式。INTMOD相應(yīng)位為0,選通用中斷模式;INTMOD相應(yīng)位為1,選快速中斷模式。上電或復(fù)位時INTMOD相應(yīng)位為0,默認(rèn)選通用中斷模式。,S3C2410的中斷系統(tǒng),4.2.3 中斷掛起寄存器(INTPND)和中斷源掛起寄存器 (SRCPND) S3C2410有兩個中斷掛起寄存器:中斷源掛起寄存器(SRCPND)和中斷掛起寄存器(INTPND)。這兩個寄存器用于指示對應(yīng)的中斷源和中斷是否被激活。當(dāng)中斷源請求中斷時,SRCPND寄存器的相應(yīng)位被置1;當(dāng)中斷被激活時,INTPND寄存器的相應(yīng)位被置1。,S3C2410的中斷系統(tǒng),4.2.3 中斷掛起寄存器(INTPND)和中斷源掛起寄存器 (SRCPND) 如果屏蔽位被設(shè)置為1,則相應(yīng)的SRCPND位會被置1,而INTPND寄存器不會有變化;如果INTPND被置位,只要標(biāo)志I或標(biāo)志F被清零,就會執(zhí)行相應(yīng)的中斷服務(wù)子程序。在中斷服務(wù)子程序中要先向SRCPND中的相應(yīng)位寫1來清除掛起狀態(tài),再用同樣的方法來清除INTPND相應(yīng)位的掛起狀態(tài)。 注意:可以通過INTPND= INTPND來實現(xiàn)清零,以避免寫入不正確的數(shù)據(jù)引起錯誤。,S3C2410的中斷系統(tǒng),4.2.4 中斷屏蔽寄存器(INTMSK) 當(dāng)INTMSK寄存器的相應(yīng)位(屏蔽位)為1時,對應(yīng)的中斷被禁止;當(dāng)INTMSK寄存器的屏蔽位為0時,則相應(yīng)的中斷正常實行。如果一個中斷的屏蔽位為1,則該中斷請求不被受理。,S3C2410的中斷系統(tǒng),4.2.5 中斷優(yōu)先寄存器 (PRIORITY) 上面已介紹過,S3C2410共有56個中斷源,有26個中斷控制器,外部中斷EXTIN823共用一個中斷控制器,外部中斷EXTIN47共用一個中斷控制器,9個UART中斷分成3組,共用3個中斷控制器,ADC和觸摸屏共用一個中斷控制器。中斷的優(yōu)先級是由主組號和從ID號的級別控制,具體見表4-1。 中斷優(yōu)先級設(shè)置模塊如圖4-2所示:,S3C2410的中斷系統(tǒng),4.2.5 中斷優(yōu)先寄存器 (PRIORITY) 從上圖可以看出,中斷優(yōu)先級產(chǎn)生模塊共有7個中斷仲裁器(AIRBITER0AIRBITER6),每個中斷仲裁器是否使能由寄存器PRIORITY6:0決定,每個中斷仲裁器下面有46個中斷源,這些中斷源對應(yīng)著REQ0REQ5這6個優(yōu)先級。 每個中斷仲裁器可以控制6個中斷請求的優(yōu)先順序(ARB_MODE),仲裁器和中斷請求的優(yōu)先順序如表4-1示: 其中,REQ 0中斷優(yōu)先級總是最高的,REQ5中斷優(yōu)先級總是最低的。,S3C2410的中斷系統(tǒng),S3C2410的中斷系統(tǒng),S3C2410的中斷系統(tǒng),4.3 S3C2410中斷源 表4-2所示為S3C2410的56個中斷源。在56個中斷源中,有30個中斷源提供給中斷控制器,其中,外部中斷EINT4EINT7通過“或”的形式提供一個中斷源送至中斷控制器,EINT8EINT23也通過“或”的形式提供一個中斷源送至中斷控制器。,S3C2410的中斷系統(tǒng),4.3 S3C2410中 56個中斷源具體來說: EINT0EINT23(24個)、nBATT_FLT(1個)、INT_TICK(1個)、INT_WDT(1個)、INT_TIMER0INT_TIMER4(5個)、INT_UART0INT_UART2(各3個,共9個)、INT_LCD(2個)、INT_DMA0INT_DMA3(4個)、INT_SDI(1個)、INT_SPI0INT_SPI1(2個)、INT_USBD(1個)、INT_USBH(1個)、INT_IIC(1個)、INT_RTC(1個)、INT_ADC(2個),共56個。,S3C2410的中斷系統(tǒng),4.4 中斷控制專用寄存器 在4.2節(jié)中已介紹中斷控制器有5個,但S3C2410有8個寄存器與中斷有關(guān),有5個專用于中斷控制:源掛起寄存器(SRCPND)、中斷模式寄存器(INTMOD)、中斷屏蔽寄存器(INTMSK)、中斷優(yōu)先權(quán)寄存器(PRIORITY)和中斷掛起寄存器(INTPND),與中斷有關(guān)的寄存器如表4-3所列。 中斷源發(fā)出的中斷請求首先被寄存在中斷源掛起寄存器(SRCPND)中,中斷模式寄存器INTMOD把中斷請求分為兩組:快速中斷請求(FIQ)和通用中斷請求(IRQ),中斷優(yōu)先權(quán)寄存器(PRIORITY)處理中斷的優(yōu)先級。,S3C2410的中斷系統(tǒng),4.4.1 IRQ偏移寄存器(INTOFFSET) 除上面介紹的5個中斷控制寄存器以外,還有幾個寄存器與中斷控制有關(guān)。 中斷偏移寄存器INTOFFSET給出IRQ模式的中斷請求中被響應(yīng)的中斷的地址(哪個IRQ模式的中斷請求被響應(yīng))。,S3C2410的中斷系統(tǒng),4.4.2 外部中斷控制寄存器(EXTINTn) EXTINTn配置外部中斷的觸發(fā)類型是電平觸發(fā)還是邊沿觸發(fā)以及觸發(fā)的極性。EXTINT2 :0的具體配置參考數(shù)據(jù)手冊。,S3C2410的中斷系統(tǒng),4.4.3 外部中斷屏蔽寄存器(EINTMASK) EINTMASK23:4分別對應(yīng)外部中斷234,該位等于1,對應(yīng)外部中斷被屏蔽;該位等于0,對應(yīng)外部中斷被使能,EINTMASK3 :0保留。,S3C2410的中斷系統(tǒng),4.5 中斷控制程序編寫步驟 4.5.1 主程序工作 4.5.2 中斷服務(wù)程序工作 4.5.3 中斷服務(wù)程序示例,S3C2410的中斷系統(tǒng),4.5.1 主程序工作 先清除中斷源掛起寄存器(SRCPND)和中斷掛起寄存器(INTPND),可用rSRCPND= rSRCPND和rINTPND=r INTPND來完成; 設(shè)中斷模式,這里使用通用中斷,rINTMOD=0x00000000;因上電或復(fù)位時rINTMOD是清0的,這步也可以不做。,S3C2410的中斷系統(tǒng),4.5.1 主程序工作 I/O口初始化,有些中斷源要通過I/O口向CPU申請中斷,如外部中斷0(EXTINT0)通過F口的GPF0、外部中斷11(EXTINT11)通過G口的GPG3向CPU申請中斷,此時兩個口的控制寄存器GPFCON和GPGCON的要設(shè)置成:GPFCON1:0=1,0;GPGCON7:6=1,0。具體見下章I/O口介紹。 設(shè)中斷服務(wù)函數(shù)地址,S3C2410在2410addr.h中定義了40個宏,設(shè)置了系統(tǒng)支持的中斷服務(wù)函數(shù)的指針,設(shè)中斷服務(wù)函數(shù)地址就是把我們編寫的中斷服務(wù)函數(shù)的地址(就是中斷服務(wù)函數(shù)的名字)賦予相應(yīng)的函數(shù)指針。函數(shù)指針定義如下:(見課本),S3C2410的中斷系統(tǒng),4.5.1 主程序工作 從上面可以看出,每個中斷源的中斷服務(wù)函數(shù)指針名是固定的:pISR+中斷源。 設(shè)中斷觸發(fā)方式,觸發(fā)方式有5種,有上升沿、下降沿、雙沿、低電平、高電平觸發(fā)方式,外部中斷觸發(fā)方式在外部中斷控制寄存器(EXTINTn)中設(shè)定。如EINT0觸發(fā)方式在EXTINT02:0 中設(shè)定,2:0=000低電平、001高電平、01X下降沿、10X上升沿、11X雙沿觸發(fā),更詳細(xì)內(nèi)容見S3C2410.pdf.。 取消總中斷屏蔽和子中斷屏蔽,等待中斷,如下面實驗例程通過rEINTMASK&=(111);rINTMASK&=(BIT_EINT0|BIT_EINT8_23);來實現(xiàn)。,S3C2410的中斷系統(tǒng),4.5.2 中斷服務(wù)程序工作 在中斷服務(wù)程序中,先屏蔽中斷,防止其他中斷產(chǎn)生干擾我們中斷服務(wù)程序的執(zhí)行; 執(zhí)行中斷服務(wù)程序; 清中斷源掛起寄存器(SRCPND)和中斷掛起寄存器(INTPND); 取消總中斷屏蔽和子中斷屏蔽,等待新中斷產(chǎn)生; 中斷返回。,S3C2410的中斷系統(tǒng),4.5.3 中斷服務(wù)程序示例 在主程序中,系統(tǒng)初始化后,程序進(jìn)入死循環(huán),等待中斷。同時,初始化定時器1,設(shè)定時器中斷時間,當(dāng)設(shè)定時器定時時間到,產(chǎn)生中斷。 在北京精儀達(dá)盛科技公司EL-ARM830教學(xué)實驗系統(tǒng)中,接有兩個LED發(fā)光管,兩個LED發(fā)光管的陰極分別接I/O口G的bit8和bit9,陽極通過電阻接電源。 在中斷服務(wù)程序中,把LED1和LED2兩只發(fā)光管循環(huán)亮滅,每循環(huán)亮滅一次,說明來一次中斷。關(guān)于定時器操作,可參考第十一章內(nèi)容。(程序見課本),S3C2410的中斷系統(tǒng),第四章習(xí)題與練習(xí) 1,S3C2410的中斷模式有哪兩種? 2,S3C2410的中斷控制寄存器有幾個,每個的作用是什么? 3,S3C2410
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 黑龍江哈爾濱市省實驗中學(xué)2025年高二物理第二學(xué)期期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 集團(tuán)股權(quán)處置管理辦法
- 防疫藥品共享管理辦法
- 工地車輛管理辦法及制度
- 集團(tuán)公司宿舍管理辦法
- 湖南長沙一中2025年物理高二下期末統(tǒng)考試題含解析
- 烏蘭察布市調(diào)訓(xùn)管理辦法
- 集團(tuán)合同存檔管理辦法
- 乳制品物流配送管理辦法
- 合同更名申請書
- 2023年遂寧市船山區(qū)選調(diào)教師考試真題
- CJJT259-2016 城鎮(zhèn)燃?xì)庾詣踊到y(tǒng)技術(shù)規(guī)范
- 合伙人散伙分家協(xié)議書范文
- 《樹立正確的“三觀”》班會課件
- 園林綠化移樹合同
- 醫(yī)療機(jī)構(gòu)保潔人員培訓(xùn)
- 企業(yè)員工健康促進(jìn)計劃的設(shè)計與實施
- 助理工程師答辯演示
- 成人失禁相關(guān)性皮炎的預(yù)防與護(hù)理-護(hù)理團(tuán)標(biāo)
- 裝載機(jī)的基礎(chǔ)知識-裝載機(jī)的結(jié)構(gòu)及儀表
- 現(xiàn)代低壓電器技術(shù) 課件 2. 常見低壓電器
評論
0/150
提交評論