<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設(shè)計應(yīng)用 > 高性能nanoDAC AD5611的原理及應(yīng)用

          高性能nanoDAC AD5611的原理及應(yīng)用

          ——
          作者:武警工程學(xué)院 金劍 巴特爾 時間:2006-10-17 來源:今日電子 收藏

          摘 要:是美國模擬器件公司(ADI)生產(chǎn)的一款單電源串行10位nanoDAC系列,特別適用于以電池供電的便攜式儀器。文中介紹了的性能特點(diǎn)、內(nèi)部結(jié)構(gòu)和設(shè)計考慮,同時給出了由組成的雙極性電壓輸出D/A轉(zhuǎn)換器的應(yīng)用電路。

          關(guān)鍵詞;AD5611;

          概述

          --- AD5611是一款易控制、小尺寸、低功耗的10位DAC,在5V時的最大工作電流為100μA,并保證有單調(diào)的性能。在節(jié)電模式下,AD5611工作電壓為3V時的功耗電流小于100nA,芯片還可通過軟件選擇輸出負(fù)載。AD5611利用通用將時鐘頻率上升到30MHz,同時與SPI、QSPI、MICROWIRE、DSP等接口標(biāo)準(zhǔn)兼容。AD5611的基準(zhǔn)電壓源來自電源輸入,因此獲得了很寬的動態(tài)輸出范圍,該部分同時合并了加電復(fù)位電路,確保無輸入信號時DAC的輸出端電平始終保持為0V。AD5611具有軌到軌輸出緩沖放大器,可實(shí)現(xiàn)0.5V/μs的轉(zhuǎn)換速率,還具有同步中斷控制功能。

          由于以上這些特點(diǎn),使AD5611很適合作為電壓準(zhǔn)位設(shè)定,主要用于消費(fèi)類電子產(chǎn)品和手持設(shè)備、數(shù)字增益和偏移量調(diào)整、可編程電壓源、可編程電流源和可編程衰減器等場合,例如數(shù)碼相機(jī)、PDA、手機(jī)音量控制或背光顯示屏亮度控制等。

          AD5611的內(nèi)部結(jié)構(gòu)如圖1所示,芯片由施密特觸發(fā)輸入電路、基準(zhǔn)源、加電復(fù)位電路、移位寄存器、輸入控制邏輯、節(jié)電控制邏輯模塊、輸出緩沖放大器及電阻網(wǎng)絡(luò)等部分組成。

          設(shè)計要點(diǎn)

          AD5611的內(nèi)部主要器件為DAC移位寄存器、電阻網(wǎng)絡(luò)和輸出緩沖放大器。由于輸入到DAC的數(shù)據(jù)是直接二進(jìn)制格式,因此,從理論上得到的輸出電壓應(yīng)該為,其中,VDD是芯片的工作電源電壓,D是輸入二進(jìn)制數(shù)據(jù)的十進(jìn)制形式。

          AD5611的(SYNC、SCLK和DIN)可兼容SPI、QSPI、MICROWIRE接口協(xié)議標(biāo)準(zhǔn)。AD5611為單向通信,只有外部的寫操作,當(dāng)SYNC由高電平跳至低電平時,通信開始,DIN在SCLK時鐘信號的控制下,在SCLK的下降沿將數(shù)據(jù)輸入16位移位寄存器。只有當(dāng)16位數(shù)據(jù)全部輸入寄存器,即SCLK的第16個下降沿過后,移位寄存器才將最新的數(shù)據(jù)加載進(jìn)去,從而完成一次完整的寫操作。在串行數(shù)據(jù)輸入過程中,SYNC必須保持為低電平,直到通信結(jié)束,否則,寫操作無效。如果在對AD5611進(jìn)行一次寫操作后,緊接著要進(jìn)行第二次寫操作,那么在第一次寫操作完成后至少應(yīng)保持33ns的高電平,以使SYNC能產(chǎn)生一個下降沿來啟動下一次寫時序。

          輸入移位寄存器為16位寬度,如圖2所示。PD0位和PD1位是控制位,用以控制功率操作模式(標(biāo)準(zhǔn)模式或三種節(jié)電模式中的一種模式)。D0~D13位是數(shù)據(jù)位,在SCLK波形的第16個下降沿時傳輸至DAC寄存器。

          AD5611有四種獨(dú)立的工作模式,工作模式的選擇通過軟件設(shè)置寄存器的DB15和DB14位來完成,工作模式和真值表的對應(yīng)關(guān)系見圖3中。AD5611在標(biāo)準(zhǔn)模式下,輸出端VOUT輸出與數(shù)字量成正比的模擬電平;而在節(jié)電模式下,其輸出端VOUT將在芯片內(nèi)部通過一個電阻接地或保持開路。節(jié)電模式下的三種工作模式分別為輸出端接1kΩ電阻到地、輸出端接100kΩ電阻到地、輸出端斷開電路(三態(tài))。 

          節(jié)電模式被激活時,偏壓發(fā)生器、輸出放大器及其他相關(guān)的線性電路將全部關(guān)閉,但DAC寄存器中的內(nèi)容不受影響。在VDD=5V和VDD=3V兩種情況下,退出節(jié)電模式的時間分別對應(yīng)為2.5μs和5μs。
          飛利浦公司生產(chǎn)的單片機(jī)在微控制器領(lǐng)域有著十分廣泛的應(yīng)用,而AD5611的通用三線串口可方便地與其接口。圖3給出了AD5611與單片機(jī)傳輸數(shù)據(jù)的接口原理圖。當(dāng)RXD信號驅(qū)動AD5611的串行數(shù)據(jù)線(DIN)時,TXD信號則用來作為串行時鐘線(SCLK)的驅(qū)動信號。當(dāng)數(shù)據(jù)傳輸?shù)紸D5611時,P3.3應(yīng)被置為低電平。因為80C51是以8位數(shù)據(jù)(1字節(jié))作為數(shù)據(jù)傳輸?shù)膯挝?,所以傳輸周期只?jīng)歷8時鐘的下降沿。為了將數(shù)據(jù)加載到轉(zhuǎn)換器,當(dāng)前8位數(shù)據(jù)傳輸完畢時,P3.3就應(yīng)該置為低電平,啟動一個新的寫周期以傳輸下一個字節(jié)。當(dāng)完成一個寫周期后,P3.3即變?yōu)楦唠娖健鬏敂?shù)據(jù)時,80C51先輸出數(shù)據(jù)的最低有效位(LSB),而AD5611則只能先接收數(shù)據(jù)的最高有效位(MSB),這一點(diǎn)是在對80C51編程時需要加以考慮的。

          前面介紹到AD5611為單極性電源操作,但在實(shí)際應(yīng)用中也可通過運(yùn)算放大器等相關(guān)元件和AD5611組成雙極性電壓輸出D/A轉(zhuǎn)換電路。圖4所示電路是由AD5611和運(yùn)算放大器AD820組成的雙極性電壓輸出D/A轉(zhuǎn)換電路,其數(shù)字量0x0000對應(yīng)于模擬輸出電壓的-5V,而0x3FFF則對應(yīng)+5V的模擬輸出電壓。輸出電壓可根據(jù)下式計算得到:

          這里,D表示輸入數(shù)據(jù)的十進(jìn)制形式。當(dāng)VDD=5V,R1=R2=10kΩ時,
          ; 

          結(jié)束語

          AD5611具有接口簡單、使用方便、便于精密輸出控制等特點(diǎn),同時又具備很低的功耗,能夠滿足當(dāng)前系統(tǒng)對低功耗、小封裝和低成本的要求。


          參考文獻(xiàn)

          1 Analog Devices. nanoDAC D/A, SPI Interface. SC70 Package.2004
          2 周立功.增強(qiáng)型80C51單片機(jī)速成與實(shí)戰(zhàn). 2003
          3 劉書明.高性能模數(shù)與件. 2000
          4 張友德. 飛利浦80C51系列單片機(jī)原理與應(yīng)用技術(shù)手冊.1992 



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();