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

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 數(shù)模轉(zhuǎn)換器的開(kāi)環(huán)校準(zhǔn)技術(shù)

          數(shù)模轉(zhuǎn)換器的開(kāi)環(huán)校準(zhǔn)技術(shù)

          作者: 時(shí)間:2023-06-27 來(lái)源: 收藏

          原則上,您向DAC提供數(shù)字輸入,并提供精確的輸出電壓。實(shí)際上,輸出電壓的精度受DAC和信號(hào)鏈中其他元件的增益和失調(diào)誤差的影響。系統(tǒng)設(shè)計(jì)人員必須補(bǔ)償這些誤差,以獲得精確的輸出電壓。這可以通過(guò)外部組件和制造后修整來(lái)實(shí)現(xiàn)。數(shù)字校準(zhǔn)修改發(fā)送到DAC的輸入,從而考慮增益和失調(diào)誤差,從而消除了對(duì)外部元件和微調(diào)的需求。

          本文引用地址:http://www.ex-cimer.com/article/202306/447972.htm

          原則上,您向DAC提供數(shù)字輸入,并提供精確的輸出電壓。實(shí)際上,輸出電壓的精度受DAC和信號(hào)鏈中其他元件的增益和失調(diào)誤差的影響。系統(tǒng)設(shè)計(jì)人員必須補(bǔ)償這些誤差,以獲得精確的輸出電壓。這可以通過(guò)外部組件和制造后修整來(lái)實(shí)現(xiàn)。數(shù)字校準(zhǔn)修改發(fā)送到DAC的輸入,從而考慮增益和失調(diào)誤差,從而消除了對(duì)外部元件和微調(diào)的需求。
          開(kāi)環(huán)系統(tǒng)的校準(zhǔn)
          開(kāi)環(huán)系統(tǒng)沒(méi)有反饋路徑,因此設(shè)計(jì)人員可以相信輸出電壓處于正確的值。高精度通常需要具有14至16位分辨率的精密DAC。積分非線性(INL)和微分非線性(DNL)的數(shù)據(jù)手冊(cè)規(guī)格不包括增益和失調(diào)誤差。這些誤差因設(shè)備而異,必須先測(cè)量,然后才能刪除。這通常作為工廠校準(zhǔn)的一部分完成。
          圖1顯示了理想DAC與實(shí)際DAC的傳遞函數(shù)。在本例中,當(dāng)預(yù)期輸出為0 V時(shí),失調(diào)誤差會(huì)導(dǎo)致輸出電壓為負(fù),增益誤差產(chǎn)生的跨度大于預(yù)期范圍。

          數(shù)模轉(zhuǎn)換器的開(kāi)環(huán)校準(zhǔn)技術(shù)


          圖1.DAC 傳遞函數(shù)

          傳遞函數(shù)可以建模為由 y = mx +c 描述的直線。
          其中:
          y 是輸出
          m 是傳遞函數(shù)的斜率
          x 是 DAC 的輸入
          c 是失調(diào)電壓
          理想DAC的增益(m)為1,失調(diào)(c)為0,輸出以完美的線性方式跟蹤輸入。實(shí)際DAC具有非理想的增益和失調(diào)值,一旦已知即可進(jìn)行補(bǔ)償。
          以標(biāo)稱輸出范圍為16 V至0 V的10位DAC為例。當(dāng)數(shù)字輸入設(shè)置為0時(shí),測(cè)量–30 mV輸出。當(dāng)數(shù)字輸入設(shè)置為65,535(滿量程)時(shí),將測(cè)量10.02 V輸出。
          由此,我們可以確定:
          失調(diào)誤差為 –30 mV
          量程誤差為 20 mV – (–30 mV) = 50 mV,實(shí)際量程為 10.05V
          增益為 10.05 V/10 V = 1.005
          補(bǔ)償增益誤差
          為了補(bǔ)償增益誤差,DAC的數(shù)字輸入必須乘以增益誤差的倒數(shù):
          x 1 = x × (10 V/10.05 V)
          其中 x 是所需的輸入,x1 是加載到 DAC 的值。輸入為 0 和 65,535 將產(chǎn)生 10.05V 跨度,而 0 和 65,209 的輸入將產(chǎn)生所需的 10V 跨度。
          補(bǔ)償失調(diào)誤差
          失調(diào)誤差導(dǎo)致DAC在數(shù)字輸入為0時(shí)產(chǎn)生0 V以外的輸出電壓。失調(diào)誤差可以通過(guò)在DAC輸入中添加或減去一個(gè)等效數(shù)字來(lái)測(cè)量和消除。
          在本例中,DAC有65,536個(gè)可能的代碼,輸出范圍為10.05V。這意味著每 1 LSB(最低有效位)步長(zhǎng)為
          10.05 V/65536 = 153.35 μV。
          在本例中,–30 mV失調(diào)相當(dāng)于(30 mV/153.35 μV)= 196 LSB。因此,寫(xiě)入DAC的值196將產(chǎn)生0 V的輸出電壓。
          將一切整合在一起
          補(bǔ)償增益和失調(diào)誤差可產(chǎn)生精確的電壓。下面的公式顯示了如何計(jì)算正確的DAC輸入以產(chǎn)生所需的電壓。
          實(shí)際DAC輸入 = (10 V/10.05 V) × 理想 DAC 輸入 + 196
          替代選項(xiàng)
          在DSP或微處理器中執(zhí)行這些計(jì)算需要額外的開(kāi)銷,這可能既昂貴又耗時(shí)。一些DAC包括片內(nèi)寄存器,允許在DAC中進(jìn)行計(jì)算,從而釋放處理器來(lái)執(zhí)行其他功能。AD536x、AD537x、AD538x和AD539x系列密集DAC ?多通道DAC具有8至40個(gè)通道,分辨率為12至16位。單電源版本可產(chǎn)生 5V 輸出。雙電源版本可產(chǎn)生 ±10V 輸出。每個(gè)器件的每個(gè)通道都有專用的m和c寄存器,允許每個(gè)通道的增益和失調(diào)校準(zhǔn)。
          圖2顯示了AD5370 16位、40通道DAC的一個(gè)通道。計(jì)算 m 和 c 寄存器的值的過(guò)程如下所述:
          通過(guò)將DAC輸入設(shè)置為零和滿量程來(lái)測(cè)量失調(diào)和滿量程誤差。


          ●通過(guò)將范圍除以可能的代碼數(shù)(在本例中為 65536)來(lái)計(jì)算實(shí)際 LSB 大小
          ●從默認(rèn)的 m 寄存器值中減去與超額跨度對(duì)應(yīng)的 LSB 數(shù)。例如,50 V范圍內(nèi)10 mV的超量范圍相當(dāng)于326 LSB
          ●將與偏移量對(duì)應(yīng)的LSB數(shù)量添加到默認(rèn)c寄存器值。例如,–10 mV的失調(diào)為65 LSB

          現(xiàn)在可以將DAC視為理想值,并計(jì)算適當(dāng)?shù)闹狄匝a(bǔ)償內(nèi)部和系統(tǒng)誤差。

          數(shù)模轉(zhuǎn)換器的開(kāi)環(huán)校準(zhǔn)技術(shù)


          圖2.AD5370 DAC的單通道

          (作者:Ken Kavanagh)



          關(guān)鍵詞: 數(shù)模轉(zhuǎn)換器

          評(píng)論


          相關(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); })();