第11章 STC89C52與AD、DA轉換器的接口_第1頁
第11章 STC89C52與AD、DA轉換器的接口_第2頁
第11章 STC89C52與AD、DA轉換器的接口_第3頁
第11章 STC89C52與AD、DA轉換器的接口_第4頁
第11章 STC89C52與AD、DA轉換器的接口_第5頁
已閱讀5頁,還剩64頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、Tankertanker Design11.1STC89C52與A/D轉換器的接口11.2STC89C52與D/A轉換器的接口一章STC89C52與A/D、D/A轉換器的接口Tankertanker DesignD/A轉換器轉換器Digital to Analog Converter能把數(shù)字量轉換為模擬量的電子器件簡稱為能把數(shù)字量轉換為模擬量的電子器件簡稱為DAC。A/D轉換器轉換器Analog to Digital Converter能把模擬量轉換成相應數(shù)字量的電子器件簡稱為能把模擬量轉換成相應數(shù)字量的電子器件簡稱為ADC。Tankertanker Design11.1 STC89C52與A

2、/D轉換器的接口1.概述 A/D轉換器把模擬量轉換成數(shù)字量,以便于單片機進行數(shù)據處理。A/D轉換一般要經過采樣、保持、量化及編碼4個過程。在實際電路中,有些過程是合并進行的,如采樣和保持,量化和編碼在轉換過程中是同時實現(xiàn)的。 目前單片的ADC芯片較多,對設計者來說,只需合理的選擇芯片即可。現(xiàn)在局部的單片機片內集成了A/D轉換器,僅在片內A/D轉換器不能滿足需要的情況下,需外擴。當然作為擴展A/D轉換器的根本方法,還是應該掌握。Tankertanker DesignAD轉換器的分類 盡管A/D轉換器的種類很多,但目前廣泛應用在單片機應用系統(tǒng)中的主要有逐次比較型轉換器和雙積分型轉換器,此外-式轉換

3、器逐漸得到重視和較為廣泛的應用。 逐次比較型A/D轉換器,在精度、速度和價格上都適中,是最常用的A/D轉換器。Tankertanker Design 雙積分型雙積分型A/DA/D轉換器,具有精度高、抗干擾性好、價轉換器,具有精度高、抗干擾性好、價格低廉等優(yōu)點,與逐次比較型格低廉等優(yōu)點,與逐次比較型A/DA/D轉換器相比,轉換速度轉換器相比,轉換速度較慢,近年來在單片機應用領域中也得到廣泛應用。較慢,近年來在單片機應用領域中也得到廣泛應用。 - -式式ADCADC具有積分式與逐次比較型具有積分式與逐次比較型ADCADC的雙重優(yōu)點。的雙重優(yōu)點。它對工業(yè)現(xiàn)場的串模干擾具有較強的抑制能力,不亞于它對工

4、業(yè)現(xiàn)場的串模干擾具有較強的抑制能力,不亞于雙積分雙積分ADCADC,它比雙積分,它比雙積分ADCADC有較高的轉換速度,與逐次有較高的轉換速度,與逐次比較型比較型ADCADC相比,有較高的信噪比,分辨率高,線性度好,相比,有較高的信噪比,分辨率高,線性度好,不需要采樣保持電路。不需要采樣保持電路。 A/D A/D轉換器按照轉換速度可大致分為超高速轉換時轉換器按照轉換速度可大致分為超高速轉換時間間1ns1ns、高速轉換時間、高速轉換時間11s s、中速轉換時間、中速轉換時間1ms1ms、低速轉換時間、低速轉換時間1s1s等幾種不同轉換速度的等幾種不同轉換速度的芯片。芯片。 按照輸出數(shù)字量的有效位

5、數(shù)分為按照輸出數(shù)字量的有效位數(shù)分為4 4位、位、8 8位、位、1010位、位、1212位、位、1414位、位、1616位并行輸出以及位并行輸出以及BCDBCD碼輸出的碼輸出的3 3位半、位半、4 4位位半、半、5 5位半等多種。位半等多種。Tankertanker Design 目前,除并行輸出A/D轉換器外,隨著單片機串行擴展方式的日益增多,帶有同步SPI串行接口的A/D轉換器的使用也逐漸增多。串行輸出的A/D轉換器具有占用端口線少、使用方便、接口簡單等優(yōu)點。較為典型的串行A/D轉換器為美國TI公司的TLC5498位、TLC154910位以及TLC154310位和TLC254312位。Tan

6、kertanker Design 2.ADC主要技術指標 1轉換時間和轉換速率 A/D完成一次轉換所需要的時間。轉換時間的倒數(shù)為轉換速率。 2分辨率 分辨率是衡量A/D轉換器能夠分辨出輸入模擬量最小變化程度的技術指標。分辨率取決于A/D轉換器的位數(shù),習慣上用輸出的二進制位數(shù)或BCD碼位數(shù)表示。例如,AD1674的滿量程輸入電壓為5V,可輸出12位二進制數(shù),即用212個數(shù)進行量化,其分辨率為12位,或A/D轉換器能分辨出輸入電壓5V/212=1.22mV的變化。Tankertanker Design 3量化誤差 量化過程引起的誤差稱為量化誤差。是由于有限位數(shù)字量對模擬量進行量化而引起的誤差。理論

7、上規(guī)定為一個單位分辨率的-1/2 - +1/2LSB ,提高A/D位數(shù)既可以提高分辨率,又能夠減少量化誤差。 4轉換精度 轉換精度定義為一個實際A/D轉換器與一個理想A/D轉換器在量化值上的差值,可用絕對誤差或相對誤差表示。Tankertanker Design3.逐次逼近式ADC的工作原理 轉換過程中的逐次逼近是按照對分比較或者對分搜索的原理進行。工作原理:在時鐘脈沖的同步下,控制邏輯先使N位存放器的D7位置1其余位為,此時該存放器輸出的內容為10000000,此值經DAC轉換為模擬量輸出VN ,與待轉換的模擬輸入信號VIN 相比較,假設VIN =VN ,那么比較器輸出為1。于是在時鐘脈沖的

8、同步下,保存最高位D7=1,并使下一位D6=1,所得新值11000000B再經DAC轉換得到新的VN,與VIN比較,重復前述過程。反之,假設使D7=1后,經比較VIN =VN ,那么使D7=0,D6=1,所得新值VN再與VIN比較,重復前述過程。依次類推,從D7到D0都比較完畢后,控制邏輯使EOC變?yōu)楦唠娖剑硎続/D轉換結束,此時的D7D0即為對應于模擬輸入信號VIN的數(shù)字量。Tankertanker Design11.1.2 STC89C52與并型8位A/D轉換器ADC0809的接口1.ADC0809芯片-逐次比較型ADC芯片分辨率為位 轉換時間00S 工作量程為05V功耗為15m工作電壓

9、為+5V具有鎖存控制的8路模擬開關輸出與TTL電平兼容 Tankertanker Design8路模擬輸入信號用三根地址線A,B,C選通IN0IN7;A、B、C分別與單片機的三條地址線相連,三位編碼對應三位編碼對應8 8個通道地址個通道地址端口端口。C C、B B、A = 000A = 000111111分別對應IN0IN0IN7IN7通道的地址。引腳START啟動AD轉換,CLOCK轉換時鐘,VR參考電壓,EOC轉換結束標志, OE輸出使能,ALE地址鎖存。ADC0809的結構組成Tankertanker Design工作時序ALEALE鎖存鎖存ADDAADDA、ADDBADDB、ADDCA

10、DDCSTARTSTART正脈沖正脈沖啟動啟動AD轉換轉換 EOCEOC由高變低由高變低ADAD啟動后啟動后 保持低電平保持低電平( (轉換期間轉換期間) ) 由低變高轉換結束由低變高轉換結束OEOE正脈沖,翻開三態(tài)門輸出正脈沖,翻開三態(tài)門輸出Tankertanker Design2.STC89C52與ADC0809的接口 單片機讀取ADC的轉換結果時,可采用查詢和中斷控制兩種方式。 1查詢方式 查詢方式是在單片機把啟動信號送到ADC之后,執(zhí)行其他程序,同時對ADC0809的EOC腳不斷進行檢測,以查詢ADC變換是否已經結束,如查詢到變換已經結束,那么讀入轉換完畢的數(shù)據。Tankertanke

11、r Design由于ADC0809片內無時鐘,可利用單片機提供的地址鎖存允許信號ALE經D觸發(fā)器二分頻后獲得,ALE引腳的頻率是STC89C52單片機時鐘頻率的1/6。如果單片機時鐘頻率采用6MHz,那么ALE引腳的輸出頻率為1MHz,再二分頻后為500kHz,符合ADC0809對時鐘頻率的要求。當然,也可采用獨立的時鐘源輸出,直接加到ADC的CLK腳。Tankertanker DesignADC0809具有輸出三態(tài)鎖存器,其8位數(shù)據輸出引腳D0D7可直接與單片機的P0口相連。Tankertanker Design單片機的寫信號 和P2.7控制ADC的地址鎖存和轉換啟動由于ALE和START連

12、在一起,因此ADC0809在鎖存通道地址的同時啟動并進行轉換。Tankertanker Design讀取轉換結果時,用低電平的讀信號 和P2.7引腳經一級“或非門后產生的正脈沖作為OE信號,用來翻開三態(tài)輸出鎖存器。Tankertanker Design 【例11-1】采用ADC0809設計數(shù)據采集電路.該電路通過調節(jié)滑線變阻器,調節(jié)IN5的輸入電壓,A/D轉換結果存放至片內數(shù)據存儲器50H單元,并通過兩個BCD數(shù)碼管顯示出來。Tankertanker Design IN0IN7的地址分別為0 x7FF80 x7FFF。ADC0809的EOC引腳經非門74HC14與單片機的外部中斷輸入引腳 相連

13、,A/D轉換結束后變?yōu)榈碗娖剑瑔纹瑱C采用查詢或中斷方式讀取A/D轉換結果。1查詢方式查詢方式#include #include #define AD_IN0 XBYTE0X7FF8 /IN0通道地址通道地址sbit ad_busy=P33; unsigned char data temp _at_ 0 x50;void main(void) while(1)AD_IN0= 0; /啟動啟動A/D信號信號,是一個虛寫操作。是一個虛寫操作。while(ad_busy=1);/等待等待A/D轉轉換結束換結束temp=AD_IN0;/轉換數(shù)據存到片內轉換數(shù)據存到片內50H單元單元P1=temp;/轉換

14、數(shù)據顯示轉換數(shù)據顯示Tankertanker Design2中斷方式 采用中斷方式完成對IN0通道的輸入模擬量信號的采集,當A/D轉換結束后,EOC發(fā)出一個脈沖向單片機提出中斷申請,單片機響應中斷請求后,由外部中斷1的中斷效勞程序讀取A/D轉換結果,并啟動ADC0809的下一次轉換。外部中斷1采用邊沿觸發(fā)方式。中斷控制方式效率高,所以特別適合于轉換時間較長的ADC。#include #include #define AD_IN0XBYTE0 x7FF8/IN5通道地址通道地址unsigned char temp _at_ 0 x50;void main(void) IE=0 x84; /CPU

15、開放中斷開放中斷,允許外部中斷允許外部中斷1中斷中斷IT1=1; /外部中斷外部中斷1采用邊沿觸發(fā)采用邊沿觸發(fā)AD_IN0 = 0; /啟動啟動A/D信號信號while(1) Tankertanker Designvoid data_acquisition(void) interrupt 2 EA=0; temp=AD_IN0; /轉換數(shù)據顯示轉換數(shù)據顯示 P1=temp;AD_IN0=0; /啟動啟動A/D信號信號EA=1; Tankertanker Design11.1.3 STC89C52與并型12位A/D轉換器AD1674的接口 在某些應用中,8位ADC常常不夠,必須選擇分辨率大于8位

16、的芯片,由于10位、16位接口與12位類似,因此僅以常用的12位A/D轉換器AD1674為例進行介紹。1AD1674簡介 美國AD公司12位逐次比較型A/D轉換器。轉換時間為10s,單通道最大采集速率100kHz。Tankertanker Design28引腳雙列直插式封裝圖Tankertanker Design由于芯片內有三態(tài)輸出緩沖電路,因而可直接與各種典型的8位或16位的單片機相連,AD1674片內集成有高精度的基準電壓源和時鐘電路,從而使該芯片在不需要任何外加電路和時鐘信號的情況下完成A/D轉換,使用非常方便。AD1674是AD574A/674A的更新?lián)Q代產品。它們的內部結構和外部應用

17、特性根本相同,引腳功能與AD574A/ 674A完全兼容,可以直接替換AD574、AD674使用,但最大轉換時間由25s提高到10s。Tankertanker Design與AD574A/674A相比,AD1674的內部結構更加緊湊,集成度更高,工作性能尤其是上下溫穩(wěn)定性更好,而且可以使設計板面積大大減小,因而可以降低本錢并提高系統(tǒng)的可靠性。目前,片內帶有采樣保持器的AD1674正以其優(yōu)良的性能價格比,取代AD574A和AD674A。AD1674共有6個控制引腳,功能如下: :芯片選擇。 CE:芯片啟動信號。當CE=1時,究竟是啟動轉換還是讀取結果與R/ 有關。 R/ :讀出/轉換控制信號。C

18、SCCTankertanker Design12/ :數(shù)據輸出格式選擇信號引腳。當12/ =1時,12條數(shù)據線并行輸出轉換結果;當12/ =0 時,與A0配合,轉換結果分兩次輸出,即只有高8位或低4位有效。注意:注意:12/ 端與TTL電平不兼容,故只能直接接至+5V或0V上。8888Tankertanker DesignA0:字節(jié)選擇控制。在轉換期間在轉換期間:當A0=0A0=0時,AD1674進行全12位轉換。當A0=1A0=1時,僅進行8位轉換。在讀出期間在讀出期間,與12/ 12/ =0配合:當A0=0A0=0時,高8位數(shù)據有效;當A0=1A0=1時,低4位數(shù)據有效,中間4位為0,高4

19、位為高阻態(tài)。8Tankertanker Design上述5個控制信號組合的真值表如下:當采用兩次讀出的采用兩次讀出的12位數(shù)據位數(shù)據遵循左對齊左對齊格式,如下所示:Tankertanker DesignSTSSTS:輸出狀態(tài)信號引腳。 轉換開始時轉換開始時,STS為高電平,轉換過程中轉換過程中保持高電平。 轉換完成時轉換完成時,為低電平。STS可以作為狀態(tài)信息被CPU查詢,也可用下跳沿向單片機發(fā)出中斷申請,通知單片機A/D轉換已完成,可讀取轉換結果。Tankertanker Design除上述6個控制引腳外,其他引腳的功能如下:REFOUT:+10V基準電壓輸出。REFIN:基準電壓輸入。只有

20、由此腳把從“REFOUT腳輸出的基準電壓引入到AD1674內部的12位DAC,才能進行正常的A/D轉換。BIPOFF:雙極性補償。對此引腳進行適當?shù)倪B接,可實現(xiàn)單極性或雙極性的輸入。10VIN:10V或5+5V模擬信號輸入端。Tankertanker Design20VIN20VIN:20V20V或或1010+10V+10V模擬信號輸入端。模擬信號輸入端。DGNDDGND:數(shù)字地。各數(shù)字電路器件及:數(shù)字地。各數(shù)字電路器件及“+5V“+5V電源的地。電源的地。AGNDAGND:模擬地。各模擬電路器件及:模擬地。各模擬電路器件及“+15V“+15V、“15V“15V電電源地。源地。VCCVCC:正

21、電源端,為:正電源端,為+12+12+15V+15V。VEEVEE:負電源端,為:負電源端,為121215V15V。Tankertanker Design當CE=1, = 0同時滿足時,AD1674才能處于工作狀態(tài)。當AD1674處于工作狀態(tài)時,R/ = 0時啟動A/D轉換;R/ =1時讀出轉換結果。12/ 和A0端用來控制轉換字長和數(shù)據格式。A0=0時啟動轉換,按完整的12位A/D轉換方式工作; A0=1啟動轉換,那么按8位A/D轉換方式工作。當AD1674處于數(shù)據讀出工作狀態(tài)R/ = 1時,A0和12/ 成為數(shù)據輸出格式控制端。CS8CC8C2 2AD1674AD1674的工作特性的工作特

22、性Tankertanker Design12/ =1時,對應時,對應12位并行輸出;位并行輸出;12/ =0時,那么對應時,那么對應8位雙字節(jié)輸出。其中位雙字節(jié)輸出。其中A0=0時輸時輸出高出高8位,位,A0 = 1時輸出低時輸出低4位,并以位,并以4個個0補足尾隨的補足尾隨的4位。位。注意,注意,A0在轉換結果數(shù)據輸出期間不能變化。在轉換結果數(shù)據輸出期間不能變化。如要求如要求AD1674以獨立方式工作,只要將以獨立方式工作,只要將CE、12/ 端端接入接入+5V, 和和A0接至接至0V,將,將R/ 作為數(shù)據讀出和啟動轉作為數(shù)據讀出和啟動轉換控制。換控制。R/ =1時,數(shù)據輸出端出現(xiàn)被轉換后的

23、數(shù)據;時,數(shù)據輸出端出現(xiàn)被轉換后的數(shù)據; R/ =0時,即啟動一次時,即啟動一次A/D轉換。在延時轉換。在延時0.5s后,后,STS = 1表表示轉換正在進行。經過一個轉換周期后,示轉換正在進行。經過一個轉換周期后,STS跳回低電平跳回低電平,表示,表示A/D轉換完畢,可讀取新的轉換數(shù)據。轉換完畢,可讀取新的轉換數(shù)據。888CCCCSTankertanker Design注意,只有在注意,只有在CE = 1CE = 1且且 = 0 = 0時才啟動轉換,在啟動信號有效時才啟動轉換,在啟動信號有效前,前,R/ R/ 必須為低電平,否那么將產生讀取數(shù)據的操作。必須為低電平,否那么將產生讀取數(shù)據的操作

24、。3 3AD1674AD1674的單極性和雙極性輸入的電路的單極性和雙極性輸入的電路通過改變通過改變AD1674AD1674引腳引腳8 8、1010、1212的外接電路,可使的外接電路,可使AD1674AD1674實現(xiàn)單實現(xiàn)單極性輸入和雙極性輸入模擬信號的轉換。由于極性輸入和雙極性輸入模擬信號的轉換。由于AD1674AD1674片內含有高精度片內含有高精度的基準電壓源和時鐘電路,因此的基準電壓源和時鐘電路,因此AD1674AD1674無需任何外加電路和時鐘信號無需任何外加電路和時鐘信號的情況下即可完成的情況下即可完成A/DA/D轉換,使用非常方便。轉換,使用非常方便。1 1單極性輸入電路單極性

25、輸入電路圖圖11-811-8a a為單極性輸入電路,可實現(xiàn)輸入信號為單極性輸入電路,可實現(xiàn)輸入信號0 010V10V或或0 020V20V的轉換。當輸入信號為的轉換。當輸入信號為0 010V10V時,應從時,應從10VIN10VIN引腳輸入引腳引腳輸入引腳1313;輸入信號為;輸入信號為0 020V20V時,應從時,應從20VIN20VIN引腳輸入引腳引腳輸入引腳1414。CSCTankertanker Design AD1674模擬輸入電路的外部接法模擬輸入電路的外部接法注意注意: :單片機系統(tǒng)模擬信號的地線應與單片機系統(tǒng)模擬信號的地線應與AGNDAGND相連,使其地線的接觸電阻盡可能小。相

26、連,使其地線的接觸電阻盡可能小。Tankertanker Design輸出的轉換結果D的計算公式為: D=4096VIN / VFS或 VIN= DVFS /4096其中VIN為模擬輸入電壓,VFS為滿量程電壓。假設從10VIN腳輸入,VFS=10V,LSB=10/409624mV;假設從20VIN腳輸入;VFS=20V,1LSB=20/409649mV。圖中的電位器RP2用于調零,即當VIN=0時,輸出數(shù)字量D為全0。36Tankertanker Design2 2雙極性輸入電路雙極性輸入電路圖圖11-811-8b b為雙極性轉換電路,可實現(xiàn)輸入信號為雙極性轉換電路,可實現(xiàn)輸入信號1010+

27、10V+10V或或0 0+20V+20V的轉換。圖中電位器的轉換。圖中電位器RP1RP1用于調零。用于調零。雙極性輸入時,輸出的轉換結果雙極性輸入時,輸出的轉換結果D D與模擬輸入電壓與模擬輸入電壓VINVIN之間之間的關系為:的關系為:D=2048D=20481+VIN / VFS1+VIN / VFS或或 VIN=VIN=D / 20481D / 20481VFS /2VFS /2例如,當模擬信號從例如,當模擬信號從10VIN10VIN引腳輸入,那么引腳輸入,那么VFS=10VVFS=10V,假設,假設讀得讀得D=FFFHD=FFFH,即,即111111111111B=4095111111

28、111111B=4095,代入式中,可求得,代入式中,可求得VIN=4.9976VVIN=4.9976V。Tankertanker Design 轉換結果的高轉換結果的高8 8位從位從DB11DB11DB4DB4輸出,低輸出,低4 4位從位從DB3DB3DB0DB0輸出,即輸出,即A0=0A0=0時,讀取結果的高時,讀取結果的高8 8位;當位;當A0=1A0=1時,讀取時,讀取結果的低結果的低4 4位。假設遵循左對齊的原那么,位。假設遵循左對齊的原那么,DB3DB3DB0DB0應接應接單片機的單片機的P0.7P0.7P0.4P0.4。Tankertanker Design4STC89C52單片

29、機與AD1674的接口Tankertanker DesignSTSSTS引腳接單片機的引腳接單片機的P1.0P1.0引腳,采用查詢方式讀取轉引腳,采用查詢方式讀取轉換結果。當單片機執(zhí)行對外部數(shù)據存儲器寫指令,使換結果。當單片機執(zhí)行對外部數(shù)據存儲器寫指令,使CE=1CE=1, =0 =0,R/ =0R/ =0,A0=0A0=0時,啟動時,啟動A/DA/D轉換。當單片機查轉換。當單片機查詢到詢到P1.0P1.0引腳為低電平時,轉換結束,單片機使引腳為低電平時,轉換結束,單片機使CE=1CE=1, =0=0,R/ =1R/ =1,A0=0A0=0,讀取結果高,讀取結果高8 8位;位;CE=1CE=1

30、, = 0 = 0, R/ R/ =1=1,A0=1A0=1,讀取結果的低,讀取結果的低4 4位。位。該接口電路完成一次該接口電路完成一次A/DA/D轉換的查詢方式的程序如下轉換的查詢方式的程序如下高高8 8位轉換結果存入位轉換結果存入R2R2中,低中,低4 4位存入位存入R3R3中,遵循左對齊中,遵循左對齊原那么:原那么:CSCCSCCCSTankertanker DesignAD1674: MOV R0,0F8H;端口地址送R0MOVXR0,A;啟動AD1674進行轉換SETBP1.0;置P1.0為輸入LOOP: NOPJBP1.0,LOOP;查詢轉換是否結束INCR0;使R/ 1,準備讀

31、取結果MOVXA,R0;讀取高8位轉換結果MOVR2,A;高8位轉換結果存入R2中INCR0;使R/ 1, A01INCR0MOVX A,R0;讀取低4位轉換結果MOVR3,A;低4位轉換結果存入R3中CCTankertanker Design AD1674接口電路全部連接完畢后,在模擬輸入端輸入接口電路全部連接完畢后,在模擬輸入端輸入一穩(wěn)定的標準電壓,啟動一穩(wěn)定的標準電壓,啟動A/D轉換,轉換,12位數(shù)據亦應穩(wěn)定。位數(shù)據亦應穩(wěn)定。如果變化較大,說明電路穩(wěn)定性差,那么要從電源及接地如果變化較大,說明電路穩(wěn)定性差,那么要從電源及接地布線等方面查找原因。布線等方面查找原因。 AD1674的電源電壓

32、要有較好的穩(wěn)定性和較小的噪聲,噪的電源電壓要有較好的穩(wěn)定性和較小的噪聲,噪聲大的電源會產生不穩(wěn)定的輸出代碼,所以在設計印制電聲大的電源會產生不穩(wěn)定的輸出代碼,所以在設計印制電路板時,要注意電源去耦、布線以及地線的布置。路板時,要注意電源去耦、布線以及地線的布置。 這些問題對于位數(shù)較多的這些問題對于位數(shù)較多的ADC與單片機接口,要給予重與單片機接口,要給予重視。電源要很好濾波,還要避開高頻噪聲源。此外,所有視。電源要很好濾波,還要避開高頻噪聲源。此外,所有的電源引腳都要用去耦電容。的電源引腳都要用去耦電容。Tankertanker Design11.2 STC89C52與D/A轉換器的接口11.

33、2.1 D/A轉換器簡介1.概述 模/數(shù)轉換器DAC是一種把數(shù)字信號轉換成模擬信號的器件。 按照二進制數(shù)字量的位數(shù)劃分,有8 位、10 位、12 位、16位D/A轉換器;按照數(shù)字量的數(shù)碼形式劃分,有二進制碼和BCD碼D/A轉換器;按照D/A轉換器輸出方式劃分,有電流輸出型和電壓輸出型D/A轉換器。在實際應用中,對于電流輸出的D/A轉換器,如需要模擬電壓輸出,可在其輸出端加一個由運算放大器構成的I/V轉換電路,將電流輸出轉換為電壓輸出。Tankertanker Design 單片機與D/A轉換器的連接,早期多采用8位數(shù)字量并行傳輸?shù)牟⑿薪涌冢F(xiàn)在除并行接口外,帶有串行口的D/A轉換器品種也不斷增

34、多。除了通除了通用的用的UARTUART串行口外,目前較為流行的還有串行口外,目前較為流行的還有IICIIC串行串行口和口和SPISPI串行口串行口等。所以在選擇單片D/A轉換器時,要考慮單片機與D/A轉換器的接口形式。Tankertanker Design 目前局部單片機芯片中集成的D/A轉換器位數(shù)一般在10位左右,且轉換速度很快,所以單片的DAC開始向高位數(shù)和高轉換速度上轉變。低端的產品,如8位的D/A轉換器,開始面臨被淘汰的危險,但是在實驗室或涉及某些工業(yè)控制方面的應用,低端的8位DAC以其優(yōu)異性價比還是具有相當大的應用空間的。Tankertanker Design 2.D/A 2.D/

35、A轉換器的主要技術指標轉換器的主要技術指標1 1分辨率分辨率 分辨率是指輸入數(shù)字量的最低有效位分辨率是指輸入數(shù)字量的最低有效位LSBLSB發(fā)生變發(fā)生變化時,所對應的輸出模擬量常為電壓的變化量。它反化時,所對應的輸出模擬量常為電壓的變化量。它反映了輸出模擬量的最小變化值。映了輸出模擬量的最小變化值。 分辨率與輸入數(shù)字量的位數(shù)有確定的關系,可以表示分辨率與輸入數(shù)字量的位數(shù)有確定的關系,可以表示成成FS/2nFS/2n。FSFS表示滿量程輸入值,表示滿量程輸入值,n n為二進制位數(shù)。對于為二進制位數(shù)。對于5V5V的滿量程,采用位的的滿量程,采用位的DAC DAC 時,分辨率為時,分辨率為5V/28=

36、19.5mV5V/28=19.5mV;當采用當采用1212位的位的DACDAC時,分辨率那么為時,分辨率那么為5V/2125V/2121.22mV1.22mV。顯。顯然,位數(shù)越多,分辨率就越高。即然,位數(shù)越多,分辨率就越高。即D/AD/A轉換器對輸入量變轉換器對輸入量變化的敏感程度越高。化的敏感程度越高。 使用時,應根據對使用時,應根據對D/AD/A轉換器分辨率的需要來選定轉換器分辨率的需要來選定D/AD/A轉換器的位數(shù)。轉換器的位數(shù)。Tankertanker Design2 2建立時間建立時間 描述描述D/AD/A轉換器轉換快慢的一個參數(shù),用于說明轉換轉換器轉換快慢的一個參數(shù),用于說明轉換時

37、間或轉換速度。其值為從輸入數(shù)字量到輸出到達終值誤時間或轉換速度。其值為從輸入數(shù)字量到輸出到達終值誤差差(1/2)LSB(1/2)LSB時所需的時間。時所需的時間。 電流輸出型電流輸出型DACDAC的轉換時間較短,而電壓輸出的轉換的轉換時間較短,而電壓輸出的轉換器,由于要加上完成器,由于要加上完成I-VI-V轉換的運算放大器的延遲時間,轉換的運算放大器的延遲時間,因此轉換時間要長一些。快速因此轉換時間要長一些。快速D/AD/A轉換器的轉換時間可控轉換器的轉換時間可控制在制在1 1s s以下。以下。Tankertanker Design3 3轉換精度轉換精度理想情況下,轉換精度與分辨率根本一致,位

38、數(shù)越多理想情況下,轉換精度與分辨率根本一致,位數(shù)越多精度越高。精度越高。但由于電源電壓、基準電壓、電阻、制造工藝等各種但由于電源電壓、基準電壓、電阻、制造工藝等各種因素存在著誤差。嚴格講,轉換精度與分辨率并不完全一因素存在著誤差。嚴格講,轉換精度與分辨率并不完全一致。只要位數(shù)相同,分辨率那么相同,但相同位數(shù)的不同致。只要位數(shù)相同,分辨率那么相同,但相同位數(shù)的不同轉換器轉換精度會有所不同。轉換器轉換精度會有所不同。例如,某種型號的例如,某種型號的8 8位位DACDAC精度為精度為0.19%0.19%,而另一種,而另一種型號的型號的8 8位位DACDAC精度為精度為0.05%0.05%。Tanke

39、rtanker Design3.電流輸出型D/A轉換器的工作原理 目前常用的D/A轉換器是由型電阻網絡構成的。RVIREF 總電流總電流分支電流分支電流2iniIIRRVDDDDVIREFREFnininiiniiniiiDDIDI256)2222(001166771010100122轉換電流轉換電流I01轉換電流與轉換電流與“邏輯開關邏輯開關為為1的各支路電流的總和的各支路電流的總和成正比,即與成正比,即與D0D7口輸口輸入的二進制數(shù)成正比。入的二進制數(shù)成正比。 Tankertanker Design轉換電壓轉換電壓DAC0832外接放大器反饋電阻即,轉換電壓正比于待轉換的二進制數(shù)和參考電壓

40、轉換電壓正比于待轉換的二進制數(shù)和參考電壓256256) 256)1222(222(006677006677VVDDDRVDDDRIVREFREFfbREFBRfbooTankertanker Design當輸入數(shù)據D7D0 為11111111B 時,有Tankertanker Design11.2.2 STC89C52與8位D/A轉換器DAC0832的接口設計1.DAC0832芯片-電流輸出型D/A轉換器8 8位并行輸入方式位并行輸入方式分辨率分辨率19.5mV (VREF = 5V19.5mV (VREF = 5V 電流建立時間電流建立時間S S 輸入與輸入與TTLTTL電平兼容電平兼容 單

41、一電源供電單一電源供電5V5V15V15V 低功耗,低功耗,20mw20mwTankertanker Design引腳功能:引腳功能:DI0DI0DI7DI7:8 8位數(shù)字信號輸入端,與單片機的數(shù)據總線位數(shù)字信號輸入端,與單片機的數(shù)據總線P0P0口相連,用于接收單片機送來的待轉換為模擬量的數(shù)字量口相連,用于接收單片機送來的待轉換為模擬量的數(shù)字量,DI7DI7為最高位。為最高位。 :片選端,為低電平時,本芯片被選中。:片選端,為低電平時,本芯片被選中。ILEILE:數(shù)據鎖存允許控制端,高電平有效。:數(shù)據鎖存允許控制端,高電平有效。 : :第一級輸入存放器寫選通控制,低電平有效。當?shù)谝患壿斎氪娣牌?/p>

42、寫選通控制,低電平有效。當 =0 =0,ILE=1ILE=1, =0 =0時,待轉換的數(shù)據信號被鎖存到時,待轉換的數(shù)據信號被鎖存到第一級第一級8 8位輸入存放器中。位輸入存放器中。CSWR1CSWR1Tankertanker Design :數(shù)據傳送控制,低電平有效。數(shù)據傳送控制,低電平有效。 :DAC存放器寫選通控制端,低電平有效。當存放器寫選通控制端,低電平有效。當 =0, =0時,輸入存放器中待轉換的數(shù)據傳入時,輸入存放器中待轉換的數(shù)據傳入8位位DAC存放器存放器中。中。IOUT1:D/A轉換器電流輸出轉換器電流輸出1端,輸入數(shù)字量全為端,輸入數(shù)字量全為“1時,時,IOUT1最最大,輸入

43、數(shù)字量全為大,輸入數(shù)字量全為“0時,時,IOUT1最小。最小。IOUT2:D/A轉換器電流輸出轉換器電流輸出2端,端,IOUT2 + IOUT1 = 常數(shù)。常數(shù)。Rfb:外部反響信號輸入端,內部已有反響電阻:外部反響信號輸入端,內部已有反響電阻Rfb,根據需要也可外,根據需要也可外接反響電阻。接反響電阻。VCC:電源輸入端,在:電源輸入端,在+5V+15V范圍內。范圍內。XFER2WRXFER2WRTankertanker DesignDAC0832的結構內部組成:內部組成:1個個8位輸入鎖存器位輸入鎖存器1個個8位位DAC存放器存放器1個個8位位D/A轉換器轉換器5個控制邏輯個控制邏輯2級控

44、制級控制工作過程:工作過程:8位數(shù)據并行送入鎖存器位數(shù)據并行送入鎖存器在第在第1級級控制信號作用下進入存放器控制信號作用下進入存放器在第在第2級控制信號級控制信號作用下進入轉換器作用下進入轉換器轉換結果由轉換結果由Iout1電流輸出。電流輸出。Tankertanker DesignDAC0832的3種控制方式直通方式直通方式 兩個存放器都處于直通狀態(tài)兩個存放器都處于直通狀態(tài)直通方式不能直接與系統(tǒng)的數(shù)據總線相連,需另加鎖存器,故直通方式不能直接與系統(tǒng)的數(shù)據總線相連,需另加鎖存器,故較少應用。較少應用。單緩沖方式單緩沖方式 一個存放器處于直通,另一個處于受控狀態(tài)一個存放器處于直通,另一個處于受控狀

45、態(tài)雙緩沖方式雙緩沖方式 兩個存放器都分別處于受控狀態(tài)兩個存放器都分別處于受控狀態(tài)Tankertanker Design電路采用I/O口方式接線,直通控制方式4個控制端都接低電平,ILE接高電平。數(shù)字量一旦輸入,就直接進入DAC存放器,進行D/A轉換。直通控制方式直通控制方式-兩個存放器都處于直通狀態(tài)兩個存放器都處于直通狀態(tài)2STC89C52與DAC0832的接口Tankertanker Design單緩沖方式單緩沖方式-內部的兩個數(shù)據緩沖器有一個處于直通內部的兩個數(shù)據緩沖器有一個處于直通方式,另一個處于受單片機控制的鎖存方式。方式,另一個處于受單片機控制的鎖存方式。在實際應用中,如果只有一路模擬量輸出,或雖是多路模擬量輸出但并不要求多路輸出同步的情況下,可采用單緩沖方式。 DAC0832單緩沖方式接口單極性輸出 的正負極性由VREF的極性確定。Tankertanker Design 圖中ILE接5V,IOUT2接地,IOUT1輸出電流經運算放大器變換后輸出單極性電壓,范圍為05V。 DAC0832的“8位DAC存放器工作于直通方式。“8位輸入存放

溫馨提示

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

評論

0/150

提交評論