[發(fā)明專利]中斷方法有效
| 申請?zhí)枺?/td> | 200910197343.0 | 申請日: | 2009-10-16 |
| 公開(公告)號: | CN101699417A | 公開(公告)日: | 2010-04-28 |
| 發(fā)明(設(shè)計)人: | 梁豐 | 申請(專利權(quán))人: | 華亞微電子(上海)有限公司 |
| 主分類號: | G06F13/24 | 分類號: | G06F13/24 |
| 代理公司: | 北京集佳知識產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 李麗 |
| 地址: | 201203 上海市*** | 國省代碼: | 上海;31 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 中斷 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及硬件處理技術(shù),特別是中斷方法。
背景技術(shù)
中斷是單片機實時地處理內(nèi)部或外部事件的一種內(nèi)部機制。當(dāng)某種內(nèi)部 或外部事件發(fā)生時,單片機的中斷系統(tǒng)將迫使處理器暫停正在執(zhí)行的程序, 轉(zhuǎn)而去進行中斷的處理。中斷處理完畢后,處理器重新返回被暫停的程序處, 繼續(xù)執(zhí)行下去。
中斷過程包括中斷請求過程以及中斷響應(yīng)過程。處理器接收中斷源所發(fā) 出的中斷請求指令,對其進行響應(yīng),進入中斷響應(yīng)過程。其中,所述中斷源 也就是發(fā)出中斷請求指令的設(shè)備或者服務(wù)。現(xiàn)有技術(shù)中,對中斷進行響應(yīng)的 過程一般可包括:首先處理器進入中斷入口;接著,執(zhí)行關(guān)中斷,或者開中 斷的操作;接著,處理器對進入中斷時的現(xiàn)場進行保護以及對中斷源進行判 斷,并且當(dāng)確定了中斷源之后,對其所請求的中斷進行處理;當(dāng)中斷處理完 成之后,處理器執(zhí)行清中斷操作。然后,處理器進行現(xiàn)場恢復(fù),退出中斷。 在不同的情況下,上述步驟的順序還可根據(jù)實際情況進行調(diào)整;例如,在處 理某個具體的中斷時,處理器先保護現(xiàn)場,然后執(zhí)行關(guān)中斷,或者在執(zhí)行關(guān) 中斷之后,先執(zhí)行清中斷操作,然后再處理所述中斷。
上述所提到的清中斷,具體來說,通常是指清除中斷標(biāo)識的操作。在單 片機中,一般地,常以寄存器的某一位作為中斷標(biāo)識位,并以該中斷標(biāo)識位 為高電平或低電平來標(biāo)識單片機是否處于中斷狀態(tài)。舉個例子,若以所述中 斷標(biāo)識位為高電平作為處于中斷狀態(tài)的標(biāo)識,當(dāng)中斷操作完成之后,在清中 斷操作中,處理器通過向寄存器發(fā)出清中斷指令,將該中斷所對應(yīng)的中斷標(biāo) 識位清零,或置為低電平,從而完成該中斷操作,使單片機處于非中斷狀態(tài)。
在實際實現(xiàn)中,清中斷操作不僅包括軟件實現(xiàn)部分,即通過發(fā)出清中斷 指令使中斷標(biāo)識位發(fā)生改變,還包括硬件執(zhí)行部分,即使軟件實現(xiàn)的改變通 過中斷寄存器中與所述中斷標(biāo)識位對應(yīng)的引腳上的電位表現(xiàn)出來。此外,通 常處理器通過讀取中斷寄存器的引腳以獲得中斷標(biāo)識位的電位,中斷寄存器 無法自動向外部發(fā)出信號,并且一般來說,中斷標(biāo)識位采用“讀-清”的中斷 記錄方式,即當(dāng)讀取了中斷標(biāo)識位的當(dāng)前狀態(tài)后,中斷標(biāo)識位將自動清零, 這種記錄方式使得反復(fù)多次地讀取會造成紊亂。
由于軟件指令在緩存中執(zhí)行速度很快,而硬件執(zhí)行相對比較慢,兩者之 間的時間差異會使得清中斷操作出錯,從而導(dǎo)致單片機系統(tǒng)出現(xiàn)不穩(wěn)定或使 處理器進行不必要的延時。具體來說,在程序設(shè)計上,當(dāng)處理器執(zhí)行完畢清 中斷操作的相關(guān)指令之后,處理器即認(rèn)為已執(zhí)行了清中斷的操作,或者說清 中斷操作已完成,但硬件執(zhí)行較慢或硬件執(zhí)行出現(xiàn)問題,盡管中斷標(biāo)識位的 電位已經(jīng)發(fā)生改變,但是中斷寄存器對應(yīng)的引腳上仍保持原先的電位。在這 種情況下,當(dāng)處理器將錯誤地認(rèn)為仍處于中斷狀態(tài),于是將一直處于等待狀 態(tài)且不對后續(xù)的中斷請求進行響應(yīng),從而造成不必要的再次中斷,或者造成 單片機系統(tǒng)的紊亂。
發(fā)明內(nèi)容
本發(fā)明解決的問題是中斷過程中,由于軟硬件處理速度的差異而造成中 斷已被清除的假象,從而對系統(tǒng)的后續(xù)運行造成隱患。
為解決上述問題,本發(fā)明提供了一種中斷方法,至少包括中斷入口步驟, 中斷處理步驟,清中斷步驟和退出步驟,所述清中斷步驟包括執(zhí)行清中斷指 令;所述清中斷步驟還包括:在執(zhí)行清中斷指令后,根據(jù)硬件清中斷的時間, 進行延時。
可選的,所述延時的時間在處理器對同樣類型的中斷執(zhí)行清中斷指令時 獲得,包括:測量清中斷操作指令完成與硬件完成的時間差。
可選的,所述延時的時間在所述處理器對同樣類型的中斷執(zhí)行清中斷指 令時獲得,包括:分別測量清中斷操作指令完成的時間以及清中斷操作硬件 完成的時間;計算清中斷操作指令完成與硬件完成的時間差。
可選的,通過示波器分別測量清中斷操作指令完成的時間與硬件完成的 時間。
可選的,所述通過示波器分別測量清中斷操作指令完成的時間與硬件完 成的時間,包括:在處理器執(zhí)行清除中斷指令之后,通過所述示波器的第一 通道記錄處理器引腳所輸出的第一指示信號的電平變化,獲得起始時間點; 當(dāng)硬件完成清中斷操作之后,通過所述示波器的第二通道記錄處理器中斷引 腳上中斷指示信號的電平變化,獲得結(jié)束時間點;計算所述起始時間點與所 述結(jié)束時間點的差值,獲得清中斷操作指令完成與硬件完成的時間差。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華亞微電子(上海)有限公司,未經(jīng)華亞微電子(上海)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.17sss.com.cn/pat/books/200910197343.0/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





