資源描述:
《微機(jī)原理與嵌入式接口技術(shù)-第05章-中斷技術(shù)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、第5章中斷系統(tǒng)?本章要點(diǎn)?中斷的基本概念?中斷的處理過程?NVIC的功能?中斷嵌套、咬尾中斷、晚到異常ChongqingUniversityofScience&Technology?#?/23中斷的基本概念?中斷是用于處理內(nèi)、外部隨機(jī)事件的?將有序的程序運(yùn)行和無序的突發(fā)事件結(jié)合起來?是一套軟、硬件系統(tǒng)?是一個操作過程?由系統(tǒng)和用戶共同預(yù)制的過程?處理突發(fā)的隨機(jī)事件會程序轉(zhuǎn)向,現(xiàn)有程序被中斷ChongqingUniversityofScience&Technology?#?/23中斷系統(tǒng)概述?中斷的請求
2、-響應(yīng)工作機(jī)制中斷控制器中斷源1中斷源1的服務(wù)程序中斷源2中斷源2的服務(wù)程序┋┋中斷源n中斷源n的服務(wù)程序中斷源優(yōu)先級中斷服務(wù)管理管理尋址圖5.1中斷系統(tǒng)功能結(jié)構(gòu)示意圖請求與響應(yīng)一一對應(yīng),集中管理請求ChongqingUniversityofScience&Technology?#?/23中斷系統(tǒng)概述?中斷的管理?決定中斷源是否有權(quán)請求以及有效的請求方式;?解決各中斷源之間的競爭問題;?同時發(fā)生請求,響應(yīng)誰??前一請求未處理完畢,后到的請求如何響應(yīng)??為“請求”尋找到正確的服務(wù)程序地址。?完成以上管理
3、功能的軟、硬件,稱為中斷系統(tǒng)?嵌入式CPU中,都已集成中斷系統(tǒng)?STM32的中斷功能主要由NVIC完成。ChongqingUniversityofScience&Technology?#?/23圖5.2外部中斷/事件控制器框圖AMBAAHB總線外設(shè)接口2020202020軟件中斷上升沿下降沿中斷屏蔽請求掛起事件觸發(fā)選擇觸發(fā)選擇寄存器寄存器寄存器寄存器寄存器EXTI_IMREXTI_PREXTI_SWIEREXTI_RTSREXTI_FTSR2020202020至NVIC中斷控制器20脈沖20發(fā)生器20
4、20邊沿檢測電路輸入線事件屏蔽寄存器EXTI_EMRChongqingUniversityofScience&Technology?#?/23中斷源的分類?能夠?qū)е翪PU產(chǎn)生中斷的來源就是中斷源?中斷源的分類?外部中斷(硬中斷)?外部的電路在CPU的引腳上產(chǎn)生的中斷請求?電位或脈沖信號?電位請求:請求可持續(xù),電位中斷請求響應(yīng)后需要撤消?脈沖請求:請求不可持續(xù),需要記錄請求,響應(yīng)后清除記錄?不止一個?內(nèi)部異常(軟中斷)ChongqingUniversityofScience&Technology?#?/
5、23STM32的外部中斷?STM32的的每一個GPIO引腳都可以設(shè)置成一個中斷源?分組連接到CM3內(nèi)核16個中斷通道上?中斷線每次只能連接到1個IO口上在AFIO_EXTICR1寄存器的EXTI0[3:0]位在AFIO_EXTICR4寄存器的EXTI15[3:0]位PA0PA15PB0PB15PC0PC15EXTI0EXTI15PD0……….PD15PE0PE15PF0PF15PG0PG15圖5.3STM32外部中斷通用I/O映像ChongqingUniversityofScience&Technol
6、ogy?#?/23軟中斷?軟中斷?軟中斷不是由電路產(chǎn)生的中斷?軟中斷可以由一條軟中斷指令產(chǎn)生?也可以是因為程序運(yùn)行出現(xiàn)某種問題而導(dǎo)致?外部中斷和內(nèi)部中斷的區(qū)別:?內(nèi)部中斷對CM3來說是同步的;?外部中斷產(chǎn)生時刻與CM3的工作時鐘是異步的?不細(xì)致區(qū)分,可統(tǒng)稱為異常(Exception)ChongqingUniversityofScience&Technology?#?/23STM32的中斷源?CM3內(nèi)核共支持256個中斷,其中16個內(nèi)部中斷,240個外部中斷。?STM32目前支持的中斷共84個(16個內(nèi)
7、部+68個外部)。?系統(tǒng)異常是CM3內(nèi)核支持的基本異常,與具體的芯片無關(guān)?外部中斷則是與芯片相關(guān)的芯片廠商會根據(jù)需要和用途設(shè)計中斷源數(shù)目。ChongqingUniversityofScience&Technology?#?/23STM32的中斷源編號類型優(yōu)先級簡介0N/AN/A沒有異常在運(yùn)行1復(fù)位-3(最高)復(fù)位2NMI-2不可屏蔽中斷(來自外部NMI輸入腳)3硬fault-1只要FAULTMASK沒有置位,硬fault服務(wù)例程就被強(qiáng)制執(zhí)行4MemManage可編程存儲器管理fault,MPU訪問違規(guī)
8、以及訪問非法位置均可引發(fā),fault企圖在“非執(zhí)行區(qū)”取指也會引發(fā)此fault5總線fault可編程從總線系統(tǒng)收到了錯誤響應(yīng),原因可以是預(yù)取流產(chǎn)或數(shù)據(jù)流產(chǎn),企圖訪問協(xié)處理器也會引發(fā)此fault6用法(usage)可編程由于程序錯誤導(dǎo)致的異常。通常是使用了一條無效指令,或fault者是非法的狀態(tài)轉(zhuǎn)換,例如嘗試切換到ARM狀態(tài)7-10保留N/AN/A11SVCall可編程執(zhí)行系統(tǒng)服務(wù)調(diào)用指令(SVC)引發(fā)的異常12調(diào)試監(jiān)視器可編程調(diào)試監(jiān)視器(斷點(diǎn)、數(shù)據(jù)觀察點(diǎn)