DAC0832转换器
D/A轉(zhuǎn)換器簡介
D/A轉(zhuǎn)換器的類型很多。輸入數(shù)據(jù)一般為并行數(shù)據(jù),也有串行數(shù)據(jù)。并行輸入的數(shù)據(jù)有8位、10位、12位等。D/A轉(zhuǎn)換器的直接輸出是電流量,若片內(nèi)有輸出放大器,則能輸出電壓量,并能實(shí)現(xiàn)單極性或雙極性電壓輸出。D/A轉(zhuǎn)換器的轉(zhuǎn)換速度較快,一般其電流建立時(shí)間為1μs。有些D/A轉(zhuǎn)換器具有其它功能,如能輸出多路模擬量、輸出工業(yè)控制用的標(biāo)準(zhǔn)電流信號。典型的D/A轉(zhuǎn)換器如8位通用型DAC0832、12位的DAC1208、電壓輸出型的AD558和多路輸出型AD7528。
DAC0832外部特性
DAC0832是8位分辨率的D/A轉(zhuǎn)換集成芯片,由8位輸入鎖存器、8位DAC寄存器、8位D/A轉(zhuǎn)換電路及轉(zhuǎn)換控制電路構(gòu)成,外部是20引腳的雙列直插式芯片,片內(nèi)有三態(tài)輸入緩沖器(可以直接連接CPU的數(shù)據(jù)總線,使工作方式更加靈活)。因?yàn)槠滢D(zhuǎn)換控制方便、價(jià)格低廉等特點(diǎn),在微機(jī)系統(tǒng)中得到廣泛應(yīng)用。
DAC0832管腳定義:
- D0~D7:8位數(shù)據(jù)輸入線
- ILE:數(shù)據(jù)鎖存允許控制輸入線,高電平有效
- CS#:片選信號
- WR1#:數(shù)據(jù)鎖存器寫選通輸入線
- XFER#:數(shù)據(jù)傳輸控制信號輸入線,低電平有效
- WR2#:DAC寄 存器選通輸入線,負(fù)脈沖有效
- IOUT1:電流輸出端1,一般IOUTI+IOUT2=常數(shù)
- IOUT2:電流輸出端2
- RFB:反饋信號輸入線,改變Rfb端外接電阻值可調(diào)整轉(zhuǎn)換滿量程精度
- Vcc:接電源
- DGND:接數(shù)字地,芯片數(shù)字信號接地點(diǎn)
- AGND:接模擬地,芯片模擬信號接地點(diǎn)
- VREF:參考電壓輸入端,可接正電壓,也可接負(fù)電壓,范圍為-10V~+10V。
內(nèi)部結(jié)構(gòu)和工作方式
DAC0832內(nèi)部有兩個(gè)寄存器,能實(shí)現(xiàn)三種工作方式。在雙緩沖工作方式下,利用輸入寄存器暫存數(shù)據(jù),給使用帶來方便,可以實(shí)現(xiàn)多路數(shù)字量的同步轉(zhuǎn)換輸出。(地是點(diǎn)位零點(diǎn),但電平的高低是相對而言的,對于負(fù)電平來說地就是高電平。一般來說,接地就是低電平。)
- 雙緩沖方式:控制選通1和2。
- 單緩沖方式:控制選通1或2,即一個(gè)控制選通,另一個(gè)接低電平。
- 直通方式:不控制選通1和2,兩個(gè)直接接低電平。
當(dāng)ILE高電平,CS低電平, WR1低電平時(shí),數(shù)據(jù)被所存到第一個(gè)8位的鎖存器中,LE2的控制引腳分別是WR2HE,XFER,當(dāng)這兩個(gè)引腳都為低電平時(shí),數(shù)據(jù)被所存到DAC寄存器,然后數(shù)據(jù)被送到8位轉(zhuǎn)換器中被轉(zhuǎn)換。0832是電流型,若需要電壓信號,可用運(yùn)算放大器將電流信號轉(zhuǎn)換成電壓信號:
電壓輸出電路的連接
DAC0832以電流形式輸出轉(zhuǎn)換結(jié)果,得到電壓形式需外加I/V轉(zhuǎn)換的電路,常采用運(yùn)算放大器。下圖是DAC0832的電壓輸出電路。
(a) 單極性輸出; (b) 雙極性輸出
- DAC轉(zhuǎn)化器轉(zhuǎn)換的是數(shù)字量來自8位的數(shù)據(jù)輸入引腳D0—D1,這樣的DA轉(zhuǎn)化器轉(zhuǎn)換的最小的數(shù)字量是0,最大數(shù)字量為255,。那么在這個(gè)最大量和最小量之間的數(shù)字量的轉(zhuǎn)換電流和電壓,對于單極性輸出電路,輸出電壓的格式為:Vout=(D/256)×Vref。
- 式中D為輸入數(shù)字量的十進(jìn)制值。因?yàn)檗D(zhuǎn)換結(jié)果Iout1接運(yùn)算放大器的反相端,所以式中有一個(gè)負(fù)號。若VREF=+5V,D= 0~255 (00H~FFH) 時(shí),Vout=- (0~4.98) V。
- 通過調(diào)整運(yùn)算放大器的調(diào)零電位器,可以對D/A芯片進(jìn)行零點(diǎn)補(bǔ)償。通過調(diào)節(jié)外接于反饋回路的電位器RP1,可以調(diào)整滿量程。
單緩沖方式的電路連接圖
把LE2的引腳直接接地了,LE1信號的引腳是可控制的,其中ILE直接接高電平,WR1和CS是可以控制的,輸出端有放大器,輸出電壓信號。
單緩沖方式程序段
利用DAC0832實(shí)現(xiàn)D/A變換。0832工作在單緩沖方式,設(shè)0832端口地址PORT,待轉(zhuǎn)換數(shù)據(jù)在DATA單元中,這個(gè)芯片不需要初始化,就是將數(shù)據(jù)送到接口芯片的端口就按照其工作方式開始轉(zhuǎn)換了。
程序段:
雙緩沖方式的電路連接圖
CS,WR1,ILE這三個(gè)引腳控制了第一個(gè)寄存器的開關(guān),XFER,WR2這兩個(gè)引腳控制了第二個(gè)寄存器的輸入開關(guān),所以這兩組開關(guān)在這個(gè)線路中都是可控的,因此是雙緩沖工作方式。
雙緩沖方式下工作的時(shí)序圖
(1)當(dāng)被轉(zhuǎn)化的數(shù)據(jù)放到數(shù)據(jù)線上,片選信號開關(guān)打開即CS來一個(gè)低脈沖,CPU再給WR1一個(gè)低脈沖信號,這兩個(gè)信號是同時(shí),ILE一直保持高電平,這時(shí)數(shù)據(jù)就被鎖存到第一個(gè)寄存器中了。WR2和XEFR同時(shí)給個(gè)低脈沖數(shù)據(jù)被鎖存到第二個(gè)寄存器即DAC寄存器,進(jìn)而被送到轉(zhuǎn)換寄存器轉(zhuǎn)換。
(2)雙緩沖工作方式
- 在這種工作方式下,CPU要對0832進(jìn)行兩步寫操作:
①將數(shù)據(jù)寫人輸人寄存器
②將輸入寄存器的內(nèi)容寫入DAC寄存器。具體過程為:當(dāng)ILE=1,CS=WR1=0時(shí),待轉(zhuǎn)換的數(shù)據(jù)被寫人輸人寄存器;隨后,WR1由低變高,數(shù)據(jù)出現(xiàn)在輸人寄存器的輸出端。在整個(gè)WR1為高電平期間,輸人寄存器的輸出端將不再隨其輸人端的變化而變化,從而保證了在數(shù)模轉(zhuǎn)換時(shí)數(shù)據(jù)穩(wěn)定不變。 - 鎖存在輸入寄存器中的數(shù)據(jù)此時(shí)并不能進(jìn)人DAC寄存器,只有當(dāng)XFER=WR2=0時(shí),數(shù)據(jù)才能寫人DAC寄存器,并同時(shí)啟動(dòng)變換。雙緩沖的工作時(shí)序如圖8-10所示。其連接方法是: ILE固定接+ 5V,WR1、WR2均接到 IOW,而CS和XFER分別接到兩個(gè)端口的地址譯碼信號線,即0832占用兩個(gè)端口地址。
雙緩沖方式程序段
MOV AL DATA MOV DX, PORT1 OUT DX,AL MOV DX, PORT2 OUT DX,AL HLTDAC0832的應(yīng)用
DAC0832的應(yīng)用一:
根據(jù)下圖的電路連接,編寫一個(gè)輸出鋸齒波的程序,周期任意。DC0832工作在單緩沖方式,端口地址為0278H。
題目分析:
正向鋸齒波的規(guī)律是電壓從最小值開始逐漸上升,上升到最大值時(shí)立刻跳變?yōu)樽钚≈?#xff0c;如此循環(huán)(反向鋸齒波正好相反,先從最小值跳變?yōu)樽畲笾?#xff0c;然后逐漸下降到最小值)。所以只要從0開始往0832輸人數(shù)據(jù),每次加1,直到最大值FFH,然后再從0開始下一個(gè)周期。這個(gè)過程循環(huán)執(zhí)行即可在0832輸出端得到一個(gè)正向鋸齒波。以下是產(chǎn)生反向鋸齒波的程序段,這里使用了一個(gè)技巧,用0減1直接得到最大值FFH,這樣在鋸齒波的齒
根部可以少做一次判斷。
程序設(shè)計(jì)如下:
MOV DX, 0278H ;端口地址送DXMOV AL,0 ;初始值送AL NEXT: OUT DX,AL ;輸出數(shù)字量到D/A轉(zhuǎn)換器DEC AL ;數(shù)字量減1JMP NEXT ;循環(huán)DAC0832的應(yīng)用二:
已知0832輸出電壓范圍為0~5V,現(xiàn)希望輸出電壓為1-4V,周期任意的正向鋸齒波。如何輸出正向鋸齒波?
題目分析:
考慮到輸出波形應(yīng)能夠停止,程序中增加了在有任意鍵按下時(shí)則停止輸出的功能。由題知,已知當(dāng)輸出為5V時(shí),輸入數(shù)字量為最大值255,則1V電壓對應(yīng)的數(shù)字量=1X255/5=51=33H,4V電壓對應(yīng)的數(shù)字量是4*255/5=204=CCH
程序設(shè)計(jì)如下:
MOV DX, 0278H ;0832的端口地址送DX NEXT1: MOV AL, 33H ;最低輸出電壓對應(yīng)的數(shù)字量送AL NEXT2: OUT DX, AL ;輸出數(shù)字量到0832INC AL ;數(shù)字量加1CALL DELAY ;調(diào)用延時(shí)子程序CMP AL, OCCH ;到最大值(輸出4V電壓)否?JNA NEXT2 ;若沒有到最大值繼續(xù)輸出MOV AH, 1 ;達(dá)到最大輸出則判斷有無任意鍵按下INT 16H ;鍵盤中斷調(diào)用J2 NEXT1 ;若無任意鍵按下則重新開始下一個(gè)周期HLT ;有鍵按下則退出 DELAY PROCMOV CX,100 ;延時(shí)子程序(延時(shí)常數(shù)可修改) DELAYI:LOOP DELAY1RET DELAY ENDPDAC0832的應(yīng)用三:
(1)D/A轉(zhuǎn)換產(chǎn)生一個(gè)如圖所示踞齒波:
(2)D/A轉(zhuǎn)換產(chǎn)生一個(gè)如圖所示踞齒波:
(3)產(chǎn)生周期性三角波:
總結(jié)
以上是生活随笔為你收集整理的DAC0832转换器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot中使用Conver
- 下一篇: 2021-06-18杭电ACM-LCY算