中斷處理模式: 外部中斷處理和內(nèi)部中斷處理的差異性
mtsr $r0, $IVB !write $IVB
INTC相關(guān)程序片斷:
INTC通常支持不同的中斷觸發(fā)方式,包含Interrupt Masking、Interrupt Trigger Mode、Interrupt Trigger Level …等。在開始使用每個(gè)中斷來源之前,這些控制選項(xiàng)都必須在INTC上設(shè)定正確。
3. 模擬結(jié)果
將上述的Reference Design整合完成后,搭配測試程序進(jìn)行仿真,并藉由波形圖來觀察不同中斷模式下,相關(guān)中斷訊號線的變化。
3.1 IVIC模擬結(jié)果
在IVIC仿真環(huán)境中,主要測試程序如下:
l 由GPIO觸發(fā)一中斷,并將中斷傳遞給CPU
l CPU接收到中斷后,執(zhí)行相對應(yīng)的中斷處理程序
仿真結(jié)果如圖表11所示,當(dāng)GPIO觸發(fā)中斷后,將中斷直接傳遞給CPU,在CPU端的int_req訊號線會觸發(fā),表示有中斷發(fā)生。當(dāng)CPU收到中斷訊號后,接著會處理相對應(yīng)的中斷處理程序。
3.2 EVIC模擬結(jié)果
在EVIC仿真環(huán)境中,主要測試程序如下:
l 由GPIO觸發(fā)一中斷
l 此時(shí)INTC設(shè)D為EVIC模式,并將中斷訊號和相關(guān)溝通訊號傳遞給CPU
l CPU接收到中斷后,會將響應(yīng)訊號拉起,告知INTC收到該中斷,并執(zhí)行相對應(yīng)的中斷處理程序
仿真結(jié)果如圖表12所示,當(dāng)GPIO觸發(fā)中斷后,INTC將中斷和相關(guān)溝通訊號(ireqval)傳遞給CPU,在CPU端的int_req訊號線和evic_ireqval訊號線會觸發(fā),表示有中斷發(fā)生。當(dāng)CPU收到中斷訊號后,會將evic_ireqack訊號線拉起,告知INTC收到中斷。仿真結(jié)果如同章節(jié)1.2和圖表5所論述。
結(jié)語
在AndesCore™ N968A-S 所提供的兩種中斷模式里,其中的IVIC模式使用CPU內(nèi)的中斷控制器來處理中斷,此模式對用戶來說,只要將中斷來源和CPU端的中斷訊號連接即可,相當(dāng)容易整合。若用戶所設(shè)計(jì)的系統(tǒng)里,中斷來源數(shù)目超過IVIC模式所支持,或者系統(tǒng)需要更復(fù)雜的優(yōu)先權(quán)選擇時(shí),則可選用EVIC模式。在EVIC模式下,用戶需額外設(shè)計(jì)外部中斷控制器,并整合相關(guān)溝通訊號。因此,用戶可根據(jù)本身系統(tǒng)的復(fù)雜度和整合的難易度,來選擇適合的中斷處理模式。
水位傳感器相關(guān)文章:水位傳感器原理
評論