0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)嵌入式主板EM9160精簡ISA總線硬件中斷的使用方法

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:佚名 ? 2019-11-01 09:42 ? 次閱讀

英創(chuàng)公司新近推出的嵌入式主板EM9160是一款專門面向工業(yè)智能設(shè)備的高性價比ARM9+WinCE平臺,該工控主板不僅配置了常規(guī)的標準通訊接口,如以太、串口、USB,而且還配置了當前智能控制設(shè)備中常用的SPI、I2C以及脈寬調(diào)制輸出PWM,以及精簡ISA總線和外部中斷,以方便客戶做專用電路的擴展。本文主要介紹EM9160的外部中斷使用上的特色,以幫助客戶能快速完成自己的產(chǎn)品開發(fā)。

EM9160的精簡ISA擴展總線,包括了2路獨立的外部硬件中斷輸入ISA_IRQ1和ISA_IRQ2,平時輸入電平應(yīng)為低,當外部設(shè)備產(chǎn)生中斷時,ISA_IRQ1或ISA_IRQ2變高,其上升沿將觸發(fā)中斷,在系統(tǒng)對中斷進行響應(yīng)前,中斷請求信號需保持為高。當應(yīng)用程序?qū)ν庠O(shè)進行相應(yīng)的中斷響應(yīng)處理后,ISA_IRQ1或ISA_IRQ2應(yīng)返回常規(guī)的低電平狀態(tài)。

在WinCE下對于中斷的處理是一個相對比較復雜的過程,當一個硬件中斷發(fā)生時,首先是系統(tǒng)內(nèi)核對中斷進行診別,再啟動相應(yīng)中斷服務(wù)例程來處理這個中斷,在具體實現(xiàn)中斷處理的過程中,需要調(diào)用系統(tǒng)提供的中斷相關(guān)的函數(shù),就涉及到內(nèi)核函數(shù)的調(diào)用。而用戶在使用eVC等工具軟件進行應(yīng)用程序開發(fā)時,是不能直接調(diào)用這些內(nèi)核函數(shù)的。針對這一情況,為了方便客戶對于外部中斷的使用,英創(chuàng)公司設(shè)計完成了在內(nèi)核中直接加載外部中斷的驅(qū)動程序,一旦中斷事件發(fā)生,驅(qū)動程序的中斷線程將響應(yīng)硬件中斷同時產(chǎn)生一個事件,以通知上層的用戶模式線程。按照這種方式導出一個定制的用戶接口(共4個函數(shù)),用戶只需要在應(yīng)用軟件中直接調(diào)用這些定制的接口函數(shù)即可方便地實現(xiàn)對于中斷的應(yīng)用處理,下面就介紹這些相關(guān)的接口函數(shù)。

(1)HANDLE InstallExternIRQ( DWORD dwIRQNo );

功能描述:安裝啟動ISA總線外部中斷。

輸入參數(shù) dwIRQNo: 需要啟動安裝的外部中斷號,輸入值為1或2,分別對應(yīng)ISA總線上的IRQ1和IRQ2。

返回值 = NULL: 安裝ISA總線外部中斷失敗。 != NULL: 啟動ISA總線外部中斷返回的句柄。

(2)HANDLE GetExternIRQEvent( HANDLE hIRQ );

功能描述:獲取ISA總線外部中斷的中斷事件。

輸入?yún)?shù) hIRQ: 調(diào)用函數(shù)InstallExternIRQ( )所返回的外部中斷句柄。

返回值 = NULL: 操作失敗。 != NULL:ISA總線外部中斷的中斷事件。

(3)BOOL EnableExternIRQ( HANDLE hIRQ );

功能描述:使能ISA總線外部中斷,允許下一次的中斷。

輸入?yún)?shù) hIRQ:函數(shù)InstallExternIRQ( )所返回的外部中斷句柄。

返回值 = TRUE:操作成功。 = FASLE:操作失敗。

(4)BOOL UninstallExternIRQ( HANDLE hIRQ );

功能描述:卸載關(guān)閉ISA總線外部中斷。

輸入?yún)?shù) hIRQ:函數(shù)InstallExternIRQ( )所返回的外部中斷句柄。

返回值 = TRUE:操作成功。 = FASLE:操作失敗。

這四個函數(shù)定義在IRQ_API.h文件下,相應(yīng)的IRQ_API.LIB已經(jīng)直接打包在SDK中,用戶直接安裝嵌入式工控主板EM9160的SDK文件即可。

作為應(yīng)用程序來說,可以通過函數(shù)InstallExternIRQ( … )來啟動外部中斷,并通過GetExternIRQEvent( … )獲取中斷事件的句柄。應(yīng)用程序應(yīng)創(chuàng)建一個處理對應(yīng)的外部中斷處理線程,該線程等待中斷事件來觸發(fā),一般用WaitForSingleObject( )來等待事件被觸發(fā),當硬件中斷發(fā)生時,用戶處理線程就可以完成必要的I/O操作來采集數(shù)據(jù)或處理數(shù)據(jù)了,再調(diào)用函數(shù)EnableExternIRQ( )再次開啟硬件中斷。

典型的應(yīng)用程序中斷處理線程如下:

DWORD WINAPI CEM9160_IRQ::IRQThreadFunc(LPVOID lparam)

{

CEM9160_IRQ *lpIRQ = (CEM9160_IRQ*)lparam;

for( ; ; )

{

WaitForSingleObject( lpIRQ-》hIRQEvent, INFINITE ); // 等待硬件中斷事件

ExIRQHandler( ); // 硬件中斷事件處理,用戶可在此函數(shù)中添加中斷處理代碼

EnableExternIRQ( lpIRQ-》hIRQ ); // 再次開啟硬件中斷

}

}

需要注意的是,當具體的中斷處理函數(shù)ExIRQHandler( )執(zhí)行完畢時,硬件中斷請求輸入ISA_IRQ1或ISA_IRQ2的電平已回到低電平狀態(tài),并確保在系統(tǒng)再次使能外部中斷前一直保持為低,即函數(shù)EnableExternIRQ( lpIRQ-》hIRQ )完成前一直保持為低,以防止中斷嵌套。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6085

    瀏覽量

    35402
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式工控主板EM9160的PWM功能

    創(chuàng)公司新近推出的嵌入式工控主板EM9160是一款專門面向工業(yè)智能設(shè)備的高性價比ARM9+WinCE平臺,該工控
    發(fā)表于 04-09 15:49 ?36次下載

    如何利用創(chuàng)ARM9嵌入式主板快速構(gòu)建雙CAN接口的方案

    創(chuàng)提供的系列ARM9嵌入式主板,除EM9160嵌入式主板
    的頭像 發(fā)表于 10-08 11:37 ?4082次閱讀
    如何利用<b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b>ARM9<b class='flag-5'>嵌入式</b><b class='flag-5'>主板</b>快速構(gòu)建雙CAN接口的方案

    創(chuàng)信息技術(shù)嵌入式工控主板EM9160的PWM功能使用方法

     創(chuàng)公司新近推出的嵌入式工控主板EM9160是一款專門面向工業(yè)智能設(shè)備的高性價比ARM9+WinCE平臺,該工控
    的頭像 發(fā)表于 11-01 09:27 ?1605次閱讀

    創(chuàng)信息技術(shù)工控主板EM9360的GPIO介紹

    的WinCE驅(qū)動程序,支持應(yīng)用程序通過WinCE相應(yīng)的API函數(shù)來操作各路網(wǎng)絡(luò)接口。此外EM9360還與創(chuàng)公司其他ARM9主板一樣,帶有精簡
    的頭像 發(fā)表于 11-14 09:34 ?2408次閱讀

    創(chuàng)信息技術(shù)工控主板EM9160L的低功耗應(yīng)用介紹

    EM9160L是一款與創(chuàng)主力產(chǎn)品EM9160功能完全兼容,同時具有低功耗操作能力的高性能ARM9嵌入式
    的頭像 發(fā)表于 11-14 09:59 ?1588次閱讀

    創(chuàng)信息技術(shù)工控主板的復位管理介紹

     創(chuàng)公司的工控主板是基于ARM9 CPU、預裝正版WinCE的嵌入式主板產(chǎn)品。作為嵌入式應(yīng)用,
    的頭像 發(fā)表于 11-14 10:03 ?1681次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>工控<b class='flag-5'>主板</b>的復位管理介紹

    創(chuàng)信息技術(shù)工控主板EM9160對紅外通訊用途介紹

    創(chuàng)公司的EM9160是一款高性價比的工控主板,預裝正版WinCE5.0操作系統(tǒng),具有極強的通訊能力。在電力電表的應(yīng)用中,紅外通訊是一種非常重要的串口通訊方式,在
    的頭像 發(fā)表于 11-18 09:58 ?1274次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>工控<b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>對紅外通訊用途介紹

    創(chuàng)信息技術(shù)工業(yè)主板EM9160介紹

    ,如I2C總線時鐘芯片,I2C總線存貯器等。之前已對I2C總線操作鐵電存貯器有過說明,相關(guān)文章請參考《工控主板支持鐵電存儲器的簡易方案》。
    的頭像 發(fā)表于 01-14 11:09 ?1318次閱讀

    創(chuàng)信息技術(shù)嵌入式Linux工控板EM9160介紹

    I2C總線是一種2線制的主從通訊協(xié)議,主要運用于器件之間的數(shù)據(jù)通訊,在嵌入式系統(tǒng)中得到非常廣泛的應(yīng)用。作為一款高性價比的嵌入式Linux工控板,EM9160的對I2C
    的頭像 發(fā)表于 01-14 10:57 ?1344次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>嵌入式</b>Linux工控板<b class='flag-5'>EM9160</b>介紹

    創(chuàng)信息技術(shù)嵌入式Linux工控板EM9160介紹

    嵌入式Linux主板EM9160主要應(yīng)用之一就是可以作為智能終端的核心平臺,智能終端總是帶有一種顯示單元。EM9160作為一種高效、低成本的產(chǎn)品解決方案,專門針對小型的單色LCD顯示模
    的頭像 發(fā)表于 01-14 11:20 ?1400次閱讀

    創(chuàng)信息技術(shù)工控主板EM9160介紹

    在基于工控主板EM9160嵌入式應(yīng)用中,經(jīng)常需要與具有SPI接口的芯片或電路單元,進行數(shù)據(jù)通訊。通常情況下,我們建議采用基于GPIO的SPI通訊協(xié)議實現(xiàn)方案,其優(yōu)點是靈活性,客戶可使用任意
    的頭像 發(fā)表于 01-14 11:16 ?1411次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>工控<b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>介紹

    創(chuàng)信息技術(shù)主板EM9160硬件介紹

    創(chuàng)工控主板上的精簡ISA總線的主要應(yīng)用,就是支持客戶的專用電路單元的擴展,如數(shù)據(jù)采集等。在
    的頭像 發(fā)表于 01-14 11:27 ?1105次閱讀

    創(chuàng)信息技術(shù)主板EM9160實現(xiàn)波形數(shù)據(jù)采集

    工控主板EM9160精簡ISA總線的主要擴展應(yīng)用之一,就是擴展針對應(yīng)用的各種數(shù)據(jù)采集單元,即通常所說的AD單元。對低速采樣、且不要求樣點間
    的頭像 發(fā)表于 01-14 11:32 ?1084次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>主板</b><b class='flag-5'>EM9160</b>實現(xiàn)波形數(shù)據(jù)采集

    創(chuàng)信息技術(shù)主板EM9160測頻功能的使用介紹

    創(chuàng)公司的主流產(chǎn)品EM9160是一款功能強大的嵌入式工控主板,其主要應(yīng)用是作為工業(yè)智能設(shè)備的核心平臺。E
    的頭像 發(fā)表于 01-15 14:15 ?1530次閱讀

    創(chuàng)信息技術(shù)EM335x精簡ISA擴展總線地址總線介紹

    創(chuàng)公司新近推出的工控主板EM335x支持精簡ISA擴展總線
    的頭像 發(fā)表于 01-17 10:20 ?1382次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b><b class='flag-5'>EM</b>335x<b class='flag-5'>精簡</b><b class='flag-5'>ISA</b>擴展<b class='flag-5'>總線</b>地址<b class='flag-5'>總線</b>介紹