專利名稱:中斷方法
技術(shù)領(lǐng)域:
本發(fā)明涉及硬件處理技術(shù),特別是中斷方法。
背景技術(shù):
中斷是單片機(jī)實(shí)時地處理內(nèi)部或外部事件的一種內(nèi)部機(jī)制。當(dāng)某種內(nèi)部或外部事 件發(fā)生時,單片機(jī)的中斷系統(tǒng)將迫使處理器暫停正在執(zhí)行的程序,轉(zhuǎn)而去進(jìn)行中斷的處理。 中斷處理完畢后,處理器重新返回被暫停的程序處,繼續(xù)執(zhí)行下去。 中斷過程包括中斷請求過程以及中斷響應(yīng)過程。處理器接收中斷源所發(fā)出的中斷 請求指令,對其進(jìn)行響應(yīng),進(jìn)入中斷響應(yīng)過程。其中,所述中斷源也就是發(fā)出中斷請求指令 的設(shè)備或者服務(wù)?,F(xiàn)有技術(shù)中,對中斷進(jìn)行響應(yīng)的過程一般可包括首先處理器進(jìn)入中斷入 口 ;接著,執(zhí)行關(guān)中斷,或者開中斷的操作;接著,處理器對進(jìn)入中斷時的現(xiàn)場進(jìn)行保護(hù)以 及對中斷源進(jìn)行判斷,并且當(dāng)確定了中斷源之后,對其所請求的中斷進(jìn)行處理;當(dāng)中斷處理 完成之后,處理器執(zhí)行清中斷操作。然后,處理器進(jìn)行現(xiàn)場恢復(fù),退出中斷。在不同的情況 下,上述步驟的順序還可根據(jù)實(shí)際情況進(jìn)行調(diào)整;例如,在處理某個具體的中斷時,處理器 先保護(hù)現(xiàn)場,然后執(zhí)行關(guān)中斷,或者在執(zhí)行關(guān)中斷之后,先執(zhí)行清中斷操作,然后再處理所 述中斷。 上述所提到的清中斷,具體來說,通常是指清除中斷標(biāo)識的操作。在單片機(jī)中,一 般地,常以寄存器的某一位作為中斷標(biāo)識位,并以該中斷標(biāo)識位為高電平或低電平來標(biāo)識 單片機(jī)是否處于中斷狀態(tài)。舉個例子,若以所述中斷標(biāo)識位為高電平作為處于中斷狀態(tài)的 標(biāo)識,當(dāng)中斷操作完成之后,在清中斷操作中,處理器通過向寄存器發(fā)出清中斷指令,將該 中斷所對應(yīng)的中斷標(biāo)識位清零,或置為低電平,從而完成該中斷操作,使單片機(jī)處于非中斷 狀態(tài)。 在實(shí)際實(shí)現(xiàn)中,清中斷操作不僅包括軟件實(shí)現(xiàn)部分,即通過發(fā)出清中斷指令使中 斷標(biāo)識位發(fā)生改變,還包括硬件執(zhí)行部分,即使軟件實(shí)現(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)致單片機(jī)系統(tǒng)出現(xiàn)不穩(wěn)定或使處理器進(jì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ù)的中斷請求進(jìn)行響應(yīng),從而造成不必要的再次中斷,或者造成單片機(jī)系統(tǒng)的紊亂。
發(fā)明內(nèi)容
本發(fā)明解決的問題是中斷過程中,由于軟硬件處理速度的差異而造成中斷已被清除的假象,從而對系統(tǒng)的后續(xù)運(yùn)行造成隱患。 為解決上述問題,本發(fā)明提供了一種中斷方法,至少包括中斷入口步驟,中斷處理步驟,清中斷步驟和退出步驟,所述清中斷步驟包括執(zhí)行清中斷指令;所述清中斷步驟還包括在執(zhí)行清中斷指令后,根據(jù)硬件清中斷的時間,進(jìn)行延時。 可選的,所述延時的時間在處理器對同樣類型的中斷執(zhí)行清中斷指令時獲得,包括測量清中斷操作指令完成與硬件完成的時間差。 可選的,所述延時的時間在所述處理器對同樣類型的中斷執(zhí)行清中斷指令時獲得,包括分別測量清中斷操作指令完成的時間以及清中斷操作硬件完成的時間;計算清中斷操作指令完成與硬件完成的時間差。 可選的,通過示波器分別測量清中斷操作指令完成的時間與硬件完成的時間。
可選的,所述通過示波器分別測量清中斷操作指令完成的時間與硬件完成的時間,包括在處理器執(zhí)行清除中斷指令之后,通過所述示波器的第一通道記錄處理器引腳所輸出的第一指示信號的電平變化,獲得起始時間點(diǎn);當(dāng)硬件完成清中斷操作之后,通過所述示波器的第二通道記錄處理器中斷引腳上中斷指示信號的電平變化,獲得結(jié)束時間點(diǎn);計算所述起始時間點(diǎn)與所述結(jié)束時間點(diǎn)的差值,獲得清中斷操作指令完成與硬件完成的時間差。 可選的,所述起始時間點(diǎn)為所述第一指示信號由高電平變?yōu)榈碗娖綍r所述第一指示信號為低電平的時間,且所述結(jié)束時間點(diǎn)為所述中斷指示信號由低電平變?yōu)楦唠娖綍r所述中斷指示信號為高電平的時間;或者所述起始時間點(diǎn)為所述第一指示信號由低電平變?yōu)楦唠娖綍r所述第一指示信號為高電平的時間,且所述結(jié)束時間點(diǎn)為所述中斷指示信號由高電平變?yōu)榈碗娖綍r所述中斷指示信號為低電平的時間。 可選的,所述獲得起始時間點(diǎn)和獲得結(jié)束時間點(diǎn)包括當(dāng)所述第一指示信號處于上升沿的30%至70%范圍內(nèi),記錄所述起始時間點(diǎn),且當(dāng)所述中斷指示信號處于下降沿的30%至70%范圍內(nèi),記錄所述結(jié)束時間點(diǎn);或者當(dāng)所述第一指示信號處于下降沿的30%至70%范圍內(nèi),記錄所述起始時間點(diǎn),且當(dāng)所述中斷指示信號處于上升沿的30%至70%范圍內(nèi),記錄所述結(jié)束時間點(diǎn)。 可選的,所述根據(jù)硬件清中斷的時間,進(jìn)行延時還可包括根據(jù)第一預(yù)定時間,再次進(jìn)行延時。 與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn)通過在處理器執(zhí)行清除中斷標(biāo)識的操作之后,先根據(jù)硬件清中斷的時間進(jìn)行延時,然后才退出中斷,使得系統(tǒng)能夠在執(zhí)行下一步操作之前完全退出中斷,避免了后續(xù)操作受到未退出的中斷的影響,保證了系統(tǒng)的穩(wěn)定性。
圖1是本發(fā)明中斷方法實(shí)施方式的流程示意圖; 圖2是獲得本發(fā)明中斷方法步驟S302中延時時間的一種實(shí)施方式的流程示意圖; 圖3是圖2中步驟D1實(shí)施方式的流程示意 圖4是本發(fā)明中斷方法具體實(shí)施例中通過示波器所獲得第一指示信號與中斷指示信號的信號示意圖。
具體實(shí)施例方式
發(fā)明人正是發(fā)現(xiàn)由于軟件實(shí)現(xiàn)清中斷指令與處理器芯片中斷引腳的硬件執(zhí)行之間存在著時間差異,在清中斷的操作過程中,會對系統(tǒng)的后續(xù)運(yùn)行造成隱患,因此,提供了本發(fā)明中斷方法。在本發(fā)明中斷方法的實(shí)施方式中,當(dāng)處理器執(zhí)行清除中斷標(biāo)識的指令之后,根據(jù)硬件執(zhí)行清中斷的時間進(jìn)行延時,然后才執(zhí)行退出步驟,退出中斷。
參考圖1,本發(fā)明中斷方法實(shí)施方式中,至少包括中斷入口步驟S100,中斷處理步驟S200、清中斷步驟S300和退出步驟S400,其中,清中斷步驟至少包括步驟S301,執(zhí)行清中斷指令,即執(zhí)行清除中斷標(biāo)識的指令,步驟S302,根據(jù)硬件執(zhí)行清中斷的時間,進(jìn)行延時。
其中,中斷入口步驟SIOO,即當(dāng)接收到中斷請求信號之后,開始對所述中斷請求信號進(jìn)行響應(yīng),具體來說,可包括步驟S101,確定中斷源;步驟S102 ;關(guān)中斷或者開中斷;步驟S103,對中斷現(xiàn)場進(jìn)行保護(hù)。其中,可根據(jù)中斷的具體情況,調(diào)換中斷入口步驟S100中各步驟的順序,使步驟S101、步驟S102和步驟S103符合待執(zhí)行中斷的要求。所述調(diào)換并不對本發(fā)明造成影響。 響應(yīng)了中斷請求之后,接下來,處理器執(zhí)行中斷處理步驟S200,完成中斷操作的具
體指令。中斷操作的內(nèi)容可根據(jù)實(shí)際情況以及中斷源的不同屬性,由中斷指令而確定,其
中,所述中斷操作的內(nèi)容并不對本發(fā)明中斷方法的實(shí)施方式造成影響。 完成中斷處理步驟S200之后,處理器進(jìn)行清中斷步驟S300,并且在確保硬件已經(jīng)
完成了清中斷操作之后,執(zhí)行退出步驟S400。其中,退出步驟S400具體可包括恢復(fù)中斷現(xiàn)
場;例如在8086處理器中,當(dāng)所述中斷處理完畢后,處理器將CS和IP以及其他寄存器的數(shù)
值恢復(fù)到和中斷執(zhí)行前的一樣,以便主程序的繼續(xù)執(zhí)行。 在清中斷步驟S300中,首先執(zhí)行步驟S301,具體來說,即完成清中斷操作的指令,對中斷標(biāo)識位重新賦值。由于程序在緩存中執(zhí)行速度很快,往往指令的運(yùn)行在硬件完成相應(yīng)操作之前便可完成,因此在執(zhí)行步驟S301即清除中斷標(biāo)識的指令之后,先執(zhí)行步驟S302,即進(jìn)行預(yù)定時間的延時,等待相關(guān)硬件完成相應(yīng)的操作,然后再執(zhí)行退出步驟S400,退出中斷。 在一種具體實(shí)施方式
中,參考圖2,步驟S302中所延長的時間可當(dāng)該處理器對同
樣類型的中斷執(zhí)行清中斷指令時,通過以下步驟進(jìn)行測量和計算而獲得,具體來說可包括
步驟D1,分別測量清中斷操作指令完成的時間以及清中斷操作硬件完成的時間;步驟D2,
計算清中斷操作指令完成與硬件完成的時間差。所述時間差即為步驟S302中,當(dāng)該處理器
對同樣類型的中斷進(jìn)行清中斷操作時,在執(zhí)行完清中斷指令后所需要延長的時間。 參考圖3和圖4,在一個具體的實(shí)施例中,可通過示波器對清中斷操作指令完成與
硬件完成的時間差進(jìn)行測量。 首先,連接示波器與處理器芯片。具體地,將示波器的第一通道與處理器芯片通用輸入輸出(GPIO)接口的引腳相連接,用于接收處理器執(zhí)行清中斷指令之后所產(chǎn)生的第一指示信號;并且,將示波器的第二通道與處理器芯片中斷引腳相連接,用于接收該中斷引腳所反饋的中斷指示信號。
接著,執(zhí)行步驟D201 ,在處理器執(zhí)行清除中斷指令之后,獲得起始時間點(diǎn)。具體地,在處理器執(zhí)行清除中斷指令之后,通過GPIO接口與所述示波器相連接的引腳輸出高電平的第一指示信號。示波器記錄該引腳所述第一指示信號波形變化,獲得所述第一指示信號出現(xiàn)高電平的時間,并將所述時間作為起始時間點(diǎn)Tl。在實(shí)際情況中,起始時間點(diǎn)Tl可在所述第一指示信號處于上升沿時進(jìn)行記錄。在具體實(shí)施例中,可當(dāng)所述第一指示信號的值為該高電平的30%至70%范圍內(nèi)時,記錄起始時間點(diǎn)Tl,例如,所記錄的起始時間點(diǎn)Tl為所述第一指示信號上升沿的60%。 然后,執(zhí)行步驟D202,當(dāng)硬件完成清中斷操作之后,獲得結(jié)束時間點(diǎn)。具體地,當(dāng)硬件執(zhí)行清中斷操作之后,中斷請求寄存器中與中斷標(biāo)識位相連接的中斷引腳也被重新賦值,該引腳上的所述中斷指示信號變?yōu)榈碗娖?。所述示波器通過其第二通道對所述中斷指示信號的波形變化進(jìn)行記錄,并獲得所述中斷指示信號出現(xiàn)低電平的時間,以及將所述時間作為結(jié)束時間點(diǎn)T2。在實(shí)際情況中,結(jié)束時間點(diǎn)T2可在所述中斷指示信號處于下降沿時進(jìn)行記錄。在具體實(shí)施例中,可當(dāng)所述中斷指示信號的值為該低電平的30%至70%范圍內(nèi)時,記錄結(jié)束時間點(diǎn)T2,例如,所記錄的結(jié)束時間點(diǎn)T2為所述中斷指示信號下降沿的40X。
最后,執(zhí)行步驟D203,計算清中斷操作指令完成與硬件完成的時間差,所述時間差A(yù)T可通過計算結(jié)束時間點(diǎn)與起始時間點(diǎn)之間的時間間隔而獲得,S卩AT = T2-T1。
通過測量,獲得清中斷操作指令完成與硬件完成的時間差之后,使處理器從指令完成的時刻起,即從所記錄的開始時間點(diǎn)T1開始,延時所述時間后,再進(jìn)行下一步指令操作。 在上述實(shí)施方式中,所述第一指示信號可由低電平變?yōu)楦唠娖?,也可由高電平變?yōu)榈碗娖剑瑯拥?,所述中斷指示信號可由高電平變?yōu)榈碗娖剑部捎傻碗娖阶優(yōu)楦唠娖?,其設(shè)置僅于具體中斷以及處理器的設(shè)計有關(guān),不影響本發(fā)明構(gòu)思。 在其它實(shí)施方式中,還可將所述測量和計算的步驟反復(fù)多次進(jìn)行,計算多次所獲得的所述時間差的平均值并將所述平均值作為步驟S302中所延長的時間。
此外,獲得步驟S302中所延長的時間的測量和計算步驟還可用于對處理器執(zhí)行清中斷指令后的等待狀態(tài)進(jìn)行檢測。由于硬件差異以及設(shè)計要求,清中斷指令完成的時間以及硬件完成的時間之間可允許有極小的時間差異存在,即允許誤差值。當(dāng)處理器開始清中斷操作時,通過所述測量和計算步驟獲得清中斷操作指令完成與硬件完成的時間差,并將所述時間差與所述允許誤差值進(jìn)行比較,如果所述時間差大于允許誤差值,則所述等待狀態(tài)為異常,反之則為正常。 一旦檢測出處理器處于異常等待時,需要盡快使處理器退出異常等待,以免造成單片機(jī)系統(tǒng)紊亂。 在另一種具體實(shí)施方式
中,步驟S302中所延長的時間還可當(dāng)該處理器對同樣類
型的中斷執(zhí)行清中斷指令時,直接測量清中斷操作指令完成與硬件完成的時間差而獲得。 在本發(fā)明中斷方法的另一種實(shí)施方式中,當(dāng)對處理器的處理速度要求不高時,步
驟S302還可包括根據(jù)第一預(yù)定時間,再次進(jìn)行延時。為確保硬件已完成清中斷的操作,
可適當(dāng)?shù)卦龃笱娱L的時間,例如在計算獲得所述清中斷操作指令完成與硬件完成的時間差
之后,可再延長所述第一預(yù)定時間,其中,所述第一預(yù)定時間不對處理器的數(shù)據(jù)處理造成影響。 在中斷入口步驟SIOO中,所述中斷請求信號可由中斷源發(fā)出。所述中斷源,也就是請求中斷的服務(wù)或者設(shè)備,向處理器發(fā)出中斷請求信號,使所述處理器暫時中斷當(dāng)前程序的執(zhí)行而轉(zhuǎn)去執(zhí)行所請求的處理程序。所述發(fā)出中斷請求信號,可包括通過使中斷請求寄存器的一位或幾位中斷標(biāo)識位處于有效狀態(tài),向處理器發(fā)出請求。 在步驟S101中,確定中斷源還可包括對所述中斷請求信號進(jìn)行管理,具體來說,處理器可通過中斷屏蔽寄存器對所述中斷請求信號進(jìn)行管理。單片機(jī)系統(tǒng)可具有多級中斷,每級中斷可以對應(yīng)一個中斷源,也可以對應(yīng)多個中斷源,一般來說,多級中斷之間可以進(jìn)行嵌套,但是同級之中對應(yīng)于不同中斷源的各個中斷則不可以進(jìn)行嵌套,也就是說,在同等優(yōu)先級的不同中斷源所產(chǎn)生的中斷中,只有處理完了前一個中斷,才能對后一個中斷進(jìn)行處理。例如,處理器正在處理中斷源A所發(fā)出的中斷請求,此時中斷源B發(fā)出新的中斷請求信號,中斷源B和中斷源A屬于同等優(yōu)先級,則中斷屏蔽寄存器將中斷源B所發(fā)出的中斷請求信號屏蔽,直到處理完中斷源A所發(fā)出的中斷請求信號,才解除屏蔽,將中斷源B所發(fā)出的中斷請求信號發(fā)送給處理器。 在步驟S102中,關(guān)中斷也就是處理器每次僅處理單個中斷操作,即處理器先對當(dāng)前正在處理的中斷進(jìn)行處理,等當(dāng)前中斷處理結(jié)束之后再響應(yīng)其它的中斷;而開中斷與關(guān)中斷正好相反,即處理器允許多個中斷嵌套操作,也就是說,在當(dāng)前中斷未處理結(jié)束之前,處理器先對其它中斷進(jìn)行響應(yīng)和處理。 在步驟S103中,對中斷現(xiàn)場進(jìn)行保護(hù)是指保存進(jìn)入中斷時的系統(tǒng)參數(shù)以及返回端口等在中斷返回時可繼續(xù)使用所述中斷現(xiàn)場的內(nèi)容。具體來說,可包括,保護(hù)斷點(diǎn),即保護(hù)主程序的指令位置,也就是說,保護(hù)在沒有中斷的情況下,處理器按照正常順序應(yīng)執(zhí)行的下一條指令的地址。具體的,在8086處理器中,當(dāng)對中斷現(xiàn)場進(jìn)行保護(hù)時,將主程序的指令位置(CS和IP)保存至堆棧;必要時,還需要保存所有通用寄存器的數(shù)值。
其中,對中斷現(xiàn)場進(jìn)行保護(hù)的操作,可以發(fā)生在處理器在不同優(yōu)先級的中斷源所發(fā)出的中斷請求之間進(jìn)行切換的時候,也可以發(fā)生在處理器由執(zhí)行其它程序進(jìn)入到中斷處理的時候。 具體來說,處理器在處理優(yōu)先級低的中斷源所請求的中斷時,接收到優(yōu)先級高的中斷源所發(fā)出的中斷,接下來,處理器首先對當(dāng)前所處理的中斷現(xiàn)場進(jìn)行保護(hù),然后對優(yōu)先級高的中斷源所發(fā)出的中斷請求進(jìn)行處理,等其處理結(jié)束后,再返回處理優(yōu)先級低的中斷源所請求的中斷。例如,當(dāng)中斷源B的優(yōu)先級高于中斷源A的優(yōu)先級時,系統(tǒng)將先保存對中斷源A的中斷請求進(jìn)行處理時的各個系統(tǒng)參數(shù),即中斷現(xiàn)場;然后,處理中斷源B所請求的中斷;當(dāng)中斷源B所請求的中斷處理結(jié)束之后,返回所保存的中斷現(xiàn)場,繼續(xù)處理中斷源A所發(fā)出的中斷請求。 在其它實(shí)施方式中,對中斷現(xiàn)場進(jìn)行保護(hù)也可以是當(dāng)處理器在執(zhí)行其它程序時,接收到中斷請求后,處理器首先對當(dāng)前所處理的現(xiàn)場進(jìn)行保護(hù),然后才開始對中斷源所發(fā)出的中斷請求進(jìn)行處理。 本發(fā)明實(shí)施方式通過在處理器執(zhí)行清除中斷標(biāo)識的操作之后,先根據(jù)硬件清中斷的時間進(jìn)行延時,然后才退出中斷,避免了由于軟硬件的不同步,導(dǎo)致系統(tǒng)在退出中斷時會出現(xiàn)紊亂,使得系統(tǒng)能夠在執(zhí)行下一步操作之前完全退出中斷,避免了后續(xù)操作受到未退出的中斷的影響,保證了系統(tǒng)的穩(wěn)定性。并且,本發(fā)明實(shí)施簡便,應(yīng)用成本低,能較精確的估計出進(jìn)行延時,不影響處理器主程序的運(yùn)行順序。
雖然本發(fā)明已通過較佳實(shí)施例說明如上,但這些較佳實(shí)施例并非用以限定本發(fā) 明。本領(lǐng)域的技術(shù)人員,在不脫離本發(fā)明的精神和范圍內(nèi),應(yīng)有能力對該較佳實(shí)施例做出各 種改正和補(bǔ)充,因此,本發(fā)明的保護(hù)范圍以權(quán)利要求書的范圍為準(zhǔn)。
權(quán)利要求
一種中斷方法,至少包括中斷入口步驟,中斷處理步驟,清中斷步驟和退出步驟,所述清中斷步驟包括執(zhí)行清中斷指令;其特征在于,所述清中斷步驟還包括在執(zhí)行清中斷指令后,根據(jù)硬件清中斷的時間,進(jìn)行延時。
2. 如權(quán)利要求1所述的中斷方法,其特征在于,所述延時的時間在處理器對同樣類型 的中斷執(zhí)行清中斷指令時獲得,包括測量清中斷操作指令完成與硬件完成的時間差。
3. 如權(quán)利要求1所述的中斷方法,其特征在于,所述延時的時間在所述處理器對同樣 類型的中斷執(zhí)行清中斷指令時獲得,包括分別測量清中斷操作指令完成的時間以及清中斷操作硬件完成的時間; 計算清中斷操作指令完成與硬件完成的時間差。
4. 如權(quán)利要求3所述的中斷方法,其特征在于,通過示波器分別測量清中斷操作指令 完成的時間以及清中斷操作硬件完成的時間。
5. 如權(quán)利要求4所述的中斷方法,其特征在于,所述通過示波器分別測量清中斷操作 指令完成的時間以及清中斷操作硬件完成的時間,包括在處理器執(zhí)行清除中斷指令之后,通過所述示波器的第一通道記錄處理器引腳所輸出 的第一指示信號的電平變化,獲得起始時間點(diǎn);當(dāng)硬件完成清中斷操作之后,通過所述示波器的第二通道記錄處理器中斷引腳上中斷 指示信號的電平變化,獲得結(jié)束時間點(diǎn);計算所述起始時間點(diǎn)與所述結(jié)束時間點(diǎn)的差值,獲得清中斷操作指令完成與硬件完成 的時間差。
6. 如權(quán)利要求5所述的中斷方法,其特征在于,所述起始時間點(diǎn)為所述第一指示信號 由高電平變?yōu)榈碗娖綍r所述第一指示信號為低電平的時間,且所述結(jié)束時間點(diǎn)為所述中斷 指示信號由低電平變?yōu)楦唠娖綍r所述中斷指示信號為高電平的時間;或者所述起始時間點(diǎn) 為所述第一指示信號由低電平變?yōu)楦唠娖綍r所述第一指示信號為高電平的時間,且所述結(jié) 束時間點(diǎn)為所述中斷指示信號由高電平變?yōu)榈碗娖綍r所述中斷指示信號為低電平的時間。
7. 如權(quán)利要求5所述的中斷方法,其特征在于,所述獲得起始時間點(diǎn)和獲得結(jié)束時間 點(diǎn)包括當(dāng)所述第一指示信號處于上升沿的30%至70%范圍內(nèi),記錄所述起始時間點(diǎn),且 當(dāng)所述中斷指示信號處于下降沿的30%至70%范圍內(nèi),記錄所述結(jié)束時間點(diǎn);或者當(dāng)所述 第一指示信號處于下降沿的30%至70%范圍內(nèi),記錄所述起始時間點(diǎn),且當(dāng)所述中斷指示 信號處于上升沿的30%至70%范圍內(nèi),記錄所述結(jié)束時間點(diǎn)。
8. 如權(quán)利要求2或3所述的中斷方法,其特征在于,所述根據(jù)硬件清中斷的時間,進(jìn)行 延時還可包括根據(jù)第一預(yù)定時間,再次進(jìn)行延時。
全文摘要
一種中斷方法,包括中斷入口步驟,中斷處理步驟,清中斷步驟和退出步驟,所述清中斷步驟包括執(zhí)行清中斷指令;所述清中斷步驟還包括在執(zhí)行清中斷指令后,根據(jù)硬件清中斷的時間,進(jìn)行延時。本發(fā)明在完成清中斷指令之后以及退出中斷之前,設(shè)置延時機(jī)制,使得系統(tǒng)能夠在執(zhí)行下一步操作之前完全退出中斷,避免了后續(xù)操作受到未退出的中斷的影響,保證了系統(tǒng)的穩(wěn)定性。
文檔編號G06F13/24GK101699417SQ20091019734
公開日2010年4月28日 申請日期2009年10月16日 優(yōu)先權(quán)日2009年10月16日
發(fā)明者梁豐 申請人:華亞微電子(上海)有限公司