用dac產生正弦波的設計_第1頁
用dac產生正弦波的設計_第2頁
用dac產生正弦波的設計_第3頁
用dac產生正弦波的設計_第4頁
用dac產生正弦波的設計_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、摘要:DAC轉換器是一種將數字量轉換成模擬量的器件,本論文簡要介紹轉換器DAC0832的工作原理和芯片結構,并利用模數轉換器DAC0832輸出正弦波進一步分析輸出波形的模擬失真度。關鍵詞:模數轉換器DAC0832,正弦數據區,模擬失真度,FFT變換。引言:1 .簡要模數轉換器DAC0832的介紹DAC轉換器是一種將數字量轉換成模擬量的器件,其特點是接收、保持和轉換的是數字信息,不存在隨溫度和時間的漂移問題,因此電路的抗干擾性能較好。DAC0832是8位分辨率的D/A轉換集成芯片,它具有價格低廉、接口簡單及轉換控制容易等特點。它由8位輸入鎖存器、8位DAC寄存器、8位DIA轉換電路及轉換控制電路

2、組成,能和CPU數據總線直接相連,屬中速轉換器,大約在1us內將一個數字量轉換成模擬量輸出。1.1 DAC0832的結構如下:D0D7:8位數據輸入線,TTL電平,有效時間應大于90ns(否則鎖存器的數據會出錯);ILE:數據鎖存允許控制信號輸入線,高電平有效;CS:片選信號輸入線(選通數據鎖存器),低電平有效;WR1:數據鎖存器寫選通輸入線,負脈沖(脈寬應大于500ns)有效。由ILE、CS、WR1的邏輯組合產生LE1,當LE1為高電平時,數據鎖存器狀態隨輸入數據線變換,LE1的負跳變時將輸入數據鎖存;XFER:數據傳輸控制信號輸入線,低電平有效,負脈沖(脈寬應大于500ns)有效;WR2:

3、DAC寄存器選通輸入線,負脈沖(脈寬應大于500ns)有效。由WR1、XFER的邏輯組合產生LE2,當LE2為高電平時,DAC寄存器的輸出隨寄存器的輸入而變化,LE2的負跳變時將數據鎖存器的內容打入DAC寄存器并開始D/A轉換。IOUT1:電流輸出端1,其值隨DAC寄存器的內容線性變化;IOUT2:電流輸出端2,其值與IOUT1值之和為一常數;Rfb:反饋信號輸入線,改變Rfb端外接電阻值可調整轉換滿量程精度;Vcc:電源輸入端,Vcc的范圍為+5V+15V;VREF:基準電壓輸入線,VREF的范圍為-10V+10V;AGND:模擬信號地DGND:數字信號地1.2 DAC0832的引腳圖和內部

4、結構1.3 DAC0832的三種工作方式1直通方式直通方式就是使DAC0832內部的兩個寄存器(輸入寄存器和DAC寄存器)處于不鎖存狀態,數據一旦到達輸入端DI7DI0,就直接送入D/A轉換器,被轉換成模擬量。當ILE為高電平,CS和WR1、WR2和XFER端都接數字地,這時鎖存信號LE1、LE2均為高電平,輸入寄存器和DAC寄存器均處于不鎖存狀態,即直通方式。2單緩沖方式單緩沖方式就是使兩個寄存器中的一個處于緩沖方式,另一個處于鎖存方式,數據只通過一級緩沖器送入D/A轉換器。通常的做法是將和XFER均接地,使DAC寄存器處于直通方式,而把ILE接高電平,接端口地址譯碼信號,WR1接CPU系統

5、總線的IOW信號,使輸入寄存器處于鎖存方式。單緩沖方式只需執行一次寫操作即可完成D/A轉換。一般不需要多個模擬量同時輸出時,可采用單緩沖方式。3單緩沖方式單緩沖方式就是使兩個寄存器均處于鎖存方式,數據要經過兩級鎖存(即兩級緩沖)后再送入D/A轉換器,這就是說,要執行兩次寫操作才能完成一次D/A轉換。只要將ILE接高電平,WR1和WR2接CPU的IOW,CS和XFER分別接兩個不同的I/O地址譯碼信號即可。圖中的Rfb是內部電阻,是為外部運算放大器提供的反饋電阻,用以提供適當的輸出電壓,Vref端是由外電路為芯片提供的參考電源,電壓范圍在-10V+10V。另外,DAC0832為電流輸出型DAC,

6、使用時需外接運算放大器,芯片的電源電壓最好工作在+15V。2利用DAC0832產生正弦波2.1 設計出原理圖2.2 編寫程序和必要說明1 )CODESEGMENTASSUMECS:CODEDAPORTEQU0070HCONTPORTEQU00DFHDATAPORTEQU00DEHDATAEQU0500HSTART:JMPDACONTORLDACONTORL:CALLFORMATCALLLEDDISPMOVDX,DAPORTSS2:MOVAL,80H;初始值MOVBX,0HDACON1:OUTDX,ALMOVCX,0008H;INCBXCMPBX,32;比較一個周期是否結束JZSS2正弦取值DA

7、CON2:LOOPDACON2MOVAL,CS:BX+OFFSETSINDATA;JMPDACON1LEDDISP:MOVAL,90HMOVDX,CONTPORTOUTDX,ALMOVBYTEPTRDS:0600H,00HLED1:CMPBYTEPTRDS:0600H,07HJALED2MOVBL,DS:0600HMOVBH,0HMOVAL,CS:BX+DATAMOVDX,DATAPORTOUTDX,ALADDBYTEPTRDS:0600H,01HJNZLED1LED2:RETFORMAT:MOVBX,0MOVWORDPTRDS:BX+0500H,4006HADDBX,2MOVWORDPTRD

8、S:BX+0500H,4040HADDBX,2MOVWORDPTRDS:BX+0500H,4F5BHADDBX,2MOVWORDPTRDS:BX+0500H,3F7FHADDBX,2RETSINDATA:DB80h,96h,0aeh,0c5h,0d8h,0e9h,0f5h,0fdh;正弦波數據數據區DB0ffh,0fdh,0f5h,0e9h,0d8h,0c5h,0aeh,96hDB80h,66h,4eh,38h,25h,15h,09h,04hDB00h,04h,09h,15h,25h,38h,4eh,66hCODEENDSENDSTART2 )說明上面程序中的正弦波數據區的數據共有32個,通過

9、兩個公式算出。當0<=x<=8*pi/16時,通過128+127*sin(x)計算數據,當24*pi/16<=x<=2*pi時,通過127*【1+sin(x)】來計算數據,pi/2到3*pi/2區間的數據可對稱寫出。3 計算模擬失真度3.1 模擬失真度的定義模擬失真度一般由基波剔除法和頻譜分析法來計算,本論文采用頻譜分析法來計算?;痉椒ň褪峭ㄟ^傅里葉變換,產生出信號的頻譜圖,根據頻譜含量Cn,計算出失真度?;贔FT的失真度儀,采用頻域分析方法,通過計算傅立葉系數,C1、C2Cn,最后得到失真度基于FFT的失真度儀,采用頻域分析方法,通過計算傅立葉系數,C1、C2Cn

10、,最后得到失真度3.2 用MATLAB軟件繪出實際頻譜的程序如下:x=0,0.975,1.913,2.778,3.535,4.157,4.619,4.904,5,4.904,4.619,4.157,3.535,2.778,1.913,0.975,0,-0.975,-1.913,-2.778,-3.535,-4.157,-4.619,-4.904,-5,-4.904,-4.619,-4.157,-3.535,-2.778,-1.913,-0.975,0n=0:31;Xk=fft(x);magXk=abs(x(1:17);k1=0:1:16;w1=2*pi/32*k1;subplot(212);stem(w1,magXk);title('samplesofDTFTmagnit

溫馨提示

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

評論

0/150

提交評論