3.8-數(shù)模轉(zhuǎn)換器(DAC)PPT課件_第1頁
3.8-數(shù)模轉(zhuǎn)換器(DAC)PPT課件_第2頁
3.8-數(shù)模轉(zhuǎn)換器(DAC)PPT課件_第3頁
3.8-數(shù)模轉(zhuǎn)換器(DAC)PPT課件_第4頁
3.8-數(shù)模轉(zhuǎn)換器(DAC)PPT課件_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、3.8 DAC數(shù)模轉(zhuǎn)換數(shù)模轉(zhuǎn)換 (Digital to Analog Converter) 本節(jié)內(nèi)容本節(jié)內(nèi)容 DAC液晶顯示器簡介 MSP430 DAC控制器 DAC簡介簡介(1/3) 數(shù)字處理數(shù)字處理的最后階段 數(shù)字輸出模擬信號(電壓或電流等) 數(shù)模轉(zhuǎn)換器數(shù)模轉(zhuǎn)換器(DAC) Digital-to-Analog Converter 數(shù)字量-模擬量的一種電子器件或電路 DAC簡介簡介(2/3) 一般常用的線性D/A轉(zhuǎn)換器,其輸出模擬電壓Uo和輸入數(shù)字量Dn之間成正比 關(guān)系。UREF為參考電壓。 Uo = DnUREF 數(shù)字值Dn 參考電壓 UREF DAC 連續(xù)輸出信 號Uo D/A轉(zhuǎn)換器實質(zhì)

2、上是一個譯碼器(解碼器)轉(zhuǎn)換器實質(zhì)上是一個譯碼器(解碼器) DAC簡介簡介(3/3) 注:在一個單一時間周期內(nèi),時鐘信號將鎖存數(shù)字數(shù)據(jù)序列,DAC輸出端 將保持模擬電壓值. 理想理想DAC輸出輸出 一系列脈沖經(jīng)過過濾 后得到的時間上連續(xù) 的模擬信號 由奎斯特頻率決定采 樣信號重建精確度 實際實際DAC輸出輸出 重建并不精確 過濾器具有有限的相 位延遲 量化誤差 vs DAC 類型類型(1/3) 二進制加權(quán)二進制加權(quán)DAC -DAC的每個位都對應(yīng)到一個電阻(或電源) R-2R梯形DAC - 由阻值為R和2R的電阻反復(fù)級聯(lián)構(gòu)成的二進制加權(quán)DAC - MSP430中的DAC12模塊采用的就是這種結(jié)構(gòu)

3、. DAC 類型類型(2/3) 加權(quán)加權(quán)DACDAC:先將每位代碼按其權(quán)的大小轉(zhuǎn)換成相應(yīng)的模擬量,然后 將這些模擬量相加,即可得到與數(shù)字量成正比的總模擬量,從而實現(xiàn) 了數(shù)字/模擬轉(zhuǎn)換。 D/A轉(zhuǎn)換器 Vo 輸出輸入 D0 D1 Dn-1 0 1 2 3 4 5 6 7 001010011100101110111 vo/V D000 DAC 類型類型 (3/3) R/2R梯形梯形 DAC: - 運算放大器陰極電流輸入轉(zhuǎn)換為虛擬接地 例如: R/2R 4位DAC體系結(jié)構(gòu): DAC 應(yīng)用應(yīng)用 DAC是將數(shù)字量轉(zhuǎn)換成模擬量輸出的設(shè)備,DAC在實際的應(yīng)用中可以方 便地產(chǎn)生規(guī)則(梯形波和三角波)或不規(guī)則的

4、模擬波形,用來控制一 些模擬設(shè)備,大多數(shù)都應(yīng)用在音頻方面。 ADC DAC 話筒放大器放大器揚聲器 簡單語言編碼 DAC性能參數(shù)性能參數(shù) (1/2) 分辨率分辨率 (n): DAC轉(zhuǎn)換器使用的位數(shù), D/A轉(zhuǎn)換器模擬輸出電壓可能被分離的等級 數(shù)。 輸入數(shù)字量位數(shù)越多,分辨率越高。所以,在實際應(yīng)用中,常用數(shù) 字量的位數(shù)表示D/A轉(zhuǎn)換器的分辨率。 (2)轉(zhuǎn)換速率(SR)在大信號工作狀態(tài)下模擬電壓的變化率。 (1)建立時間(tset)當輸入的數(shù)字量發(fā)生變化時,輸出電壓變化到相應(yīng) 穩(wěn)定電壓值所需時間。最短可達0.1S。 轉(zhuǎn)換速度轉(zhuǎn)換速度 DAC性能參數(shù)性能參數(shù) (2/2) 單調(diào)性單調(diào)性: 轉(zhuǎn)換器的模擬

5、輸出值與數(shù)字輸入值同增同減. 偏移誤差偏移誤差: 當輸入的數(shù)字量為0時,DAC輸出的模擬量的大小。 溫度系數(shù) 在輸入不變的情況下,輸出模擬電壓隨溫度變化產(chǎn)生的變化量。一般用滿刻 度輸出條件下溫度每升高1,輸出電壓變化的百分數(shù)作為溫度系數(shù)。 DAC12 模塊模塊 MSP430中的12位DAC模塊(DAC12)輸出的信號是電壓輸出的信號是電壓 所有的MSP430硬件開發(fā)工具都有這個模塊 實驗板上的MSP430F6638單片機具有兩個兩個DAC12模塊模塊, 它們可以組合在一起使用,并且可以輸出同步更新 DAC12 模塊模塊 DAC12 框圖框圖: DAC12 特征特征 12 位單調(diào)輸出單調(diào)輸出 8

6、位或12位電壓輸出分辨率分辨率 可編程的時間可編程的時間對能量的消耗 內(nèi)部或外部參考電壓參考電壓 二進制二進制或二進制補碼二進制補碼形式 具有自校驗自校驗功能 多路多路DAC同步更新 可直接用存儲器存儲(DMA) DAC12 操作操作(1/4) 動態(tài)范圍控制: DAC分辨率: 8位或12位 (DAC12RES位); 滿量程輸出: 1xVREF 、2xVREF 或 3xVREF (DAC12IR位和DAC12OG位); 輸入數(shù)據(jù)格式: 二進制或二的補碼 (DAC12DF位). 位數(shù)位數(shù)DAC12RESDAC12OGDAC12IR輸出電壓格式輸出電壓格式 12位位 000Vout = Vref 3

7、 (DAC12_xDAT/4096) 12位位 010Vout = Vref 2 x (DAC12_xDAT/4096) 12位位 0 x1Vout = Vref (DAC12_xDAT/4096) 8位位 100Vout = Vref 3 (DAC12_xDAT/256) 8位位 110Vout = Vref 2 (DAC12_xDAT/256) 8位位 1X1Vout = Vref (DAC12_xDAT/256) - 輸出電壓 (二進制數(shù)據(jù)格式): DAC12內(nèi)核內(nèi)核: DAC12 操作操作 (2/4) DAC12_xDAT數(shù)據(jù)格式: 數(shù)據(jù)格式與滿量程輸出電壓的關(guān)系: DAC12 操作操

8、作 (3/4) 配置DAC12LSELx位: DAC12LSELx = 0: 新寫入數(shù)據(jù)立即輸出; DAC12LSELx = 1: 分組(數(shù)據(jù)被鎖存); DAC12LSELx = 2: 數(shù)據(jù)在Timer_A的CCR1輸出信號的上升沿被鎖存; DAC12LSELx = 3: 數(shù)據(jù)在Timer_B的CCR2輸出信號的上升沿被鎖存. 更新更新DAC12 輸出電壓輸出電壓 (DAC12_xDAT寄存器): DAC12 操作操作 (4/4) 這種結(jié)構(gòu)提供了: 更強的系統(tǒng)靈活性; 沒有必需要執(zhí)行的代碼; 低功耗; 更高的效率. DAC12中斷: - DAC12輸出和DMA控制器共用同一個中斷向量 DAC1

9、2 寄存器(寄存器(1/4) 參考電壓選擇 選擇穩(wěn)定時間 及電流消耗 組合控制位 數(shù)據(jù)寄存器 分辨率 觸發(fā)源選擇 DAC使能 輸出校準 DAC12 寄存器寄存器(2/4) DAC12_xCTL, DAC12 控制寄存器 15141312111098 DAC12OPSDAC12SREFxDAC12RESDAC12LSELxDAC12CALONDAC12IR 76543210 DAC12AMPxDAC12DFDAC12IEDAC12IFGDAC12ENCDAC12GRP 8DAC12IRDAC12 input range: DAC12IR = 0 DAC12 full-scale output:

10、3x reference voltage DAC12IR = 1 DAC12 full-scale output: 1x reference voltage BitDescription 15DAC12OPSDAC12 output: DAC12OPS = 0DAC12_0 on P6.6, DAC12_1 on P6.7 DAC12OPS = 1DAC12_0 on VeREF+, DAC12_1 on P5.1 14-13DAC12REFxDAC12 reference voltage: DAC12REF1 DAC12REF0 = 00VREF+ DAC12REF1 DAC12REF0 =

11、 01VREF+ DAC12REF1 DAC12REF0 = 10VeREF+ DAC12REF1 DAC12REF0 = 11VeREF+ 12DAC12RESDAC12 resolution: DAC12RES = 012 bit resolution DAC12RES = 18 bit resolution 11-10DAC12LSELxDAC12 load: DAC12LSEL1 DAC12LSEL0 = 00 DAC12_xDAT written DAC12LSEL1 DAC12LSEL0 = 01 all grouped DAC12_xDAT written DAC12LSEL1

12、DAC12LSEL0 = 10 Rising edge of Timer_A.OUT1 (TA1) DAC12LSEL1 DAC12LSEL0 = 11 Rising edge of Timer_B.OUT2 (TB2) 9DAC12CALONDAC12 calibration initialized or in progress when DAC12CALON = 1 DAC12 寄存器寄存器(3/4) DAC12_xCTL, DAC12控制寄存器 15141312111098 DAC12OPSDAC12SREFxDAC12RESDAC12LSELxDAC12CALONDAC12IR 765

13、43210 DAC12AMPxDAC12DFDAC12IEDAC12IFGDAC12ENCDAC12GRP 7-5DAC12AMPxDAC12 amplifier setting: AMP2 AMP1 AMP0 = 000 AMP2 AMP1 AMP0 = 001 AMP2 AMP1 AMP0 = 010 AMP2 AMP1 AMP0 = 011 AMP2 AMP1 AMP0 = 100 AMP2 AMP1 AMP0 = 101 AMP2 AMP1 AMP0 = 110 AMP2 AMP1 AMP0 = 111 f: frequency (speed) I: current Input buf

14、fer: Off Off Low f / I Low f / I Low f / I Medium f / I Medium f / I High f / I Output buffer: DAC12 off (high Z) DAC12 off (0 V) Low f / I Medium f / I High f / I Medium f / I High f / I High f / I 4DAC12DFDAC12 data format: DAC12DF = 0Straight binary DAC12DF = 1Twos complement BitDescription 3DAC1

15、2IEDAC12 interrupt enable when DAC12IE = 1 2DAC12IFGDAC12 Interrupt flag DAC12IFG = 1 when interrupt pending 1DAC12ENCDAC12 enable when DAC12ENC = 1 and DAC12LSELx0. 0DAC12GRPGroups DAC12_x with the next higher DAC12_x when DAC12GRP = 1 (exception for DAC12_1) 76543210 DAC12AMPxDAC12DFDAC12IEDAC12IF

16、GDAC12ENCDAC12GRP DAC12 寄存器寄存器(4/4) 數(shù)據(jù)格式: DAC12SREFDAC12DFDAC12DFJ DAC12數(shù)據(jù)格式 00012位二進制數(shù)據(jù),右對齊,位11是最高位 00112位二進制數(shù)據(jù),左對齊,位15是最高位 01012位二的補碼數(shù)據(jù),右對齊,位11是符號位 01112位二的補碼數(shù)據(jù),左對齊,位15是符號位 1008位二進制數(shù)據(jù),右對齊,位7是最高位 1018位二進制數(shù)據(jù),左對齊,位15是最高位 1108位二的補碼數(shù)據(jù),右對齊,位7是符號位 1118位二的補碼數(shù)據(jù),左對齊,位15是符號位 DAC12_xDAT, DAC12數(shù)據(jù)寄存器 DAC12 庫函數(shù)(

17、庫函數(shù)(1/3) DAC12_VREF_X DAC12_AMP_X DAC12_enableGrouping() DAC12_setData() DAC12_TRIGGER_X DAC12_SUBMODULE_X DAC12_calibrateOutput() DAC12_enableConversions() DAC12_init() DAC12 庫函數(shù)庫函數(shù)(2/3) 片選片選 DAC12_SUBMODULE_0 DAC0 DAC12_SUBMODULE_1 DAC1 DAC12_init(_MSP430_BASEADDRESS_DAC12_2_, ) 參考電壓參考電壓 DAC12_VRE

18、F_VCC Default VCC DAC12_VREF_INT 內(nèi)部參考電壓 DAC12_VREF_EXT 外部參考電壓 觸發(fā)源觸發(fā)源 DAC12_TRIGGER_ENCBYPASSDefault DAC12_xDAT寫操作 DAC12_TRIGGER_ENC 組合DAC12_xDAT寫操作 DAC12_TRIGGER_TA Timer_A.OUT1 (TA1)上升沿 DAC12_TRIGGER_TB Timer_B.OUT2 (TB2)上升沿 DAC12 庫函數(shù)庫函數(shù)(2/3) DAC12_init(_MSP430_BASEADDRESS_DAC12_2_, ) 選擇輸出選擇輸出 DAC1

19、2_OUTPUT_1 Default DAC12_OUTPUT_2 穩(wěn)定時間穩(wěn)定時間/電流電流 Input buffer Output buffer DAC12_AMP_OFF_PINOUTHIGHZ off DAC12 off (high Z) DAC12_AMP_OFF_PINOUTLOW off DAC12 off (0 V) DAC12_AMP_LOWIN_LOWOUT Low f / I Low f / I DAC12_AMP_LOWIN_MEDOUT Low f / I Medium f / I DAC12_AMP_LOWIN_HIGHOUT Low f / I High f /

20、I DAC12_AMP_MEDIN_MEDOUT Medium f / I Medium f / I DAC12_AMP_MEDIN_HIGHOUT Medium f / I High f / I DAC12_AMP_HIGHIN_HIGHOUT High f / I High f / I DAC12 庫函數(shù)庫函數(shù)(3/3) DAC12_calibrateOutput(_MSP430_BASEADDRESS_DAC12_2_, DAC12_SUBMODULE_X); DAC12_setData(_MSP430_BASEADDRESS_DAC12_2_, DAC12_SUBMODULE_X, d

21、ata); DAC12_enableConversions(_MSP430_BASEADDRESS_DAC12_2_, DAC12_SUBMODULE_X); DAC12_enableGrouping(_MSP430_BASEADDRESS_DAC12_2_) 實驗實驗 : 電壓斜坡產(chǎn)生器電壓斜坡產(chǎn)生器 (1/16) 綜述綜述: 本次實驗將構(gòu)造一個電壓斜坡生成器。DAC模塊參考電壓可從ADC 模塊獲得; DAC模塊為12位分辨率、二進制輸入數(shù)據(jù)格式; DAC在Timer_A每毫秒產(chǎn)生一次中斷時更新一次輸出值; 按鍵SW1和SW2用于手動修改DAC輸出值; 當單片機不執(zhí)行任何任務(wù)時,則進入低功耗

22、模式. 實驗實驗 : 電壓斜坡產(chǎn)生器電壓斜坡產(chǎn)生器 (2/16) A. 資源資源: DAC12_0 模塊采用VREF+作為參考電壓。因此在ADC12模式下需要 激活這個參考電壓; 當Timer_A產(chǎn)生中斷時,更新DAC的輸出。將Timer_A配置成每毫秒 產(chǎn)生一次中斷; DAC輸出刷新之后,系統(tǒng)回到低功耗模式低功耗模式LPM3; 通過按鍵SW1和和SW2可以手動更改DAC的輸出值. 實驗實驗 : 電壓斜坡產(chǎn)生器電壓斜坡產(chǎn)生器 (3/16) B. 軟件應(yīng)用組織軟件應(yīng)用組織: 停止看門狗 配置Timer_A Timer_A產(chǎn)生中斷時更新 DAC的輸出 按鍵SW1和SW2分別連接到端口P1.0和 P

23、1.1 設(shè)置端口類型為輸入使能端口中斷 配置DAC ISR中斷源: 按鈕SW1-DAC輸出增加 按鈕SW2-DAC輸出減少 按鈕鍵控按鈕鍵控 斜波產(chǎn)生斜波產(chǎn)生 實驗實驗 : 電壓斜坡產(chǎn)生器電壓斜坡產(chǎn)生器 (4/16) C. 系統(tǒng)配置系統(tǒng)配置: DAC12 配置配置: DAC12_0輸出連接到P6.6; DAC12_0配置成12位分辨率; 當一個二進制格式的DAC12數(shù)據(jù)寫入到DAC12_0DAT寄存器時立即更新 輸出; 滿量程輸出必須等于VREF+ 2.5 V 內(nèi)部參考電壓 ; 通過選擇中頻/電流的輸入和輸出緩沖區(qū)來選擇一個時間與電流消耗之間 的折中辦法; 實驗實驗 : 電壓斜坡產(chǎn)生器電壓斜坡

24、產(chǎn)生器 (6/16) C. 系統(tǒng)配置系統(tǒng)配置 (續(xù)續(xù)): Timer_A 配置配置: 配置Timer_A寄存器每毫秒產(chǎn)生一次中斷; 使用ACLK時鐘信號作為時鐘源; 將Timer_A配置為向上計數(shù)模式,一直計數(shù)直到TAR值等于TACCR0值. 實驗實驗 : 電壓斜坡產(chǎn)生器電壓斜坡產(chǎn)生器 (7/16) C. 系統(tǒng)配置系統(tǒng)配置 (續(xù)續(xù)): I/O 端口配置端口配置: 當按下按鍵SW1或SW2時,端口P1的引腳P1.0和P1.2將產(chǎn)生電平變化, 并在低電平到高電平跳變時產(chǎn)生中斷. 實驗實驗 : 電壓斜坡產(chǎn)生器電壓斜坡產(chǎn)生器(8/16) D. 操作分析操作分析: 使用示波器監(jiān)聽模擬信號使用示波器監(jiān)聽模

25、擬信號: 連接示波器 測量電流測量電流: 分配不同值到DAC12AMP0的比特組; 暫停執(zhí)行應(yīng)用程序并且直接改變寄存器; 禁用DAC12EC位. 這一位在之后需啟用. 請注意一些特殊的情況: DAC12關(guān)閉; 高阻抗輸出和DAC12關(guān)閉; 輸出: 0 V. 實驗實驗 : 電壓斜坡產(chǎn)生器電壓斜坡產(chǎn)生器 (9/16) DAC12 配置(寄存器)配置(寄存器): DAC12_0DAT = 0 x00; / DAC_0輸出0V DAC12_0CTL0 = DAC12IR | DAC12AMP_5 | DAC12ENC; / P6.6輸出 / 1倍輸出 / 中速度/電流 ADC12_0CTL0 = RE

26、F2_5V | REFON; / 2.5V參考電壓 實驗實驗 : 電壓斜坡產(chǎn)生器電壓斜坡產(chǎn)生器 (9/16) DAC12 配置(庫函數(shù))配置(庫函數(shù)): DAC12_setData(_MSP430_BASEADDRESS_DAC12_2_, DAC12_SUBMODULE_0, 0 x000); / DAC_0輸出0V DAC12_init(_MSP430_BASEADDRESS_DAC12_2_, DAC12_SUBMODULE_0, /DAC0 DAC12_OUTPUT_0, / P6.6輸出 DAC12_VREF_INT , / 2.5V參考電壓 DAC12_VREFx1, / 1倍輸出 DAC12_AMP_MEDIN_MEDOUT, / 中速度/電流 DAC12_TRIGGER_ENCBYPASS); DAC12_c

溫馨提示

  • 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

提交評論