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