<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 中斷處理模式: 外部中斷處理和內(nèi)部中斷處理的差異性

          中斷處理模式: 外部中斷處理和內(nèi)部中斷處理的差異性

          作者: 時間:2013-08-08 來源:網(wǎng)絡(luò) 收藏

          mtsr $r0, $IVB !write $IVB

          INTC相關(guān)程序片斷:

          INTC通常支持不同的觸發(fā)方式,包含Interrupt Masking、Interrupt Trigger Mode、Interrupt Trigger Level …等。在開始使用每個來源之前,這些控制選項都必須在INTC上設(shè)定正確。

          3. 模擬結(jié)果

          將上述的Reference Design整合完成后,搭配測試程序進行仿真,并藉由波形圖來觀察不同下,相關(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)的中斷程序。

          QQ截圖20130808131850.jpg

          3.2 EVIC模擬結(jié)果

          在EVIC仿真環(huán)境中,主要測試程序如下:

          l 由GPIO觸發(fā)一中斷

          l 此時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所論述。

          圖表12. Simulation Waveform of EVIC

          結(jié)語

          在AndesCore™ N968A-S 所提供的兩種中斷里,其中的IVIC模式使用CPU內(nèi)的中斷控制器來處理中斷,此模式對用戶來說,只要將中斷來源和CPU端的中斷訊號連接即可,相當(dāng)容易整合。若用戶所設(shè)計的系統(tǒng)里,中斷來源數(shù)目超過IVIC模式所支持,或者系統(tǒng)需要更復(fù)雜的優(yōu)先權(quán)選擇時,則可選用EVIC模式。在EVIC模式下,用戶需額外設(shè)計中斷控制器,并整合相關(guān)溝通訊號。因此,用戶可根據(jù)本身系統(tǒng)的復(fù)雜度和整合的難易度,來選擇適合的中斷處理模式。

          水位傳感器相關(guān)文章:水位傳感器原理

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();