信息與通信DAC和ADC課件_第1頁
信息與通信DAC和ADC課件_第2頁
信息與通信DAC和ADC課件_第3頁
信息與通信DAC和ADC課件_第4頁
信息與通信DAC和ADC課件_第5頁
已閱讀5頁,還剩261頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第10章第10章1第10章模擬接口教學(xué)重點DAC0832及其與主機的連接ADC574、0809及其與主機的連接第10章模擬接口教學(xué)重點2模擬量與數(shù)字量模擬量——連續(xù)變化的物理量數(shù)字量——時間和數(shù)值上都離散的量模擬/數(shù)字轉(zhuǎn)換器ADCDAC數(shù)字/模擬轉(zhuǎn)換器模擬量與數(shù)字量模擬量——連續(xù)變化的物理量數(shù)字量——時間和數(shù)值3概念:模擬輸入輸出系統(tǒng)數(shù)字信號模擬信號現(xiàn)場信號1現(xiàn)場信號2現(xiàn)場信號n微型計算機放大器放大器放大器多路開關(guān)低通濾波傳感器低通濾波傳感器低通濾波傳感器A/D轉(zhuǎn)換器采樣保持器數(shù)字信號受控對象控制信號模擬信號D/A轉(zhuǎn)換器放大驅(qū)動電路…傳感器將各種現(xiàn)場的物理量測量出來并轉(zhuǎn)換成電信號(模擬電壓或電流)

放大器把傳感器輸出的信號放大到ADC所需的量程范圍低通濾波器用于降低噪聲、濾去高頻干擾,以增加信噪比多路開關(guān)把多個現(xiàn)場信號分時地接通到A/D轉(zhuǎn)換器采樣保持器周期性地采樣連續(xù)信號,并在A/D轉(zhuǎn)換期間保持不變概念:模擬輸入輸出系統(tǒng)數(shù)字信號模擬信號現(xiàn)場信號1現(xiàn)場信號410.1D/A轉(zhuǎn)換器的接口方法DAC數(shù)字/模擬轉(zhuǎn)換器模擬量數(shù)字量10.1D/A轉(zhuǎn)換器的接口方法DAC模擬量數(shù)字量5數(shù)字量→按權(quán)相加→模擬量1101B=1×23+1×22+0×21+1×20=13一、D/A轉(zhuǎn)換的基本原理

D/A(DigittoAnalog)轉(zhuǎn)換器的作用是將二進制的數(shù)字量轉(zhuǎn)換為相應(yīng)的模擬量。數(shù)字量→按權(quán)相加→模擬量1101B=1×23+16-+V0RfViRV0=-RfRVi若輸入端有n個支路,則輸入和輸出的關(guān)系可表示為:V0=-RfnI=1RVi1-+V0RfViRV0=-RfRVi若輸入端有n個支路,7-+V0RfVref32RV0=-nI=12iSi1運算放大器的輸入可以是權(quán)電阻網(wǎng)絡(luò),如圖所示。2R4R8R16R64R128R256RS1S3S2S4S5S6S7S8Vref其中Vref為基準電壓所有開關(guān)Si斷開時,V0=0。所有開關(guān)Si閉合時,V0=-。256255Vref-+V0RfVref32RV0=-nI=12iSi1運8D/A轉(zhuǎn)換器的原理圖(1)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF電阻網(wǎng)絡(luò)基準電壓電子開關(guān)T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器的原理圖(1)Iout2Iout1RfbRfbV9D/A轉(zhuǎn)換器的原理圖(2)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF阻抗=2R運算放大器虛地D/A轉(zhuǎn)換器的原理圖(2)Iout2Iout1RfbRfbV10D/A轉(zhuǎn)換器的原理圖(3)Va=VREFVb=VREF/2Vc=VREF/4Vd=VREF/8I0=Vd/2R=VREF/(8×2R)I1=Vd/2R=VREF/(4×2R)I2=Vd/2R=VREF/(2×2R)I3=Vd/2R=VREF/(1×2R)D/A轉(zhuǎn)換器的原理圖(3)Va=VREFI0=Vd/2R=V11D/A轉(zhuǎn)換器的原理圖(4)Iout1=I0+I1+I2+I3 =VREF/2R×(1/8+1/4+1/2+1)Rfb=RVout=-Iout1×Rfb =-VREF×[(20+21+22+23)/24]Vout=-(D/2n)×VREFD/A轉(zhuǎn)換器的原理圖(4)Iout1=I0+I1+I2+I312實際的D/A轉(zhuǎn)換電路的原理框圖運算放大器電流開關(guān)電阻網(wǎng)絡(luò)數(shù)據(jù)鎖存器數(shù)據(jù)緩沖器N位數(shù)字量輸入電壓輸出通常D/A轉(zhuǎn)換器的輸出電壓范圍有0~5V、0~10V、0~

25V、0~5V、0~10V幾種。對于非標準的電壓范圍,可以在輸出端再加運算放大器來調(diào)整。實際的D/A轉(zhuǎn)換電路的原理框圖運算電電數(shù)據(jù)鎖存器數(shù)據(jù)緩沖器N13D/VD/I數(shù)字量輸入數(shù)字量輸入VOUTIOUTD/A轉(zhuǎn)換器輸出的兩種形式電壓輸出型電流輸出型相當于一個電壓源相當于一個電流源數(shù)字量輸入數(shù)字量輸入VOUTIOUTD/A轉(zhuǎn)換器14二、D/A轉(zhuǎn)換器及其連接特性

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

⒈分辨率(resolution):DAC對模擬量的分辨能力,它是最低有效位(LSB)對應(yīng)的模擬值,通常以二進制位數(shù)來表示。⒉精度(accuracy):DAC轉(zhuǎn)換的精確程度①絕對精度(absolute):實際輸出與理想輸出之差。通常由增益誤差,零點誤差、線性誤差、噪聲等綜合引起。(±LSB)二、D/A轉(zhuǎn)換器及其連接特性D/A轉(zhuǎn)換器的主要參數(shù)⒈分辨15②相對精度(relative):滿量程值校準后,任一數(shù)字輸入的模擬輸出與它理論值之差?!?.0%(±1.0%VFS)。備注:精度為n位指:最大可能誤差為VE=VFS精度:構(gòu)成DAC各部件的精度及穩(wěn)定性分辨率:取決于DAC位數(shù)⒊轉(zhuǎn)換時間(建立時間)電流型較快:n百us~幾us電壓型較慢:(運放)⒋線性度:線性變化程度。還有溫度系數(shù)、電源敏感系數(shù)等。②相對精度(relative):滿量程值校準后,任一數(shù)字輸16

D/A轉(zhuǎn)換器的連接特性

⒈輸入緩沖能力:三態(tài)輸入緩沖/鎖存器⒉輸入數(shù)據(jù)寬度:單次、分次輸入⒊輸入碼制:⒋模擬量類型:電流(運放→電壓)、電壓⒌模擬量極性:單極性、雙極性D/A轉(zhuǎn)換器的連接特性17二、DAC0832芯片DAC0832是典型的8位電流輸出型通用DAC芯片LE2LE1

RfbAGNDDAC0832VccILEVREF輸入寄存器

DGNDDI0~DI7D/A轉(zhuǎn)換器DAC寄存器Iout2Iout1二、DAC0832芯片DAC0832是典型的8位電流輸出18DAC0832的內(nèi)部結(jié)構(gòu)LE2LE1RfbAGNDDAC0832VccILEVREF輸入寄存器DGNDDI0~DI7D/A轉(zhuǎn)換器DAC寄存器Iout2Iout1CSWR1WR2XFERDAC0832的內(nèi)部結(jié)構(gòu)LE2LE1RfbAGNDDAC08191.DAC0832的數(shù)字接口8位數(shù)字輸入端DI0~DI7(DI0為最低位)輸入寄存器(第1級鎖存)的控制端ILE、CS*、WR1*DAC寄存器(第2級鎖存)的控制端XFER*、WR2*1.DAC0832的數(shù)字接口8位數(shù)字輸入端20Iout1、Iout2——電流輸出端Rfb——反饋電阻引出端(電阻在芯片內(nèi))VREF——參考電壓輸入端+10V~-10VAGND——模擬信號地VCC——電源電壓輸入端+5V~+15VDGND——數(shù)字信號地Iout1、Iout2——電流輸出端21三、D/A轉(zhuǎn)換器與微處理器的接口方法

CPU對DAC的數(shù)據(jù)傳送是一種無條件傳送。主要任務(wù):解決CPU與DAC之間的數(shù)據(jù)緩沖問題。1.接口的任務(wù)2.接口電路結(jié)構(gòu)形式

采用中小規(guī)模邏輯芯片構(gòu)成接口與CPU連接。利用通用并行I/O接口芯片與CPU連接。采用GAL器件。三、D/A轉(zhuǎn)換器與微處理器的接口方法CPU對DAC的數(shù)據(jù)傳22REF(-)REF(-))REF(OUTV2n]VV[V+-=+NVREF(+):限定模擬電壓的最大值VREF(-):限定模擬電壓的最小值。(單極性、雙極性)VREF(+)VREF(-):量程模擬電壓V和數(shù)字量N之間的關(guān)系為:OUTREF(-)REF(-))REF(OUTV2n]VV[V+-23單極性:80H對應(yīng)的輸出電壓:VOUT=(5-0)*128/256+0=2.5V能分辨的最小電壓為5v/256=20mv雙極性:則80H對應(yīng)的輸出電壓:VOUT=(5+5)*128/256-5=0能分辨的最小電壓為10v/256=40mv輸出模擬量的極性:單極性:80H對應(yīng)的輸出電壓:VOUT=(5-0)*124直通鎖存器的工作方式兩級緩沖寄存器都是直通鎖存器LE=1,直通(輸出等于輸入)LE=0,鎖存(輸出保持不變)LE2LE1DAC0832輸入寄存器DI0~DI7D/A轉(zhuǎn)換器DAC寄存器Iout1直通鎖存器的工作方式兩級緩沖寄存器都是直通鎖存器LE2LE125DAC0832的工作方式:直通方式LE1=LE2=1輸入的數(shù)字數(shù)據(jù)直接進入D/A轉(zhuǎn)換器LE2LE1DAC0832輸入寄存器DI0~DI7D/A轉(zhuǎn)換器DAC寄存器Iout1DAC0832的工作方式:直通方式LE1=LE2=1LE2L26DAC0832的工作方式:單緩沖方式LE1=1,或者LE2=1兩個寄存器之一始終處于直通狀態(tài)另一個寄存器處于受控狀態(tài)(緩沖狀態(tài))LE2LE1DAC0832輸入寄存器DI0~DI7D/A轉(zhuǎn)換器DAC寄存器Iout1DAC0832的工作方式:單緩沖方式LE1=1,或者LE2=27DAC0832的工作方式:雙緩沖方式兩個寄存器都處于受控(緩沖)狀態(tài)能夠?qū)σ粋€數(shù)據(jù)進行D/A轉(zhuǎn)換的同時;輸入另一個數(shù)據(jù)LE2LE1DAC0832輸入寄存器DI0~DI7D/A轉(zhuǎn)換器DAC寄存器Iout1DAC0832的工作方式:雙緩沖方式兩個寄存器都處于受控(緩28單極性電壓輸出Vout=-Iout1×Rfb=-(D/28)×VREFRfbIout2Iout1Vout+_AGNDADIVREF單極性電壓輸出Vout=-Iout1×RfbRfbIout229單極性電壓輸出:例子設(shè)VREF=-5VD=FFH=255時,最大輸出電壓:Vmax=(255/256)×5V=4.98VD=00H時,最小輸出電壓:Vmin=(0/256)×5V=0VD=01H時,一個最低有效位(LSB)電壓:VLSB=(1/256)×5V=0.02VVout=-(D/2n)×VREF單極性電壓輸出:例子設(shè)VREF=-5VVout=-(D/230雙極性電壓輸出:電路R1(R)R3(2R)R2(2R)RfbIout2Iout1AGNDDIVREFVout1+_A1Vout2+_A2I1I2I1+I2=0雙極性電壓輸出:電路R1(R)R3(2R)R2(2R)Rfb31雙極性電壓輸出:公式取R2=R3=2R1得Vout2=-(2Vout1+VREF)因Vout1=-(D/28)×VREF故Vout2=[(D-27)/27)]×VREF雙極性電壓輸出:公式取R2=R3=2R132雙極性電壓輸出:例子設(shè)VREF=5VD=FFH=255時,最大輸出電壓:Vmax=[(255-128)/128]×5V=4.96VD=00H時,最小輸出電壓:Vmin=[(0-128)/128]×5V=-5VD=81H=129時,一個最低有效位電壓:VLSB=[(129-128/128]×5V=0.04VVout=[(D-27)/27)]×VREF雙極性電壓輸出:例子設(shè)VREF=5VVout=[(D-27333.輸出精度的調(diào)整RfbIout2Iout1Vout+_AGND調(diào)零電位器調(diào)滿刻度電位器電源5VADI10K1M1KVREF3.輸出精度的調(diào)整RfbIout2Iout1Vout+_A344.地線的連接DGNDAGND模擬電路數(shù)字電路ADCDAC模擬電路數(shù)字電路模擬地數(shù)字地公共接地點4.地線的連接DGNDAGND模擬電路數(shù)字電路ADCDAC35DAC芯片與主機的連接DAC芯片相當于一個“輸出設(shè)備”,至少需要一級鎖存器作為接口電路考慮到有些DAC芯片的數(shù)據(jù)位數(shù)大于主機數(shù)據(jù)總線寬度,所以分成兩種情況:1.主機位數(shù)等于或大于DAC芯片位數(shù)2.主機位數(shù)小于DAC芯片位數(shù)DAC芯片與主機的連接DAC芯片相當于一個“輸出設(shè)備”,至361.主機位數(shù)大于或等于DAC芯片的連接moval,bufmovdx,portdoutdx,al譯碼ABD0~D7CLKDACVout+_ALS273IOW1.主機位數(shù)大于或等于DAC芯片的連接moval,buf37DAC0832單緩沖方式WR1CSIOW5V+5VRfbIout2Iout1WR2XFERDGNDAGNDD0~D7DI0~D17VccILEVREFVout+_A譯碼ABDAC0832單緩沖方式WR1CSIOW5V+5VR382.主機位數(shù)小于DAC芯片的連接數(shù)字數(shù)據(jù)需要多次輸出接口電路也需要多個(級)鎖存器保存多次輸出的數(shù)據(jù)并需要同時將完整的數(shù)字量提供給DAC轉(zhuǎn)換器CPUDAC8位12位2.主機位數(shù)小于DAC芯片的連接數(shù)字數(shù)據(jù)需要多次輸出CPU39兩級鎖存電路模擬輸出12位DAC第2級12位鎖存控制第1級低8位鎖存控制第1級高4位鎖存控制D0~D74位鎖存器4位鎖存器8位鎖存器8位鎖存器由同一個信號控制關(guān)鍵的一級鎖存無需輸出數(shù)據(jù)兩級鎖存電路模擬輸出第2級12位鎖存控制第1級低8位鎖存控制40簡化的兩級鎖存電路模擬輸出12位DAC第2級12位鎖存控制第1級低8位鎖存控制D0~D74位鎖存器8位鎖存器8位鎖存器由同一個信號控制關(guān)鍵的一級鎖存需要輸出高4位數(shù)據(jù)movdx,port1moval,bloutdx,almovdx,port2moval,bhoutdx,al簡化的兩級鎖存電路模擬輸出第2級12位鎖存控制第1級低8位鎖4110.2D/A轉(zhuǎn)換器接口電路設(shè)計主要考慮:

①輸入緩沖能力②分辨率

10.2D/A轉(zhuǎn)換器接口電路設(shè)計主要考慮:42IORCPU≥1+5VAENIOWA0~9譯碼電路DB1~8I0GNDD1~8Q1~8CP≥1D0D0~7Y0Y1LM71074LS273DAC0808一、8位片內(nèi)無緩存的D/A芯片的使用

應(yīng)用:利用DAC0808制作數(shù)字電壓表UORVREF(+)+5VVREF(+)U1Y0:318HY1:319HUOALAL74LS12574LS3374LS32C943VREF(-)+5VIOR≥1+5VAENIOWA0~9譯碼DB1~8I0D1~43二、片內(nèi)有三態(tài)輸入緩沖器的8位D/A接口設(shè)計1.要求通過D/A轉(zhuǎn)換器DAC0832產(chǎn)生任意波形,如矩形波、梯形波、三角波、正弦波以及鋸齒波等。2.分析(1)連接特性(P262圖10.2)(2)DAC0832的工作特性(三種工作方式)直通式單緩沖式雙緩沖式3.設(shè)計(P261程序)二、片內(nèi)有三態(tài)輸入緩沖器的8位D/A接口設(shè)計1.要求2.分44DAC0832的內(nèi)部結(jié)構(gòu)(P262圖10.2)LE2LE1RfbAGNDDAC0832VccILEVREF輸入寄存器DGNDDI0~DI7D/A轉(zhuǎn)換器DAC寄存器Iout2Iout1CSWR1WR2XFERDAC0832的內(nèi)部結(jié)構(gòu)(P262圖10.2)LE2LE1R45DATABUSCS1CS2WR1WR2XFER數(shù)據(jù)1輸入到1#輸入寄存器鎖存2#輸入寄存器鎖存數(shù)據(jù)2輸入到DAC輸入寄存器鎖存開始轉(zhuǎn)換圖10.3DAC0832時序圖DATABUSCS1CS2WR1WR2XFER數(shù)據(jù)1輸入到146應(yīng)用:控制DAC0832輸出三角波DI0~7ILECSWR1WR2XFERIO1IO2CPU8255APA0~7DAC0832PB4PB010000VOUTPB1PB2PB3P263線路圖(1)硬件設(shè)計RFB應(yīng)用:控制DAC0832輸出三角波DI0~7ILECSWR147程序MOVDX,303HMOVAL,1000

0000BOUTDX,ALMOVDX,301HMOVAL,00010000BOUTDX,ALMOVDX,300HMOVAL,0HL1:OUTDX,ALINCALJNZL1;AL!=00HMOVAL,0FFHL2:OUTDX,ALINCALJNZL2JMPL1(2)軟件編程程序MOVD48

2.鋸齒波發(fā)生器MOVDX,0FFF0HMOVAL,00HL1:OUTDX,ALINCALJMPL13.方波發(fā)生器MOVDX,0FFF0HL1:MOVAL,00HOUTDX,ALCALLDELAYMOVAL,0FFHOUTDX,ALCALLDELAYJMPL1設(shè)DAC的輸入寄存器的地址為FFF0H2.鋸齒波發(fā)生器3.方波發(fā)生器設(shè)DAC的輸入寄存器的地址49AENIOWA0~9D0~7D0~7Q0~7BUF1D0~7Q0~7BUF2D0~3Q0~3BUF3D0~7D8~11IO1IO2譯碼電路Y0Y1三、12位片內(nèi)無緩存的D/A芯片的使用CCCD/AY0Y1200H201HFFH06HAENIOWA0~9D0~7D0~7Q0~7BUF1D50DAC芯片的應(yīng)用 movdx,portd moval,0repeat: outdx,al incal jmprepeatDAC芯片的應(yīng)用 movdx,portd51輸出正向鋸齒波2次數(shù)據(jù)輸出的時間間隔02LSB1LSB255LSB254LSB鋸齒波周期輸出正向鋸齒波2次數(shù)據(jù)輸出的時間間隔02LSB1LSB2555210.3A/D轉(zhuǎn)換器接口基本原理與方法模擬量數(shù)字量模擬/數(shù)字轉(zhuǎn)換器ADC模擬量轉(zhuǎn)換成數(shù)字量,通常經(jīng)歷采樣、量化和編碼3個步驟。10.3A/D轉(zhuǎn)換器接口基本原理與方法模擬量數(shù)字量模擬/53按采樣定理對模擬信號進行等時間間隔采樣,將得到的一系列時域上的樣值去代替u=f(t),即用u0、u1、…un代替u=f(t)。這些樣值在時間上是離散的值,但在幅度上仍然是連續(xù)模擬量。1.采樣1.采樣54在幅值上再用離散值來表示。方法是用一個量化因子Q去度量;u0、u1、…,便得到整量化的數(shù)字量。u0=2.4Q2Q010u1=4.0Q4Q100u2=5.2Q5Q101u3=5.8Q5Q1012.量化2.量化553.編碼

將整量化后的數(shù)字量進行編碼,以便微機讀入和識別;編碼僅是對數(shù)字量的一種處理方法。例如:Q=0.5V/格,設(shè)用三位(二進編碼)u0=2.4Q2Q…………(010)3.編碼(010)56一、A/D轉(zhuǎn)換的基本原理存在多種A/D轉(zhuǎn)換技術(shù),各有特點,分別應(yīng)用于不同的場合4種常用的轉(zhuǎn)換技術(shù)計數(shù)器式逐次逼近式雙積分式并行式一、A/D轉(zhuǎn)換的基本原理存在多種A/D轉(zhuǎn)換技術(shù),各有特點57[信息與通信]DAC和ADC課件58[信息與通信]DAC和ADC課件59[信息與通信]DAC和ADC課件60[信息與通信]DAC和ADC課件61分類:①按模擬量:分為時間/數(shù)字、電壓/數(shù)字、機械變量/數(shù)字三種;②按原理:分為直接和間接兩種;(逐次逼近型、雙積分式等)③按輸入方式:分為并行、串行、串并行三種;④按速度:分為低速>300us、中速20~300us、高速<20us、次超高速0.33~3.3us、超高速≤330ns;⑤按分辨率:分為4位、6位、8位、10位、14位、16位等;⑥按復(fù)雜程度:分為單一功能和多功能;分類:62A/D轉(zhuǎn)換器的連接特性模擬信號輸入線(多通道時須進行通道選擇);數(shù)字量輸出線:根數(shù)表示ADC分辨率;轉(zhuǎn)換啟動和結(jié)束信號。

A/D轉(zhuǎn)換器的連接特性63

A/D轉(zhuǎn)換器與CPU的接口⒈連接要點①ADC位數(shù)與CPU的DB位數(shù)若ADC位數(shù)高于CPU位數(shù),則CPU分次讀a)左對齊:最高位在最左邊,缺位在右以0補齊b)右對齊:最低位在最右邊,缺位在左以0補齊②ADC芯片是否帶三態(tài)數(shù)據(jù)輸出鎖存器,它可分為直接掛和外加三態(tài)輸出鎖存。③ADC的啟動信號電平啟動:(AD570)整個轉(zhuǎn)換過程中維持不變脈沖啟動:(AD574)需一定脈沖寬即可A/D轉(zhuǎn)換器與CPU的接口⒈連接要點64A/D轉(zhuǎn)換器的外部特性(1)模擬信號輸入線(2)數(shù)字量輸出線(3)轉(zhuǎn)換啟動線(輸入)(4)轉(zhuǎn)換結(jié)束線(輸出)P267表10.1A/D轉(zhuǎn)換器的外部特性(1)模擬信號輸入線(2)數(shù)字量輸出線65二、A/D轉(zhuǎn)換器與微處理器的接口方法A/D轉(zhuǎn)換器與CPU的連接

需考慮的問題:(1)A/D轉(zhuǎn)換器的分辨率(2)A/D轉(zhuǎn)換器的輸出鎖存器(3)A/D轉(zhuǎn)換器的啟動信號二、A/D轉(zhuǎn)換器與微處理器的接口方法A/D轉(zhuǎn)換器與CPU的連662.A/D轉(zhuǎn)換器接口的主要操作進行通道選擇—以代碼形式從數(shù)據(jù)線(或地址線)上發(fā)出發(fā)轉(zhuǎn)換啟動信號取回“轉(zhuǎn)換結(jié)束”狀態(tài)信號讀取轉(zhuǎn)換數(shù)據(jù)發(fā)采樣/保持(S/H)控制信號2.A/D轉(zhuǎn)換器接口的主要操作進行通道選擇—以代碼形式673.A/D轉(zhuǎn)換器數(shù)據(jù)的傳送

查詢方式中斷方式DMA方式設(shè)置RAM3.A/D轉(zhuǎn)換器數(shù)據(jù)的傳送查詢方式684.A/D轉(zhuǎn)換器接口電路的結(jié)構(gòu)形式(1)采用中小規(guī)模邏輯電路(2)采用通用的可編程并行接口芯片(3)采用GAL器件4.A/D轉(zhuǎn)換器接口電路的結(jié)構(gòu)形式(1)采用中小規(guī)模邏輯電6910.4查詢方式的A/D轉(zhuǎn)換器接口電路設(shè)計主要考慮因素:輸出鎖存分辨率啟動信號數(shù)據(jù)傳送方式接口電路形式10.4查詢方式的A/D轉(zhuǎn)換器接口電路設(shè)計主要考慮因素:70[信息與通信]DAC和ADC課件71[信息與通信]DAC和ADC課件72[信息與通信]DAC和ADC課件73[信息與通信]DAC和ADC課件74[信息與通信]DAC和ADC課件7512/8csA0R/CREFINREFOUT10VINBIPOFF20VINAGNDSTSMSDLSD:+15V-15VDC-15v+15v100K100K100100010v020vAD57412/8csA0R/CREFINREFOUT10VINBIPOFF20VINAGNDSTSMSDLSD:+15V-15VDC1001005vAD574R2R2R110v(a)單極性輸入(b)雙極性輸入R2模擬輸入12/8csA0R/CREFINREFOUT10VINBIP76一、12位片內(nèi)帶有三態(tài)輸出鎖存器的A/D接口設(shè)計要求進行12位轉(zhuǎn)換,轉(zhuǎn)換結(jié)果分兩次輸出,以左對齊方式存放在首地址為400H的內(nèi)存區(qū)。共采集64個數(shù)據(jù)。ADC與CPU之間采用查詢方式交換數(shù)據(jù)。采用AD574作A/D轉(zhuǎn)換器。2.分析(見P270-271)3.設(shè)計一、12位片內(nèi)帶有三態(tài)輸出鎖存器的A/D接口設(shè)計要求77AENIOWIORA0~9D0~D7DB11~4DB3~0CSSTSA0R/CCE12/8譯碼電路&&D7A0Y0Y1Y2AD574310H311H312HD0~D7

PC擴展槽VccVEE10VIN20VINREFINREFOUTBIPOFFDGAG(1)硬件連接+15V-15V74LS125AENIOWIORA0~9D0~D7DB11~4DB3~0C78(2)軟件編程CECSR/CA0STSDB0-11(高阻)有效300ns200ns200ns300ns300ns0ns150ns300ns0ns200ns轉(zhuǎn)換25s啟動轉(zhuǎn)換讀轉(zhuǎn)換數(shù)據(jù)圖10.11AD574時序圖(2)軟件編程CECSR/CA0STSDB0-11(高阻)有79

MOVCX,40HMOVSI,400HSTART:MOVDX,312HMOVAL,0H

OUTDX,ALMOVDX,310HL:INAL,DXANDAL,10000000BJNZL;D7=1

MOVDX,311HINAL,DXANDAL,0F0HMOV[SI],ALINCSIMOVDX,312HINAL,DXMOV[SI],ALINCSIDECCXJNZSTARTMOVAH,4CHINT21HMOVCX,40HMOV80應(yīng)用二:利用ADC1210(12位無緩存)設(shè)計接口電路,

查詢方式采集數(shù)據(jù)。右對齊格式存放。D0…CCD7D8…D11SC……A0A7Y0Y7LS244(一)A0A7Y0Y7LS244(二)……AEND0…D7RDA0~9≥1≥1≥1譯碼電路CPUINAGGY0Y1Y2ADC1210332H331H330H應(yīng)用二:利用ADC1210(12位無緩存)設(shè)計接口電路,

8174LS244Y0Y7A0A7G…………74LS244Y0Y7A0A7G…………82D7D6D5D4D0D1D2D3MOVDX,332H

INAL,DX

MOVDX,330HL:INAL,DXROLAL,1JCL;D7=1

MOVDX,330H

INAL,DXANDAL,0FHMOVBH,AL

MOVDX,331HINAL,DXMOVBL,ALHLTCFD7D6D5D4D0D1D2D3MOVDX,383三、用電平啟動轉(zhuǎn)換的A/D轉(zhuǎn)換器接口設(shè)計1.要求:8位數(shù)據(jù)采集系統(tǒng)中,采用AD570作A/D轉(zhuǎn)換。采集256個數(shù)據(jù),用查詢方式送到內(nèi)存。2.分析B/CDRD07空白空白空白數(shù)據(jù)數(shù)據(jù)開始轉(zhuǎn)換開始轉(zhuǎn)換第二次啟動轉(zhuǎn)換結(jié)束結(jié)束轉(zhuǎn)換時間轉(zhuǎn)換時間此處DR不變低即無數(shù)據(jù)輸出A2s25s25s1.5s<25s圖10.13AD570的時序圖轉(zhuǎn)換啟動信號轉(zhuǎn)換結(jié)束信號三、用電平啟動轉(zhuǎn)換的A/D轉(zhuǎn)換器接口設(shè)計1.要求:8位數(shù)據(jù)采84

3.設(shè)計(1)硬件連接分析:AD570轉(zhuǎn)換芯片的數(shù)據(jù)無三態(tài)鎖存器,不能直接與CPU數(shù)據(jù)總線相連,故選用8255A并行芯片作為AD570與CPU的接口電路。8255A的A口作數(shù)據(jù)口,用于讀取AD570的數(shù)據(jù),用C口的PC0提供轉(zhuǎn)換啟動信號PC7接收轉(zhuǎn)換結(jié)束信號。CPUPA07PC0PC7GNDA07B/CDRDGIN8255AAD570A3.設(shè)計(1)硬件連接分析:AD570轉(zhuǎn)換芯片的數(shù)據(jù)無85(2)軟件編程MOVDX,303HMOVAL,98HOUTDX,ALMOVAL,01HOUTDX,ALMOVAL,0040HMOVES,AXMOVBX,00HMOVCX,0FFHAGAIN:MOVAL,00HOUTDX,ALWATT1:MOVDX,302HINAL,DXSHLAL,1JCWATT1MOVDX,300HINAL,DXMOVES:[BX],ALMOVDX,303HMOVAL,01HOUTDX,ALINCBXLOOPAGAINMOVAH,4CHINT21H(2)軟件編程MOVDX,303HAGAIN:MOVA8610.5中斷方式進行數(shù)據(jù)采集一、單板機系統(tǒng)的中斷方式數(shù)據(jù)采集系統(tǒng)設(shè)計(P276)1.

要求:單通道模擬信號采集512個8位數(shù)據(jù)(ADC0804),采集到的數(shù)據(jù)以中斷方式(8259A)讀入內(nèi)存,并送到D/A轉(zhuǎn)換器(DAC0832)10.5中斷方式進行數(shù)據(jù)采集一、單板機系統(tǒng)的中斷方式數(shù)據(jù)87AENRDA0~9WRD0~7地址譯碼電路INTRCSRDWRDB0~7INADC0804INTAINTRTP86INTAINTRRDWRA0D0~7IR0IR7…CSA180HY0Y1DB0~7WR1WR2CSXFERILED/AIO2IO1DAC0832-+ARfb+5v圖10.15單板機系統(tǒng)中方式A/D接口A2.分析與設(shè)計8259A啟動轉(zhuǎn)換信號轉(zhuǎn)換結(jié)束信號AENRDA0~9WRD0~7地址譯碼INTRCSRDWR883.程序分析

中斷向量裝入關(guān)中斷8259初始化

轉(zhuǎn)換啟動

開中斷

等待中斷

關(guān)中斷采樣次數(shù)到?返回監(jiān)控NY

從ADC0804讀數(shù)

向DAC0832寫數(shù)

存數(shù)

發(fā)中斷結(jié)束命令中斷返回中斷服務(wù)程序主程序初始化程序圖10.16程序流程圖3.程序分析中斷向量裝入關(guān)中斷89:::;中斷向量裝入START:MOVAX,CODEMOVCS,AXMOVAX,DATAMOVDS,AXMOVAX,STACKMOVSS,AX:::;中斷向量裝入90MOVAX,00HMOVES,AXMOVBX,200HMOVES:[BX],OFFSETREAD_INTPUSHCSPOPAXMOVES:[BX+2],AXMOVDI,OFFSETBUFMOVCX,512MOVAX,00H91CLIMOVAL,00010011B;ICW1MOVDX,0FFDCH;引腳A0=0

OUTDX,ALMOVAL,10000000B;ICW2MOVDX,0FFDEH;引腳A0=1OUTDX,ALMOVDX,00000001B;ICW4OUTDX,AL;8259A初始化CLI;8259A初始化92;開放IR0中斷請求MOVDX,0FFDEHINAL,DXANDAL,0FEHOUTDX,AL;寫OCW1(允許IR0請求中斷);開放IR0中斷請求MOVDX,0FFDEH;寫OCW1(93AGAIN:MOVAX,00HMOVDX,0FFD4H

OUTDX,ALSTIHLTCLIDECCXJNZAGAIN

;啟動轉(zhuǎn)換;啟動轉(zhuǎn)換(CS、WR同時有效);開中斷;等待中斷請求;關(guān)中斷;次數(shù)未到,繼續(xù)啟動轉(zhuǎn)換;次數(shù)減1AGAIN:MOVAX,00H;啟動轉(zhuǎn)換;啟動轉(zhuǎn)換(CS94;屏蔽IR0中斷請求MOVDX,0FFDEHINAL,DXORAL,01HOUTDX,ALMOVAX,0FF00HPUSHAXMOVAX,0000HPUSHAXRET;8259A端口(A0=1);次數(shù)已到,屏蔽IR0;返回監(jiān)控;屏蔽IR0中斷請求MOVDX,0FFDEH;8259A端95;中斷服務(wù)程序READ_INTPROCPUSHAXPUSHDXPUSHDIMOVDX,0FFD4H

INAL,DXNOPNOPMOV[DI],ALMOVDX,0FFD6OUTDX,ALINCDI;從ADC0804讀入數(shù)據(jù);讀入的數(shù)據(jù)存入內(nèi)存;向DAC0832輸出數(shù)據(jù);內(nèi)存加1;中斷服務(wù)程序READ_INTPROC;從ADC08096MOVAL,01100000B;OCW2(指定結(jié)束IRQ0)MOVDX,0FFDCH;8259A端口(A0=0)

OUTDX,ALIRET ;中斷返回POPDIPOPDXPOPAXREAD_INTENDPCODEENDSENDSTARTREAD_INTENDP97ADC0809芯片具有A/D轉(zhuǎn)換的基本功能CMOS工藝制作8位逐次逼近式ADC轉(zhuǎn)換時間為100s包含擴展部件多路開關(guān)三態(tài)鎖存緩沖器ADC0809芯片具有A/D轉(zhuǎn)換的基本功能98ADC0809的內(nèi)部結(jié)構(gòu)圖ADC0809地址鎖存和譯碼OE通道選擇開關(guān)ADDAADDBADDC1N0IN1IN2IN3IN4IN5IN6IN78位三態(tài)鎖存緩沖器DACVcc比較器CLOCKSTARTGNDVREF(+)VREF(-)ALE逐次逼近寄存器SAR定時和控制D0D1D2D3D4D5D6D7EOCADC0809的內(nèi)部結(jié)構(gòu)圖ADC0809地址鎖存OEADDA991.ADC0809的模擬輸入提供一個8通道的多路開關(guān)和尋址邏輯IN0~IN7:8個模擬電壓輸入端ADDA、ADDB、ADDC:3個地址輸入線ALE:地址鎖存允許信號ALE的上升沿用于鎖存3個地址輸入的狀態(tài),然后由譯碼器從8個模擬輸入中選擇一個模擬輸入端進行A/D轉(zhuǎn)換1.ADC0809的模擬輸入提供一個8通道的多路開關(guān)和尋址1002.ADC0809的轉(zhuǎn)換時序D0~D7OEEOCSTART/ALEADDA/B/CDATA100s2s+8T(最大)200ns(最小)轉(zhuǎn)換啟動信號轉(zhuǎn)換結(jié)束信號2.ADC0809的轉(zhuǎn)換時序D0~D7OEEOCSTART1013.ADC0809的數(shù)字輸出ADC0809內(nèi)部鎖存轉(zhuǎn)換后的數(shù)字量具有三態(tài)數(shù)字量輸出端D0~D7配合輸出允許信號OE當輸出允許信號OE為高電平有效時,將三態(tài)鎖存緩沖器的數(shù)字量從D0~D7輸出3.ADC0809的數(shù)字輸出ADC0809內(nèi)部鎖存轉(zhuǎn)換后的1024.ADC0809的轉(zhuǎn)換公式輸入模擬電壓輸出數(shù)字量基準電壓正極基準電壓負極4.ADC0809的轉(zhuǎn)換公式輸入模擬電壓輸出數(shù)字量基準電壓103單極性轉(zhuǎn)換示例基準電壓VREF(+)=5V,VREF(-)=0V輸入模擬電壓Vin=1.5V N=(1.5-0)÷(5-0)×256 =76.8≈77=4DH單極性轉(zhuǎn)換示例基準電壓VREF(+)=5V,VREF(-)=104雙極性轉(zhuǎn)換示例基準電壓VREF(+)=+5V,VREF(-)=-5V輸入模擬電壓Vin=-1.5V N=(-1.5+5)÷(5+5)×256 =89.6≈90=5AH雙極性轉(zhuǎn)換示例基準電壓VREF(+)=+5V,VREF(-)105ADC芯片與主機的連接ADC芯片相當于“輸入設(shè)備”,需要接口電路提供數(shù)據(jù)緩沖器主機需要控制轉(zhuǎn)換的啟動主機還需要及時獲知轉(zhuǎn)換是否結(jié)束,并進行數(shù)據(jù)輸入等處理ADC芯片與主機的連接ADC芯片相當于“輸入設(shè)1061.數(shù)據(jù)輸出線的連接與主機的連接可分成兩種方式直接相連:用于輸出帶有三態(tài)鎖存器的ADC芯片通過三態(tài)鎖存器相連:適用于不帶三態(tài)鎖存器的ADC芯片,也適用帶有三態(tài)鎖存緩沖器的芯片ADC芯片的數(shù)字輸出位數(shù)大于系統(tǒng)數(shù)據(jù)總線位數(shù),需把數(shù)據(jù)分多次讀取1.數(shù)據(jù)輸出線的連接與主機的連接可分成兩種方式1072.A/D轉(zhuǎn)換的啟動(1)啟動信號一般有兩種形式脈沖信號啟動轉(zhuǎn)換電平信號啟動轉(zhuǎn)換轉(zhuǎn)換啟動轉(zhuǎn)換結(jié)束2.A/D轉(zhuǎn)換的啟動(1)啟動信號一般有兩種形式轉(zhuǎn)換啟動轉(zhuǎn)1082.A/D轉(zhuǎn)換的啟動(2)主機產(chǎn)生啟動信號有兩種方法編程啟動軟件上,執(zhí)行一個輸出指令硬件上,利用輸出指令產(chǎn)生ADC啟動脈沖,或產(chǎn)生一個啟動有效電平定時啟動啟動信號來自定時器輸出2.A/D轉(zhuǎn)換的啟動(2)主機產(chǎn)生啟動信號有兩種方法1093.轉(zhuǎn)換結(jié)束信號的處理不同的處理方式對應(yīng)程序設(shè)計方法不同①

查詢方式——把結(jié)束信號作為狀態(tài)信號②

中斷方式——把結(jié)束信號作為中斷請求信號③

延時方式——不使用轉(zhuǎn)換結(jié)束信號④

DMA方式——把結(jié)束信號作為DMA請求信號3.轉(zhuǎn)換結(jié)束信號的處理不同的處理方式對應(yīng)程序設(shè)計方法不同110二、PC機系統(tǒng)的中斷方式數(shù)據(jù)采集系統(tǒng)設(shè)計

1.要求

(P279)

PC機以中斷方式(8259A的IRQ2引入)進行8通道模擬信號采集(AD0809),共采集1K個數(shù)據(jù),采集的數(shù)據(jù)在屏幕上顯示,同時存放存放在內(nèi)存的BUF區(qū)。端口地址分配為:

30CH作轉(zhuǎn)換啟動的控制口和轉(zhuǎn)換結(jié)束的狀態(tài)口;30DH作中斷申請允許端口;

30EH作通道選擇和讀數(shù)據(jù)端口。二、PC機系統(tǒng)的中斷方式數(shù)據(jù)采集系統(tǒng)設(shè)計端口地址分配為:1112.分析接口電路結(jié)構(gòu)形式采用GAL20V8作接口電路。利用GAL器件對信號的轉(zhuǎn)換功能,來協(xié)調(diào)CPU與ADC0809兩者之間信號線的不兼容性。把CPU送來的控制線和地址線,作為GAL的輸入信號,在GAL器件內(nèi)部按一定的邏輯關(guān)系進行組合,生成一組新的功能信號輸出,作A/D的接口信號,送到ADC0809,并需考慮這些輸出信號的I/O地址。關(guān)鍵問題:找到GAL的輸出與輸入的關(guān)系。2.分析采用GAL20V8作接口電路。利用G112START=IOW?AEN?A9?A8?A7?A6?A5?A4?A3?A2?A1?A0D7=IOR?AEN?EOC?A9A8?A7?A6?A5?A4?A3?A2?A1?A0IRQ=IOW?AEN?D7?EOC?A9A8?A7?A6?A5?A4?A3?A2?A1?A0ALE=IOW?AEN?A9A8?A7?A6?A5?A4?A3?A2?A1?A0OE=IOR?AEN?A9A8?A7?A6?A5?A4?A3?A2?A1?A0GAL20V8輸出的控制信號START=IOW?AEN?A9?A8?A7?A6113中斷處理因利用系統(tǒng)的中斷資源,故不需作中斷系統(tǒng)的硬件設(shè)計和8259A的初始化。只需將ADC0809的轉(zhuǎn)換結(jié)束信號EOC連接到系統(tǒng)總線的IRQ2上,并在程序中作兩件事,一是中斷向量的修改,二是對中斷控制器8259A的中斷屏蔽寄存器IMR和正在寄存器ISR進行操作。中斷向量的修改步驟:用DOS系統(tǒng)功能調(diào)用的35H號功能,取出IRQ2的原中斷向量,并保存;用25H號功能,置入新中斷向量(用戶的中斷程序入口地址);在程序結(jié)束,退出前,用25H號功能恢復(fù)原中斷向量。中斷處理因利用系統(tǒng)的中斷資源,故不需作中斷114(2)對8259A兩個寄存器IMR和ISR的操作,實際上是分別在主程序中用命令OCW1,屏蔽/開放中斷請求,以及在服務(wù)程序中,返回主程序之前,用OCW2結(jié)束中斷。數(shù)據(jù)顯示兩點:一是要把采集到的十六進制的數(shù)據(jù)轉(zhuǎn)換成ASCII碼,才能送到屏幕顯示是顯示格式,數(shù)據(jù)在屏幕上是采用一列顯示,還是全屏顯示或分區(qū)顯示。(2)對8259A兩個寄存器IMR和ISR的操作,實際上是分1153.設(shè)計1)硬件連接D0-D7IRQ2AENIOWIORA9A8A7A6A5A4A3A2A1A0A6IORI0I1F1F0F7I13ADDA-ADDCD0-D7ALESTARTOECLKREF(-)REF(+)EOCGNDVCCIN0IN1IN2IN3IN4IN5IN6IN7+5V模擬量輸入D7GAL20V8ADC08095.000V500KHzPC插槽PC機中斷方式A/D接口電路3.設(shè)計1)硬件連接D0-D7IRQ2AEN1162)軟件編程分主程序和中斷服務(wù)程序兩部分。參考程序見教材P282-286選擇通道號中斷向量修改開放IRQ2中斷等待中斷判斷采集次數(shù)關(guān)中斷恢復(fù)中斷向量屏蔽IRQ2中斷請求讀數(shù)據(jù)十六進制轉(zhuǎn)換成ASCII碼數(shù)據(jù)送屏幕顯示發(fā)中斷結(jié)束命令主程序中斷服務(wù)程序2)軟件編程分主程序和中斷服務(wù)程序兩部分。參考程序見教材P117法1數(shù)據(jù)總線選擇ADC0809輸入通道讀EOC端口:300H,寫通道、啟動:308H,讀出轉(zhuǎn)換數(shù)據(jù)端口:310H&&STARTIOWD0D2D1D7.…≥1Y0Y1Y2E3CBAE2E1AENA7A6A5A4A374LS138IOR≥1VAEOCALESTARTOECBAADC0809CIN0IN1IN2IN3IN4IN5IN6IN7D0D7…D2D1100KHzCLK&A9A800法1數(shù)據(jù)總線選擇ADC0809輸入通道讀EOC端口:3118用數(shù)據(jù)總線選擇模擬輸入通道的采集程序:ADSART: MOVCX,8 MOVBX,0START: MOVDX,308H ;啟動地址 MOVAL,03H ;選擇IN3通道 OUTDX,AL ;啟動轉(zhuǎn)換 MOVDX,300H ;查詢地址WAIT: INAL,DX ;輸入EOC狀態(tài) TESTAL,01H ;“轉(zhuǎn)換結(jié)束”? JZWAIT ;未結(jié)束,查詢等待 MOVDX,310H;輸入地址 INAL,DX ;讀結(jié)果 LOOPSTART

用數(shù)據(jù)總線選擇模擬輸入通道的采集程序:ADSART: MO119法2地址總線選擇ADC0809輸入通道&D0D2D1D7.…≥1Y0Y1Y2E3CBAE2E1A10AENA9A8A7A6A5A4A374LS138讀EOC端口:300H,寫通道、啟動:30BH,讀出轉(zhuǎn)換數(shù)據(jù)端口:310HVAEOCALESTARTOECBAADC0809CIN0IN1IN2IN3IN4IN5IN6IN7D0D7…D2D1100KHzCLKIOR≥1&STARTIOWA2A1A0法2地址總線選擇ADC0809輸入通道&D0D2D7…120用數(shù)據(jù)總線選擇模擬輸入通道的采集程序:ADSTART: MOVCX,8 MOVBX,0START: MOVDX,30BH ;IN3啟動地址 OUTDX,AL ;啟動轉(zhuǎn)換,AL可為任意值 MOVDX,300H ;查詢地址WAIT: INAL,DX ;輸入EOC狀態(tài) TESTAL,01H ;“轉(zhuǎn)換結(jié)束”? JZWAIT ;未結(jié)束,查詢等待 MOVDX,310H ;輸入地址 INAL,DX ;讀結(jié)果 ADDBL,AL ;求和 ADCBH,0 CALLDELAY ;延時10ms LOOPSTART MOVCL,3 SHRBX,CL ;取平均值 MOVADBUF,BL用數(shù)據(jù)總線選擇模擬輸入通道的采集程序:ADSTART: MO121ADC0809與CPU數(shù)據(jù)傳輸工作過程1.CPU用OUT指令送出通道選擇數(shù)據(jù)(D2D1D0),并由IOW和IO地址譯碼產(chǎn)生有效信號鎖存通道號,同時啟動A/D,對選中的通道模擬信號開始轉(zhuǎn)換,之后CPU等待轉(zhuǎn)換結(jié)束或是執(zhí)行其它程序段。CPU可以采用三種不同方式了解轉(zhuǎn)換結(jié)束已知A/D轉(zhuǎn)換時間情況下可在程序中插入等待延時采用查詢方式在程序中,循環(huán)讀取EOC信號狀態(tài)采用中斷方式直接將EOC信號接8259中斷請求端2)A/D轉(zhuǎn)換結(jié)束后發(fā)EOC有效信號(在中斷方式下將啟動中斷請求)3)若采用查詢方式,則CPU就可以讀取A/D的輸出數(shù)據(jù)。若采用中斷方式,則CPU響應(yīng)中斷并在中斷處理程序中,用IN指令讀取數(shù)據(jù)線上的數(shù)據(jù)。IOR與IO地址譯碼有效信號將選通A/D輸出鎖存器。ADC0809與CPU數(shù)據(jù)傳輸工作過程1.CPU用OU122A/D接口注意:

1要發(fā)啟動信號。有電平啟動和脈沖啟動之分,如AD570是低電平啟動,AD574為脈沖啟動。對于電平啟動的ADC,其啟動電平要在整個轉(zhuǎn)換過程中維持不變,直到轉(zhuǎn)換結(jié)束為止,若在轉(zhuǎn)換結(jié)束之前撤銷啟動電平,就會中止轉(zhuǎn)換過程,得不到正確的轉(zhuǎn)換結(jié)果。對于脈沖方式啟動的ADC,只要在轉(zhuǎn)換開始后,即可撤除啟動信號。

2A/D轉(zhuǎn)換器的輸出鎖存器

3A/D轉(zhuǎn)換器的分辨率。

4數(shù)據(jù)格式:左對齊和右對齊。A/D接口注意:

1要發(fā)啟動信號。有電平啟動和脈沖啟動之分123[信息與通信]DAC和ADC課件124ADC芯片的應(yīng)用例1

編程啟動、轉(zhuǎn)換結(jié)束中斷處理例1

編程啟動、轉(zhuǎn)換結(jié)束查詢處理ADC芯片的應(yīng)用例1編程啟動、轉(zhuǎn)換結(jié)束中斷處理125中斷方式D0~D7220hIRQ2A0~A9譯碼VccD0~D7EOCADDAADDBADDCALE模擬輸入(0~5V)500KHzCLOCKVREF(+)+5VIN0OESTARTGNDVREF(-)IORIOW中斷方式D0~D7220hIRQ2A0~A9譯碼VccD0~126主程序 ;數(shù)據(jù)段 adtempdb0 ;給定一個臨時變量 ;代碼段 …… ;設(shè)置中斷向量等工作 sti ;開中斷

movdx,220h

outdx,al ;啟動A/D轉(zhuǎn)換 …… ;其他工作例12.2主程序 ;數(shù)據(jù)段例12.2127中斷服務(wù)程序 adint proc sti ;開中斷 pushax ;保護寄存器 pushdx pushds movax,@data ;設(shè)置數(shù)據(jù)段DS movds,ax

movdx,220h

inal,dx ;讀A/D轉(zhuǎn)換的數(shù)字量

movadtemp,al ;送入緩沖區(qū)例12.2中斷服務(wù)程序 adint proc例12.2128中斷服務(wù)程序 moval,20h ;發(fā)送EOI命令 out20h,al popds ;恢復(fù)寄存器 popdx popax iret ;中斷返回adint endp例12.2中斷服務(wù)程序 moval,20h ;發(fā)送EOI命令例12129查詢方式8通道模擬輸入(0~5V)VccD7A3~A9D0~D7D0~D7OEEOCA0A1A2ADDAADDBADDC

譯碼500KHzCLOCKSTARTGNDVREF(+)VREF(-)ALE+5VIN0IN1IN2IN3IN4IN5IN6IN7220h~227h238h~23fhIORIOW查詢方式8通道VccD7A3~A9D0~D7D0~D7OEE130啟動轉(zhuǎn)換 ;數(shù)據(jù)段counter equ8buf dbcounterdup(0) ;數(shù)據(jù)緩沖區(qū) ;代碼段 movbx,offsetbuf movcx,counter

movdx,220h ;從IN0開始轉(zhuǎn)換start1: outdx,al ;啟動A/D轉(zhuǎn)換 pushdx例12.3啟動轉(zhuǎn)換 ;數(shù)據(jù)段例12.3131查詢讀取

movdx,238h ;查詢是否轉(zhuǎn)換結(jié)束start2: inal,dx ;讀入狀態(tài)信息 testal,80h ;D7=1,轉(zhuǎn)換結(jié)束否? jzstart2 ;沒有結(jié)束,繼續(xù)查詢

popdx ;轉(zhuǎn)換結(jié)束

inal,dx ;讀取數(shù)據(jù)

mov[bx],al ;存入緩沖區(qū) incbx

incdx loopstart1 ;轉(zhuǎn)向下一個模擬通道例12.3查詢讀取 movdx,238h ;查詢是否轉(zhuǎn)換結(jié)束例12132第10章教學(xué)要求1.了解模擬輸入輸出系統(tǒng)及各部件功能2.理解D/A轉(zhuǎn)換和A/D轉(zhuǎn)換原理3.掌握DAC0832和ADC08094.理解DAC和ADC芯片與主機連接問題5.掌握ADC芯片的應(yīng)用習(xí)題10(第299-300頁)——

12.312.412.712.912.14第10章教學(xué)要求1.了解模擬輸入輸出系統(tǒng)及各部件功能133第10章第10章134第10章模擬接口教學(xué)重點DAC0832及其與主機的連接ADC574、0809及其與主機的連接第10章模擬接口教學(xué)重點135模擬量與數(shù)字量模擬量——連續(xù)變化的物理量數(shù)字量——時間和數(shù)值上都離散的量模擬/數(shù)字轉(zhuǎn)換器ADCDAC數(shù)字/模擬轉(zhuǎn)換器模擬量與數(shù)字量模擬量——連續(xù)變化的物理量數(shù)字量——時間和數(shù)值136概念:模擬輸入輸出系統(tǒng)數(shù)字信號模擬信號現(xiàn)場信號1現(xiàn)場信號2現(xiàn)場信號n微型計算機放大器放大器放大器多路開關(guān)低通濾波傳感器低通濾波傳感器低通濾波傳感器A/D轉(zhuǎn)換器采樣保持器數(shù)字信號受控對象控制信號模擬信號D/A轉(zhuǎn)換器放大驅(qū)動電路…傳感器將各種現(xiàn)場的物理量測量出來并轉(zhuǎn)換成電信號(模擬電壓或電流)

放大器把傳感器輸出的信號放大到ADC所需的量程范圍低通濾波器用于降低噪聲、濾去高頻干擾,以增加信噪比多路開關(guān)把多個現(xiàn)場信號分時地接通到A/D轉(zhuǎn)換器采樣保持器周期性地采樣連續(xù)信號,并在A/D轉(zhuǎn)換期間保持不變概念:模擬輸入輸出系統(tǒng)數(shù)字信號模擬信號現(xiàn)場信號1現(xiàn)場信號13710.1D/A轉(zhuǎn)換器的接口方法DAC數(shù)字/模擬轉(zhuǎn)換器模擬量數(shù)字量10.1D/A轉(zhuǎn)換器的接口方法DAC模擬量數(shù)字量138數(shù)字量→按權(quán)相加→模擬量1101B=1×23+1×22+0×21+1×20=13一、D/A轉(zhuǎn)換的基本原理

D/A(DigittoAnalog)轉(zhuǎn)換器的作用是將二進制的數(shù)字量轉(zhuǎn)換為相應(yīng)的模擬量。數(shù)字量→按權(quán)相加→模擬量1101B=1×23+1139-+V0RfViRV0=-RfRVi若輸入端有n個支路,則輸入和輸出的關(guān)系可表示為:V0=-RfnI=1RVi1-+V0RfViRV0=-RfRVi若輸入端有n個支路,140-+V0RfVref32RV0=-nI=12iSi1運算放大器的輸入可以是權(quán)電阻網(wǎng)絡(luò),如圖所示。2R4R8R16R64R128R256RS1S3S2S4S5S6S7S8Vref其中Vref為基準電壓所有開關(guān)Si斷開時,V0=0。所有開關(guān)Si閉合時,V0=-。256255Vref-+V0RfVref32RV0=-nI=12iSi1運141D/A轉(zhuǎn)換器的原理圖(1)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF電阻網(wǎng)絡(luò)基準電壓電子開關(guān)T型電阻網(wǎng)絡(luò)D/A轉(zhuǎn)換器的原理圖(1)Iout2Iout1RfbRfbV142D/A轉(zhuǎn)換器的原理圖(2)Iout2Iout1RfbRfbVout+_I1S1D1c2RRI2S2D2b2RRI0S0D0d2R2RRI3S3D3a2RVREF阻抗=2R運算放大器虛地D/A轉(zhuǎn)換器的原理圖(2)Iout2Iout1RfbRfbV143D/A轉(zhuǎn)換器的原理圖(3)Va=VREFVb=VREF/2Vc=VREF/4Vd=VREF/8I0=Vd/2R=VREF/(8×2R)I1=Vd/2R=VREF/(4×2R)I2=Vd/2R=VREF/(2×2R)I3=Vd/2R=VREF/(1×2R)D/A轉(zhuǎn)換器的原理圖(3)Va=VREFI0=Vd/2R=V144D/A轉(zhuǎn)換器的原理圖(4)Iout1=I0+I1+I2+I3 =VREF/2R×(1/8+1/4+1/2+1)Rfb=RVout=-Iout1×Rfb =-VREF×[(20+21+22+23)/24]Vout=-(D/2n)×VREFD/A轉(zhuǎn)換器的原理圖(4)Iout1=I0+I1+I2+I3145實際的D/A轉(zhuǎn)換電路的原理框圖運算放大器電流開關(guān)電阻網(wǎng)絡(luò)數(shù)據(jù)鎖存器數(shù)據(jù)緩沖器N位數(shù)字量輸入電壓輸出通常D/A轉(zhuǎn)換器的輸出電壓范圍有0~5V、0~10V、0~

25V、0~5V、0~10V幾種。對于非標準的電壓范圍,可以在輸出端再加運算放大器來調(diào)整。實際的D/A轉(zhuǎn)換電路的原理框圖運算電電數(shù)據(jù)鎖存器數(shù)據(jù)緩沖器N146D/VD/I數(shù)字量輸入數(shù)字量輸入VOUTIOUTD/A轉(zhuǎn)換器輸出的兩種形式電壓輸出型電流輸出型相當于一個電壓源相當于一個電流源數(shù)字量輸入數(shù)字量輸入VOUTIOUTD/A轉(zhuǎn)換器147二、D/A轉(zhuǎn)換器及其連接特性

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

⒈分辨率(resolution):DAC對模擬量的分辨能力,它是最低有效位(LSB)對應(yīng)的模擬值,通常以二進制位數(shù)來表示。⒉精度(accuracy):DAC轉(zhuǎn)換的精確程度①絕對精度(absolute):實際輸出與理想輸出之差。通常由增益誤差,零點誤差、線性誤差、噪聲等綜合引起。(±LSB)二、D/A轉(zhuǎn)換器及其連接特性D/A轉(zhuǎn)換器的主要參數(shù)⒈分辨148②相對精度(relative):滿量程值校準后,任一數(shù)字輸入的模擬輸出與它理論值之差?!?.0%(±1.0%VFS)。備注:精度為n位指:最大可能誤差為VE=VFS精度:構(gòu)成DAC各部件的精度及穩(wěn)定性分辨率:取決于DAC位數(shù)⒊轉(zhuǎn)換時間(建立時間)電流型較快:n百us~幾us電壓型較慢:(運放)⒋線性度:線性變化程度。還有溫度系數(shù)、電源敏感系數(shù)等。②相對精度(relative):滿量程值校準后,任一數(shù)字輸149

D/A轉(zhuǎn)換器的連接特性

⒈輸入緩沖能力:三態(tài)輸入緩沖/鎖存器⒉輸入數(shù)據(jù)寬度:單次、分次輸入⒊輸入碼制:⒋模擬量類型:電流(運放→電壓)、電壓⒌模擬量極性:單極性、雙極性D/A轉(zhuǎn)換器的連接特性150二、DAC0832芯片DAC0832是典型的8位電流輸出型通用DAC芯片LE2LE1

RfbAGNDDAC0832VccILEVREF輸入寄存器

DGNDDI0~DI7D/A轉(zhuǎn)換器DAC寄存器Iout2Iout1二、DAC0832芯片DAC0832是典型的8位電流輸出151DAC0832的內(nèi)部結(jié)構(gòu)LE2LE1RfbAGNDDAC0832VccILEVREF輸入寄存器DGNDDI0~DI7D/A轉(zhuǎn)換器DAC寄存器Iout2Iout1CSWR1WR2XFERDAC0832的內(nèi)部結(jié)構(gòu)LE2LE1RfbAGNDDAC081521

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論