版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第7章模/數(shù)與數(shù)/模轉(zhuǎn)換接口7.1概述
7.2D/A轉(zhuǎn)換器
7.3A/D轉(zhuǎn)換器習(xí)題與思考題
在計算機過程控制及數(shù)據(jù)采集等系統(tǒng)中,經(jīng)常要對產(chǎn)生過程的參數(shù)進行測量和控制。被測或被控對象往往是連續(xù)變化的物理量,如溫度、流量、壓力、電壓、位移量等。這些連續(xù)變化的物理量通常稱為模擬量。模擬量是不能送入計算機進行運算的,因為計算機處理的是離散的二進制代碼,即數(shù)字量。數(shù)字量不是連續(xù)變化的物理量,它在時間上的變化是不連續(xù)的,而且其數(shù)值在變化時每次只能增加或減少一個或幾個計量單位。因此,要用微型計算機去控制和處理各種模擬量,就必須進行模擬量與數(shù)字量之間的轉(zhuǎn)換。7.1概述把數(shù)字量轉(zhuǎn)換為模擬量稱為數(shù)/模(D/A)轉(zhuǎn)換。能把數(shù)字量轉(zhuǎn)換為模擬量的器件叫數(shù)/模轉(zhuǎn)換器,簡稱DAC(DigitaltoAnalogConverter)。把模擬量轉(zhuǎn)換為數(shù)字量稱為模/數(shù)(A/D)轉(zhuǎn)換。能把模擬量轉(zhuǎn)換為數(shù)字量的器件叫模/數(shù)轉(zhuǎn)換器,簡稱ADC(AnalogtoDigitalConverter)。
通常在一個微型計算機應(yīng)用系統(tǒng)中,可能既要用到D/A轉(zhuǎn)換又要用到A/D轉(zhuǎn)換。例如,用微機去控制一個恒溫箱和用微機測量溫箱內(nèi)的溫度,都需要用A/D轉(zhuǎn)換,而當(dāng)微機根據(jù)測好的溫度去進行恒溫控制時,則又需要用D/A轉(zhuǎn)換。因此,D/A和A/D轉(zhuǎn)換器廣泛用于計算機控制系統(tǒng)、測量和測試設(shè)備以及遙測、遙控技術(shù)中。圖7-1所示是一個典型的數(shù)字式測控系統(tǒng)。這個系統(tǒng)中的各個被測對象的模擬參數(shù)經(jīng)過模擬傳感器和多路切換器后,被送至A/D轉(zhuǎn)換器,A/D轉(zhuǎn)換器將各個模擬參數(shù)分別轉(zhuǎn)換成數(shù)字信號并由發(fā)射機發(fā)射出去。接收機將接收到的數(shù)字信號通過D/A轉(zhuǎn)換成模擬信號的電壓或電流,并由多路分配器送到指定的通道以驅(qū)動相應(yīng)的模擬元件。這種遙測、遙控系統(tǒng)在航天、氣象及通信中是十分重要的。
圖7-1數(shù)字式測控系統(tǒng)示意圖隨著電子技術(shù)、集成技術(shù)和計算機技術(shù)的迅速發(fā)展,A/D與D/A轉(zhuǎn)換技術(shù)的應(yīng)用領(lǐng)域也在不斷擴大。例如,在測量和測試設(shè)備中,廣泛使用的各種數(shù)字電壓表和其他數(shù)字測量儀器,其主要部件都要用到A/D轉(zhuǎn)換器。又如,在通信和信號分析系統(tǒng)中,諸如時間的擴展、壓縮、超前和滯后,信號波形的合成和分解,傳遞函數(shù)的合成和分析,卷積,數(shù)字濾波,加密和解密輸入等都需要A/D和D/A轉(zhuǎn)換器。除此之外,在多媒體技術(shù)中的聲音卡、視頻卡等,數(shù)字通信系統(tǒng),醫(yī)療設(shè)備以及其他系統(tǒng)或設(shè)備中也都要用到D/A和A/D轉(zhuǎn)換器。由此可見,凡是需要在計算機和模擬系統(tǒng)之間交換信息的場合以及需要在模擬量和數(shù)字量之間進行轉(zhuǎn)換的地方,都要采用A/D和D/A轉(zhuǎn)換器。所以,A/D和D/A接口就成為微機應(yīng)用系統(tǒng)中最廣泛的一類接口。通常把A/D和D/A接口又稱為模擬量I/O接口。本章將對微機中常用的模擬量I/O接口的工作原理、構(gòu)成、與CPU的接口方法及其應(yīng)用等進行討論。7.1.1實時閉環(huán)控制系統(tǒng)
圖7-2所示為一個包含A/D和D/A轉(zhuǎn)換器的實時閉環(huán)控制系統(tǒng)示意圖。
圖7-2實時閉環(huán)控制系統(tǒng)示意圖在圖7-2中,A/D和D/A轉(zhuǎn)換器分別是模擬量輸入和模擬量輸出通路中的核心部件,7.1.2節(jié)和7.1.3節(jié)將對它們作較詳細的討論。如果將圖7-2所示的實時閉環(huán)系統(tǒng)中的D/A轉(zhuǎn)換器去掉,則系統(tǒng)將成為一個可把現(xiàn)場模擬信號變?yōu)閿?shù)字信號,并送至計算機進行處理的數(shù)據(jù)采集系統(tǒng)。反之,若系統(tǒng)中只包含D/A轉(zhuǎn)換通路,就構(gòu)成了一個程序控制系統(tǒng)。7.1.2模擬量的輸入通道
典型的模擬量輸入通道由以下幾部分組成。
1.傳感器(Transducer)
傳感器是用于將工業(yè)生產(chǎn)現(xiàn)場的某些非電物理量轉(zhuǎn)換為電量(電流、電壓)的器件。例如,熱電偶能夠?qū)囟冗@個物理量轉(zhuǎn)換成幾毫伏或幾十毫伏的電壓信號,所以可用它作為溫度傳感器;而壓力傳感器可以把物理量壓力的變化轉(zhuǎn)換為電信號。
2.放大濾波器及信號處理
一般來講,傳感器輸出的電信號都比較微弱,有些傳感器的輸出甚至是電阻值、電容值等非電量。為了易于與信號處理環(huán)節(jié)銜接,就需要將這些微弱電信號及電阻值等非電量轉(zhuǎn)換成一種統(tǒng)一的電信號。變送器就是實現(xiàn)這一功能的器件,它可將傳感器的輸出信號轉(zhuǎn)換成0~10mA或4~20mA的統(tǒng)一電流信號或者0~5V的電壓信號。信號處理主要包括信號的放大及干擾信號的去除。信號處理可將變送器輸出的信號進行放大或處理成與A/D(AnalogtoDigital)轉(zhuǎn)換器所要求的輸入相適應(yīng)的電壓水平。另外,傳感器通常都安裝在現(xiàn)場,環(huán)境比較惡劣,其輸出常疊加有高頻干擾信號。因此,信號處理環(huán)節(jié)通常是低通濾波電路,如RC濾波器或由運算放大器構(gòu)成的有源濾波電路等。
3.多路轉(zhuǎn)換開關(guān)(Multiplexer)
在生產(chǎn)過程中,要監(jiān)測或控制的模擬量往往不止一個,尤其是在數(shù)據(jù)采集系統(tǒng)中,需要采集的模擬量一般比較多,而且不少模擬量是緩慢變化的信號。對這類模擬信號的采集可采用多路模擬開關(guān),使多個模擬信號共用一個A/D轉(zhuǎn)換器進行采樣和轉(zhuǎn)換,以降低成本。多路模擬開關(guān)用來切換模擬信號。對于A/D通道來說,需要用多路輸入、一路輸出的模擬開關(guān),使輸入的多路模擬信號輪流與A/D轉(zhuǎn)換器接通。對于D/A通道,則要在D/A轉(zhuǎn)換器之后加一個一路輸入、多路輸出的模擬開關(guān),使輸出的模擬信號輪流分配到各模擬通路中。這兩種電路都已有集成電路產(chǎn)品,如AD7501、AD7503等都是多路輸入、一路輸出的多路模擬開關(guān),CD4051、CD4052、CD4097都是可進行雙向切換的多路開關(guān),它們既可作多路輸入、一路輸出的模擬開關(guān),也可作一路輸入、多路輸出的模擬開關(guān)。下面以8選1雙向多路開關(guān)CD4051為例,介紹多路模擬開關(guān)的結(jié)構(gòu)、功能和使用方法。
圖7-3所示是CD4051芯片的引腳圖,圖7-4所示是它的內(nèi)部邏輯結(jié)構(gòu)圖。
圖7-3CD4051芯片的引腳圖
圖7-4CD4051的內(nèi)部邏輯結(jié)構(gòu)圖多路模擬開關(guān)的典型應(yīng)用是與采樣保持器和A/D轉(zhuǎn)換器配合,構(gòu)成多路數(shù)據(jù)采集通道。圖7-5所示是用CD4051作多路開關(guān),構(gòu)成具有8個輸入通道的數(shù)據(jù)采集電路的例子。經(jīng)放大、濾波等預(yù)處理之后的8路模擬信號IN0~IN7分別送到CD4051的8個I/O引腳,CPU數(shù)據(jù)總線的D3~D0接到鎖存器74LS273的輸入端。鎖存后的D3位4Q與選通端 相連,當(dāng)D3=0時, =0,使CD4051選通;D2~D0位經(jīng)鎖存后分別與CD4051的通道號輸入端A2~A0相連,實現(xiàn)通道選擇。對于CPU來說,鎖存器相當(dāng)于一個輸出端口,由I/O地址譯碼器中的一個片選信號選通,因此可用OUT指令將希望的編碼經(jīng)D3~D0送入鎖存器后再送到多路開關(guān)的A2~A0和端。假設(shè)鎖存器的I/O地址為ADPORT,若要將接在IN4端的模擬信號切換到A/D轉(zhuǎn)換器中,可用如下指令實現(xiàn):
MOVAL,00000100B;D3必須為0,D2D1D0=100, 表示通道4
OUTADPORT,AL
圖7-58個輸入通道的數(shù)據(jù)采集電路圖
4.采樣保持電路(SampleHolder)
在數(shù)據(jù)采樣期間,保持輸入信號不變的電路稱為采樣保持電路。由于輸入模擬信號是連續(xù)變化的,因而A/D轉(zhuǎn)換器完成一次轉(zhuǎn)換需要一定的時間,這段時間稱為轉(zhuǎn)換時間。不同的A/D轉(zhuǎn)換芯片,其轉(zhuǎn)換時間不同。對變化較快的模擬輸入信號,如果不在轉(zhuǎn)換期間保持輸入信號不變,就可能引起轉(zhuǎn)換誤差。A/D轉(zhuǎn)換芯片的轉(zhuǎn)換時間越長,對同樣頻率模擬信號的轉(zhuǎn)換精度的影響就越大。所以,在A/D轉(zhuǎn)換器前面要增加一級采樣保持電路,以保證在轉(zhuǎn)換過程中輸入信號保持其采樣值不變。
1)采樣過程
將模擬信號轉(zhuǎn)換成離散信號的采樣過程如圖7-6所示。
圖7-6采樣過程示意圖圖7-6中,連續(xù)的模擬信號x(t)加到采樣器的輸入端,采樣器的輸出受采樣脈沖S(t)的控制,采樣脈沖是一種周期為Δ,寬度為t0的矩形脈沖序列。每當(dāng)采樣脈沖出現(xiàn)時,開關(guān)S接通t0秒,輸入模擬信號可以通過采樣器到達輸出端;采樣脈沖消失時,S斷開,采樣器無輸出。這樣,從采樣器輸入的連續(xù)模擬信號在采樣脈沖的調(diào)制下,在輸出端得到寬度為t0,周期為Δ的脈沖序列x(nΔ),脈沖序列的幅度被x(t)所調(diào)制,這個過程就是采樣。x(nΔ)序列就是采樣所得的離散模擬量,這些離散量出現(xiàn)的重復(fù)頻率就是采樣脈沖的頻率fs,稱為采樣率,其值為1/Δ。一個模/數(shù)轉(zhuǎn)換器完成一次模/數(shù)轉(zhuǎn)換時,要進行量化、編碼等操作,每種操作均需花費一定的時間,這段時間稱為模/數(shù)轉(zhuǎn)換時間tc。在轉(zhuǎn)換時間tc內(nèi),若輸入模擬信號比較平坦,即x(t)的變化量Δx很小,則可認(rèn)為Δx≈0。這樣,由采樣過程引入的誤差可以忽略不計。在這種情況下,模/數(shù)轉(zhuǎn)換器可直接與采樣器的輸出端相連。一般將采樣開關(guān)制作在A/D轉(zhuǎn)換器內(nèi)部,使采樣器和轉(zhuǎn)換器合為一體。
當(dāng)x(t)變化速率較高時,在轉(zhuǎn)換過程中輸入模擬量有一個可觀的Δx,結(jié)果將會引入較大的誤差。也就是說,在A/D轉(zhuǎn)換過程中,加在轉(zhuǎn)換器上的電平在波動,這樣就很難說輸出的數(shù)字量表示tc期間輸入信號上哪一點的電壓值,在這種情況下就要用采樣保持器來解決這個問題。
2)采樣保持器
使用采樣保持器可以將采樣和保持這兩個過程分開,即在采樣開關(guān)與模數(shù)轉(zhuǎn)換器之間連接一個電壓保持器。采樣保持電路及其輸入/輸出波形如圖7-7所示。
圖7-7采樣保持電路及其輸入輸出波形最基本的采樣保持器電路如圖7-7(a)所示,它由模擬開關(guān)S、保持電容CH和緩沖放大器A組成。假設(shè)控制信號Vc中的高電平為采樣命令,在該控制信號作用期間,S合上,輸入模擬信號Vi通過開關(guān)S向保持電容CH充電。由于緩沖放大器具有跟隨特性,因此該期間輸出電壓Vo跟隨輸入電壓Vi而變化。當(dāng)采樣脈沖命令結(jié)束后,開關(guān)S斷開,電容CH上的電壓能在一段時間內(nèi)保持基本不變,緩沖放大器的輸出電壓Vo便被保持為開關(guān)斷開前的瞬時值,從而實現(xiàn)了采樣和保持的功能。采樣保持器有如下三個重要的指標(biāo)。
(1)孔徑時間TAP。采樣脈沖的結(jié)束瞬間是保持命令的開始。但是,從保持命令發(fā)出到開關(guān)完全斷開需要一定的時間,這段時間稱為孔徑時間TAP(ApertureTime),它是模擬開關(guān)從閉合狀態(tài)到斷開狀態(tài)的過渡時間。在TAP時間內(nèi),輸出信號Vo仍跟隨Vi而變。由于孔徑時間的存在使希望的采樣時間展寬,因而會導(dǎo)致實際的電壓保持值與希望的保持值之間產(chǎn)生誤差,影響轉(zhuǎn)換精度。
(2)捕捉時間TAC。捕捉時間TAC也稱為采集時間(AcquisitionTime),它是指控制信號Vc在保持電平轉(zhuǎn)化為采樣電平后,采樣保持器的輸出由保持值過渡到重新跟蹤輸入信號Vi的變化所需要的時間。TAC主要是由模擬開關(guān)S的導(dǎo)通延時和建立跟蹤關(guān)系所需要的穩(wěn)定過渡引起的??刂菩盘朧c中的采樣脈沖寬度一定要大于TAC,才能保證采樣階段中可靠地采集到輸入信號Vi。
(3)保持電壓衰減速率。在保持狀態(tài)下,保持電容的漏電流及其他雜散電流會引起保持電壓衰減,其變化率為
式中,ID是保持期間流入或流出保持電容CH的總泄漏電流。增大CH可減小保持電壓的衰減率,但會引起捕捉時間TAC增大。所以,要挑選低泄漏的電容器作保持電容,以減小保持電壓的衰減速率。采樣保持器一般由輸入緩沖器、輸出緩沖器、采樣保持開關(guān)和控制邏輯、保持電容等幾部分組成。目前,采樣保持器已集成在一塊芯片內(nèi),常用的采樣保持電路有以下三類。
(1)通用型。如AD582、AD583、LF198、LF398等,它們的捕捉時間TAC在幾微秒量級,孔徑時間TAP約為幾十納秒到一百多納秒。
(2)高速型。如THS-0025、THS-0060、THC-0030、THC-1500等,它們的TAC和TAP均很小,只有20~30ns。
(3)高分辨率型。如SHA1144,它是專門為14位高分辨率型的A/D轉(zhuǎn)換器設(shè)計的。
5.A/D轉(zhuǎn)換器
A/D轉(zhuǎn)換器是模擬量輸入通道的中心環(huán)節(jié),它的作用是將輸入的模擬信號轉(zhuǎn)換成計算機能夠識別的數(shù)字信號,以便計算機進行分析和處理。7.1.3模擬量的輸出通道
計算機的輸出信號是數(shù)字信號,而有的控制執(zhí)行元件要求提供模擬的輸入電流或電壓信號,這就需要將計算機輸出的數(shù)字量轉(zhuǎn)換為模擬量,這個過程的實現(xiàn)由模擬量的輸出通道來完成。輸出通道的核心部件是D/A轉(zhuǎn)換器。將數(shù)字量轉(zhuǎn)換為模擬量同樣需要一定的轉(zhuǎn)換時間,這就要求在整個轉(zhuǎn)換過程中待轉(zhuǎn)換的數(shù)字量要保持不變。而計算機的運行速度很快,其輸出的數(shù)據(jù)在數(shù)據(jù)總線上穩(wěn)定的時間很短。因此,在計算機與D/A轉(zhuǎn)換器之間必須加一級鎖存器以保持?jǐn)?shù)字量的穩(wěn)定。D/A轉(zhuǎn)換器的輸出端一般還要加上低通濾波器,以平滑輸出波形。另外,為了能夠驅(qū)動執(zhí)行器件,還需要將輸出的小功率的模擬量加以放大。
前面介紹了A/D、D/A通道的基本概念及多路開關(guān)、采樣保持器等基本部件。下面討論模/數(shù)和數(shù)/模轉(zhuǎn)換中的核心部件A/D轉(zhuǎn)換器和D/A轉(zhuǎn)換器。由于D/A轉(zhuǎn)換器的原理比較簡單,而且大部分A/D轉(zhuǎn)換器內(nèi)部還包含D/A轉(zhuǎn)換電路,因此先介紹D/A轉(zhuǎn)換器的工作原理和使用方法。7.2D/A轉(zhuǎn)換器7.2.1D/A轉(zhuǎn)換器的工作原理
D/A轉(zhuǎn)換器是把輸入的數(shù)字量轉(zhuǎn)換為與輸入量成比例的模擬信號的器件。多數(shù)D/A
轉(zhuǎn)換器把數(shù)字量(如二進制編碼)變成模擬電流,如要將其轉(zhuǎn)換成模擬電壓,則還要使用
電流/電壓轉(zhuǎn)換器(I/V)來實現(xiàn)。少數(shù)D/A轉(zhuǎn)換器內(nèi)部有I/V轉(zhuǎn)換電路,可直接輸出模擬電壓值。I/V轉(zhuǎn)換電路由運算放大器構(gòu)成。
為了了解D/A轉(zhuǎn)換器的工作原理,我們先分析一下圖7-8所示的4路輸入加法器電路,即權(quán)電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器。
圖7-8權(quán)電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器圖7-8中,d1~d4為4位數(shù)字量,R、2R、4R和8R為加權(quán)電阻,S1~S4是電子模擬開關(guān),每一個開關(guān)的狀態(tài)由數(shù)字量的對應(yīng)位控制。當(dāng)某位di=1時,相應(yīng)的開關(guān)閉合,接通權(quán)電阻;當(dāng)di=0時,開關(guān)斷開。運算放大器的同相輸入端(+)接地,由于運放的輸入阻抗非常高,流入反相輸入端(-)的電流幾乎為0,同相端與反相端之間的電流也非常小,因此反相輸入端的電位也為0,與同相端的電位相等,∑被稱為虛地點。參考電壓VREF為權(quán)電阻支路提供權(quán)電流,各支路中電流的大小與權(quán)電阻成反比關(guān)系。流入虛地點∑的總電流為
因為認(rèn)為流入運放的電流為0,所以If=I0,又因∑點為虛地,故運放的輸出電壓為0,這樣,對于同樣的輸入數(shù)據(jù),當(dāng)參考電壓VREF改變時,I0和Vo均隨之而改變。若固定VREF,則輸出電壓Vo與輸入數(shù)字量成正比關(guān)系。例如,如果Rf=R/2,輸入數(shù)字量d1d2d3d4=1000,VREF=+5V,則輸出電壓:這樣,用二進制數(shù)控制開關(guān)的通斷就可產(chǎn)生與該數(shù)相對應(yīng)的輸出電壓信號。但是,數(shù)/模轉(zhuǎn)換器中的開關(guān)和權(quán)電阻的數(shù)目是有限的,因此,D/A轉(zhuǎn)換器輸出的電壓僅是某些固定的值。對于上面的例子,輸入數(shù)字量的范圍限制在0000~1111B的范圍內(nèi),相應(yīng)的輸出電壓值也只有16種,它們的大小落在0V到VREF(1~2-4)V范圍內(nèi)。在用D/A轉(zhuǎn)換器形成一個波形時,就要每隔一定的時間Δt,由程序?qū)⒁粋€數(shù)字量送給DAC,形成一個電壓值。用示波器觀察這個波形時,會發(fā)現(xiàn)波形上有許多臺階,它們就是這些不連續(xù)的電壓值形成的。Δt越小,這些臺階就越窄;D/A轉(zhuǎn)換器的位數(shù)越多,任意兩個相鄰的數(shù)字量形成的電壓臺階之間的高度差也就越小。因此輸出波形與真實的模擬信號的接近程度取決于D/A轉(zhuǎn)換器的位數(shù)與轉(zhuǎn)換速度。由上面的例子可以看出,D/A轉(zhuǎn)換器的核心部分是一組按輸入二進制數(shù)字控制開關(guān)產(chǎn)生二進制加權(quán)電流的部件。實現(xiàn)D/A轉(zhuǎn)換的方案還有好幾種,如R-2R梯形電阻網(wǎng)絡(luò)DAC,2nR電阻分壓式DAC等,它們都置于集成電路芯片內(nèi)部。限于篇幅,在此不一一介紹。7.2.2D/A轉(zhuǎn)換器的主要技術(shù)指標(biāo)
1.輸入數(shù)字量
輸入數(shù)字量包括輸入數(shù)字量的碼制、數(shù)據(jù)格式和它們的邏輯電平等,手冊上均有說明。多數(shù)D/A轉(zhuǎn)換器只接受自然二進制編碼,少數(shù)產(chǎn)品采用雙極性二進制編碼或BCD編碼等。輸入數(shù)據(jù)的格式一般都是并行碼,輸入數(shù)據(jù)的邏輯電平一般為TTL電平,少數(shù)產(chǎn)品還可接受CMOS或PMOS電平的數(shù)字量。
2.輸出模擬量
多數(shù)D/A轉(zhuǎn)換器都屬于電流輸出型,手冊上總是給出在規(guī)定的參考電壓VREF下,輸入為滿碼時的輸出電流表達式。有些器件有一對電流輸出引腳I0l和I02,也記為IOUT1或IOUT2。例如,8位D/A轉(zhuǎn)換器DAC0832的輸出電流為式中,數(shù)值15k表示DAC內(nèi)部一只2R電阻網(wǎng)絡(luò)中的電阻阻值。為了將輸出電流轉(zhuǎn)換成輸出電壓,可在DAC的輸出端加一個運算放大器A和反饋電阻Rf構(gòu)成I/V轉(zhuǎn)換電路。通常,Rf置于D/A轉(zhuǎn)換器的內(nèi)部,在D/A片子上有專門的引腳(Rf),并使Rf的大小與權(quán)電阻相同。這樣只需用一個運放就能構(gòu)成I/V轉(zhuǎn)換電路,如圖7-9所示。
圖7-9I/V轉(zhuǎn)換電路由圖7-9中的I/V轉(zhuǎn)換電路可得到如下的輸出電壓表達式:
由此可知,輸出電壓僅與參考電壓和輸入數(shù)字量有關(guān)。
3.分辨率(Resolution)
分辨率的概念在前面已經(jīng)提到,它是指輸入數(shù)據(jù)發(fā)生1
LSB的變化時所對應(yīng)的輸出模擬量的變化,分辨率Δ與輸入數(shù)字量的位數(shù)n之間有如下關(guān)系:
式中,F(xiàn)SR是D/A轉(zhuǎn)換器的滿量程,它近似等于輸入數(shù)字量為滿碼時的輸出電壓值。通常也用百分?jǐn)?shù)來表示分辨率。對于8位D/A轉(zhuǎn)換器,28=256,其分辨率為1/256×FSR=0.39%FSR。
對于12位D/A轉(zhuǎn)換器,212=4096,其分辨率為1/4096×FSR=0.0244%FSR。
由于分辨率與轉(zhuǎn)換器的位數(shù)之間具有固定的對應(yīng)關(guān)系,因此一般可簡單地用它們的位數(shù)來表示分辨率,如D/A轉(zhuǎn)換器的分辨率可以是8、10、12或16等。
4.精度(Accuracy)
由于轉(zhuǎn)換器內(nèi)部電路的誤差等原因,當(dāng)送一個確定的數(shù)字量給DAC后,其實際輸出值與該數(shù)值應(yīng)產(chǎn)生的理想輸出值之間會有一定的誤差,這就是D/A轉(zhuǎn)換器的精度,通常用此差值與滿量程輸出電壓或電流的百分比來表示。例如,某一轉(zhuǎn)換器的電壓滿量程為10
V,其精度為0.02%,則輸出電壓的最大誤差為10.00
V×0.02%=20
mV。一般D/A轉(zhuǎn)換器的誤差應(yīng)不大于1/2LSB。
5.線性誤差(LinearityError)
D/A轉(zhuǎn)換器的輸入數(shù)字量都是連續(xù)的數(shù)值,每兩個相鄰的數(shù)據(jù)之間的差值為1。若將這些連續(xù)的數(shù)據(jù)送給DAC,則應(yīng)該輸出一個線性變化的模擬電壓。但實際的輸出并不是理想線性的,通常用偏離理想轉(zhuǎn)換特性的最大偏差與滿量程之間的百分比來表示線性誤差。一般要求線性誤差不大于1/2LSB。如8位DAC,線性誤差應(yīng)小于0.2%;12位DAC,則要求小于0.01%。
6.建立時間(SettingTime)
建立時間也稱為穩(wěn)定時間,用ts表示,它是指從數(shù)字量輸入到建立穩(wěn)定的輸出電流的時間。超高速的DAC,ts<100ns;較高速的DAC,ts=1μs~100ns;高速的DAC,ts=10μs~1ns;低速的DAC,ts>100μs。ts的大小限制了DAC的轉(zhuǎn)換速度。例如,12位D/A轉(zhuǎn)換器DAC1210的ts=1μs,因此其輸入數(shù)字量的轉(zhuǎn)換頻率應(yīng)小于1MHz,這樣才能使相鄰兩次輸入數(shù)字量的時間間隔大于1
μs,從而保證在對第一次輸入的數(shù)字量轉(zhuǎn)換完成后再開始對第二次輸入的數(shù)字量進行轉(zhuǎn)換。
7.2.3D/A轉(zhuǎn)換器與微機系統(tǒng)的連接和使用
當(dāng)D/A轉(zhuǎn)換器(DAC)與微機系統(tǒng)連接時,要注意芯片是否有內(nèi)部數(shù)據(jù)鎖存器。目前市場上的DAC或ADC芯片可以分為兩類:一類芯片內(nèi)部沒有數(shù)據(jù)輸入寄存器,價格也較低,如AD7520、AD7521和ADC0808等,這類芯片不能直接和總線相連,需通過并行接口芯片如74LS373、74LS273和Intel8255A等連接;另一類芯片內(nèi)部有數(shù)據(jù)輸入寄存器,如DAC0832、AD7524等,可以直接和總線相連。
1.不帶數(shù)據(jù)輸入寄存器的DAC的使用
對于一個DAC器件來說,當(dāng)數(shù)據(jù)加到其輸入端時,在輸出端將隨之建立相應(yīng)的電流或電壓,并隨著輸入數(shù)據(jù)的變化而變化。同理,當(dāng)輸入數(shù)據(jù)消失時,輸出電流或電壓也會消失。在微機系統(tǒng)中,由CPU向外設(shè)發(fā)送數(shù)據(jù)用輸出指令,數(shù)據(jù)在總線上的保持時間只有2個時鐘周期,這樣模擬量在輸出端的保持時間也很短。但在實際使用中卻要求轉(zhuǎn)換后的電流或電壓保持到下次數(shù)據(jù)輸入前不發(fā)生變化。為此就要求在DAC的前面增加一個數(shù)據(jù)鎖存器,再與總線相連,如圖7-10所示。圖7-10中譯碼器的接法決定了鎖存器的端口地址。
圖7-10不帶數(shù)據(jù)輸入鎖存器的DAC的連接對于8位數(shù)據(jù)總線的微機系統(tǒng)來說,如果DAC超過8位,這時用一個8位鎖存器就不夠了;如果是12位的DAC,就需用兩個鎖存器和總線相連。工作時,CPU通過兩條輸出指令往兩個鎖存器對應(yīng)的端口地址中輸出12位DAC的數(shù)據(jù)。具體的連接方法如圖7-11所示。圖7-1112位的DAC與總線的連接當(dāng)采用圖7-11所示的電路時,CPU要執(zhí)行兩次輸出指令,DAC才輸出所需要的電流。在第一次執(zhí)行輸出指令后,DAC就得到了一個局部輸入,由此輸出端會得到一個局部輸出。實際上并不需要模擬量輸出,因而就產(chǎn)生了一個干擾輸出,顯然這是不希望的。為此往往用兩級數(shù)據(jù)鎖存結(jié)構(gòu)來解決這一問題。工作時CPU先用兩條輸出指令把數(shù)據(jù)送到第一級數(shù)據(jù)鎖存器,然后通過第三條輸出指令把數(shù)據(jù)送到第二級數(shù)據(jù)鎖存器,從而使DAC一次得到12位待轉(zhuǎn)換的數(shù)據(jù)。由于第二級數(shù)據(jù)鎖存器并沒有和數(shù)據(jù)總線相連,因此第三條輸出指令僅僅是使第二級鎖存器得到了一個選通信號,并使得第一級鎖存器的輸出數(shù)據(jù)輸入第二級鎖存器。
2.帶有數(shù)據(jù)輸入寄存器的DAC的使用
這類DAC實際上是將外圍寄存器集成在同一個芯片中,使用時直接將DAC上的數(shù)據(jù)總線相連即可。下面以DAC0832為例介紹這類DAC芯片的使用方法。
DAC0832內(nèi)部有一個T型電阻網(wǎng)絡(luò),它用來實現(xiàn)D/A轉(zhuǎn)換,屬電流型芯片,需外接運算放大器才能得到模擬電壓輸出。從圖7-12中可以看到,在DAC0832中有二級鎖存器,第一級鎖存器稱為輸入寄存器,它的鎖存信號是ILE;第二級鎖存器也稱為DAC寄存器,它的鎖存信號是 ,也稱為通道控制信號。因為有了兩級鎖存器,所以DAC0832可以工作在雙鎖存器的工作方式下,即在輸出模擬信號的同時,送入下一個數(shù)據(jù),于是有效地提高了轉(zhuǎn)換速度。另外,有了兩級鎖存器以后,可以在多個DAC同時工作時,利用第二級鎖存信號來實現(xiàn)多個DAC的同時輸出。在圖7-12中,當(dāng)ILE為高電平, 和 為低電平時,ILE為1。在這種情況下,輸入寄存器的輸出隨輸入而變化。此后,當(dāng) 由低電平變?yōu)楦唠娖綍r,數(shù)據(jù)鎖存到輸入寄存器中,這時輸入寄存器的輸出端不再隨外部數(shù)據(jù)的變化而變化。對于第二級鎖存器來說,當(dāng) 和 同時為低電平時,這時8位DAC寄存器的輸出隨輸入而變化。此后當(dāng) 由低電平變?yōu)楦唠娖綍r,將輸入鎖存器中的數(shù)據(jù)鎖存到DAC寄存器中。DAC0832進行D/A轉(zhuǎn)換時可以使用以下兩種方法對數(shù)據(jù)進行鎖存。
圖7-12DAC0832的外部連接圖
(1)使輸入寄存器工作在鎖存狀態(tài),而DAC寄存器工作在不鎖存狀態(tài),即 和 都為低電平。這樣當(dāng)
來一個負脈沖時,就可完成一次變換。
(2)使輸入寄存器工作在不鎖存狀態(tài),而使DAC寄存器工作在鎖存狀態(tài),這樣也可以達到鎖存的目的。
當(dāng)然,必要時輸入寄存器和DAC寄存器可以同時使用。7.2.4典型的D/A轉(zhuǎn)換器芯片DAC0832及其應(yīng)用
當(dāng)前使用的DAC器件中,既有分辨率和價格均較低的通用8位芯片,也有速度和分辨率較高,價格也較高的16位乃至20位及以上的芯片;既有電流輸出型芯片,也有電壓輸出型芯片,即內(nèi)部帶有運算放大器的芯片。DAC0832是8位D/A轉(zhuǎn)換器,是DAC0800系列的一種。DAC0832與微機接口方便,轉(zhuǎn)換控制容易,且價格便宜,因此在實際中得到了廣泛的應(yīng)用。
1.D/C轉(zhuǎn)換器芯片DAC0832
1)主要特性
該系列產(chǎn)品還有DAC0830和DAC0831,它們可以互相替換。DAC0832具有以下主要特性:
·輸入端具有雙重緩沖功能,可以雙緩沖、單緩沖或直通數(shù)字輸入。
·所有通用微處理器可直接連接。
·滿足TTL電平規(guī)范的邏輯輸入。
·分辨率為8位,滿刻度誤差為±1LSB,建立時間為1μs,功耗20mW。
·電流輸出型D/A轉(zhuǎn)換器。
2)
DAC0832芯片的內(nèi)部結(jié)構(gòu)及引腳功能
DAC0832采用T型電阻解碼網(wǎng)絡(luò),由二級緩沖寄存器和D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路組成。圖7-13所示為DAC0832內(nèi)部邏輯功能示意圖。
圖7-13DAC0832內(nèi)部邏輯功能示意圖
DAC0832芯片為20腳雙列直插式封裝,其引腳功能如下所述。
·
:片選信號,輸入寄存器選擇信號,低電平有效。 與允許輸入鎖存信號ILE合起來決定是否起作用。
·
ILE:輸入鎖存允許信號,高電平有效。
· :寫信號1,作為第一級鎖存信號將輸入數(shù)據(jù)鎖存到輸入寄存器中, 必須 和及ILE同時有效。
·
:寫信號2,將鎖存在輸入寄存器中的數(shù)據(jù)送到DAC寄存器中進行鎖存,此時傳輸控制信號 必須有效。
·
:傳輸控制信號,用來控制 。
·
D7~D0:8位數(shù)據(jù)輸入端。D7為最高位MSB,D0為最低位LSB。
·
IOUT1:模擬電流輸出端。常接運算放大器反相輸入端,隨DAC中數(shù)據(jù)的變化而變化。
·
IOUT2:模擬電流輸出端。IOUT2為一常數(shù)和IOUT1的差,即IOUT1
+
IOUT2
=
常數(shù)。
·
Rfb:反饋電阻引出端。DAC0832內(nèi)部已經(jīng)有反饋電阻,所以Rfb端可以直接接到外部運算放大器的輸出端。
·
VREF:參考電壓輸入端。此端可接正電壓,也可接負電壓,范圍為-10~+10V。
·
VCC:芯片供電電壓。范圍為+5~+15V,最佳工作狀態(tài)是+15V。
·
AGND:模擬地,即模擬電路接地端。
·
DGND:數(shù)字地。為保證DAC0832可靠的工作,要求 和 的寬度不小于500ns(若VCC=15V,寬度則可為100ns),輸入數(shù)據(jù)的保持時間不少于90ns,這在與微機連接時都容易滿足。同時,不用的數(shù)字輸入端不能懸空,應(yīng)根據(jù)要求接地或接VCC。
3)
DAC0832的工作方式及連接
DAC0832有以下三種工作方式。
(1)雙緩沖方式:即數(shù)據(jù)經(jīng)過雙重緩沖后再送入D/A轉(zhuǎn)換電路,執(zhí)行兩次寫操作才能完成一次D/A轉(zhuǎn)換。這種方式可在D/A轉(zhuǎn)換的同時進行下一數(shù)據(jù)的輸入,從而提高了轉(zhuǎn)換速率。尤為重要的是,這種方式特別適用于要求同時輸出多模擬量的場合。DAC0832在雙緩沖方式下的工作時序如圖7-14所示,其外部連接如圖7-15所示。雙緩沖工作方式的優(yōu)點是數(shù)據(jù)接收和啟動轉(zhuǎn)換可以異步進行,可以在D/A轉(zhuǎn)換的同時,接收下一個數(shù)據(jù),從而提高了D/A轉(zhuǎn)換的速率。
圖7-14DAC0832在雙緩沖方式下的工作時序圖
圖7-15DAC0832在雙緩沖工作方式下的外部連接圖第一種情況:由于這種工作方式要求先使數(shù)據(jù)鎖存到輸入寄存器,然后再使數(shù)據(jù)進入DAC寄存器進行數(shù)/模轉(zhuǎn)換,因此在程序中需要安排兩條OUT指令。把一個數(shù)據(jù)經(jīng)兩次鎖存,通過DAC0832雙緩沖方式的典型程序段如下:
MOVAL,DATA
MOVDX,PORT1
;輸入寄存器端口地址送DX
OUTDX,AL ;數(shù)據(jù)送輸入寄存器
MOVDX,PORT2
;DAC寄存器端口地址送DX
OUTDX,AL ;數(shù)據(jù)送DAC寄存器并啟動變換
HLT第二種情況:在需要同步進行D/A轉(zhuǎn)換的多路DAC系統(tǒng)中,采用雙緩沖方式可以在不同的時刻把要轉(zhuǎn)換的數(shù)據(jù)分別打入各個DAC的輸入寄存器,然后由一個轉(zhuǎn)換命令同時啟動多個DAC的轉(zhuǎn)換。雙緩沖方式還可以用于多片DAC0832組成模擬輸出系統(tǒng),每片對應(yīng)一個模擬量的場合。其外部連接如圖7-16所示。
圖7-16用3片DAC0832構(gòu)成的3路DAC系統(tǒng)
(2)單緩沖方式:不需要多個模擬量同時輸出時可采用此種方式。采用此方式時兩個寄存器之一處于直通狀態(tài),輸入數(shù)據(jù)只經(jīng)過一級緩沖送入D/A轉(zhuǎn)換器。這種方式只需執(zhí)行一次寫操作即可完成D/A轉(zhuǎn)換,如圖7-17所示。
圖7-17單緩沖工作方式的外部連接圖例如,利用DAC0832實現(xiàn)D/A變換。DAC0832工作在單緩沖方式下,設(shè)DAC0832端口地址為PORT,待轉(zhuǎn)換數(shù)據(jù)在DATA單元中。完成D/A轉(zhuǎn)換的程序段如下:
MOVAL,DATA ;要轉(zhuǎn)換的數(shù)據(jù)送AL
MOVDX,PORT ;0832的端口地址送DX
OUTDX,AL ;將數(shù)字量送D/A轉(zhuǎn)換器進行轉(zhuǎn) 換
HLT
(3)直通型方式:在這種方式下兩個寄存器均處于直通狀態(tài),因此要將 、 、 和 端都接數(shù)字地,ILE接高電平。數(shù)據(jù)直接送入D/A轉(zhuǎn)換電路。這種方式可用于一些不采用微機的控制系統(tǒng)中,如圖7-18所示。
圖7-18直通型工作方式的連接示意圖
4)
DAC0832的應(yīng)用舉例
由前面的討論可知,DAC0832在單緩沖方式下可以直接與系統(tǒng)總線相連,也可以將它看做是一個輸出端口。每向該端口送一個8位數(shù)據(jù),其輸出端就會有相應(yīng)的輸出電壓,因此可以通過編寫程序,利用D/A轉(zhuǎn)換器產(chǎn)生各種不同的輸出波形,如鋸齒波、三角波、方波、正弦波等。
【例7-1】
根據(jù)圖7-19所示的電路連接,編寫一個輸出鋸齒波的程序,周期任意,DAC0832工作在單緩沖方式下,端口地址為0278H。
圖7-19DAC0832的應(yīng)用連接圖
解:正向鋸齒波的規(guī)律是電壓從最小值開始逐漸上升,上升到最大值時立刻跳變?yōu)樽钚≈担绱送鶑?fù)(反向鋸齒波正好相反,先從最小值跳變?yōu)樽畲笾?,然后逐漸下降到最小值)。所以只要從0開始往DAC0832輸出數(shù)據(jù),每次加1,直到最大值FFH,然后再從0開始下一個周期。這個過程循環(huán)執(zhí)行即可在DAC0832輸出端得到一個正向鋸齒波。下面是一個產(chǎn)生反向鋸齒波的程序段,這里使用了一個技巧,即用0減1直接得到最大值FFH,這樣在鋸齒波的齒根部可以少做一次判斷。
MOVDX,0278H ;端口地址送DX
MOVAL,0 ;初始值送AL
NEXT:OUTDX,AL ;輸出數(shù)字量到D/A轉(zhuǎn)換 器
DEC
AL ;數(shù)字量減1
JMP
NEXT ;循環(huán)
上述程序中產(chǎn)生的鋸齒波不是平滑的波形,而是有255個小臺階,通過加濾波電路可以得到較平滑的鋸齒波輸出,還可以通過軟件對輸出波形的周期和幅度進行調(diào)整。
【例7-2】
已知DAC0832輸出電壓范圍為0~5V,現(xiàn)希望輸出電壓為1~4V,周期任意的正向鋸齒波。
解:已知當(dāng)輸出為5V時,輸入數(shù)字量為最大值255,則
程序段如下:
MOVDX,0278H ;DAC0832的端口地址送 DX
NEXT1:MOVAL,33H ;最低輸出電壓對應(yīng)的數(shù) 字量送AL
NEXT2:OUTDX,AL ;輸出數(shù)字量到0832
INCAL ;數(shù)字量加1
CALLDELAY ;調(diào)用延時子程序
CMPAL,0CDH ;是否達到最大值(輸出4 V電壓)
JNANEXT2 ;若沒有達到最大值,則 繼續(xù)輸出
JMPNEXT1 ;若達到最大輸出,則重 新開始下一個周期
DELAY:MOVCX,100 ;延時子程序,延時常數(shù) 可修改
DELAY1:LOOPDELAY1
RET本例中不僅實現(xiàn)了波形幅度的調(diào)整,通過在延時子程序中設(shè)置不同的延時常數(shù),還可以實現(xiàn)輸出信號周期的調(diào)整。
2.D/C轉(zhuǎn)換器芯片DAC1210
1)主要特征
DAC1210是12位高分辨率電流輸出型D/A轉(zhuǎn)換器,它是一種具有24引腳的雙列直插式器件,也是NSC公司的產(chǎn)品,輸入信號電平與TTL電平兼容。DAC1210的主要指標(biāo):電流建立時間ts=1μs,工作電壓為
+5~+15V,參考電壓范圍為±25V。它的工作原理與8位的DAC0832沒有多大區(qū)別。
2)
DAC1210芯片的內(nèi)部結(jié)構(gòu)
圖7-20所示是DAC1210的內(nèi)部結(jié)構(gòu)圖。
DAC1210的輸入寄存器由8位和4位兩個寄存器構(gòu)成,它們都在 、 為低電平時才允許輸入數(shù)據(jù),而8位寄存器還要求BYTE1/ ( )端為高電平才能輸入。DAC1210有DI11~DI4和DI3~DI0共12根數(shù)據(jù)輸入線,可直接與16位總線的CPU相連,也可以與8位數(shù)據(jù)總線的CPU進行接口。
圖7-20DAC1210的內(nèi)部結(jié)構(gòu)圖圖7-21所示是DAC1210與具有8位數(shù)據(jù)總線的微處理器的連接圖。DI11~DI4與數(shù)據(jù)總線相連,而DI3~DI0并接到數(shù)據(jù)總線的高4位上, 和 與系統(tǒng)總線的 相連,12位數(shù)據(jù)應(yīng)分兩次寫入輸入寄存器,寫入方法如下所述。
圖7-21DACl210與8位微機的連接圖先執(zhí)行OUT指令,使 和 產(chǎn)生負脈沖,
端為高,寫入高8位數(shù)據(jù)DI11~DI4。這時,因 和
為低電平,故12位數(shù)據(jù)中的高4位也寫進了4位輸入寄存器。再執(zhí)行第二條OUT指令,使 、 變?yōu)樨撁}沖,并使 寫入低4位數(shù)據(jù),這時高8位輸入寄存器被禁止,4位輸入寄存器的內(nèi)容被更新,寫入了所需的低4位值。第三步再對另一個端口執(zhí)行OUT指令,使 和 有效,將已存在于兩個輸入寄存器中的12位數(shù)據(jù)一起寫入12位DAC寄存器,并啟動D/A轉(zhuǎn)換。經(jīng)1μs后,在輸出端便得到轉(zhuǎn)換結(jié)果。由上可知,控制DAC1210的轉(zhuǎn)換共要用到3個I/O端口,假設(shè)這三個端口的地址為220H~222H,它們由I/O端口地址譯碼電路形成。A0經(jīng)反相后連到 端,用于選擇偶地址或奇地址,A9~A1經(jīng)譯碼電路形成端口地址。接 引腳的端口地址為220H/221H,偶地址(220H)時選通8位輸入寄存器,奇地址(221H)時選通4位輸入寄存器;接 引腳的端口地址為222H/223H(圖中用的是222H),選擇其中的任一個地址都可啟動D/A轉(zhuǎn)換。若待轉(zhuǎn)換的數(shù)字量在BX寄存器的低12位,則完成一次D/A轉(zhuǎn)換的程序如下:
START:MOVDX,220H;指向220H端口
MOVCL,4 ;移位次數(shù)
SHLBX,CL ;BX中數(shù)左移4次后向左 對齊
MOVAL,BH ;取高8位
OUTDX,AL ;寫入8位輸入寄存器
INCDX ;端口地址=221H
MOVAL,BL ;取低4位
OUTDX,AL ;寫入4位輸入寄存器
INCDX ;端口地址=222H
OUTDX,AL ;啟動D/A轉(zhuǎn)換,AL中可 為任意值
…
7.3.1A/D轉(zhuǎn)換器的工作原理
A/D轉(zhuǎn)換器的功能是將模擬量電信號(通常是電壓或電流)轉(zhuǎn)換為數(shù)字量信號,即A/D是D/A的逆過程。實現(xiàn)A/D轉(zhuǎn)換的方法很多,有計數(shù)/比較式、雙積分式、逐位逼近式、并行轉(zhuǎn)換式、串/并轉(zhuǎn)換式及非線性式等。對于中、低速A/D轉(zhuǎn)換器,常常采用計數(shù)/比較式、雙積分式和逐位逼近式三種基本類型。7.3A/D轉(zhuǎn)換器計數(shù)/比較式A/D轉(zhuǎn)換器的特點是速度比較慢,但是簡單、便宜。雙積分式A/D轉(zhuǎn)換器的特點是抗干擾能力強,轉(zhuǎn)換精度高,速度比較慢。逐位逼近式A/D轉(zhuǎn)換器的特點是速度快,精度較高,其控制電路也不算復(fù)雜,是計算機接口中用得最普遍的一種A/D轉(zhuǎn)換器。下面以逐位逼近式和雙積分式為例來講述A/D轉(zhuǎn)換器的原理。
1.雙積分式ADC
雙積分式ADC的原理如圖7-22所示,電路中的主要部件包括積分器、比較器、計數(shù)器和標(biāo)準(zhǔn)電源。
圖7-22雙積分式ADC的原理圖其工作過程分為兩段時間,即T1和Δt。
在第一段時間內(nèi),開關(guān)S1將被轉(zhuǎn)換的電壓Vi接到積分器的輸入端,積分器從原始狀態(tài)(0V)開始積分,積分時間為T1。當(dāng)積分到T1時,積分器的輸出電壓Vo為
(7-1)第二階段,T1結(jié)束后,開關(guān)S1斷開,S2或S3將與被轉(zhuǎn)換電壓Vi極性相反的基準(zhǔn)電壓VREF接到積分器上,這時,積分器的輸出電壓開始復(fù)原,當(dāng)積分器輸出電壓回到起點(0
V)時,積分過程結(jié)束。設(shè)這段時間為Δt,此時積分器的輸出滿足:
(7-2)
(7-3)如果被轉(zhuǎn)換電壓Vi在T1時間內(nèi)是恒定值,則
(7-4)
(7-5)
式(7-5)中,T1和VREF為常量,故第二次積分時間間隔Δt與被轉(zhuǎn)換電壓Vi成正比。由圖7-22可看出,被轉(zhuǎn)換電壓Vi越大,則Vo的數(shù)值越大,Δt時間間隔越長。若在Δt時間間隔內(nèi)計數(shù),則計數(shù)值即為被轉(zhuǎn)換電壓Vi的等效數(shù)字值。注意:圖7-22中沒有考慮實際積分器的負號問題。
2.逐位逼近式ADC
這種ADC是將計數(shù)式ADC中的計數(shù)器換成由控制電路控制的逼近寄存器演變而來的,是目前用得較多的一種ADC。逐位逼近式ADC在轉(zhuǎn)換時,使用DAC的輸出電壓來驅(qū)動比較器的反相端。逐位逼近式ADC進行轉(zhuǎn)換時,用一個逐位逼近寄存器存放轉(zhuǎn)換出來的數(shù)字量;轉(zhuǎn)換結(jié)束時,將數(shù)字量送到緩沖寄存器中,如圖7-23所示。
圖7-23逐位逼近式ADC原理圖當(dāng)啟動信號由高電平變?yōu)榈碗娖綍r,逐位逼近式寄存器清0,這時DAC的輸出電壓Vo也為0。當(dāng)啟動信號變?yōu)楦唠娖綍r,轉(zhuǎn)換開始,逐位逼近式寄存器開始計數(shù)。
逐位逼近式寄存器工作時從最高位開始,通過設(shè)置試探值來進行計數(shù)。即當(dāng)?shù)谝粋€時鐘脈沖來到時,控制電路把最高位置“1”送到逐位逼近式寄存器,使它的輸出為10000000。將這個數(shù)字送入DAC,使DAC的輸出電壓Vo為滿量程的128/255。這時,如果Vo
>
Vi,則比較器輸出為低電平,使控制電路據(jù)此清除逐位逼近式寄存器的最高位,逐位逼近式寄存器中的內(nèi)容變?yōu)?0000000;如果Vo
<
Vi,則比較器輸出高電平,使控制電路將最高位的1保留下來,逐位逼近式寄存器中的內(nèi)容保持為10000000。下一個時鐘脈沖使次高位為1,如果原高位被保留,則逐位逼近式寄存器的值變?yōu)?1000000,DAC的輸出電壓Vo為滿量程的192/255。將Vo再次與Vi做比較,如果Vo
>
Vi,則比較器輸出的低電平使D6復(fù)位;如果Vo
<
Vi,則比較器輸出的高電平保留次高位D6為1。再下一個時鐘脈沖對D5位置1,然后根據(jù)對Vo和Vi的比較結(jié)果,決定保留還是清除D5位上的1,……,以此類推,重復(fù)這一過程,直到D0=1,再與輸入Vi比較。最多經(jīng)過數(shù)據(jù)位數(shù)次比較后,逐位逼近式寄存器中得到的值就是轉(zhuǎn)換后的數(shù)據(jù)。轉(zhuǎn)換結(jié)束后,控制電路送出一個低電平作為結(jié)束信號,這個信號的下降沿將逐位逼近式寄存器的數(shù)字量送入緩沖寄存器,從而得到數(shù)字量的輸出。一般來說,n位逐位逼近式ADC,只用n個時鐘脈沖就可以完成n位轉(zhuǎn)換。n一定時,轉(zhuǎn)換時間是一常數(shù)。顯然逐位逼近式ADC的轉(zhuǎn)換速度是比較快的。
由上可知,逐位逼近法的基本原理是:將高位置“1”,這相當(dāng)于取最大允許電壓的1/2與輸入電壓比較。如果搜索值在最大允許電壓的1/2范圍中,那么最高位置“0”。此后,次高位置“1”,相當(dāng)于在1/2范圍內(nèi)再做對半搜索,根據(jù)搜索值確定次高位復(fù)位還是保留。以此類推,因此逐位逼近法也常稱為二分搜索法或?qū)Π胨阉鞣āV鹞槐平紸DC每進行一次比較,即決定數(shù)字碼中的一位碼的去留操作,需要8個時鐘脈沖。這樣,一個8位轉(zhuǎn)換器完成一次轉(zhuǎn)換需要8×8
=
64個時鐘脈沖,再加上準(zhǔn)備與結(jié)束階段需要幾個時鐘脈沖,這就是轉(zhuǎn)換器的轉(zhuǎn)換時間tC。大致認(rèn)為經(jīng)64個時鐘脈沖后,8次比較完成,通過緩沖器可輸出數(shù)字量結(jié)果。大部分ADC的時鐘是由外部提供的,也有一些片子可用外接的RC網(wǎng)絡(luò)來設(shè)定時鐘頻率。很容易根據(jù)時鐘頻率來估計出轉(zhuǎn)換器的轉(zhuǎn)換時間。例如,ADC0808和ADC0809均是
8位逐位逼近式ADC,典型的工作時鐘頻率為640kHz,每個時鐘脈沖的周期為
1/(640×103)
s。于是,完成一次轉(zhuǎn)換的時間大約為如工作頻率f
=
500kHz,則tC
=
128μs。
通過前面對逐位逼近式和雙積分式ADC進行比較,可以看出它們的應(yīng)用場合。
雙積分式ADC:它在許多場合代表了一類計數(shù)式轉(zhuǎn)換器,屬于間接轉(zhuǎn)換,采用的是積分技術(shù),其特點是轉(zhuǎn)換速度較低,精度可以做得較高,多數(shù)利用平均值轉(zhuǎn)換,所以對常態(tài)干擾的抑制能力強,常用在數(shù)字電壓表等低速場合。
逐位逼近式ADC:它的轉(zhuǎn)換速度要比積分式的轉(zhuǎn)換速度高得多,精度也可以做得較高,控制電路不算很復(fù)雜。因為它利用瞬時值進行轉(zhuǎn)換,所以對常態(tài)干擾抑制能力差,適用于要求轉(zhuǎn)換速度較高的情況。7.3.2A/D轉(zhuǎn)換器的主要參數(shù)
1.轉(zhuǎn)換精度
由于模擬量是連續(xù)的,而數(shù)字量是離散的,因此,一般是某個范圍內(nèi)的模擬量對應(yīng)于某一個數(shù)字量,也就是說,在ADC中模擬量和數(shù)字量之間并不是一一對應(yīng)的關(guān)系。例如:一個ADC在理論上應(yīng)是模擬量5V電壓對應(yīng)數(shù)字量800H,但是實際上4.997V、4.998V和4.999V也對應(yīng)數(shù)字量800H。這就存在著一個轉(zhuǎn)換精度問題,這個精度反映了ADC的實際輸出接近理想輸出的精確程度。ADC的精度通常是用數(shù)字量的最低有效位LSB來表示的。設(shè)數(shù)字量的最低有效位對應(yīng)于模擬量Δ,如果模擬量在±Δ/2范圍內(nèi)產(chǎn)生相對應(yīng)的惟一的數(shù)字量,那么這個ADC的精度為0LSB。這個誤差是不可避免的。
如果模擬量在±Δ3/4范圍內(nèi)產(chǎn)生相同的數(shù)字量,那么這個ADC的精度為±1/4
LSB。這是因為與精度為±0LSB(誤差范圍)的ADC相比,現(xiàn)在這個ADC的誤差范圍擴展了±Δ/4。以此類推,如果模擬量在±Δ范圍中產(chǎn)生相同的數(shù)字量,那么這個ADC的精度為±1/2LSB。
2.轉(zhuǎn)換速率
轉(zhuǎn)換速率是用完成一次A/D轉(zhuǎn)換所需要的時間的倒數(shù)來表示的,因此轉(zhuǎn)換率表明了ADC的速率。
例如,完成一次A/D轉(zhuǎn)換所需要的時間是100ns,那么轉(zhuǎn)換率為10MHz,即每秒轉(zhuǎn)換107次。
3.分辨率
ADC的分辨率表明了能夠分辨最小量化信號的能力,通常用位數(shù)來表示。對于一個可以實現(xiàn)1位二進制轉(zhuǎn)換的ADC來說,它能分辨的最小量化信號的能力為2n單位,所以,它的分辨率為2n。例如,n=12的12位的ADC,其分辨率為2n=4096單位。
注意:分辨率雖然說明了A/D變換的精度,但是并不等于A/D變換的精度。這是因為在變換時,器件的輸出與輸入之間并不是嚴(yán)格的線性關(guān)系,也就是說,實際上輸出的數(shù)并不是嚴(yán)格按等分距離分布的。例如:某個ADC器件的分辨率是12位,但是精度可能只有0.1%,則4000與4001所代表的電壓差別并不一定是1/4095(≈0.024%),而可能是0.1%以內(nèi)的任何一個值。7.3.3典型的A/D轉(zhuǎn)換器芯片ADC0809及其應(yīng)用
ADC0808和ADC0809除精度略有差別外(前者精度為8位,后者為7位),其余各方面完全相同。它們都是CMOS器件,不僅包括一個8位逐位逼近式ADC,而且還提供一個8通道的模擬多路開關(guān)和通道尋址邏輯,因此有理由把它作為簡單的“數(shù)據(jù)采集系統(tǒng)”。利用它可直接輸入8個單端的模擬信號分時進行A/D轉(zhuǎn)換,這在多點巡回檢測、過程控制和機床控制中應(yīng)用廣泛。
1.主要技術(shù)指標(biāo)和特性
·分辨率:8位。
·總的不可調(diào)誤差:ADC0809為±1LSB。
·轉(zhuǎn)換時間:取決于時鐘頻率。
·單一電源:+5V。
·模擬電壓輸入范圍:單極性0~5V;雙極性±5V、±10V(需外加一定電路)。
·具有可控的三態(tài)輸出緩沖器。
·啟動轉(zhuǎn)換控制為脈沖式(正脈沖),上升沿時所有內(nèi)部寄存器清零,下降沿時A/D轉(zhuǎn)換開始。
·使用時不需進行零點和滿刻度調(diào)節(jié)。
2.ADC0809的內(nèi)部結(jié)構(gòu)與外部引腳
為便于用戶構(gòu)成多通道數(shù)據(jù)采集系統(tǒng),一些廠家將多路模擬開關(guān)和8位A/D轉(zhuǎn)換器集成在一個芯片內(nèi),構(gòu)成多通道ADC,其中以NSC公司的8通道8位ADC0809應(yīng)用最為廣泛。下面介紹它的基本原理和使用方法。
(1)
ADC0809的內(nèi)部結(jié)構(gòu)如圖7-24所示。
圖7-24ADC0809的內(nèi)部結(jié)構(gòu)
(2)
ADC0809的外部引腳如圖7-25所示。從功能上看,它可看成是由ADC0809和一個8通道模擬多路開關(guān)組合而成的。各引腳的功能如下所述。
圖7-25ADC0809的外部引腳
·
IN7~IN0:8通道模擬量輸入端。
·
D7~D0:結(jié)果數(shù)據(jù)輸出端。其中D7為最高有效位MSB,D0為最低有效位LSB。
·
START:啟動轉(zhuǎn)換命令輸入端。在該引腳上加高電平,即開始轉(zhuǎn)換。
·
EOC:轉(zhuǎn)換結(jié)束指示腳。平時它為高電平,在轉(zhuǎn)換開始后及轉(zhuǎn)換過程中為低電平,轉(zhuǎn)換一結(jié)束,它又變回高電平。
·
OE:輸出使能端。此腳加高電平,即打開輸出緩沖器三態(tài)門,讀出數(shù)據(jù)。
·
C、B和A:通道號選擇輸入端。其中A是LSB位,這三個引腳上所加電平的編碼為000~111時,分別對應(yīng)于選通通道IN0~IN7。例如當(dāng)C、B和A為100時,選中通道IN4,011時選中通道IN3。這三個引腳信號也被記做ADDC、ADDB和ADDA,可以有8種組合,每種組合表示對應(yīng)的一個模擬信號,8路模擬輸入通道的尋址信號通過譯碼器選擇,如表7-1所示。
表7-10809通道選擇表
·
ALE:通道號鎖存控制端。當(dāng)它為高電平時,將C、B和A三個輸入引腳上的通道號進行鎖存,也就是使相應(yīng)通道的模擬開關(guān)處于閉合狀態(tài)。實際使用時,常把ALE和START連在一起,在START端加高電平啟動信號的同時,將通道號鎖存起來。
·
CLK:ADC0809需要外接時鐘,可從此腳接入。當(dāng)VCC
=
+5
V時,允許的最高時鐘頻率是1280kHz,這時可達到tC=50μs的最快轉(zhuǎn)換速率。ADC0809典型的時鐘頻率為
640kHz,轉(zhuǎn)換時間是100μs。
REF(+)和REF(-):是兩個參考電壓輸入腳。通常將REF(-)接模擬地,參考電壓從REF(+)引入。當(dāng)REF(+)
=
+5V時,輸入范圍為0~+5V。
(3)圖7-26所示是ADC0809的工作時序圖。指定某一通道采集一個數(shù)據(jù)的過程如下:
①選擇當(dāng)前轉(zhuǎn)換的通道,即將通道號編碼送到C、B和A引腳上。
②在START和ALE引腳上加一個正脈沖,將通道選擇碼鎖存并啟動A/D轉(zhuǎn)換。可以通過執(zhí)行OUT指令產(chǎn)生負脈沖,經(jīng)反相后形成正脈沖,也可由定時電路或可編程定時器提供啟動脈沖。③轉(zhuǎn)換開始后,EOC變低,經(jīng)過64個時鐘周期后,轉(zhuǎn)換結(jié)束,EOC變高。
④轉(zhuǎn)換結(jié)束后,可通過執(zhí)行IN指令,設(shè)法在OE引腳上形成一個高電平脈沖,打開輸出緩沖器的三態(tài)門,讓轉(zhuǎn)換后的數(shù)字量出現(xiàn)在數(shù)據(jù)總線上,并被讀入累加器中。
用ADC0809來設(shè)計實用的數(shù)據(jù)采集系統(tǒng)時,除了要考慮采樣率的控制和轉(zhuǎn)換結(jié)束的檢測方法外,還要設(shè)計合適的通道選擇方案。例如,可用軟件延時、定時中斷或周期脈沖控制采樣率,也可用延時程序、查詢EOC電平或用EOC的正跳變請求中斷來判斷某個通道轉(zhuǎn)換的結(jié)束。而向ADC0809提供通道號的方法也有好幾種。例如,可先從數(shù)據(jù)總線送出通道號,用一個鎖存器將它們鎖存在C、B和A引腳上后,再啟動轉(zhuǎn)換;也可以在進行I/O地址譯碼時,不讓A2~A0參加譯碼,而將它們連到C、B和A端,當(dāng)執(zhí)行OUT指令啟動各通道的轉(zhuǎn)換時,同時將包含在端口地址中的通道號送給ADC0809。
圖7-26ADC0809的工作時序圖假設(shè)8個通道均接有模擬輸入信號,可以編寫一個循環(huán)程序,從通道0開始,依次啟動各通道轉(zhuǎn)換并讀取數(shù)據(jù),通常將這樣的操作稱為進行一遍掃描。多通道ADC工作時,必須等一個通道轉(zhuǎn)換結(jié)束后,才能啟動另一個通道轉(zhuǎn)換,因此掃描一遍,也就是每個通道都采集一個數(shù)據(jù),至少需要8倍的轉(zhuǎn)換時間,這就限制了多通道ADC的最高采樣率。在同樣的時鐘頻率下,8通道均使用時,ADC0809的最高采樣率是單通道時的1/8。
3.ADC0809應(yīng)用舉例
(1)用定時中斷控制采樣率,用地址信號選擇通道的方案。
【例7-3】
如果要在PC/XT機上采用ADC0809設(shè)計一塊8通道的數(shù)據(jù)采集卡,則要求以200Hz的速率對每個通道均采集1024個數(shù)據(jù),也就是每隔5ms對各通道輪流采集一個數(shù)據(jù),然后將它們存到數(shù)據(jù)段中以DBUF為起始地址的數(shù)據(jù)緩沖區(qū)。數(shù)據(jù)存放的次序需與通道號一致,即從通道0開始,先依次存入每個通道的第一個數(shù)據(jù),再存入各通道的第二個數(shù)據(jù),直到各通道都存滿1024個數(shù)據(jù)為止。
解:我們可以選用8253芯片來產(chǎn)生定時脈沖,以控制采樣率。假設(shè)加到8253的CLK0=1MHz,編程使通道0工作于方式2。由于采樣率fs=200Hz,因此選用時間常數(shù)為1MHz
/200Hz
=
5000。當(dāng)8253工作時,可從OUT0端輸出200Hz的負脈沖序列,即每隔5ms會從8253的OUT0引腳輸出一個正跳變脈沖,該脈沖加到PC機上為用戶保留的IRQ2中斷請求輸入端,即加到系統(tǒng)板8259A的IR2引腳上,在8259A的控制下定時向CPU發(fā)送中斷請求,在每次中斷時進行采樣。每次中斷出現(xiàn)后,在中斷服務(wù)程序中用OUT指令啟動轉(zhuǎn)換,然后查詢EOC引腳的狀態(tài),當(dāng)EOC為高時,表示轉(zhuǎn)換結(jié)束,這時可用IN指令讀入結(jié)果。輪流啟動各通道的轉(zhuǎn)換并讀取數(shù)據(jù),存入數(shù)據(jù)緩沖區(qū),就完成了一次掃描。這樣可獲得精確的采樣間隔。
采樣電路如圖7-27所示,圖中僅畫出了ADC0809部分的電路,因8253部分的電路較簡單,故圖中沒有畫出來。
圖7-27用ADC0809設(shè)計的多路數(shù)據(jù)采樣電路由圖7-27可見,地址總線A9~A3經(jīng)I/O地址譯碼器形成片選信號 ,選中8個I/O地址300H~307H,地址線A2~A0接到ADC的C、B和A引腳,使每個I/O端口地址對應(yīng)于一個模擬量輸入通道。接到ADC的時鐘信號CLK是從系統(tǒng)時鐘分頻而來的,頻率為500
kHz。ADC的數(shù)據(jù)輸出線與CPU的數(shù)據(jù)總線相連。當(dāng)CPU執(zhí)行OUT指令時,只要端口地址范圍在300H~307H之內(nèi), 和
便有效,或非門2輸出高電平脈沖,加在START和ALE引腳上,啟動A/D轉(zhuǎn)換,同時還將A2~A0的編碼也就是通道號鎖存,選擇OUT指令指定的輸入通道上的模擬信號進行轉(zhuǎn)換。EOC引腳通過一個三態(tài)門接到數(shù)據(jù)總線中的D7,構(gòu)成一個狀態(tài)端口,它的地址為308H。在啟動脈沖結(jié)束后,先查EOC狀態(tài)是否為低電平,若為低表示已開始轉(zhuǎn)換,再查EOC是否變高,若高說明轉(zhuǎn)換已結(jié)束,可用IN指令讀取結(jié)果。
PC/XT機中8259A的端口地址為20H和21H,設(shè)數(shù)據(jù)采集卡上8253的通道0和控制寄存器的端口地址分別為318H和31BH。完成上述功能的程序如下:
DATASEGMENT ;數(shù)據(jù)段
DBUFDB8*1024DUP(?) ;數(shù)據(jù)區(qū)(8×1024字節(jié))
DATAENDS
… ;堆棧段
;數(shù)據(jù)采集子程序
CODESEGMENT ;代碼段
ASSUMECS:CODE,DS:DATA
AD8PROCFAR
MOVAX,DATA
MOVDS,AX ;DS指向數(shù)據(jù)區(qū)段址
CLI ;禁止中斷
CLD ;清方向標(biāo)志;設(shè)置0AH號中斷矢量的段地址和偏移量,使ES:DI=0000:(4×0AH)
MOVAX,0
MOVES,AX ;ES指向中斷矢量表段 址0000
MOVDI,4*0AH ;DI=中斷IR2的偏移地址
MOVAX,OFFSETADINT ;AX為中斷服務(wù) 子程序偏移地址
STOSW ;放入中斷矢量表
MOVAX,SEGADINT;取中斷矢量段地址
STOSW ;放入中斷矢量表中;對8253進行初始化編程,使通道0的控制字為:方式2,先讀寫低字節(jié),后高字節(jié),BCD計數(shù);定時時間常數(shù)為5000
MOVDX,31BH ;DX指向8253控制寄存器
MOVAL,00110101B ;通道0控制字
OUTDX,AL ;輸出控制字
MOVDX,318H ;DX指向8253通道0
MOVAX,5000H ;時間常數(shù)
OUTDX,AL ;先送低8位
MOVAL,AH
OUTDX,AL ;后送高8位;對8259A設(shè)置屏蔽字,僅允許8259A的IR2和鍵盤中斷,其余禁止
MOVAL,11111001B ;屏蔽字
OUT21H,AL ;向屏蔽寄存器輸出屏蔽字
;設(shè)置數(shù)據(jù)緩沖區(qū)起始地址到SI中,計數(shù)初值到BX中,等待中斷,每通道采完1024個數(shù)后結(jié)束中斷
MOVSI,OFFSETDBUF;SI指向數(shù)據(jù)緩沖區(qū)起 始地址
MOVBX,1024 ;BX中存數(shù)據(jù)計數(shù)器初值
STI ;開中斷,等待中斷
AGAIN:CMPBX,0 ;每中斷一次BX減1,BX減1后是否為0
JNZAGAIN ;BX≠0,未采完,循環(huán)等待中斷
MOVAL,11111101B
OUT21H,AL ;禁止IR2中斷
MOVAH,4CH
INT21H ;返回DOS
RET ;從子程序返回
AD8ENDP ;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 衛(wèi)生院防疫設(shè)備管理制度
- 衛(wèi)生打掃值日制度
- 公司衛(wèi)生間上墻制度
- 衛(wèi)生院公衛(wèi)自查整改制度
- 衛(wèi)生所網(wǎng)絡(luò)安全制度
- 衛(wèi)生所登記管理制度
- 鄉(xiāng)村衛(wèi)生保潔制度
- 飲用水生產(chǎn)過程衛(wèi)生制度
- 衛(wèi)生室婦幼保健工作制度
- 衛(wèi)生院統(tǒng)計工作相關(guān)制度
- GB/T 3672.1-2025橡膠制品的公差第1部分:尺寸公差
- 2025外研社小學(xué)英語三年級下冊單詞表(帶音標(biāo))
- 承包檳榔園合同轉(zhuǎn)讓協(xié)議書
- 鵬城實驗室雙聘管理辦法
- 隧道滲漏檢測技術(shù)-洞察及研究
- x探傷安全管理制度
- 財政分局對賬管理制度
- 噴水機車間管理制度
- 云師大附中 2026 屆高三高考適應(yīng)性月考(一)-地理試卷(含答案)
- 商業(yè)銀行反洗錢風(fēng)險管理自評估制度研究
- 2025年度法院拍賣合同模板:法院拍賣拍賣保證金退還合同
評論
0/150
提交評論