馬小軍 師艷俠
摘 要:針對脈沖量的測試問題給出了一種新穎、簡單的信號采集方法,即采用通用的可編程器件8253制成了電路板,并采用了ISA總線,其能與IBM系列計算機連接,創(chuàng)新點在于電路的實現方法和可同時實現多路脈沖量信號的采集。
關鍵詞:脈沖量;采集卡;光電耦合器;智能儀表
中圖分類號:TP274.2 文獻標識碼:A DOI:10.15913/j.cnki.kjycx.2016.12.124
在實時控制、智能儀表、數據采集等計算機的應用領域中,計算機需要隨時與外部世界頻繁交換信息,這些信息都必須通過一定的接口與計算機通信。
通過對脈沖信號的計數即可完成數據采集。本文介紹了一種不帶微處理器的脈沖量采集卡的設計原理和應用方式。該電路的特點是軟、硬件接口電路簡單,成本低,可靠性高,最高計數頻率可達1 MHz。
1 硬件電路設計
脈沖量采集卡的電路包括光耦去抖電路、定時/計數電路、地址譯碼電路、總線驅動緩沖電路四部分,其原理如圖1所示。
1.1 光耦去抖電路
設計電路時,應考慮使用隔離器件抑制各種干擾的影響,使電路具有較強的抗干擾能力和較高的可靠性。在本設計中,采用了4N25光電隔離器。圖1中的U15-U25為隔離器,通過J1和J2輸入信號至光敏二極管,并經內部高增益線性放大器將信號放大后,由集電極開路門輸出信號。其輸出從0至1幾乎是躍變的。由于其輸入電阻較低、分布電容較小,絕緣電阻可達1 010 Ω。在此情況下,內阻較大的干擾信號進入光電耦合器輸入端時已經被抑制,加之發(fā)光二極管、光敏三極管的耦合作用,經過削減的干擾信號基本消失。此外,采用了PC系統(tǒng)的電源供電,消除了由于電源內阻壓降而造成的相互干擾。如果能實現場地與儀器的相互隔離,則會使主機的運行更加可靠。
1.2 定時/計數電路
在圖1中,U1~U4為可編程定時/計數器8253,每臺8253配有3個相同的16位減法計數器,共有12個計數器。當微機將控制值和計數值寫入8253后,開始對來自4069的脈沖計數。定時停止采集和讀數有2種方式:①軟件定時。由PC機發(fā)出命令對計數器中的內容鎖存和讀數。②硬件中斷定時。利用U4向ISA總線第B30腳IRQ7發(fā)出中斷命令,進而在中斷處理程序中從計數器中采集數據。
1.3 地址譯碼電路
由地址線的A5~A8經過編碼開關U18,并由74LS138譯碼器U12完成譯碼任務。在具體應用中,需要根據PC的I/O端口配置采集卡的地址,以免發(fā)生微機故障。
1.4 驅動緩沖電路
驅動緩沖電路采用74LS245雙向總線驅動芯片,可增強總線的驅動能力。
2 軟件設計
采集卡插在微機擴展槽中,會占用一個端口地址,可通過調用輸入、輸出函數實現數據的讀寫。將U4定時/計數器T1和T2作為定時器,T1的計數頻率為14,318 MHz,T2的計數頻率為65,536 kHz,精度較高。其他的8253可以對10路脈沖信號計數,最高計數頻率可達1 MHz。計數時間可由定時器控制,一定時間內的脈沖數能反映信號的大小。計數時間可根據實際應用場合具體選定。在實際應用中,可根據需要選擇通道數,最多可選擇10個通道的脈沖信號。
3 脈沖采集卡的實際應用
對于脈沖采集卡在行走式液壓支架實驗臺中的應用,會在支架行走、停止、升降時測試液壓流量,并使用了渦輪流量傳感器,流量信號經過霍爾元件輸出脈沖數字量,輸出的脈沖數與體積流量成正比。此外,還采用了單線連接進入采集卡的方式,可測量到主路的每秒流量和累加流量。部分例程如下:
…
#define AdressBase 0×300
void main()
{
for(i=0;i<5;i++)
{
gettime(&curttime); /*定時器開始 */
secstart=curtimie.ti_sec;
outportb(AdressBase+3,0×10);/* 8253初始化 */
outportb(AdressBase,20);
……
loop1: gettime(&surtime); /*采集一秒鐘的脈沖量 */
second=curtime.ti_sec;
If((second-secstart)>=1)
{
outportb(AdressBase+3,0); /*采集結束 */
temp1=inportb(AdressBase);
count[i]=255-temp1; /*采集到的脈沖數量 */
…… /*數據處理 */
}
4 結束語
目前,脈沖采集卡已通過調試,測試效果良好,且已安裝在工控機中;可以代替昂貴的商業(yè)板卡,已應用于脈沖量數據采集試驗現場,比如應用于脈沖量的測量、開關量的輸入/輸出和定時中斷等計算機測試系統(tǒng)中。
〔編輯:張思楠〕