多中斷辨識技術(shù)實(shí)驗
工控應用已遍及各行各業(yè),特別是隨著(zhù)計算機的普遍降價(jià),由PC機建構的控制系統已越來(lái)越多,該類(lèi)控制系統的優(yōu)點(diǎn)是可以用高級語(yǔ)言及大量的現有軟件快速建構自己的軟件系統。特別對航天控制類(lèi)應用項目,中斷引入及多中斷辨識技術(shù)是測控軟件中的關(guān)鍵技術(shù),嚴格的時(shí)序是測控軟件的必須嘲條件。通過(guò)試驗討論了2種商用帶中斷的I/0板卡的中斷引入及多中斷辨識技術(shù),介紹研華及凌華的相應中斷處理技術(shù)及中斷編程的要點(diǎn),希望讀者在使用時(shí)少走彎路。
2 研華中斷引入方法
研華的中斷支持卡為部分I/O卡,依據典型的PCIl75l為例,PCIl751為48路I/O卡,帶兩路中斷支持功能,I/O端口地址分別為0~5,安裝好驅動(dòng)程序和設備管理器后,在設備管理器中加入PCIl751設備,這時(shí)在軟件界面可以看到該卡對應的設備號,該號為用戶(hù)訪(fǎng)問(wèn)時(shí)使用的設備號。下一段代碼演示中斷引入方法,研華的中斷例子在設備初始化時(shí)太繁,前面一大段代碼是作為搜索設備使用的,在設備管理器軟件界面一般用戶(hù)已經(jīng)知道該設備號,所以可以在自己的代碼段省略掉該部分,下一段為Delphi代碼:
3 研華的中斷處理及多中斷辨識技術(shù)
研華的中斷處理例子并沒(méi)有多辨識部分,需要使用者自己想辦法,通過(guò)多次試驗,使用中斷前讀一次端口,中斷后再讀一次中斷口的辦法,判斷讀人數據變化即可以辨識哪個(gè)中斷發(fā)生。
4 凌華的中斷安裝
依據PCIl48卡為例演示中斷安裝及處理,PCIl48卡提供144路I/O,其中提供4路中斷,作者使用Visual C++代碼展示,凌華給出的例子較舊,是SDK形式或者DOS形式,凌華的I/O所有端口均使用一個(gè)端口,該企業(yè)給出的中斷安裝例子容易產(chǎn)生誤解,開(kāi)始作者一直以為它的4個(gè)中斷需要分別安裝,經(jīng)多次試驗后才發(fā)現不是這樣的:
評論