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