www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 內(nèi)容摘要:嵌入式系統(tǒng)要求對異常及中斷處理器能快速響應(yīng)。文中分析了ARM體系結(jié)構(gòu)下異常處理特點(diǎn),提出一種基于ARM處理器的高效異常處理解決方案,以LPC3250硬件平臺為基礎(chǔ),對該方案進(jìn)行了設(shè)計與實(shí)現(xiàn)

內(nèi)容摘要:嵌入式系統(tǒng)要求對異常及中斷處理器能快速響應(yīng)。文中分析了ARM體系結(jié)構(gòu)下異常處理特點(diǎn),提出一種基于ARM處理器的高效異常處理解決方案,以LPC3250硬件平臺為基礎(chǔ),對該方案進(jìn)行了設(shè)計與實(shí)現(xiàn)。測試結(jié)果表明,該方案的異常處理更為高效。

在航空航天、工業(yè)控制及醫(yī)療等領(lǐng)域中,嵌入式系統(tǒng)的安全性、可靠性以及高效性作用顯著,而異常是系統(tǒng)在運(yùn)行過程中的突發(fā)事件,異常處理是否高效將直接影響整個系統(tǒng)的工作效率。為了確保嵌入式系統(tǒng)高效安全的運(yùn)行,對處理器非正常模式下高效的異常處理機(jī)制的研究具有重要意義。

1 異常概述

嵌入式系統(tǒng)中異常/中斷是指由處理器內(nèi)部或外部源產(chǎn)生并引起系統(tǒng)處理的一個事件。根據(jù)事件源的不同將異常分為“異?!焙汀爸袛唷眱煞N,異常指由處理器內(nèi)部源所引起的事件,如非法指令執(zhí)行異常,地址訪問異常等;中斷指由處理器外部中斷源引起的事件。嵌入式處理器對外部中斷源一般由中斷控制器進(jìn)行統(tǒng)一管理并上報處理器。對于嵌入式系統(tǒng),異常/中斷均會導(dǎo)致處理器打斷正常的程序執(zhí)行流程,進(jìn)入特定模式進(jìn)行相應(yīng)的異常處理。因此,對“異?!焙汀爸袛唷币话悴蛔鲊?yán)格區(qū)分。

作為嵌入式處理器,為了確保系統(tǒng)的實(shí)時性和程序執(zhí)行的穩(wěn)定性,ARM處理器支持完整的異常處理機(jī)制。ARM處理器共有7種異常類型,每種異常都有自己固定的異常向量地址,且在異常產(chǎn)生后,處理器會切換至相應(yīng)的異常中斷模式,具體描述如表1所示。

ARM支持多中斷嵌套,因此各異常有固定的優(yōu)先級,依次為:復(fù)位、數(shù)據(jù)中止、FIQ、IRQ、預(yù)取指中止、未定義指令和SWI。各異常向量之間只有4 bit的空間,因此向量表中只能放置跳轉(zhuǎn)指令。通常異常處理結(jié)構(gòu)如圖1所示。

2 異常的響應(yīng)和返回過程

2.1 異常的響應(yīng)

當(dāng)7種異常中的任何一個在允許響應(yīng)的前提下發(fā)生時,處理器會進(jìn)行必要的預(yù)處理,其動作如下:

(1)前程序狀態(tài)字(Thc Current Program Status Register,CPSR)到各異常對應(yīng)的備份程序狀態(tài)字(The Saved Program Status Regis ter,SPSR)中。

(2)PSR中的控制位,使處理器進(jìn)入相應(yīng)的異常中斷模式,同時切換程序狀態(tài)為ARM狀態(tài),禁止IRQ中斷,若異常響應(yīng)為復(fù)位異?;騀IQ異常,則還要禁止FIQ中斷。

(3)回地址,并保存到相應(yīng)的LR寄存器中。

(4)量地址入PC,跳轉(zhuǎn)并執(zhí)行中斷服務(wù)程序。

2.2 異常的返回

異常返回在異常服務(wù)程序完成后執(zhí)行,內(nèi)核需要用戶自行完成以下返回動作:(1)PSR寄存器的內(nèi)容返還給CPSR寄存器。(2)R寄存器的值賦給PC。(3)入中斷服務(wù)程序時保存了部分通用寄存器的值,此時需恢復(fù)這些被保存的通用寄存器的值,且在清除中斷禁止位。

3 異常服務(wù)程序的設(shè)計

LPC3250硬件平臺,板上集成兩級中斷控制,共支持74路中斷源。其中一級中斷控制器可接收32路外部中斷請求,所有中斷通過FIQ或IRQ中斷信號通知ARM核,因此需中斷控制器管理所有外部中斷源。

中斷控制器中,ATR(Activation Type Register)寄存器用于設(shè)置中斷的觸發(fā)方式,外部中斷支持沿觸發(fā)和電平觸發(fā);APR(Activation Polarity Register)寄存器用于確定中斷類型,支持高電位有效和低電位有效;ITR(Interrupt Type Register)寄存器用于設(shè)置中斷方式,包括FIQ和IRQ兩種,其中FIQ的響應(yīng)速度和優(yōu)先級高于IRQ,支持?jǐn)?shù)據(jù)傳輸或信道處理,通過獨(dú)有的寄存器來減少占用其他寄存器,通常嵌入式系統(tǒng)將所有外部中斷采用IRQ異常中斷模式管理;IER(InterruptEnable Register)寄存器用于對外部中斷進(jìn)行屏蔽或使能;RSR(Raw Stat us Register)寄存器用于描述當(dāng)前所有中斷源狀態(tài)。

中斷源產(chǎn)生中斷時,處理器從IRQ或FIQ異常入口開始執(zhí)行處理例程。通常嵌入式系統(tǒng)根據(jù)中斷源的差異存在不同的中斷服務(wù)程序,為了正確判斷出具體的中斷源,設(shè)計在異常向量表之外,系統(tǒng)維護(hù)關(guān)聯(lián)中斷控制器的中斷向量表,結(jié)構(gòu)如表2所示。

中斷向量表,用于存放具體中斷源對應(yīng)的中斷服務(wù)程序的入口地址。當(dāng)響應(yīng)外設(shè)中斷請求時,進(jìn)入中斷服務(wù)程序通過中斷控制器識別中斷源,并根據(jù)中斷向量表執(zhí)行處理例程。

LPC3250平臺設(shè)計,不通過中斷控制器進(jìn)行中斷源的優(yōu)先級控制,通過RSR寄存器獲取中斷源狀態(tài)后,由系統(tǒng)軟件進(jìn)行中斷源優(yōu)先級配置。中斷處理中由系統(tǒng)選擇當(dāng)前最高優(yōu)先級中斷,并進(jìn)入對應(yīng)中斷源的中斷處理例程,中斷處理過程如圖2所示。

4 異常服務(wù)程序的實(shí)現(xiàn)

嵌入式實(shí)時操作系統(tǒng)中,無論是實(shí)時響應(yīng)并處理來自各個被控對象的實(shí)時信息,還是對任務(wù)執(zhí)行時間的管理、資源的限時等待等,均需要時鐘的參與。因此,準(zhǔn)確且具有足夠精度的時鐘對于實(shí)時系統(tǒng)必不可少。

每次時鐘中斷發(fā)生,時鐘中斷服務(wù)程序都會被執(zhí)行。因此時鐘中斷服務(wù)程序執(zhí)行的頻率很高,每個系統(tǒng)周期都會被執(zhí)行,這要求程序的處理高效、簡潔。

由于ARM處理器中FIQ的響應(yīng)速度和優(yōu)先級均高于IRQ,因此采用FIQ方式實(shí)現(xiàn)對處理器時鐘中斷的處理,其他外部中斷由IRQ異常統(tǒng)一管理,異常處理結(jié)構(gòu)圖如圖3所示。

嵌入式時鐘常用于向操作系統(tǒng)通過調(diào)度單位,因此中斷狀態(tài)會持續(xù)直至完成調(diào)度處理,處理完成后由時鐘源進(jìn)行中斷清除,以開始下一周期計時。根據(jù)應(yīng)用需求,時鐘中斷應(yīng)設(shè)置為電平觸發(fā)方式,通過APR和ATR寄存器,設(shè)置該時鐘為高電平觸發(fā)模式。通過ITR寄存器,設(shè)置該時鐘為FIQ中斷方式。

LPC3250處理器可配置多路時鐘源,以μs級時鐘(Millisecond Timer)為例,根據(jù)應(yīng)用需求,在中斷控制器中對該中斷源進(jìn)行以下主要設(shè)置:

Write(VIC_APR,0x3FF0EFF8);//通過APR寄存器MSTIMER_INT位置1,設(shè)置Millisecond Timer中斷為高電位有效

write(VIC_ATR,0xFEFFFFFF);//通過ATR寄存器MSTIMER_INT位置0,設(shè)置Millisecond Timer為電平觸發(fā)

write(VIC_ITR,0x08000000);//通過ITR寄存器MSTIMER_INT位置1,設(shè)置Millisecond Timer為FIQ中斷方式

中斷控制器中設(shè)置完成后,當(dāng)發(fā)生時鐘中斷時,PC指向FIQ的異常向量入口0x1C處,由于FIQ的向量入口為ARM處理器7種異常向量的尾地址,因此無需通過跳轉(zhuǎn)指令進(jìn)行處理例程的跳轉(zhuǎn)。在該入口處對中斷進(jìn)行以下主要處理:

sub lr,lr,#4計算返回地址

stmfd sp!,{ri-rm,lr}保存使用到的寄存器

mov lr,pc

ldr pc,=IntHandler

Ldmfd sp!,{ri-rm,pc}中斷返回,表示將SPSR的值賦給CPSR

其中IntHandler為中斷處理接口,主要完成為嵌入式操作系統(tǒng)提供基本的調(diào)度周期以及時鐘中斷源中斷狀態(tài)的清除。

完成時鐘中斷源的清除,需設(shè)置定時器中ISR(Millisecond Timer Interrupt Status register)寄存器,具體設(shè)置如下:

write(MSTIMER_ISR,0x1);//通過時鐘中ISR寄存器MATCH0_INT位置1,清除時鐘中斷源

5 功能及性能測試

在完成設(shè)計、編碼及交叉編譯后,對該異常機(jī)制在LPC3250目標(biāo)機(jī)上的運(yùn)行的情況進(jìn)行功能和性能測試。

5.1 功能測試

采用FIQ模式進(jìn)行定時器中斷處理,操作系統(tǒng)可正確獲取調(diào)度周期,表明該中斷處理功能正確。

5.2 性能測試

由于采用FIQ中斷模式進(jìn)行時鐘中斷處理,在異常入口處無需額外的跳轉(zhuǎn)操作,直接進(jìn)行時鐘中斷處理。且設(shè)計中FIQ只用于時鐘中斷,因此無需從中斷控制器獲取中斷號的獲取,減少了中斷處理指令,進(jìn)而降低了處理時間。LPC3250平臺處理器主頻為266MHz,處理器時鐘周期為1/266μs,以1/1 000 s為單位向操作系統(tǒng)提供調(diào)度周期為例,總線周期誤差累計實(shí)驗(yàn)數(shù)據(jù)如圖4所示。

實(shí)驗(yàn)中,隨著采樣調(diào)度周期數(shù)的不斷增加,IRQ模式下時鐘計時與理論值的處理器時鐘周期偏差數(shù)較FIQ模式明顯偏多,F(xiàn)IQ模式計時比IRQ模式更接近實(shí)際計時。結(jié)果表明,通過FIQ模式進(jìn)行的時鐘中斷較IRQ方式更精確。

6 結(jié)束語

本文提出一種高效的異常處理方案,并以時鐘為例進(jìn)行了驗(yàn)證。通過實(shí)現(xiàn)驗(yàn)證,采用上述FIQ中斷模式所設(shè)計的時鐘中斷控制程序,較IRQ模式的時鐘中斷方式更為高效,能為嵌入式系統(tǒng)提供更為精確的調(diào)度周期,實(shí)驗(yàn)效果與預(yù)期相符。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護(hù)是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機(jī)驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機(jī)驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉