第13章 數(shù)模和模數(shù)轉換_第1頁
第13章 數(shù)模和模數(shù)轉換_第2頁
第13章 數(shù)模和模數(shù)轉換_第3頁
第13章 數(shù)模和模數(shù)轉換_第4頁
第13章 數(shù)模和模數(shù)轉換_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

自然界物理量為何要進行數(shù)模和模數(shù)轉換?數(shù)字信號物理量模擬信號壓力傳感器溫度傳感器流量傳感器四路模擬開關數(shù)字控制計算機DAC模擬控制器模擬控制器液位傳感器DACDAC…………模擬控制器模擬控制器生產控制對象

DACADC三、數(shù)模和模數(shù)轉換器應用舉例二、數(shù)模和模數(shù)轉換的概念和作用

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

Digital-AnalogConverter,簡稱

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

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

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

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

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

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

A/D轉換的基本原理和一般步驟

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

D=Dn-1

Dn-2

D1

D0

A/D轉換的基本原理和一般步驟

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

D=Dn-1

Dn-2

D1

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

保持:保持采樣信號,使有充分時間轉換為數(shù)字信號。

量化:把采樣保持電路的輸出信號用單位量化電壓的

整數(shù)倍表示。

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

采樣定理:當采樣頻率不小于輸入模擬信號頻譜中最高頻率的兩倍時,采樣信號可以不失真地恢復為原模擬信號。

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

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

=/2=(1/15)V1=1/8V4=4/8V0(6/8)V(7/8)V000001010011100101110111模擬電平二進制代碼代表的模擬電平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模擬電平二進制代碼代表的模擬電平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ù)字量之間的最大差值。通常用最低有效位LSB的倍數(shù)來表示。ADC主要參數(shù)2.相對精度(又稱轉換誤差)

指ADC輸出數(shù)字量的最低位變化一個數(shù)碼時,對應輸入模擬量的變化量。

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

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

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

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

enable();∥開中斷outportb(0x180,00);∥啟動ADC轉器,選擇IN0通道while(!Kbhit()){}∥等待鍵盤setvect(0x0a,mode);∥有鍵按下時,恢復IRQ2中斷向量}voedinterruptfaradc-pro

溫馨提示

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

最新文檔

評論

0/150

提交評論