基于ISA總線的ADC板卡設(shè)計(jì)
關(guān)鍵詞:AD574 A/D轉(zhuǎn)換 ISA總線
1 引言
模數(shù)轉(zhuǎn)換器是工業(yè)測(cè)量和控制系統(tǒng)中數(shù)據(jù)采集子系統(tǒng)的重要部件,它是測(cè)控現(xiàn)場(chǎng)的模擬信號(hào)源與數(shù)字計(jì)算機(jī)之間的接口,其任務(wù)是把現(xiàn)場(chǎng)中連續(xù)變化的被測(cè)信號(hào)轉(zhuǎn)換成離散信號(hào),再由工控計(jì)算機(jī)作進(jìn)一步的數(shù)據(jù)處理。這就要求系統(tǒng)將所采集的模擬數(shù)據(jù)信號(hào)盡可能真實(shí)地、不失真地顯示給控制人員,為此,筆者研制了基于ISA總線的A/D轉(zhuǎn)換板卡。該板卡以AD574為A/D轉(zhuǎn)換核心,在ISA總線技術(shù)的基礎(chǔ)上,利用較少的外圍元件來(lái)實(shí)現(xiàn)多通道、高精度的A/D轉(zhuǎn)換。該板卡具有32路單端信號(hào)輸入,電壓范圍為0V~12V,轉(zhuǎn)換位數(shù)為12bit/8bit任選,同時(shí)具有自檢功能。本文主要介紹該板卡的硬件組成原理和軟件實(shí)現(xiàn)方法。
2 硬件電路
本轉(zhuǎn)換卡的硬件電路由數(shù)字總線緩沖器、讀/寫(xiě)地址控制/譯碼器、板號(hào)產(chǎn)生電路、A/D轉(zhuǎn)換電路、自檢電路、電源電路等組成。圖1所示是其硬件系統(tǒng)組成框圖。
2.1 ISA總線接口與控制電路
ISA總線接口與控制電路電路如圖2所示。該電路由數(shù)據(jù)總線緩沖器、讀/寫(xiě)地址控制/譯碼器、板號(hào)產(chǎn)生電路等組成,輸入來(lái)自ISA總線的數(shù)據(jù)信號(hào)(如IOR、板號(hào)產(chǎn)生電路U2(74LS688)輸出地址有效信號(hào)ADR,其具體地址由地址撥碼開(kāi)關(guān)SWDIP確定,本板卡中的地址為0x270H~0x277H;讀/寫(xiě)地址控制/譯碼器U4、U5(74LS138)可用于形成該板卡的讀寫(xiě)片選信號(hào)R27XH/W27XH(X代表0~7),以選中系統(tǒng)中其它功能芯片;當(dāng)?shù)刂酚行ВˋDR)時(shí),通過(guò)IOR/IOW判別數(shù)據(jù)緩沖U1(74LS245)的數(shù)據(jù)流向,以及數(shù)據(jù)的輸出或讀入。該板卡在輸出控制信號(hào)或檢測(cè)數(shù)據(jù)時(shí),可通過(guò)中斷方式完成多組數(shù)據(jù)的輸出或輸入。
圖2
2.2 模擬輸入電路
根據(jù)設(shè)計(jì)要求,該板卡采用轉(zhuǎn)換時(shí)間為25μs的12bit逐次比較型AD574轉(zhuǎn)換芯片作為A/D轉(zhuǎn)換器的核心,在本應(yīng)用系統(tǒng)中,輸入信號(hào)為單板性信號(hào)(0V~+12V),用AD574進(jìn)行單極性模擬信號(hào)轉(zhuǎn)換的具體硬件電路如圖3所示。
圖3
圖中,U15可根據(jù)系統(tǒng)的工作狀態(tài),通過(guò)DA1~DA5來(lái)改變U10、U11(MAX306)的控制地址,以選擇信號(hào)的輸入通道(共32路),模擬信號(hào)的輸入電壓值應(yīng)為0V~+12V;U14通過(guò)CS、R/C、CE等來(lái)控制AD574的具體工作狀態(tài),轉(zhuǎn)換的數(shù)據(jù)通過(guò)緩沖器U13(74LS541)輸出,其中低4位共用。AD574的工作狀態(tài)由CE、CS、R/C、12/8、A0五個(gè)控制信號(hào)決定,這些信號(hào)的組合控制功能如表1所列。
表1 AD574控制信號(hào)的功能組合
CE | CS | R/C | 12/8 | A0 | 工作狀態(tài) |
0 | × | × | × | × | 禁止 |
× | 1 | × | × | × | 禁止 |
1 | 0 | 0 | × | 0 | 啟動(dòng)12位轉(zhuǎn)換 |
1 | 0 | 0 | × | 1 | 啟動(dòng)8位轉(zhuǎn)換 |
1 | 0 | 1 | 接1腳(+5V) | 12位并行輸出 | |
1 | 0 | 1 | 接地 | 0 | 高8位并行輸出有效 |
1 | 0 | 1 | 接地 | 1 | 低4位加上尾隨4個(gè)0有效 |
應(yīng)用時(shí),如CE=1、CS=0,則AD574處于工作狀態(tài);而當(dāng)AD574處于工作狀態(tài)且R/C=0時(shí),則啟動(dòng)A/D轉(zhuǎn)換,R/C=1時(shí)進(jìn)行數(shù)據(jù)讀出。12/8和A0端用來(lái)控制轉(zhuǎn)換字長(zhǎng)和數(shù)據(jù)格式:若A0=0時(shí)啟動(dòng)轉(zhuǎn)換,則以完整的12位A/D轉(zhuǎn)換方式工作,而若A0=1時(shí)啟動(dòng)轉(zhuǎn)換,則以8位A/D轉(zhuǎn)換方式工作。AD574處于數(shù)據(jù)讀出工作狀態(tài)(R/C=1)時(shí),A0和12/8將作為數(shù)據(jù)讀出格式控制端。12/8為1對(duì)應(yīng)12位并行輸出;12/8=0則對(duì)應(yīng)8位雙字節(jié)輸出。其中A0=0時(shí)輸出高八位,A0=1時(shí)輸出低四位,并以四個(gè)0補(bǔ)足尾隨的四位。應(yīng)注意:12/8端與TTL電平不兼容,因此,只能將其與VCC或GND相連,且A0數(shù)據(jù)輸出期間不能變化。電路中的W1為調(diào)零電阻器,W2為調(diào)增益變阻器。
2.3 自檢電路
在自檢狀態(tài)下,U15輸出控制數(shù)據(jù)A00、A11、A22、A33、A44、A55和111110,以選通第32通道,輸入信號(hào)則是由電源電路穩(wěn)壓的+5V標(biāo)準(zhǔn)電壓??捎糜?jì)算機(jī)控制A/D轉(zhuǎn)換并讀入轉(zhuǎn)換數(shù)據(jù),以判斷器件的工作狀況,從而實(shí)現(xiàn)板卡的自檢,通過(guò)自檢可以判斷出產(chǎn)生故障的主要元器件。