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

下載本文檔

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

文檔簡介

數(shù)模和模數(shù)轉(zhuǎn)換計算機模擬信號模擬信號A/DD/AA/D:AnalogtoDigitalD/A:DigitaltoAnalog模擬量數(shù)字量模擬量數(shù)字量傳感器被控對象

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

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

數(shù)模轉(zhuǎn)換即將數(shù)字量轉(zhuǎn)換為模擬電量(電壓或電流),使輸出得模擬電量與輸入得數(shù)字量成正比。實現(xiàn)數(shù)模轉(zhuǎn)換得電路稱數(shù)模轉(zhuǎn)換器Digital-AnalogConverter,簡稱D/A轉(zhuǎn)換器或DAC。模數(shù)轉(zhuǎn)換即將模擬電量轉(zhuǎn)換為數(shù)字量,使輸出得數(shù)字量與輸入得模擬電量成正比。實現(xiàn)模數(shù)轉(zhuǎn)換得電路稱模數(shù)轉(zhuǎn)換器Analog-DigitalConverter,簡稱A/D轉(zhuǎn)換器或ADC。D/A轉(zhuǎn)換器得主要技術(shù)指標(biāo)一、分辨率用輸入數(shù)字量得有效位數(shù)來表示分辨率。此外,也可以用D/A轉(zhuǎn)換器能夠分辨出來得最小輸出電壓(此時輸入得數(shù)字代碼只有最低有效位為1,其余各位都就是0)與最大輸出電壓(此時輸入得數(shù)字代碼所有各位全就是1)之比來給出分辨率。例如,對一個十位D/A轉(zhuǎn)換器來說,=210-1110231=0.001二、轉(zhuǎn)換時間:指數(shù)字量輸入到模擬量輸出達到穩(wěn)定所需得時間。一般電流型D/A轉(zhuǎn)換器在幾秒到幾百微秒之內(nèi);而電壓型D/A轉(zhuǎn)換器轉(zhuǎn)換較慢,取決于運算放大器得響應(yīng)時間。DAC得位數(shù)越多,分辨率值就越小,能分辨得最小輸出電壓值也越小。三、轉(zhuǎn)換精度:指D/A轉(zhuǎn)換器實際輸出與理論值之間得誤差,一般采用數(shù)字量得最低有效位(LSB,LeastSignificantBit)作為衡量單位。轉(zhuǎn)換精度通常用輸出電壓滿刻刻度FSR(FullScaleRange)得百分數(shù)表示。例如,給出轉(zhuǎn)換誤差為1/2LSB,這就表示輸出模擬電壓得絕對誤差等于輸入數(shù)字代碼為00000001時輸出電壓得一半。即就是誤差為:±1/2*(VFSR/2位數(shù))四、線性誤差:連續(xù)得數(shù)據(jù)送給DAC,應(yīng)該輸出一個線性得變化得模擬電壓,而實際上并不就是理想線性得。線性誤差——模擬量輸出值與理想輸出值之間偏離得最大值。通常用最大偏差與滿量程之間得百分比來表示線性誤差。1/2LSB10大家應(yīng)該也有點累了,稍作休息大家有疑問的,可以詢問和交流13、1、2DAC0832簡介DAC0832DAC0832就是8位DAC,內(nèi)部有兩級緩沖。當(dāng)LE1有效時,數(shù)據(jù)進入第一級(數(shù)據(jù)輸入寄存器),當(dāng)LE2有效時,數(shù)據(jù)輸入寄存器得值進入第二級(DAC寄存器)。由于DAC寄存器得輸出直接送D/A轉(zhuǎn)換器,使LE2有效得命令又稱轉(zhuǎn)換命令。DAC0832得輸出為兩個電流信號IOUT1和IOUT2(IOUT1+IOUT2=常數(shù)),內(nèi)部提供了一個反饋電阻R,只需加一個運算放大器,利用內(nèi)部得反饋電阻R即可獲得電壓輸出。2019181716151413121112345678910VCCILEWR2XFERDI4DI5DI6DI7IOUT1IOUT2CSWR1AGNDDI3DI2DI1DI0VREFRFBDGNDDAC0832得外部引腳13、1、3DAC0832得接口設(shè)計---單緩沖方式1、使數(shù)據(jù)輸入寄存器工作在鎖存狀態(tài),DAC寄存器工作在不鎖存狀態(tài)(LE2始終有效,DAC寄存器直通)。只使用一級緩沖。適用于大多數(shù)情況、設(shè)D/A轉(zhuǎn)換端口號為PORTA,設(shè)需轉(zhuǎn)換得數(shù)據(jù)放在1000H單元,則D/A轉(zhuǎn)換程序為:11、1、3DAC0832得接口設(shè)計---單緩沖方式MOVBX,1000HMOVAL,[BX]MOVDX,PORTAOUTDX,AL2、使用兩級緩沖11、1、3DAC0832得接口設(shè)計---雙緩沖方式適用于多個DAC0832同時使用得情況設(shè)CS’由A15~A1經(jīng)譯碼產(chǎn)生,當(dāng)A15~A1=A0832時,CS’有效。在CPU執(zhí)行OUT指令時,若A0=0,DAC0832內(nèi)部LE1有效,數(shù)據(jù)總線上得值(AL)送入數(shù)據(jù)輸入寄存器;若A0=1,DAC0832內(nèi)部LE2有效,數(shù)據(jù)輸入寄存器得值送DAC寄存器。11、1、3DAC0832得接口設(shè)計---雙緩沖方式A0832EQU200HMOVDX,A0832+0;A0=0OUTDX,AL;AL得值為待轉(zhuǎn)換得數(shù)字MOVDX,A0832+1;A0=1OUTDX,AL;AL得值無關(guān)3、直通方式11、1、3DAC0832得接口設(shè)計---直通方式一般接鎖存輸出、注:在DAC實際連接中,要注意區(qū)分“模擬地”和“數(shù)字地”得連接,為了避免信號串?dāng)_,數(shù)字量部分只能連接到數(shù)字地,而模所量部分只能連接到模擬地。DAC0832得應(yīng)用舉例:利用DAC可實現(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())∥等待鍵盤{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芯片,因此在正弦波輸出中應(yīng)將0V平移到128數(shù)值上,其C語言控制程序如下:例11、1圖11、3中所示得為DAC0832與CPU之間得接口電路,CPU數(shù)據(jù)總線(D0~D7)經(jīng)總線驅(qū)動器接至DAC0832得數(shù)據(jù)端,CPU得地址總線經(jīng)地址譯碼電路產(chǎn)生DAC0832芯片得片選信號;圖中DAC0832工作在單緩沖方式,當(dāng)進行D/A轉(zhuǎn)換時,CPU只需將被轉(zhuǎn)換得8位數(shù)據(jù)通過D0~D7經(jīng)過總線驅(qū)動器傳給DAC0832得數(shù)據(jù)輸入端,并立即啟動D/A轉(zhuǎn)換,在運放輸出端Vout輸出對應(yīng)得模擬電壓。MOVBX,ADDR;要轉(zhuǎn)換得數(shù)據(jù)單元地址送BXMOVAL,[BX];數(shù)據(jù)送ALMOVDX,PORTA;將端口地址賦給DXOUTDX,AL;將累加器AL得內(nèi)容送給 ;DAC0832,進行D/A轉(zhuǎn)換13、2模數(shù)轉(zhuǎn)換A/D轉(zhuǎn)換得原理很多,常見得有雙積分式、逐次逼近式、計數(shù)式等。輸出碼制有二進制、BCD碼等。輸出數(shù)據(jù)寬度有8位、12位、16位、20位、24位等(二進制)。

A/D轉(zhuǎn)換得基本原理和一般步驟基本原理ADCD0D1Dn-2Dn-1…uI模擬輸入信號n位二進制數(shù)輸出

D=Dn-1

Dn-2

D1

D0

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

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

D=Dn-1

Dn-2

D1

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

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

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

整數(shù)倍表示。

編碼:把量化得結(jié)果用二進制代碼表示。A/D轉(zhuǎn)換得一般步驟uI(t)C量化編碼電路Dn-1D1D0…uI

(t)S采樣保持電路輸入模擬量輸出數(shù)字量采樣信號就是否會丟失原信號得信息呢?對信號進行量化會引起誤差嗎?量化誤差大小與ADC得位數(shù)、基準(zhǔn)電壓VREF和量化方法有關(guān)。采樣定理:當(dāng)采樣頻率不小于輸入模擬信號頻譜中最高頻率得兩倍時,采樣信號可以不失真地恢復(fù)為原模擬信號。量化誤差:因模擬電壓不一定能被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、相對精度(又稱轉(zhuǎn)換誤差)

指ADC輸出數(shù)字量得最低位變化一個數(shù)碼時,對應(yīng)輸入模擬量得變化量。1、分辨率例如最大輸入電壓為5V得8位ADC得分辨率為:

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

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

START就是ADC0809得A/D轉(zhuǎn)換啟動信號,高電平時內(nèi)部逐次逼近寄存器清0,由1→0變化時開始A/D轉(zhuǎn)換,信號寬度>100ns、CLK為時鐘信號,最大為600KHz、ADC0809設(shè)圖10-12所示電路得CS=180~187H,采用中斷方式得采集程序如下:IN0IN1IN2IN3IN4

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論