第十章十一章數(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頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、110.1 DA轉(zhuǎn)換器接口 D/A轉(zhuǎn)換器是把數(shù)字量變換成模擬量的線性電路器件,已做成集成芯片。 D/A轉(zhuǎn)換器品種繁多,在轉(zhuǎn)換速度、轉(zhuǎn)換精度、分辨率及使用價值上各具特色。實際工作中根據(jù)要求選用。21. 基本概念D/A轉(zhuǎn)換器框圖 不同D/A轉(zhuǎn)換器允許輸入的數(shù)字量位數(shù)不盡相同,有8位、10位、12位等。 3 量程:測量儀器的變化范圍。對D/A轉(zhuǎn)換器而言,則指其輸出模擬量(電壓或電流)的變化范圍。其最大值稱為滿量程。 最低有效位(LSB):輸入數(shù)字量允許變化的最小單位。對D/A轉(zhuǎn)換器來說,輸入量是二進制代碼,其LSB=1。設(shè)輸入數(shù)字量的位數(shù)為n位,轉(zhuǎn)換器的滿量程輸出為M。模/數(shù)轉(zhuǎn)換技術(shù)規(guī)定:相對于數(shù)字

2、量變化的最小單位1LSB,模擬輸出量變化的最小單位為=M/2n。于是有:M=2n。注意,數(shù)字量的最大輸入值為2n-1,其對應(yīng)的輸出模擬量值為(2n-1)=2n-= M-。可見,它比滿量程小1個LSB所對應(yīng)的輸出量(M/2n)。42DA轉(zhuǎn)換器的主要參數(shù)衡量一個D/A轉(zhuǎn)換器的性能的主要參數(shù):分辨率 指D/A轉(zhuǎn)換器的1LSB輸入量的變化所對應(yīng)的輸出變化量。通常用D/A轉(zhuǎn)換器能夠轉(zhuǎn)換的二進制數(shù)的位數(shù)或D/A轉(zhuǎn)換器所能分辨的最小電壓值來表示。位數(shù)多,分辨率就高。 例如,一個D/A轉(zhuǎn)換器能夠轉(zhuǎn)換8位二進制數(shù),則其分辯率為8位。若轉(zhuǎn)換后的電壓滿量程是5V,則它能分辨的最小電壓=5V/256=20mV。所以,

3、又可稱其分辨率為20mV(即每增減1LSB,輸出電壓的變化就是20mV)。 如果是10位分辨率的D/A轉(zhuǎn)換器,對同樣的轉(zhuǎn)換電壓,則它能分辨的最小電壓=5V/1024=5mV??梢娖浞直媛矢哂?位的D/A轉(zhuǎn)換器。5轉(zhuǎn)換時間 指數(shù)字量輸入到完成轉(zhuǎn)換輸出達到最終值并穩(wěn)定為止所需的時間。 電流型DA轉(zhuǎn)換較快。電壓型D/A轉(zhuǎn)換較慢,取決于運算放大器的響應(yīng)時間。 一般在幾ns到幾百s之內(nèi)。 精度 指D/A轉(zhuǎn)換器實際輸出電壓與理論值之間的誤差。一般采用數(shù)字量的最低有效位作為衡量單位。例如,1/2LSB。如果分辨率為8位,則它的精度是: (1/2)(1/256)=1/512。6精度 指D/A轉(zhuǎn)換器實際輸出電壓

4、與理論值之間的誤差。有絕對誤差和相對誤差兩種。 前者一般采用數(shù)字量的最低有效位作為衡量單位。后者則用:輸出量絕對誤差/滿量程100。例如,一個數(shù)模轉(zhuǎn)換器精度為1/2LSB,表示該轉(zhuǎn)換器的實際輸出值與其理想輸出值間最大偏差為最低有效位所對應(yīng)的模擬輸出值的一半。再如,某分辨率為8位的D/A轉(zhuǎn)換器。其精度為1/2LSB。如果用相對誤差表示其精度,則它的精度是:(1/2LSB)/(28)=(1/2LSB)/28=(1/2)/28=1/512。7線性度 當數(shù)字量變化時,D/A轉(zhuǎn)換器輸出的模擬量按比例關(guān)系變化的程度。 理想情況下,D/A轉(zhuǎn)換器輸出模擬量與輸入數(shù)字量的關(guān)系應(yīng)該是線性的,但實際上輸出特性并不是

5、理想線性的。我們可以用線性誤差來反映線性度。線性誤差:在滿量程的范圍內(nèi),實際轉(zhuǎn)換的模擬輸出偏離理想輸出的最大值。通常,使用(1/n)LSB來給出最大偏差的數(shù)值。 線性誤差越小越好,一般應(yīng)1/2LSB。 83. D/A轉(zhuǎn)換器(DAC)的連接特性輸入緩沖能力DAC是否帶有三態(tài)輸入緩沖器或鎖存器來保存輸入數(shù)字量,這對不能長時間在數(shù)據(jù)總線上保持數(shù)據(jù)的微機系統(tǒng)來說至關(guān)重要: 帶有三態(tài)輸入緩沖器或鎖存器的DAC,其輸入數(shù)據(jù)線能與系統(tǒng)數(shù)據(jù)總線直接連接。 反之,需要外接三態(tài)緩沖器。輸入數(shù)據(jù)的寬度DAC有8位、10位、12位、14位等。當DAC的位數(shù)(即分辨率)高于微機系統(tǒng)數(shù)據(jù)總線的寬度時,需分兩次輸入數(shù)字量。

6、9電流型還是電壓型即DAC的輸出是電流還是電壓。對電流輸出型,其電流在幾mA到十幾mA;對電壓輸出型,其電壓一般在510V之間。有些高電壓型可達2430V。若需將電流輸出轉(zhuǎn)換成電壓輸出,則采用運算放大器進行轉(zhuǎn)換。輸入碼制DAC能接收不同碼制的數(shù)字量輸入。一般來說:單極性輸出的DAC只接收二進制碼或BCD碼;雙極性輸出的DAC只接收偏移二進制碼或補碼。10單極性碼與偏移碼代碼111110101100011010001000單極性代碼+7+6+5+4+3+2+10偏移碼+3+2+10-1-2-3-4可見,單極性碼是正數(shù),偏移碼是單極性碼加上一個偏移量而得(本例的偏移量為-4)。11輸出模擬量的極性

7、 有單極性輸出、雙極性輸出。 對需要正負電壓控制的設(shè)備,要使用雙極性DAC,或在輸出電路中采取措施,使輸出電壓有極性變化。12二、D/A轉(zhuǎn)換器與微處理器的接口方法1. 接口的任務(wù) 主要任務(wù)是要解決CPU與DAC之間數(shù)據(jù)緩沖問題。 原因之一在于CPU的輸出數(shù)據(jù)在數(shù)據(jù)總線上出現(xiàn)的時間很短暫,只有幾個時鐘周期。因此,D/A轉(zhuǎn)換器接口必須能將數(shù)據(jù)保存起來供轉(zhuǎn)換之用。 原因之二在于,若CPU的數(shù)據(jù)總線寬度與DAC的分辨率不一致,則需要分兩次送數(shù),就必須把先后兩次送入的數(shù)分別鎖存,然后同時送入D/A轉(zhuǎn)換器進行完整的轉(zhuǎn)換。132. 接口電路的結(jié)構(gòu)形式接口電路的實現(xiàn),可采用中小規(guī)模集成電路、GAL器件、通用可

8、編程并行接口芯片。3. 接口電路的實現(xiàn)方法直接與CPU相連用于DAC自身帶有三態(tài)輸入緩沖器/鎖存器的情況。利用外加三態(tài)緩沖器或數(shù)據(jù)寄存器與CPU相連用于DAC自身不帶三態(tài)輸入緩沖器/鎖存器的情況。利用并行I/O接口芯片與CPU相連。用于DAC自身不帶三態(tài)輸入緩沖器/鎖存器的情況14注意: 這三種接口方法并非彼此無關(guān)或一成不變,例如,當CPU的數(shù)據(jù)總線寬度小于D/A轉(zhuǎn)換器的分辨率時,即使D/A轉(zhuǎn)換器內(nèi)部帶有數(shù)據(jù)緩沖器,也采用第二種接口形式,并且是兩級緩沖,以消除由于兩次傳送數(shù)據(jù)而產(chǎn)生的尖鋒(毛刺)。 另外,在系統(tǒng)中,D/A轉(zhuǎn)換器也是一種微機的外圍設(shè)備,因此,在實際使用中,無論D/A轉(zhuǎn)換器的內(nèi)部是

9、否帶有數(shù)據(jù)鎖存器,都經(jīng)常利用并行I/O接口芯片與CPU相連,這樣,在時序配合和驅(qū)動能力上都容易和CPU一致,使設(shè)計簡化和調(diào)試方便。并增加系統(tǒng)的可靠性。 1510.2 D/A轉(zhuǎn)換器接口電路設(shè)計 DAC接口設(shè)計應(yīng)考慮的問題是被控對象DAC的輸入緩沖能力和分辨率。 從DAC的輸入緩沖能力,可分為DAC芯片內(nèi)有三態(tài)輸入緩沖器和無三態(tài)輸入緩沖器; 從DAC的分辨率,可分為分辨率8位和分辨率8位。 因為這兩方面的特性不同,使DAC與系統(tǒng)數(shù)據(jù)總線的連接方法不同,從而使接口電路的設(shè)計也不同。 本節(jié)以片內(nèi)有三態(tài)輸入緩沖器的8位D/A轉(zhuǎn)換器接口芯片DAC0832為例進行介紹。16一、DAC0832的連接特性 DA

10、C0832是分辨率為8位的乘法型DAC轉(zhuǎn)換器,內(nèi)部帶有兩級緩沖寄存器,它的內(nèi)部結(jié)構(gòu)和外部引腳如圖所示。17 由圖可知,DAC0832內(nèi)部由二級緩沖寄存器(一個8位輸入寄存器和一個8位DAC寄存器)和一個D/A轉(zhuǎn)換器(R-2R T型電阻解碼網(wǎng)絡(luò))及轉(zhuǎn)換控制電路組成。 兩個8位輸入寄存器可以分別選通,從而使DAC0832實現(xiàn)雙緩沖工作方式,即可把從CPU送來的數(shù)據(jù)先打入輸入寄存器,在需要進行轉(zhuǎn)換時再選通DAC寄存器,實現(xiàn)D/A轉(zhuǎn)換,這種工作方式稱為雙緩沖工作方式。18各引腳功能說明如下:ILE:輸入鎖存允許信號,輸入,高電平有效。 CS:片選信號,輸入、低電平有效,與ILE共同決定WR1是否起作用

11、。 WR1:寫信號1,它作為輸入寄存器的寫選通信號(鎖存信號)。 WR1必須與CS,ILE同時有效(即當ILE為高電平, WR1和CS同為低電平)時,LE1為高電平,輸入寄存器的輸出隨輸入而變化(即輸入不鎖存)。當WR1變?yōu)楦唠娖綍r,LE1變?yōu)榈碗娖剑斎霐?shù)據(jù)被鎖存在輸入寄存器中。輸入寄存器的輸出不再隨外部數(shù)據(jù)的變化19WR2:寫信號2,即DAC寄存器的寫選通信號。 XFER:數(shù)據(jù)傳送控制信號,輸入、低電平有效。當XFER與WR2同時為有效(低電平)時使得LE21,8位DAC寄存器的輸出隨寄存器的輸入而變化,WR2上升沿將輸入寄存器的信息鎖存在DAC寄存器中。DI7-DI0:8位數(shù)字量輸入端。

12、 IOUT1:DAC電流輸出1,它是數(shù)字輸入端邏輯電平為1的各位輸出電流之和。DAC寄存器內(nèi)容隨輸入代碼線性變化,當DAC寄存器的內(nèi)容為全1時,IOUT1為最大;DAC寄存器的內(nèi)容為全0時,IOUT1為最小20 IOUT2:DAC電流輸出2, RFB:片內(nèi)反饋電阻引腳,與外接運算放大器配合構(gòu)成I/V轉(zhuǎn)換器。 VREF:參考電源或叫基準電源輸入端,此端可接一個正電壓或一個負電壓,范圍為: +10V -10V,由于它是轉(zhuǎn)換的基準,要求電壓準確、穩(wěn)定性好。 VCC:芯片供電電壓端范圍為+5V+15V,最佳值為+15V。 AGND:模擬地,即芯片模擬電路接地點,所有的模擬地要連在一起。 DGND:數(shù)字

13、地,即芯片數(shù)字電路接地點。所有的數(shù)字電路地連地一起。使用時,再將模擬地和數(shù)字地連到一個公共接地點,以提高系統(tǒng)的抗干擾能力。21 對要求多片DAC0832同時進行轉(zhuǎn)換的系統(tǒng),各芯片的選片信號不同,這樣可由選片信號CS與WR1將數(shù)據(jù)分別輸入到每片的輸入寄存器中。各片的XFER與WR2分別接在一起,公用一組信號,在XFER與WR2同時為低電平時,數(shù)據(jù)將在同一時刻由8位輸入寄存器傳送到對應(yīng)的8位DAC寄存器,并靠WR2或XFER的上升沿將信號鎖存在DAC寄存器中,與此同時,多個DAC0832芯片開始轉(zhuǎn)換,其時間關(guān)系如圖所示。22 為保證DAC0832可靠地工作,要求,WR1和WR2的寬度不小于500n

14、s。若VCC=+15V,則寬度為100ns。輸人數(shù)據(jù)的保持時間應(yīng)不小于90ns。 此外,對于不用的數(shù)字輸入端不能懸空,應(yīng)根據(jù)要求接地或Vcc。23二、DAC0832的三種工作方式:改變幾個轉(zhuǎn)換控制信號的時序和電平,就可使DAC0832處于三種不同的工作方式。1. 直通方式:直通方式就是使DAC0832內(nèi)部的兩個寄存器(輸入寄存器和DAC寄存器)處于不鎖存狀態(tài),數(shù)據(jù)一旦到達輸入端DI7一DI0就直接送人D/A轉(zhuǎn)換器,被轉(zhuǎn)換成模擬量。輸入數(shù)據(jù)變化,D/A轉(zhuǎn)換器的輸出模擬量跟著變化。為實現(xiàn)直通方式,必須使ILE為高電平,CS ,WR1,WR2和XFER端都須接數(shù)字地,這時鎖存信號LE1,LE2均為高

15、電平輸入寄存器和DAC寄存器便均處于不鎖存狀態(tài),即直通方式。242.單緩沖方式:單緩沖方式就是使兩個寄存器中的一個處于直通方式,另一個處于鎖存方式,輸入數(shù)據(jù)只經(jīng)過一級緩沖器送入D/A轉(zhuǎn)換器,通常的做法是將WR2和XFER均接地,使DAC寄存器處于直通方式,而把ILE接高電平,CS接端口地址譯碼信號,WR1接CPU系統(tǒng)總線的IOW信號,使輸入寄存器處于鎖存方式,這樣便可通過執(zhí)行一條OUT指令選中該端口,使CS和WR1有效,從而啟動D/A轉(zhuǎn)換。單緩沖方式只需執(zhí)行一次寫操作即可完成D/A轉(zhuǎn)換。一般當不需要多個模擬量同時輸出時可采用單緩沖方式。 253.雙緩沖方式:雙緩沖方式就是使輸入寄存器和DAC寄

16、存器均處于鎖存狀態(tài),數(shù)據(jù)要經(jīng)過兩級鎖存(即兩級緩沖)后再送入D/A轉(zhuǎn)換器,這就是說,要執(zhí)行兩次寫操作才能完成一次D/A轉(zhuǎn)換。利用雙緩沖方式可在DA轉(zhuǎn)換的同時,進行下一個數(shù)據(jù)的輸入,這樣可有效地提高轉(zhuǎn)換速度。 只要將ILE接高電平,WR1和WR2接CPU的IOW,CS和XFER分別接兩個不同的I/O地址譯碼信號。當執(zhí)行OUT指令時,WR1和WR2均變?yōu)橛行У碗娖?。這樣,可先執(zhí)行一條OUT指令選中CS端口把數(shù)據(jù)寫入輸入寄存器;再執(zhí)行第二條OUT指令,選中XFER端口,把輸入寄存器內(nèi)容寫入DAC寄存器,實現(xiàn)D/A轉(zhuǎn)換。26 下圖所示為DAC0832工作于雙緩沖方式下,與具有8位數(shù)據(jù)總線的微處理器相連

17、的邏輯圖。27 將一個數(shù)據(jù)經(jīng)兩次鎖存,通過D/A轉(zhuǎn)換器輸出模擬量的控制程序段如下:MOVDX320H:指向輸入寄存器MOVAL,DATA;DATA為被轉(zhuǎn)換的數(shù)據(jù)OUTDX,AL;輸入數(shù)據(jù)打入輸入寄存器INCDX;指向DAC寄存器OUTDX,AL;選通DAC寄存器啟動D/A轉(zhuǎn)換 雙緩沖方式,除用作上述的單路D/A轉(zhuǎn)換外,更主要的應(yīng)用是適用于要求同時輸出多個模擬量的場合,這時要用多片DAC0832芯片組成模擬輸出系統(tǒng),每片對應(yīng)一個模擬量。這時,利用雙緩沖功能,可先用多條輸出指令把要轉(zhuǎn)換的數(shù)據(jù)分別打入各DAC的輸入寄存器,當數(shù)據(jù)就緒后,再由一個轉(zhuǎn)換命令(即執(zhí)行一次寫操作)同時啟動多個DAC的轉(zhuǎn)換。2

18、8三、設(shè)計舉例例1:采用單緩沖方式,通過DAC0832輸出產(chǎn)生三角波,三角波最高電壓5V,最低電壓0V。電路設(shè)計所要考慮的問題從CPU送來的數(shù)據(jù)能否被保存DAC0832內(nèi)部有二級鎖存寄存器,從CPU送來的數(shù)據(jù)能被保存,不用外加鎖存器可直接與CPU數(shù)據(jù)總線相連。29二級輸入寄存器如何工作 按題意采用單緩沖方式,即經(jīng)一級輸入寄存器鎖存。 假設(shè)我們采用第一級鎖存,第二級直通,那么第二級的控制端WR2和XFER應(yīng)處于有效電平狀態(tài),使第二級鎖存寄存器一直處于打開狀態(tài)。第一級寄存器具有鎖存功能的條件是ILE、CS、WR1都要滿足有效電平。為減少控制線條數(shù),可使ILE一直處于高電平狀態(tài),控制WR1和CS端。

19、電路連接如圖所示。30輸出電壓極性按題意輸出波形變化范圍為0V5V,需單極性電壓輸出31軟件設(shè)計所要考慮的問題單緩沖方式下輸出數(shù)據(jù)的指令僅需一條輸出指令即可。上圖所示CS端與譯碼電路的輸出端相連,其地址值既是選中該DAC 0832芯片的片選信號,也是第一級寄存器打開的控制信號。 另外由于CPU的控制信號WR與DAC0832的寫信號WR1相連,當執(zhí)行OUT指令時, CPU使WR1寫信號有效,與CS信號一起,打開第一級寄存器,輸人數(shù)據(jù)被鎖存。設(shè)DA0832地址為0300H,輸出0V電壓程序如下: MOV AL,00H ;設(shè)置輸出電壓值MOV DX,0300H ;DAC0832片選地址OUT DX,

20、AL ;輸出數(shù)據(jù)使DAC0832輸出 ;端得到0V模擬電壓輸出32按題意產(chǎn)生三角波電壓范圍為0V5V,那么所對應(yīng)輸出數(shù)據(jù)00H0FFH。所以三角波上升部分,從00H起加1,直到FFH。三角波下降部分從FFH起減1,直到00H,流程圖如下。3334例2:采用直通方式,利用DAC0832產(chǎn)生鋸齒波,波形范圍為0V5V。分析:(1)由于采用直通方式即DAC0832的8位輸入寄存器、8位DAC寄存器一直處于直通狀態(tài),因此要求控制端ILE接高電平,CS、WR1、WR2、XFER接地。35(2)由于采用直通方式,CPU輸出的數(shù)據(jù)可直接到達DAC0832的8位D/A轉(zhuǎn)換器進行轉(zhuǎn)換。在這種情況下,如果還是把D

21、AC0832D/A轉(zhuǎn)換器的數(shù)據(jù)輸入端直接連在CPU數(shù)據(jù)總線上,會造成CPU數(shù)據(jù)總線上只能有D/A轉(zhuǎn)換所需要的數(shù)據(jù)流。數(shù)據(jù)總線上的任何數(shù)據(jù)都會導(dǎo)致D/A進行變換和輸出,這在實際工程中是不可能的。因而DAC0832DA轉(zhuǎn)換器的數(shù)據(jù)輸入端不能直接連在CPU數(shù)據(jù)總線上。來自CPU數(shù)據(jù)總線上的數(shù)據(jù)必須經(jīng)鎖存后才能傳送到DAC0832D/A轉(zhuǎn)換器的輸入端。本題采用將DAC0832數(shù)據(jù)輸入端連接到8255A的A口,通過8255A的A口將來自CPU的數(shù)據(jù)鎖存。36設(shè)8255A的A、B、C及控制口地址分別為04A0H、04A2H、04A4H、04A6H??捎肁2、A1作8255A片內(nèi)端口尋址。用A15A3、A0

22、配合AEN實現(xiàn)對8255A的片選。37(3)波形范圍為0V-5V,單極性輸出。 (4)鋸齒波上升部分,采用數(shù)據(jù)值加1的方法,使輸出數(shù)據(jù)由00H變化到FFH。在開始一個新的鋸齒波時,不采用重新賦00H的方法,而是由上一鋸齒波對應(yīng)的最大數(shù)據(jù)FFH加1自動變?yōu)?0H。38程序段: MOV DX,04A6H ;8255A控制口地址送DX MOv AL,80H ;設(shè)置8255A工作方式字 OUT DX,AL MOV DX,04A0H ;設(shè)置8255A的A口地址 MOV AL,00H ;輸出電壓0V對應(yīng)的數(shù)值A(chǔ)A1: OUT DX,AL INC AL ;數(shù)值加1 JMP AA13910.3A/D轉(zhuǎn)換器接口

23、基本原理與方法 A/D轉(zhuǎn)換器是用來通過一定的電路將模擬量轉(zhuǎn)變?yōu)閿?shù)字量。 在A/D轉(zhuǎn)換前,輸入到A/D轉(zhuǎn)換器的輸入信號必須經(jīng)各種傳感器把各種物理量轉(zhuǎn)換成電壓信號。 A/D轉(zhuǎn)換后,輸出的數(shù)字信號可以有8位、10位、12位和16位等。40 A/D轉(zhuǎn)換器按轉(zhuǎn)換原理可分為直接A/D轉(zhuǎn)換器和間接A/D轉(zhuǎn)換器。所謂直接A/D轉(zhuǎn)換器,是把模擬信號直接轉(zhuǎn)換成數(shù)字信號間接A/D轉(zhuǎn)換器是先把模擬量轉(zhuǎn)換成中間量,然后再轉(zhuǎn)換成數(shù)字量,如電壓/頻率轉(zhuǎn)換型有些轉(zhuǎn)換器還將多路開關(guān)、基準電壓源、時鐘電路、二十譯碼器和轉(zhuǎn)換電路集成在一個芯片內(nèi),已超出了單純A/D轉(zhuǎn)換功能,使用十分方便。41一、A/D轉(zhuǎn)換器及其連接特性1A/D轉(zhuǎn)換

24、器的主要參數(shù)(1)分辨率指A/D轉(zhuǎn)換器可轉(zhuǎn)換成二進制數(shù)的位數(shù)。例如:10位A/D轉(zhuǎn)換器,轉(zhuǎn)換一個滿量程為5V (指轉(zhuǎn)換器輸出的最大數(shù)值與5V電壓對應(yīng)) 的電壓,則它能分辨的最小電壓為5000mV/10245mV。小于5mV的電壓,A/D轉(zhuǎn)換器將無法轉(zhuǎn)換。 同樣5V電壓,若采用12位A/D轉(zhuǎn)換器。則它能分辨的最小電壓為5000mV/40961mV??梢夾/D轉(zhuǎn)換器的數(shù)字量輸出位數(shù)越多,其分辨率就越高。42(2)轉(zhuǎn)換時間指從輸入啟動轉(zhuǎn)換信號開始到轉(zhuǎn)換結(jié)束,得到穩(wěn)定的數(shù)字輸出量為止的時間。(3)量程量程是指所能轉(zhuǎn)換的輸人電壓范圍。其它參數(shù)與DA轉(zhuǎn)換器類似。432A/D轉(zhuǎn)換器的外部特性 A/D轉(zhuǎn)換芯片

25、產(chǎn)品型號繁多、引腳命名不統(tǒng)一。 A/D轉(zhuǎn)換芯片一般具有以下輸入輸出信號線。轉(zhuǎn)換啟動線(輸入):它是由系統(tǒng)控制器發(fā)出的一種控制信號,此信號一到,立即開始一次A/D轉(zhuǎn)換。轉(zhuǎn)換結(jié)束線(輸出):轉(zhuǎn)換完畢后由ADC發(fā)出的一種狀態(tài)信號,可由它申請中斷或DMA傳送,或作查詢之用。模擬信號輸入線:來自被轉(zhuǎn)換的對象,有單通道輸入與多通道輸入之分。多通道ADC還有用于進行通道選擇的地址線。 數(shù)字量輸出線:ADC將數(shù)字量送給CPU的數(shù)據(jù)線。數(shù)據(jù)線的根數(shù)表示ADC的分辨率。44二、A/D轉(zhuǎn)換器與微處理器接口方法 1. A/D轉(zhuǎn)換器與CPU連接時的有關(guān)問題 ADC分辨率分辨率CPU的數(shù)據(jù)總線寬度ADC輸出線與數(shù)據(jù)總線對

26、應(yīng)相連。一次讀入全部轉(zhuǎn)換數(shù)據(jù)。分辨率CPU的數(shù)據(jù)總線寬度ADC輸出線與低位數(shù)據(jù)總線對應(yīng)相連。一次讀入全部轉(zhuǎn)換數(shù)據(jù),并把讀入的數(shù)據(jù)中的多余的若干高位屏蔽(即清0)。45分辨率CPU的數(shù)據(jù)總線寬度 轉(zhuǎn)換數(shù)據(jù)需分2次讀取,ADC輸出線與數(shù)據(jù)總線的連接有2種方式:. 左對齊:ADC輸出線由高位向低位與數(shù)據(jù)總線對應(yīng)連接;剩余低位的ADC輸出線再按由高到低位的順序也與數(shù)據(jù)總線對應(yīng)連接,多余的低位數(shù)據(jù)總線則不用。在讀取低4位的轉(zhuǎn)換數(shù)據(jù)時,只需把讀入到AL中的數(shù)據(jù)的低4位屏蔽(即:清0)即可。46 . 右對齊:ADC輸出線由低位向高位與數(shù)據(jù)總線對應(yīng)連接;剩余高位的ADC輸出線再按由低位向高位的順序也與數(shù)據(jù)總線

27、對應(yīng)連接,多余的高位數(shù)據(jù)總線則不用。 在讀取高4位的轉(zhuǎn)換數(shù)據(jù)時,只需把讀入到AL中的數(shù)據(jù)的高4位屏蔽(即:清0)即可。在ADC無片內(nèi)鎖存器時,需在ADC輸出線與數(shù)據(jù)總線間外加三態(tài)鎖存器。47ADC的轉(zhuǎn)換啟動信號電平啟動:此種ADC要求啟動電平保持到轉(zhuǎn)換結(jié)束為止,否則得不到正確的轉(zhuǎn)換結(jié)果。如,ADC574。2. A/D轉(zhuǎn)換器接口的主要操作脈沖啟動:此種ADC只要在啟動開始后便可撤除啟動信號。但要求的一定的脈沖寬度,通常采用、的脈寬即可。對要求較大脈寬的ADC,可附加延長脈寬的邏輯電路。482. A/D轉(zhuǎn)換器接口的主要操作通道選擇:用于多模擬量輸入通道的ADC。CPU發(fā)出的通道號可以從數(shù)據(jù)總線或地

28、址總線發(fā)出。發(fā)轉(zhuǎn)換啟動信號:取回“轉(zhuǎn)換結(jié)束”狀態(tài)信號。讀取轉(zhuǎn)換數(shù)據(jù):在CPU控制下,用查詢或中斷方式將數(shù)據(jù)讀入內(nèi)存,或在DMAC控制下,直接輸入內(nèi)存。 發(fā)采樣/保持信號(S/H)控制信號:對高速信號的A/D轉(zhuǎn)換,需要設(shè)置采樣/保持電路,因此需要向它發(fā)控制信號,以進行采樣與保持操作。493. A/D轉(zhuǎn)換器數(shù)據(jù)的傳送數(shù)據(jù)采集速率的上限值:f 0=1/(T + )其中,T是ADC的轉(zhuǎn)換時間,是把數(shù)據(jù)存入指定內(nèi)存單元所需的傳輸時間??梢?,要提高采樣速率,應(yīng)選用高速ADC、并縮短傳輸時間。50ADC與內(nèi)存間的數(shù)據(jù)交換方法:查詢方式:51中斷方式:52DMA方式:利用DMAC使數(shù)據(jù)從ADC到內(nèi)存進行直接傳

29、送。對超高速數(shù)據(jù)采集系統(tǒng),由于A/D轉(zhuǎn)換速度極快,故在A/D轉(zhuǎn)換器板上設(shè)置RAM,用于暫時就近存放數(shù)據(jù),然后再由CPU從板上RAM中讀數(shù)據(jù)存入內(nèi)存。534. A/D轉(zhuǎn)換器接口電路的結(jié)構(gòu)形式 接口電路的實現(xiàn),可采用中小規(guī)模集成電路、GAL器件、通用可編程并行接口芯片。5. A/D轉(zhuǎn)換器接口電路的實現(xiàn)方法 與CPU直接連接:用于有三態(tài)鎖存器的ADC芯片。通過三態(tài)鎖存器與CPU相連:用于無三態(tài)鎖存器的ADC。通過可編程接口芯片與CPU相連:如8255A。5410.4ADC0809接口電路分析與設(shè)計一、ADC0809外部特性1.內(nèi)部邏輯結(jié)構(gòu)55 ADC0809是8路模擬輸入單片型逐次逼近式8位A/D轉(zhuǎn)

30、換器,芯片內(nèi)部帶有三態(tài)輸出鎖存緩沖器。因此,可以直接與CPU系統(tǒng)總線連接而不必通過I/O接口芯片連接。由圖可知,ADC0809由兩大部分組成:模擬多路開關(guān)和逐次逼近式ADC。 8路模擬多路開關(guān)和3位地址鎖存器和譯碼器實現(xiàn)對8路輸入模擬量IN0IN7的選擇。 當ALE(地址鎖存允許)控制信號有效(為高電平)時,將3位地址ADDA、ADDB、ADDC鎖入地址鎖存器中,經(jīng)譯碼選擇8路模擬量中的一路。562. 各引腳功能: IN7IN0:8路(8通道)模擬量輸入端。D7D0:8位數(shù)字量輸出,其中D7為最高位(MSB),D0為最低位(LSB)。START:啟動轉(zhuǎn)換命令輸入端。在該腳上加一高電平,轉(zhuǎn)換開始

31、。EOC:轉(zhuǎn)換結(jié)束指示端,該信號平時為高電平,轉(zhuǎn)換開始后,先保持極短時間的高電平,然后轉(zhuǎn)為低電平,并在轉(zhuǎn)換中均為低電平。轉(zhuǎn)換結(jié)束又變?yōu)楦唠娖健?OE:輸出使能(允許)端,此引腳上加高電平,即打開輸出緩沖器三態(tài)門,輸出數(shù)據(jù)。 ADDC、ADDB、ADDA:通道號選擇輸入端,用來選擇8路輸入中的一路。ADDC是高位ADDA是低位。111000對應(yīng)IN7IN057 ALE:通道號鎖存控制端。當ALE為高電平時,將ADDC、ADDB和ADDA三個輸入引腳上的通道號鎖存,也就是使相應(yīng)通道的模擬開關(guān)處于閉合狀態(tài)。實際使用時常將ALE與啟動信號START連在一起,當在START端加一高電平時,同時將通道號也

32、鎖存起來。CLK:時鐘脈沖輸入端,該時鐘供ADC0809內(nèi)部工作定時用。當VCC+5V時,允許的最高頻率為1280kHZ,轉(zhuǎn)換速率可達50S,典型的時鐘頻率為640 kHZ,轉(zhuǎn)換時間也是100S。 REF(+)和REF(-):兩個參考電壓輸入引腳,通常參考電壓從REF(+)端引人,而REF(-)與模擬地AGND相連。當REF(+)加+5V時,輸入電壓范圍為0V+5V。583.ADC0809工作時序59由圖知,對指定通道采集一個數(shù)據(jù)的過程是:首先輸入3位通道號編碼送到ADDC、ADDB和ADDA引腳上。ALE端加一正脈沖信號,將通道號編碼鎖存,并使該路模擬信號經(jīng)選擇開關(guān)達到比較器的輸入端。在ST

33、ART引腳上加一正脈沖信號,啟動A/D轉(zhuǎn)換。START的上升沿將逐次逼近寄存器復(fù)位,下降沿啟動AD轉(zhuǎn)換。啟動脈沖可通過執(zhí)行OUT指令產(chǎn)生負脈沖再經(jīng)反相后形成正脈沖,也可以由專門定時電路或可編程定時器(如8253)產(chǎn)生。60 轉(zhuǎn)換開始后EOC先保持原高電平約2S+8T的時間,然后變?yōu)榈碗娖剑?jīng)過約100S后,轉(zhuǎn)換結(jié)束,EOC又變?yōu)楦唠娖剑撔盘枲顟B(tài)可作轉(zhuǎn)換結(jié)束標志來查詢或申請中斷。 轉(zhuǎn)換結(jié)束后,可通過執(zhí)行IN指令,設(shè)法在OE端產(chǎn)生一個正脈沖打開輸出緩沖器三態(tài)門,讓轉(zhuǎn)換后的數(shù)字量出現(xiàn)在數(shù)據(jù)總線上,再由CPU讀取。61例1:設(shè)計以8255A作為ADC0809與CPU的接口的硬件電路,并設(shè)計程序,用查

34、詢法實現(xiàn)對8個模擬通道順序采集一個數(shù)據(jù),存入偏移地址從DATA_BUF開始的存儲單元中。設(shè)系統(tǒng)分配給8255A的端口地址為220H223H1. 硬件分析與設(shè)計 ADC0809的數(shù)據(jù)輸出線D7D0與8255的A口相連,將A口設(shè)為方式0、輸入。 用C口來產(chǎn)生控制信號,實現(xiàn)對ADC0809的控制: 選PC3與ADC0809的START和ALE兩端相連,由CPU控制PC3向0809發(fā)啟動信號和通道號鎖存信號。二、ADC0809接口電路設(shè)計舉例62 選PC2、PC1、PC0分別與通道號輸入端ADDC、ADDB、ADDA相連,用以傳送通道號。 選PC7與轉(zhuǎn)換結(jié)束信號EOC和輸出允許信號OE同時相連,這樣,

35、CPu通過查詢PC7的狀態(tài)即可控制數(shù)據(jù)的讀入過程。鑒于對C口引腳的使用安排,可確定把C口設(shè)為方式0,C口高4位定為輸入,低4位定為輸出。工作時鐘CLOCK由系統(tǒng)時鐘CLK經(jīng)8分頻后提供。63642.編程:轉(zhuǎn)換結(jié)束信號EOC和輸出允許信號OE相連后與PC7相接,這樣,CPU通過查詢PC7的狀態(tài)即可控制數(shù)據(jù)的讀入過程。 根據(jù)ADC0809的工作時序,在啟動脈沖結(jié)束后,先要查到EOC為低電平,表示轉(zhuǎn)換已開始。然后再繼續(xù)查EOC,一旦發(fā)現(xiàn)EOC變?yōu)楦唠娖?,說明轉(zhuǎn)換已結(jié)束, 又由于輸出允許端OE與EOC相連當EOC變高時,OE也為變高,從而使ADC0809的輸出緩沖器打開,輸出數(shù)據(jù)出現(xiàn)在8255A的A口

36、上,這時可用IN指令讀入CPU。6566 MOV DX,223H ;8255A控制口地址MOV AL,98H ;初始化命令字,各口為方式0,A口OUT DX,AL ;輸入,C口高4位輸入,低4位輸出MOV CX,8 ;數(shù)據(jù)個數(shù)MOV BL,00H ;首先把通道號0送入BLLEA DI,DATA_BUFNEXT_IN:MOV DX,222H ;C口地址 MOV AL,BL OUT DX,AL ;輸出通道號 MOV DX,223H MOV AL,07H OUT DX,AL ;使PC3置1,發(fā)啟動信號的上升沿。 NOP NOP NOP67 MOV AL,06H ;使PC3復(fù)位, OUT DX,AL

37、;啟動信號恢復(fù)低電平,轉(zhuǎn)換開始。 MOV DX,222HNOCONV:IN AL,DX ;讀C口內(nèi)容 TEST AL,80H ;查PC7=? JNZ NOCONV ;=1,說明未開始轉(zhuǎn)換,則等待NOEOC: IN AL,DX ;已開始轉(zhuǎn)換,則讀C口TEST AL,80H ;查PC7=? JZ NOEOC ;=0,則轉(zhuǎn)換未結(jié)束,等待 MOV DX,220H ;轉(zhuǎn)換結(jié)束,則從A口讀取轉(zhuǎn)換數(shù)據(jù) IN AL,DX MOV DI,AL ;數(shù)據(jù)存入指定位置 INC DI INC BL LOOP NEXT_INRET68例3:設(shè)計以GAL20V8作為ADC0809與CPU的接口的硬件電路。并采用中斷方式實現(xiàn)8個通道數(shù)據(jù)采集,采集1KB。采集的數(shù)據(jù)在屏幕上顯示。1. 硬件電路分析與設(shè)計由于要求以GAL20V8作接口電路,則必須對它的進出信號進行分析。這些信號分成兩類:一類是輸出信號,另一類是輸入信號。輸出信號:包含面向ADC0809的信號和面向CPU的信號。面向ADC0809的信號: 69START:0809的啟動信號,對GAL來說是輸出。 0809本質(zhì)上是作為CPU的外設(shè),因此,GAL接口

溫馨提示

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

評論

0/150

提交評論