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