第10章 數(shù)模轉(zhuǎn)換與模數(shù)轉(zhuǎn)換接口及其應(yīng)用_第1頁(yè)
第10章 數(shù)模轉(zhuǎn)換與模數(shù)轉(zhuǎn)換接口及其應(yīng)用_第2頁(yè)
第10章 數(shù)模轉(zhuǎn)換與模數(shù)轉(zhuǎn)換接口及其應(yīng)用_第3頁(yè)
第10章 數(shù)模轉(zhuǎn)換與模數(shù)轉(zhuǎn)換接口及其應(yīng)用_第4頁(yè)
第10章 數(shù)模轉(zhuǎn)換與模數(shù)轉(zhuǎn)換接口及其應(yīng)用_第5頁(yè)
已閱讀5頁(yè),還剩73頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第十章D/A轉(zhuǎn)換與A/D轉(zhuǎn)換

接口及其應(yīng)用

概述D/A轉(zhuǎn)換器及其接口技術(shù)A/D轉(zhuǎn)換器及其接口技術(shù)一、概述

1、模擬量與數(shù)字量模擬量——連續(xù)變化的物理量。例如:電壓、電流、壓力、溫度、位移、流量等。例如:二進(jìn)制數(shù)00101110數(shù)字量——時(shí)間和數(shù)值上都離散的量。2、模擬量輸入輸出通道控制對(duì)象溫度流量傳感器傳感器多路開(kāi)關(guān)采樣保持器A/D轉(zhuǎn)換器數(shù)字量微機(jī)系統(tǒng)控制數(shù)字量I/O接口鎖存器D/A轉(zhuǎn)換放大驅(qū)動(dòng)模擬量模擬電量信號(hào)處理信號(hào)處理非電量1、傳感器(變送器)把外部的物理量(例如:聲音、溫度、壓力、流量

等)轉(zhuǎn)換成電流或電壓信號(hào)。2、信號(hào)處理

傳感器輸出的信號(hào)比較微弱,需要經(jīng)過(guò)放大,獲得ADC

所要求的輸入電平范圍。安裝在現(xiàn)場(chǎng)的傳感器及其傳輸線路容易受到干擾信號(hào)的

影響,需要加接濾波電路,濾去干擾信號(hào)。3、多路開(kāi)關(guān)(Multiplexer)需要監(jiān)測(cè)或控制的模擬量往往多于一個(gè)??梢允褂枚嗦?/p>

模擬開(kāi)關(guān),輪流接通其中的一路,使多個(gè)模擬信號(hào)共用

一個(gè)ADC進(jìn)行A/D轉(zhuǎn)換。4、A/D轉(zhuǎn)換器(AnalogDigitConverter,ADC)將模擬量轉(zhuǎn)換成數(shù)字量,送計(jì)算機(jī)處理,它是輸入通道的核心環(huán)節(jié)。

AD轉(zhuǎn)換器輸入模擬信號(hào)通常有以下幾種電壓范圍:

單極性0~5V、0~10V、0~20V;

雙極性±2.5V、±5V、±10V等。5、采樣/保持器(SampleHolder)

A/D轉(zhuǎn)換期間,保持輸入信號(hào)不變的電路稱為采樣/保持電路。轉(zhuǎn)換開(kāi)始之前,采樣/保持電路采集輸入信號(hào)(采樣);轉(zhuǎn)換進(jìn)行過(guò)程中,它向A/D轉(zhuǎn)換器保持固定的輸出(保持)。6、D/A轉(zhuǎn)換器(DigitAnalogConverter,DAC)

D/A轉(zhuǎn)換器將成數(shù)字量轉(zhuǎn)換成模擬量輸出。

1)傳感器的定義

傳感器(Sensor/Transducer)是借助檢測(cè)元件接收一種形式的信息,并按一定的規(guī)律將所獲取的信息轉(zhuǎn)換成另一種信息的裝置。目前,經(jīng)傳感器轉(zhuǎn)換后的信號(hào)大多為電信號(hào)。因而從狹義上講,傳感器是把外界輸入的非電信號(hào)轉(zhuǎn)換成電信號(hào)的裝置。物理量電量傳感器3、常用傳感器2)傳感器的構(gòu)成

傳感器一般由敏感元件、轉(zhuǎn)換元件和輔助元件組成。被測(cè)信息敏感元件轉(zhuǎn)換元件輔助電源信號(hào)調(diào)理電路輸出信息

敏感元件:直接感受被測(cè)量,并輸出與被測(cè)量成確定關(guān)系的某一物理量的元件。

轉(zhuǎn)換元件:是指?jìng)鞲衅髦心軐⒚舾性妮敵隽哭D(zhuǎn)換為適于傳輸和測(cè)量的電信號(hào)部分。

輔助元件:信號(hào)調(diào)節(jié)和轉(zhuǎn)換的元件。

(1)溫度傳感器

熱電偶,利用金屬的溫差產(chǎn)生電動(dòng)勢(shì);

熱電阻,利用導(dǎo)體的電阻值隨溫度變化進(jìn)行測(cè)溫;

熱敏電阻,利用半導(dǎo)體的電阻值隨溫度變化測(cè)溫;兩種不同類型的金屬導(dǎo)體兩端,分別接在一起構(gòu)成閉合回路,當(dāng)兩個(gè)結(jié)點(diǎn)溫度不等有溫差時(shí),回路里會(huì)產(chǎn)生熱電勢(shì),形成電流,這種現(xiàn)象稱為熱電效應(yīng)。3)傳感器的分類(2)濕度傳感器

能感受氣體中水蒸氣的含量,把濕度的變化轉(zhuǎn)換成電量變化的傳感器。濕敏電阻是在基片上覆蓋一層用感濕材料制成的膜,當(dāng)空氣中的水蒸氣吸附在感濕膜上時(shí),元件的電阻率和電阻值都發(fā)生變化,利用這一特性即可測(cè)量濕度。濕敏電容一般是用高分子(聚苯乙烯、聚酰亞胺)薄膜電容制成,當(dāng)環(huán)境濕度改變時(shí),濕敏電容的介電常數(shù)變化,使其電容量也發(fā)生變化,其電容變化量與相對(duì)濕度成正比,利用這一特性即可測(cè)量濕度。

毛發(fā)濕度計(jì)干濕球濕度計(jì)(3)氣敏傳感器

氣敏傳感器是把某種氣體的成分、濃度等參數(shù)轉(zhuǎn)換成電阻變化量,再轉(zhuǎn)換為電流、電壓信號(hào),來(lái)檢測(cè)特定氣體的傳感器。

主要包括:半導(dǎo)體氣敏傳感器、接觸燃燒式氣敏傳感器和電化學(xué)氣敏傳感器等。

主要應(yīng)用:一氧化碳?xì)怏w檢測(cè)、瓦斯氣體檢測(cè)、煤氣檢測(cè)、氟利昂檢測(cè)、酒精檢測(cè)等。

(4)壓電式和壓阻式傳感器

壓電式傳感器是利用某些物質(zhì)的壓電效應(yīng)將被測(cè)量轉(zhuǎn)換為電量的一種傳感器。

某些物質(zhì)如石英,當(dāng)受到外力時(shí),不僅幾何尺寸發(fā)生變化,而且內(nèi)部極化,表面上有電荷出現(xiàn),形成電場(chǎng);當(dāng)外力消失時(shí),材料又重新回復(fù)到原來(lái)狀態(tài),這種現(xiàn)象稱為壓電效應(yīng)。

半導(dǎo)體單晶硅、鍺等材料,受到作用力時(shí),它的電阻率(電阻)會(huì)發(fā)生變化,這種效應(yīng)稱為壓阻式效應(yīng),可做成壓阻式傳感器。高壓進(jìn)氣口低壓進(jìn)氣口小型壓阻式壓力傳感器(5)光纖傳感器

利用光導(dǎo)纖維的傳光特性,把被測(cè)量轉(zhuǎn)換為光特性(強(qiáng)度、相位、頻率、波長(zhǎng))改變的傳感器。(6)光電碼盤式傳感器碼盤式角度-數(shù)字傳感器碼盤式傳感器是建立在編碼器的基礎(chǔ)上的,它能夠?qū)⒔嵌绒D(zhuǎn)換為數(shù)字編碼,是一種數(shù)字式的傳感器。碼盤由光學(xué)玻璃制成,其上刻有許多同心碼道,碼道的條數(shù)就是數(shù)碼的位數(shù),每位碼道上都有按一定規(guī)律排列的透光和不透光部分,即亮區(qū)和暗區(qū)。由光源1發(fā)出的光線,經(jīng)透鏡2變成一束平行光照射在碼盤3上,通過(guò)透光部分的光線經(jīng)狹縫4照射到光電元件5上,光電元件的排列與碼道一一對(duì)應(yīng),對(duì)應(yīng)于亮區(qū)和暗區(qū)的光電元件輸出的信號(hào),前者為“1”,后者為“0”。當(dāng)碼盤旋轉(zhuǎn)至不同位置時(shí),光電元件輸出信號(hào)的組合,反映出按一定規(guī)律編碼的數(shù)字量,代表了碼盤軸的角位移大小。

二、D/A轉(zhuǎn)換器及其接口技術(shù)2.1D/A轉(zhuǎn)換器

2.1.3

D/A轉(zhuǎn)換器的主要技術(shù)參數(shù)2.1.2

R-2R倒T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器2.1.1D/A轉(zhuǎn)換器的基本原理2.1.1

D/A轉(zhuǎn)換器的基本原理將輸入的每一位二進(jìn)制代碼按其權(quán)的大小,轉(zhuǎn)換成相應(yīng)的模擬量,然后將代表各位的模擬量相加,所得的總模擬量就與數(shù)字量成正比,這樣便實(shí)現(xiàn)了從數(shù)字量到模擬量的轉(zhuǎn)換。解:當(dāng)輸入為00000001時(shí):因此,當(dāng)輸入數(shù)字量為00001001時(shí):即和輸入數(shù)字量00001001相對(duì)應(yīng)的模擬輸出電壓為45mV。例1、一個(gè)8位D/A轉(zhuǎn)換電路,輸入為00000001時(shí),輸出電壓為5mV,則輸入數(shù)字量為00001001時(shí),輸出電壓有多大?

D/A轉(zhuǎn)換器的基本組成:

存放數(shù)字量的各位數(shù)碼由輸入數(shù)字量控制產(chǎn)生權(quán)電流將權(quán)電流相加產(chǎn)生與輸入成正比的模擬電壓根據(jù)輸入的數(shù)字量的方式分,可分為:串行DAC:串行輸入方式的D/A轉(zhuǎn)換器。并行DAC:并行輸入方式的D/A轉(zhuǎn)換器。①分別從虛線A、B、C、D處向左看的二端網(wǎng)絡(luò)等效電阻都是R。②不論模擬開(kāi)關(guān)接到運(yùn)算放大器的反相輸入端(虛地)還是接到地,即不論輸入數(shù)字信號(hào)是1還是0,各支路的電流不變。從參考電壓UR處輸入的電流IR為:2.1.2

R-2R倒T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器參考電壓模擬開(kāi)關(guān)各支路電流IR為:8位D/A轉(zhuǎn)換器的輸入/輸出關(guān)系0000000010000000……111111100000000110000001……11111111模擬量

數(shù)字量MSBLSB當(dāng)n=3時(shí),DAC的輸出與輸入轉(zhuǎn)換特性圖,輸出為階梯波。

(1)分辨率

分辨率是指D/A轉(zhuǎn)換器的最小輸出電壓與最大輸出電壓之比。最小輸出電壓就是對(duì)應(yīng)于輸入數(shù)字量最低位為1,其余各位均為0時(shí)的輸出電壓。最大輸出電壓就是對(duì)應(yīng)于輸入數(shù)字量全部為1時(shí)的輸出電壓。10位D/A轉(zhuǎn)換器的分辨率為:2.1.3D/A轉(zhuǎn)換器的主要技術(shù)參數(shù)分辨率可用輸入二進(jìn)制數(shù)的有效位數(shù)n表示。(2)轉(zhuǎn)換精度

D/A轉(zhuǎn)換器的轉(zhuǎn)換精度是指輸出模擬電壓的實(shí)際值與理想值之差。(3)輸出建立時(shí)間

從輸入數(shù)字量起,到輸出電壓或電流達(dá)到穩(wěn)定值所需要的時(shí)間,稱為輸出建立時(shí)間。2.2并行8位D/A轉(zhuǎn)換芯片AD558及其接口

1、AD558的內(nèi)部結(jié)構(gòu)框圖AD558的輸出模擬電壓范圍為0~2.56V分辨率=2.56V/2562、AD558與PC機(jī)的連接圖

用AD588產(chǎn)生鋸齒波模擬信號(hào)。CODE SEGMENT ASSUMECS:CODESTART:MOV

CX,256

MOVAL,0LOOP1: OUT30C,AL

;輸出AL內(nèi)容

CALLDELAY

;延時(shí)

INCAL

;AL內(nèi)容加1 LOOPLOOP1

;循環(huán)256次

JMPSTART

;重新輸出下一個(gè)鋸齒波用AD588產(chǎn)生鋸齒波模擬信號(hào)程序:3、串行8位D/A轉(zhuǎn)換器TLC5620

TLC5620是一個(gè)4路串行8位電壓輸出型數(shù)模轉(zhuǎn)換器(DAC),帶有緩沖參考電壓輸入(高阻抗)。DAC模塊輸出電壓范圍為1或2倍的參考電壓,DAC是單向的。這個(gè)器件使用很簡(jiǎn)單,有一個(gè)5V的單電源供電。上電復(fù)位功能可以保證重啟動(dòng)條件。TLC5620內(nèi)部功能框圖:第一級(jí)緩沖

第二級(jí)緩沖

參考電壓輸入端

2倍電路

TLC5620引腳功能:

引腳輸入/輸出描述名稱序號(hào)CLK7I串行接口時(shí)鐘。引腳出現(xiàn)下降沿時(shí),將輸入的數(shù)字量移入串行接口寄存器DACA12ODACA模擬信號(hào)輸出DACB11ODACB模擬信號(hào)輸出DACC10ODACC模擬信號(hào)輸出DACD9ODACD模擬信號(hào)輸出DATA6I串行接口二進(jìn)制輸入端GND1I地回路及參考終端LDAC13I加載DAC。當(dāng)引腳出現(xiàn)高電平時(shí),即使有數(shù)字量被讀入串行口也不會(huì)對(duì)DAC的輸出進(jìn)行更新。只有當(dāng)引腳從高電平變?yōu)榈碗娖綍r(shí),DAC輸出才更新。LOAD8I串口加載控制。當(dāng)LDAC是低電平,并且LOAD引腳出現(xiàn)下降沿時(shí),數(shù)字量被保存到鎖存器,隨后輸出端產(chǎn)生模擬電壓。REFA2I輸入到DACA的參考電壓。這個(gè)電壓定義了輸出模擬量的范圍。REFB3I輸入到DACB的參考電壓。這個(gè)電壓定義了輸出模擬量的范圍。REFC4I輸入到DACC的參考電壓。這個(gè)電壓定義了輸出模擬量的范圍。REFD5I輸入到DACD的參考電壓。這個(gè)電壓定義了輸出模擬量的范圍。VDD14I正電源TLC5620的工作原理:TLC5620最基本的數(shù)據(jù)寫入方式是LDAC控制更新方式。分為三個(gè)步驟:一、串行輸入數(shù)據(jù),當(dāng)LOAD為高時(shí),在CLK的每一個(gè)下降沿,數(shù)據(jù)通過(guò)DATA端串行輸入到移位寄存器中;二、當(dāng)所有數(shù)據(jù)位均被寫入后,LOAD發(fā)送負(fù)脈沖將數(shù)據(jù)從串行寄存器寫入到第一級(jí)緩沖寄存器中;三、LDAC發(fā)送負(fù)脈沖,把數(shù)據(jù)送入第二級(jí)緩沖寄存器中,DAC輸出電壓被更新。數(shù)據(jù)寫入方式

(LDAC更新DAC輸出)

數(shù)據(jù)寫入方式

(LOAD更新DAC輸出)

TLC5620數(shù)據(jù)格式2位DAC選擇信號(hào)A1A0,1位范圍信號(hào)位RNG,8位數(shù)據(jù)位,最高位在前。各個(gè)輸出電壓由下式給出:式中CODE范圍是0到255,RNG(范圍位)是0或1,包含在串行控制字中,當(dāng)RNG為0時(shí),輸出范圍在1倍參考電壓和地電壓之間,當(dāng)RNG為1時(shí),輸出范圍在兩倍參考電壓和地電壓之間。

表1串行輸入編碼表2DAC輸出電壓TLC5620與8086CPU的接口

DAC_PROCPROCFAR;這是對(duì)DAC的子程序

PUSHAXPUSHCX

PUSHDXPUSHFMOV

CL,5

;先把AX內(nèi)容左移5位

SHLAX,CL MOVDX,AX;DX為串行輸出的數(shù)據(jù),最高位為通道選擇

MOV

CX,11;循環(huán)11次DAC_PROC1: MOVAL,0

;預(yù)置對(duì)DATA線的置位復(fù)位字

SHLDX,1

;取串行輸出位

ADCAL,0

;把串行輸出位送到置位復(fù)位字的第0位

OUT86H,AL

;把DATA線上串行輸出位內(nèi)容

MOVAL,00000010B;發(fā)送CLK負(fù)脈沖

OUT86H,AL MOVAL,00000011B OUT86H,AL LOOPDAC_PROC1

;循環(huán)MOVAL,00000100B;循環(huán)完畢,發(fā)LOAD負(fù)脈沖OUT86H,ALMOVAL,00000101BOUT86H,ALMOVAL,00000110B;發(fā)LDAC負(fù)脈沖OUT86H,ALMOVAL,00000111BOUT86H,ALPOPFPOPDXPOPCXPOPAXRETDAC_PROCENDP主程序中,相關(guān)程序段如下:

MOVAL,10010010B;8255A初始化

OUT86H,AL

MOVAL,0FFHOUT84H,AL…….;其他處理

MOVCX,256;下面程序段使D/A通道B產(chǎn)生一鋸齒波

OUTAL,0;D/A初始數(shù)據(jù)為0MOVAH,00000010B;選取通道B,最大輸出電壓為參考電壓

OUT86H,ALAGAIN:CALLDAC_PROC ;把AX內(nèi)容送到DAC INCAL ;產(chǎn)生鋸齒波的下一個(gè)數(shù)據(jù)

CALLDELAY ;延時(shí)

LOOPAGAIN ;循環(huán)256次

…….;其他處理4、12位D/A轉(zhuǎn)換及接口

模擬電子開(kāi)關(guān)S在采樣脈沖CPS的控制下重復(fù)接通、斷開(kāi)的過(guò)程。S接通時(shí),ui(t)對(duì)C充電,為采樣過(guò)程;S斷開(kāi)時(shí),C上的電壓保持不變,為保持過(guò)程。在保持過(guò)程中,采樣的模擬電壓經(jīng)數(shù)字化編碼電路轉(zhuǎn)換成一組n位的二進(jìn)制數(shù)輸出。三、A/D轉(zhuǎn)換器及其接口技術(shù)

1、A/D轉(zhuǎn)換器的基本過(guò)程2、A/D轉(zhuǎn)換器的種類

A/D轉(zhuǎn)換器按照工作原理的不同可分為:

直接A/D轉(zhuǎn)換器和間接A/D轉(zhuǎn)換器。

直接A/D轉(zhuǎn)換器是將輸入模擬電壓直接轉(zhuǎn)換成數(shù)字量;

間接A/D轉(zhuǎn)換器是先將輸入模擬電壓轉(zhuǎn)換成中間量,如時(shí)間或頻率,然后將這些中間量轉(zhuǎn)換成數(shù)字量。常用的直接A/D轉(zhuǎn)換器有并聯(lián)比較型A/D轉(zhuǎn)換器和逐次逼近型A/D轉(zhuǎn)換器。常用的間接A/D轉(zhuǎn)換器有中間量為時(shí)間的雙積分型A/D轉(zhuǎn)換器,中間量為頻率的電壓-頻率轉(zhuǎn)換型A/D轉(zhuǎn)換器。3、逐次逼近型ADC

工作原理可用天平秤重過(guò)程作比喻來(lái)說(shuō)明。若有四個(gè)砝碼共重15克,每個(gè)重量分別為8、4、2、1克。設(shè)待秤重量Wx=13.4克,可以用下表步驟來(lái)秤量:砝碼重第一次第二次第三次第四次加4克加2克加1克8克砝碼總重<待測(cè)重量Wx,故保留砝碼總重仍<待測(cè)重量Wx,故保留砝碼總重>待測(cè)重量Wx,故撤除砝碼總重=待測(cè)重量Wx,故保留暫時(shí)結(jié)果8克12克12克13克

結(jié)論(1)電路結(jié)構(gòu):VREF=-10V,VI=6.84V3、逐次逼近型ADC轉(zhuǎn)換原理

100…0100…0VI≥5V

1VI=6.84VVREF=-10V第一個(gè)CP:第二個(gè)CP:010…0110…010VI<7.5V

VI=6.84VVREF=-10V第三個(gè)CP:001…0101…0I’

≥6.25V101I=6.84VVREF=10V(3)工作波形最高位為1的轉(zhuǎn)換電壓為VD7=27VREF/28=5V,其余各位為1的轉(zhuǎn)換電壓逐位按1/2衰減。10000000A=6.84VVREF=10V1010111111000000101000001011000010101000101011001010111010101111(1)分辨率

A/D轉(zhuǎn)換器的分辨率用輸出二進(jìn)制數(shù)的位數(shù)表示,位數(shù)越多,誤差越小,轉(zhuǎn)換精度越高。例如,輸入模擬電壓的變化范圍為0~5V,輸出8位二進(jìn)制數(shù)可以分辨的最小模擬電壓為5V×2-8=20mV;(2)相對(duì)精度在理想情況下,所有的轉(zhuǎn)換點(diǎn)應(yīng)當(dāng)在一條直線上。相對(duì)精度是指實(shí)際的各個(gè)轉(zhuǎn)換點(diǎn)偏離理想特性的誤差。(3)轉(zhuǎn)換速度

轉(zhuǎn)換速度是指完成一次轉(zhuǎn)換所需的時(shí)間。轉(zhuǎn)換時(shí)間是指從接到轉(zhuǎn)換控制信號(hào)開(kāi)始,到輸出端得到穩(wěn)定的數(shù)字輸出信號(hào)所經(jīng)過(guò)的這段時(shí)間。模數(shù)轉(zhuǎn)換器的主要技術(shù)指標(biāo)4、A/D轉(zhuǎn)換與微機(jī)接口技術(shù)原理1)三態(tài)總線輸入問(wèn)題

ADC轉(zhuǎn)換好的數(shù)據(jù)必須經(jīng)過(guò)三態(tài)緩沖器與微機(jī)數(shù)據(jù)總線相連。有的ADC芯片帶有三態(tài)輸出緩沖器,其控制端為OE(輸出允許)。若不帶三態(tài)緩沖器的ADC芯片(如AD570芯片)與微機(jī)接口,必須使用三態(tài)器件,如:8255A,74LS273等。2)時(shí)間配合問(wèn)題

ADC從啟動(dòng)轉(zhuǎn)換到轉(zhuǎn)換結(jié)束經(jīng)過(guò)的時(shí)間比較長(zhǎng),快則幾微妙,慢則幾毫秒,A/D轉(zhuǎn)換所需時(shí)間大于微機(jī)的指令時(shí)間。為了輸入正確的轉(zhuǎn)換結(jié)果,必須解決ADC與CPU取數(shù)之間的時(shí)間配合問(wèn)題。

A/D芯片一般有三個(gè)信號(hào)要求控制:?jiǎn)?dòng)轉(zhuǎn)換信號(hào)(START),轉(zhuǎn)換結(jié)束信號(hào)(EOC),允許輸出信號(hào)(OE)。模擬輸入允許輸出(OE)數(shù)據(jù)輸出啟動(dòng)轉(zhuǎn)換信號(hào)(START)轉(zhuǎn)換結(jié)束(EOC)ADCCPU5、A/D轉(zhuǎn)換與微機(jī)接口電路1)

延時(shí)等待法接口電路

延時(shí)等待法是利用CPU執(zhí)行一條OUT指令,啟動(dòng)A/D轉(zhuǎn)換,然后CPU執(zhí)行軟件延時(shí)程序。延時(shí)時(shí)間一般比所選用的ADC芯片轉(zhuǎn)換時(shí)間長(zhǎng)。延時(shí)結(jié)束,CPU執(zhí)行IN指令,發(fā)出OE信號(hào),打開(kāi)三態(tài)門獲取ADC轉(zhuǎn)換好的數(shù)據(jù)。需要兩個(gè)端口地址,一個(gè)輸出端口,啟動(dòng)ADC,一個(gè)輸入端口,輸入轉(zhuǎn)換結(jié)束的有效數(shù)據(jù)。PROC_ADC PROCFAR

;這是一個(gè)數(shù)據(jù)采集子程序

AGAIN: OUT

N1,AL;啟動(dòng)ADC

CALLDELAY

;延時(shí)

IN

AL,N2

;取數(shù)

MOV[BX],AL;存入數(shù)組

INCBX

;數(shù)組指針加1 LOOPAGAIN

;循環(huán)

RET PROC_ADC ENDPN1EQUSTART_PORTN2EQUOE_PORT…..BUFFDB256DUP(?);定義一個(gè)數(shù)組,元素個(gè)數(shù)256…..MOVBX,OFFSETBUFF;定義子程序入口參數(shù)

MOVCX,256CALLPROC_ADC;調(diào)用數(shù)據(jù)采集子程序利用延時(shí)等待法進(jìn)行256個(gè)數(shù)據(jù)轉(zhuǎn)換程序。2)查詢法接口電路

查詢法是由CPU來(lái)檢查EOC信號(hào)。當(dāng)CPU啟動(dòng)ADC芯片開(kāi)始轉(zhuǎn)換后,可執(zhí)行其他任務(wù),再通過(guò)狀態(tài)端口檢查ADC是否轉(zhuǎn)換結(jié)束。下圖是查詢ADC的接口電路,有兩個(gè)端口。CPU先通過(guò)Y0(譯碼器輸出)所示端口地址執(zhí)行一條IN指令,產(chǎn)生一個(gè)高電平有效的START信號(hào),啟動(dòng)ADC開(kāi)始轉(zhuǎn)換。當(dāng)ADC轉(zhuǎn)換結(jié)束產(chǎn)生EOC信號(hào),CPU通過(guò)Y1端口地址執(zhí)行一條IN指令,查詢EOC信號(hào)。EOC信號(hào)通過(guò)三態(tài)門接數(shù)據(jù)線D0上,查詢到D0為1,則ADC轉(zhuǎn)換好數(shù)據(jù),CPU再執(zhí)行一條IN指令,發(fā)出OE信號(hào),取入數(shù)據(jù)。實(shí)際應(yīng)用中,由于ADC直接與外部的模擬信號(hào)相連,當(dāng)現(xiàn)場(chǎng)的干擾信號(hào)較強(qiáng)時(shí),可能會(huì)通過(guò)ADC芯片影響CPU的正常工作。在實(shí)際ADC接口電路中,常用8255A作為ADC與CPU的接口電路。下圖為使用8255A作為接口的軟件查詢方式下的A/D轉(zhuǎn)換。工作過(guò)程:8255A的A口作為輸入,方式1工作。ADC的START信號(hào)由PC7提供,EOC信號(hào)接PC4,PC4接收EOC信號(hào)后,將PA7~

PA0上數(shù)據(jù)鎖存到A口的數(shù)據(jù)輸入緩沖器,同時(shí)從PC5發(fā)出輸入緩沖區(qū)滿信號(hào)IBFA,CPU讀入C口的狀態(tài),查詢到IBFA為1,將8255A中數(shù)據(jù)取走,同時(shí)啟動(dòng)下一個(gè)A/D轉(zhuǎn)換。DATASEGMET;定義數(shù)據(jù)段BUFFDB256DUP(0);定義數(shù)組變量BUFFDATAENDS8255-AEQU238H;8255的A口地址238H8255-CEQU23CH;8255的C口地址23CH8255-SEQU23EH;8255的控制口地址23EHCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVCX,256MOVBX,OFFSETBUFF;BX為數(shù)組首地址

MOVDX,8255-S;初始化8255,A口為輸入,C口上半部

MOVAL,0B0H;為輸入,下半部為輸出,B口為輸出

OUTDX,ALLOPP:MOVAL,0FH;發(fā)START信號(hào)

OUTDX,ALMOVAL,0EHOUTDX,ALPOL:MOVDX,8255-CINAL,DX;輸入狀態(tài)信號(hào)

TESTAL,20H;檢測(cè)IBFAJZPOL;若無(wú)效,循環(huán)檢測(cè)

MOVDX,8255-A;A口數(shù)據(jù)有效,取數(shù)據(jù)

INAL,DXMOV[BX],AL;數(shù)據(jù)送數(shù)組

INCBX;數(shù)組指針加1LOOPLOPP;循環(huán)256次

MOVAX,4C00HINT21HCODEENDSENDSTART3)中斷法接口電路使用中斷方法,可提高CPU的利用率,當(dāng)ADC轉(zhuǎn)換結(jié)束,由EOC信號(hào)向CPU發(fā)出中斷請(qǐng)求,CPU響應(yīng)中斷在中斷服務(wù)子程序中讀取轉(zhuǎn)換結(jié)果。由CPU執(zhí)行一條IN指令,啟動(dòng)ADC轉(zhuǎn)換;同時(shí)將D觸發(fā)器清0。使得中斷請(qǐng)求信號(hào)無(wú)效,此時(shí),CPU只管去執(zhí)行其他程序,一旦ADC轉(zhuǎn)換好數(shù)據(jù),EOC信號(hào)使D觸發(fā)器置1,向8259A發(fā)出中斷請(qǐng)求。若CPU響應(yīng)中斷,則轉(zhuǎn)去執(zhí)行中斷服務(wù)程序;CPU執(zhí)行一條IN指令,使OE信號(hào)有效,讀入ADC緩沖區(qū)轉(zhuǎn)換好的數(shù)據(jù),同時(shí),START信號(hào)有效,啟動(dòng)下一條數(shù)據(jù)轉(zhuǎn)換,并將中斷請(qǐng)求信號(hào)變?yōu)闊o(wú)效,開(kāi)始下一個(gè)數(shù)據(jù)的轉(zhuǎn)換。6

、A/D轉(zhuǎn)換芯片ADC0809一、ADC0809內(nèi)部結(jié)構(gòu)

模擬輸入部分控制邏輯地址譯碼輸入選通基準(zhǔn)電壓輸入端二、管腳說(shuō)明

管腳說(shuō)明:

ADC0809芯片有28個(gè)管腳,為雙列直插式封裝。功能說(shuō)明:

IN7~I(xiàn)N0——8個(gè)模擬量輸入通道;

ADDA,ADDB和ADDC——通道端口地址選擇線。A為低地址,C為高地址。其地址狀態(tài)與通道對(duì)應(yīng)關(guān)系見(jiàn)表10-1。

ALE——地址鎖存信號(hào)。由低電平到高電平跳變時(shí),將地址狀態(tài)線的狀態(tài)鎖存,選擇相應(yīng)的輸入通道。

START——轉(zhuǎn)換啟動(dòng)信號(hào)。START上升沿時(shí),復(fù)位ADC0809;START下降沿時(shí)啟動(dòng)芯片,開(kāi)始進(jìn)行A/D轉(zhuǎn)換;在A/D轉(zhuǎn)換期間,START應(yīng)保持低電平。

D7~D0——數(shù)據(jù)輸出線。為三態(tài)緩沖輸出形式,D0為最低位,D7為最高。

OE——輸出允許信號(hào)。有效時(shí)將輸出寄存器中的數(shù)據(jù)放到數(shù)據(jù)總線上;OE=0,輸出數(shù)據(jù)線呈高阻;OE=1,輸出轉(zhuǎn)換得到的數(shù)據(jù)。

EOC——轉(zhuǎn)換結(jié)束信號(hào)。EOC=0,正在進(jìn)行轉(zhuǎn)換;EOC=1,轉(zhuǎn)換結(jié)束。在使用中,該狀態(tài)信號(hào)即可作為查詢的狀態(tài)標(biāo)志,又可作為中斷請(qǐng)求信號(hào)使用。

CLK——時(shí)鐘信號(hào)。ADC0809的內(nèi)部沒(méi)有時(shí)鐘電路,所需時(shí)鐘信號(hào)由外界提供,因此有時(shí)鐘信號(hào)引腳。通常使用頻率為500KHz的時(shí)鐘信號(hào)。

Vcc——+5V電源。

REF——參考電源電壓,用來(lái)與輸入的模擬信號(hào)進(jìn)行比較,作為逐次逼近的基準(zhǔn)。其典型值為+5V(REF(+)=+5V,REF(-)=-5V)。表10-1通道選擇表三、ADC0809的有關(guān)參數(shù)ADC0809為8位A/D轉(zhuǎn)換器,分辨率為滿量程電壓的1/256。當(dāng)基準(zhǔn)電壓選定為VREF+=+5V,VREF+=0V時(shí),若輸入模擬電壓為+1.5V,則轉(zhuǎn)換成數(shù)字量為77,即01001101B,模擬輸入與數(shù)字量輸出的關(guān)系為:例、某8位A/D轉(zhuǎn)換器的輸入模擬電壓滿量程為5V,當(dāng)輸入電壓為1.96V時(shí),求對(duì)應(yīng)的輸出數(shù)字量?解:輸出數(shù)字量對(duì)應(yīng)的十進(jìn)制數(shù)與輸入模擬電壓成正比:所以有:

故輸出數(shù)字量D=01100100。四、ADC0809的多路轉(zhuǎn)換

ADC0809在模擬輸入部分有8路多路開(kāi)關(guān),可由3位地址輸入ADDC、ADDB和ADDA不同組合選擇。ADDC、ADDB和ADDA接CPU的數(shù)據(jù)線D2~D0,可對(duì)8路不同的模擬輸入信號(hào)進(jìn)行A/D轉(zhuǎn)換。當(dāng)ADDC、ADDB和ADDA為100時(shí),且ALE有效時(shí),ADC0809對(duì)IN4管腳的模擬輸入信號(hào)進(jìn)行轉(zhuǎn)換。7、串行8位A/D轉(zhuǎn)換器TLC0831一、TLC0831主要特點(diǎn):

分辨率為8位;單通道輸入,串行輸出;

單+5V供電,輸入電壓范圍為0~+5V;輸出電平與TTL電平兼容;轉(zhuǎn)換速度:轉(zhuǎn)換時(shí)間32μS(頻率250KHz時(shí))。二、TLC0831管腳功能

CS:片選信號(hào),低電平有效。IN+:模擬電壓差分輸入端IN-:模擬電壓差分輸入端(接地)REF:參考電壓輸入端DO:A/D轉(zhuǎn)換結(jié)果數(shù)字量輸出端CLK:實(shí)時(shí)時(shí)鐘輸入端

三、TLC0831的工作原理

工作原理:TLC0831內(nèi)部集成一個(gè)逐次逼近型ADC,用來(lái)轉(zhuǎn)換由(IN+

,IN-)輸入的差分信號(hào),不需要差分輸入時(shí),IN-接地,信號(hào)接IN+

CS低電平時(shí),TLC0831開(kāi)始工作,整個(gè)轉(zhuǎn)換過(guò)程CS保持低電平;逐次逼近型ADC在第二個(gè)時(shí)鐘信號(hào)開(kāi)始進(jìn)行模數(shù)轉(zhuǎn)換。轉(zhuǎn)換過(guò)程中,轉(zhuǎn)換數(shù)據(jù)從DO端輸出,第一位為最高位,8個(gè)時(shí)鐘周期后轉(zhuǎn)換結(jié)束。四、TLC0831與8086CPU的接口

下面是對(duì)TLC0831操作的程序,設(shè)8255A地址分布為80H~86H。ADC_PROCPROCFAR;這是一個(gè)ADC程序,轉(zhuǎn)換結(jié)果在AH中

PUSHCXPUSHFMO

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論