第13章 數(shù)模和模數(shù)轉(zhuǎn)換_第1頁(yè)
第13章 數(shù)模和模數(shù)轉(zhuǎn)換_第2頁(yè)
第13章 數(shù)模和模數(shù)轉(zhuǎn)換_第3頁(yè)
第13章 數(shù)模和模數(shù)轉(zhuǎn)換_第4頁(yè)
第13章 數(shù)模和模數(shù)轉(zhuǎn)換_第5頁(yè)
已閱讀5頁(yè),還剩27頁(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)介

第13章模擬接口13.1模擬輸出輸入系統(tǒng)13.3模/數(shù)轉(zhuǎn)換器13.2數(shù)/模轉(zhuǎn)換器13.1模擬輸入輸出系統(tǒng)一、問(wèn)題的提出:在測(cè)控系統(tǒng)中,被測(cè)控的對(duì)象如溫度、壓力、流量、速度、聲音等都是連續(xù)變化的物理量。這種連續(xù)變化的物理量通常就是模擬電壓或電流,被稱做“模擬量”。當(dāng)用微機(jī)實(shí)現(xiàn)控制時(shí),微機(jī)要求輸入的信號(hào)是“數(shù)字量”,它是離散的。能將模擬量轉(zhuǎn)換為數(shù)字量的部件稱為模擬/數(shù)字轉(zhuǎn)換器(AnalogtoDigitConverter),簡(jiǎn)稱ADC。將微機(jī)的處理結(jié)果(數(shù)字量)進(jìn)行輸出,需要轉(zhuǎn)換成對(duì)應(yīng)的模擬量,要使用數(shù)字/模擬(D/A——DigittoAnalogConverter),簡(jiǎn)稱DAC。微機(jī)通過(guò)ADC和DAC電路,與外界模擬電路相連,這就是模擬接口。模擬接口技術(shù)是微機(jī)在自動(dòng)控制等領(lǐng)域的應(yīng)用基礎(chǔ)。計(jì)算機(jī)模擬信號(hào)模擬信號(hào)A/DD/AA/D:AnalogtoDigitalD/A:DigitaltoAnalog模擬量數(shù)字量模擬量數(shù)字量傳感器被控對(duì)象

自然界物理量為何要進(jìn)行數(shù)模和模數(shù)轉(zhuǎn)換?數(shù)字信號(hào)物理量模擬信號(hào)壓力傳感器溫度傳感器流量傳感器四路模擬開(kāi)關(guān)數(shù)字控制計(jì)算機(jī)DAC模擬控制器模擬控制器液位傳感器DACDAC…………模擬控制器模擬控制器生產(chǎn)控制對(duì)象

DACADC三、數(shù)模和模數(shù)轉(zhuǎn)換器應(yīng)用舉例二、數(shù)模和模數(shù)轉(zhuǎn)換的概念和作用

數(shù)模轉(zhuǎn)換即將數(shù)字量轉(zhuǎn)換為模擬電量(電壓或電流),使輸出的模擬電量與輸入的數(shù)字量成正比。實(shí)現(xiàn)數(shù)模轉(zhuǎn)換的電路稱數(shù)模轉(zhuǎn)換器

Digital-AnalogConverter,簡(jiǎn)稱

D/A轉(zhuǎn)換器或DAC。模數(shù)轉(zhuǎn)換即將模擬電量轉(zhuǎn)換為數(shù)字量,使輸出的數(shù)字量與輸入的模擬電量成正比。實(shí)現(xiàn)模數(shù)轉(zhuǎn)換的電路稱模數(shù)轉(zhuǎn)換器

Analog-DigitalConverter,簡(jiǎn)稱A/D轉(zhuǎn)換器或ADC。D/A轉(zhuǎn)換器的主要技術(shù)指標(biāo)一、分辨率用輸入數(shù)字量的有效位數(shù)來(lái)表示分辨率。此外,也可以用D/A轉(zhuǎn)換器能夠分辨出來(lái)的最小輸出電壓(此時(shí)輸入的數(shù)字代碼只有最低有效位為1,其余各位都是0)

與最大輸出電壓(此時(shí)輸入的數(shù)字代碼所有各位全是1)之比來(lái)給出分辨率。例如,對(duì)一個(gè)十位D/A轉(zhuǎn)換器來(lái)說(shuō),=210-1110231=0.001二、轉(zhuǎn)換時(shí)間:指數(shù)字量輸入到模擬量輸出達(dá)到穩(wěn)定所需的時(shí)間。一般電流型D/A轉(zhuǎn)換器在幾秒到幾百微秒之內(nèi);而電壓型D/A轉(zhuǎn)換器轉(zhuǎn)換較慢,取決于運(yùn)算放大器的響應(yīng)時(shí)間。DAC的位數(shù)越多,分辨率值就越小,能分辨的最小輸出電壓值也越小。三、轉(zhuǎn)換精度:指D/A轉(zhuǎn)換器實(shí)際輸出與理論值之間的誤差,一般采用數(shù)字量的最低有效位(LSB,LeastSignificantBit)作為衡量單位。轉(zhuǎn)換精度通常用輸出電壓滿刻刻度FSR(FullScaleRange)的百分?jǐn)?shù)表示。例如,給出轉(zhuǎn)換誤差為1/2LSB,這就表示輸出模擬電壓的絕對(duì)誤差等于輸入數(shù)字代碼為00000001時(shí)輸出電壓的一半。即是誤差為:±1/2*(VFSR/2位數(shù))四、線性誤差:連續(xù)的數(shù)據(jù)送給DAC,應(yīng)該輸出一個(gè)線性的變化的模擬電壓,而實(shí)際上并不是理想線性的。

線性誤差——模擬量輸出值與理想輸出值之間偏離的最大值。通常用最大偏差與滿量程之間的百分比來(lái)表示線性誤差。1/2LSB13.1.2DAC0832簡(jiǎn)介

DAC0832DAC0832是8位DAC,內(nèi)部有兩級(jí)緩沖。當(dāng)LE1有效時(shí),數(shù)據(jù)進(jìn)入第一級(jí)(數(shù)據(jù)輸入寄存器),當(dāng)LE2有效時(shí),數(shù)據(jù)輸入寄存器的值進(jìn)入第二級(jí)(DAC寄存器)。由于DAC寄存器的輸出直接送D/A轉(zhuǎn)換器,使LE2有效的命令又稱轉(zhuǎn)換命令。DAC0832的輸出為兩個(gè)電流信號(hào)IOUT1和IOUT2(IOUT1+IOUT2=常數(shù)),內(nèi)部提供了一個(gè)反饋電阻R,只需加一個(gè)運(yùn)算放大器,利用內(nèi)部的反饋電阻R即可獲得電壓輸出。2019181716151413121112345678910VCCILEWR2XFERDI4DI5DI6DI7IOUT1IOUT2CSWR1AGNDDI3DI2DI1DI0VREFRFBDGNDDAC0832的外部引腳13.1.3DAC0832的接口設(shè)計(jì)---單緩沖方式1.使數(shù)據(jù)輸入寄存器工作在鎖存狀態(tài),DAC寄存器工作在不鎖存狀態(tài)(LE2始終有效,DAC寄存器直通)。只使用一級(jí)緩沖。適用于大多數(shù)情況.設(shè)D/A轉(zhuǎn)換端口號(hào)為PORTA,設(shè)需轉(zhuǎn)換的數(shù)據(jù)放在1000H單元,則D/A轉(zhuǎn)換程序?yàn)椋?1.1.3DAC0832的接口設(shè)計(jì)---單緩沖方式MOVBX,1000HMOVAL,[BX]MOVDX,PORTAOUTDX,AL2.使用兩級(jí)緩沖11.1.3DAC0832的接口設(shè)計(jì)---雙緩沖方式適用于多個(gè)DAC0832同時(shí)使用的情況設(shè)CS’由A15~A1經(jīng)譯碼產(chǎn)生,當(dāng)A15~A1=A0832時(shí),CS’有效。在CPU執(zhí)行OUT指令時(shí),若A0=0,DAC0832內(nèi)部LE1有效,數(shù)據(jù)總線上的值(AL)送入數(shù)據(jù)輸入寄存器;若A0=1,DAC0832內(nèi)部LE2有效,數(shù)據(jù)輸入寄存器的值送DAC寄存器。11.1.3DAC0832的接口設(shè)計(jì)---雙緩沖方式A0832EQU200HMOVDX,A0832+0;A0=0OUTDX,AL;AL的值為待轉(zhuǎn)換的數(shù)字MOVDX,A0832+1;A0=1OUTDX,AL;AL的值無(wú)關(guān)3.直通方式11.1.3DAC0832的接口設(shè)計(jì)---直通方式一般接鎖存輸出.注:在DAC實(shí)際連接中,要注意區(qū)分“模擬地”和“數(shù)字地”的連接,為了避免信號(hào)串?dāng)_,數(shù)字量部分只能連接到數(shù)字地,而模所量部分只能連接到模擬地。DAC0832的應(yīng)用舉例:利用DAC可實(shí)現(xiàn)任意波形(如鋸齒波、三角波、正弦波等)的輸出,如輸出鋸齒波、三角波的程序段如下:TRG:MOVDX,234HMOVAL,0HTN1:OUTDX,ALINCALJNZTN1MOVAL,0FFHTN2:OUTDX,ALDECALJNZTN2

JMPTN10AL全“1”輸出產(chǎn)生#include<stdio.h>#include<math.h>Main(){unsignedcharV0=128,VOUT;inti;while(!kbhit())∥等待鍵盤(pán){i=0; while(I<=360)∥角度最大為360度{VOUT=V0+128*sin(3.14159*I/180);∥計(jì)算每10度的正弦值outportb(0x200,VOUT);∥輸出 i=i+10;∥角度+10}}}利用圖所示的DAC0832單緩沖方式連接圖,也可輸出正弦波,由于DAC0832是一個(gè)單極性輸出DAC芯片,因此在正弦波輸出中應(yīng)將0V平移到128數(shù)值上,其C語(yǔ)言控制程序如下:例11.1圖11.3中所示的為DAC0832與CPU之間的接口電路,CPU數(shù)據(jù)總線(D0~D7)經(jīng)總線驅(qū)動(dòng)器接至DAC0832的數(shù)據(jù)端,CPU的地址總線經(jīng)地址譯碼電路產(chǎn)生DAC0832芯片的片選信號(hào);圖中DAC0832工作在單緩沖方式,當(dāng)進(jìn)行D/A轉(zhuǎn)換時(shí),CPU只需將被轉(zhuǎn)換的8位數(shù)據(jù)通過(guò)D0~D7經(jīng)過(guò)總線驅(qū)動(dòng)器傳給DAC0832的數(shù)據(jù)輸入端,并立即啟動(dòng)D/A轉(zhuǎn)換,在運(yùn)放輸出端Vout輸出對(duì)應(yīng)的模擬電壓。MOVBX,ADDR;要轉(zhuǎn)換的數(shù)據(jù)單元地址送BXMOVAL,[BX];數(shù)據(jù)送ALMOVDX,PORTA;將端口地址賦給DXOUTDX,AL;將累加器AL的內(nèi)容送給 ;DAC0832,進(jìn)行D/A轉(zhuǎn)換13.2模數(shù)轉(zhuǎn)換A/D轉(zhuǎn)換的原理很多,常見(jiàn)的有雙積分式、逐次逼近式、計(jì)數(shù)式等。輸出碼制有二進(jìn)制、BCD碼等。輸出數(shù)據(jù)寬度有8位、12位、16位、20位、24位等(二進(jìn)制)。

A/D轉(zhuǎn)換的基本原理和一般步驟

基本原理ADCD0D1Dn-2Dn-1…uI模擬輸入信號(hào)n位二進(jìn)制數(shù)輸出

D=Dn-1

Dn-2

D1

D0

A/D轉(zhuǎn)換的基本原理和一般步驟

“[]”表示取整。基本原理ADCD0D1Dn-2Dn-1…uI模擬輸入信號(hào)n位二進(jìn)制數(shù)輸出

D=Dn-1

Dn-2

D1

D0可見(jiàn),輸出數(shù)字量D正比于輸入模擬量uI?!鞣Q為ADC的單位量化電壓或量化單位,它是ADC的最小分辨電壓。采樣:把時(shí)間連續(xù)變化的信號(hào)變換為時(shí)間離散的信號(hào)。

保持:保持采樣信號(hào),使有充分時(shí)間轉(zhuǎn)換為數(shù)字信號(hào)。

量化:把采樣保持電路的輸出信號(hào)用單位量化電壓的

整數(shù)倍表示。

編碼:把量化的結(jié)果用二進(jìn)制代碼表示。A/D轉(zhuǎn)換的一般步驟uI(t)C量化編碼電路Dn-1D1D0…uI(t)S采樣保持電路輸入模擬量輸出數(shù)字量采樣信號(hào)是否會(huì)丟失原信號(hào)的信息呢?對(duì)信號(hào)進(jìn)行量化會(huì)引起誤差嗎?量化誤差大小與ADC的位數(shù)、基準(zhǔn)電壓VREF和量化方法有關(guān)。

采樣定理:當(dāng)采樣頻率不小于輸入模擬信號(hào)頻譜中最高頻率的兩倍時(shí),采樣信號(hào)可以不失真地恢復(fù)為原模擬信號(hào)。

量化誤差:因模擬電壓不一定能被ULSB整除,量化時(shí)舍去余數(shù)而引起的誤差。

劃分量化電平的兩種方法最大量化誤差==(1/8)V最大量化誤差

=/2=(1/15)V1=1/8V4=4/8V0(6/8)V(7/8)V000001010011100101110111模擬電平二進(jìn)制代碼代表的模擬電平0=0V2=2/8V3=3/8V5=5/8V6=6/8V7=7/8V(5/8)V(4/8)V(3/8)V(2/8)V(1/8)V(8/8)V模擬電平二進(jìn)制代碼代表的模擬電平0=0V1=2/15V2=4/15V3=6/15V4=8/15V5=10/15V6=12/15V7=14/15V(13/15)V0000001010011100101110111(11/15)V(15/15)V(9/15)V(3/15)V(7/15)V(1/15)V(5/15)V指ADC實(shí)際輸出數(shù)字量與理想輸出數(shù)字量之間的最大差值。通常用最低有效位LSB的倍數(shù)來(lái)表示。ADC主要參數(shù)2.相對(duì)精度(又稱轉(zhuǎn)換誤差)

指ADC輸出數(shù)字量的最低位變化一個(gè)數(shù)碼時(shí),對(duì)應(yīng)輸入模擬量的變化量。

1.分辨率例如最大輸入電壓為5V的8位ADC的分辨率為:

5V/28=19.6mA分辨率也可用ADC的位數(shù)表示。位數(shù)越多,能分辨的最小模擬電壓值就越小。例如轉(zhuǎn)換誤差不大于1/2LSB,即說(shuō)明實(shí)際輸出數(shù)字量與理想輸出數(shù)字量之間的最大誤差不超過(guò)1/2LSB。例:某信號(hào)采集系統(tǒng)要求用一片A/D轉(zhuǎn)換集成芯片在1s內(nèi)對(duì)16個(gè)熱電偶的輸出電壓分?jǐn)?shù)進(jìn)行A/D轉(zhuǎn)換。已知熱電偶輸出電壓范圍為0~25mV(對(duì)應(yīng)于0~450℃溫度范圍),需分辨的溫度為0.1℃,試問(wèn)應(yīng)選擇幾位的A/D轉(zhuǎn)換器?其轉(zhuǎn)換時(shí)間為多少?分辨率=12位ADC的分辨率=故需選用13位A/D轉(zhuǎn)換器。轉(zhuǎn)換時(shí)間=3.轉(zhuǎn)換時(shí)間轉(zhuǎn)換速度比較:并聯(lián)比較型>逐次逼近型>雙積分型數(shù)十ns數(shù)十s

數(shù)十ms指ADC完成一次轉(zhuǎn)換所需要的時(shí)間,即從轉(zhuǎn)換開(kāi)始到輸出端出現(xiàn)穩(wěn)定的數(shù)字信號(hào)所需要的時(shí)間。轉(zhuǎn)換時(shí)間越小,轉(zhuǎn)換速度越高。三、ADC08098位ADC,逐次逼近型,8路模擬量輸入8路模擬開(kāi)關(guān)地址鎖存譯碼電子開(kāi)關(guān)逐次逼近寄存器控制與時(shí)序解碼網(wǎng)絡(luò)STARTCLK三態(tài)門(mén)VCCGNDVREF(+)VREF(-)OEEOCIN0IN7ADDCADDBADDAALE··D7-0ADC0809引腳圖:2827262524232221201912345678910IN2IN1IN0ADDAADDBADDCALED7D6D5IN3IN4IN5IN6IN7STARTEOCD3OECLK1112131418171615D4D0VREF-D2VCCVREF+GNDD1ADC0809內(nèi)部有“8選1”MUX。當(dāng)ALE信號(hào)有效時(shí),ADD_C、ADD_B、ADD_A選擇IN0~IN7。例如ADD_C、ADD_B、ADD_A分別為011時(shí),選擇IN3通道。數(shù)字輸出:有三態(tài)緩沖器,當(dāng)Enable有效時(shí),從D7~D0引腳輸出轉(zhuǎn)換后的數(shù)字。啟動(dòng)信號(hào):START。負(fù)脈沖啟動(dòng)。轉(zhuǎn)換結(jié)束信號(hào):EOC,高電平有效。模數(shù)轉(zhuǎn)換ADC0809模數(shù)轉(zhuǎn)換ADC0809的接口設(shè)計(jì)1模數(shù)轉(zhuǎn)換ADC0809的接口設(shè)計(jì)通道選擇由系統(tǒng)地址信號(hào)A2~A0連至ADD_C、ADD_B、ADD_A實(shí)現(xiàn)。ALE信號(hào)由A12~A3經(jīng)譯碼后形成的CS信號(hào)和IOW信號(hào)或非獲得。設(shè)A12~A3=180H時(shí),CS有效,以下指令可以執(zhí)行通道選擇:MOVDX,180H+n;n=0~7OUTDX,AL;AL的值無(wú)關(guān)模數(shù)轉(zhuǎn)換ADC0809的接口設(shè)計(jì)START信號(hào)與ALE信號(hào)相連,通道選擇的同時(shí),啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換結(jié)束信號(hào)EOC接8255的PB0,應(yīng)使用8255PB工作在方式0輸入。CPU查詢PB0即可獲知轉(zhuǎn)換是否完成。以下指令可以讀取轉(zhuǎn)換后的數(shù)字:MOVDX,180HINAL,DX模數(shù)轉(zhuǎn)換ADC0809的接口設(shè)計(jì)A0809EQU180HA8255EQU190H;8255的地址為190H~193HMOVAL,1xxxx01xB;8255初始化,PB方式0輸入MOVDX,A8255+3OUTDX,AL;轉(zhuǎn)換通道IN5的程序MOVDX,A0809+5OUTDX,AL;通道選擇并啟動(dòng)轉(zhuǎn)換NEXT:MOVDX,A8255+1;8255PBINAL,DXANDAL,01HJZNEXT;PB0=0,未完成MOVDX,A0809INAL,DX;AL=轉(zhuǎn)換結(jié)果

START是ADC0809的A/D轉(zhuǎn)換啟動(dòng)信號(hào),高電平時(shí)內(nèi)部逐次逼近寄存器清0,由1→0變化時(shí)開(kāi)始A/D轉(zhuǎn)換,信號(hào)寬度>100ns.CLK為時(shí)鐘信號(hào),最大為600KHz.ADC0809設(shè)圖10-12所示電路的CS=180~187H,采用中斷方式的采集程序如下:IN0IN1IN2IN3IN4IN5IN6IN7Q0Q1Q2Q31ACLKOEStartALEA0A1A2IRQ2EOC+5V+5V8MHzIORIOW180H~187H圖10-12ADC0809典型連接#include<stdio.h>#include<dos.h>Voidinterruptfaradc-proc();Main(){void(interruptfar*mode)();disable();∥關(guān)中斷mode=getvect(0x0a);∥取IRQ2中斷向量setvect(0x0a,adc-proc);∥設(shè)置中斷向量

enable();∥開(kāi)中斷outportb(0x180,00);∥啟動(dòng)ADC轉(zhuǎn)器,選擇IN0通道while(!Kbhit()){}∥等待鍵盤(pán)setvect(0x0a,mode);∥有鍵按下時(shí),恢復(fù)IRQ2中斷向量}voedinterruptfaradc-pro

溫馨提示

  • 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)論