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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 差分輸出、電流模式DAC的參數和測量方法

          差分輸出、電流模式DAC的參數和測量方法

          作者: 時間:2010-08-08 來源:網絡 收藏


          MAX5890和其他Maxim 14位器件使用5-4-3-2分段體系結構,14位體系結構的編碼組如表2所示。MAX5889和其他Maxim 12位器件使用5-4-3體系結構,12位體系結構的編碼組如表3所示。

          表2. 5-4-3-2體系結構的14位編碼組



          表3. 5-4-3體系結構的12位編碼組



          定義了編碼組后,必須解決采集測量點的問題。適合這類測量的萬用表是Agilent? 3458,分辨率高達8.5位。該表連接在MAX5891的OUTP和OUTN端之間,輸出端以50Ω負載接地。當設置為20mA滿量程電流時,萬用表輸入得到的電壓擺幅是±1V。

          萬用表量程設置為固定的1.2V,使用最大分辨率,得到10nV最小測量結果。切換表的量程會增大測量值的增益誤差;因此,使用單電壓量程可以避免其他的誤差源。由于需要鎖存數字輸入,MAX5891還需要時鐘信號。一旦連接好了萬用表、時鐘源、電源和數字輸入控制,就可以采集線性度測量點。

          采集所有測量點后,需要畫出重建后的輸出傳輸函數。由于對每一電流源都進行了測量,很容易產生對應于所有編碼的傳輸函數。例如,考慮器件的4個LSB。我們測量編碼0x8000、0x8001、0x8002、0x8004和0x8008。對于編碼0x8000,LSB計算的基準是量程中部。LSB權重是在0x8001測得的電壓值減去在0x8000測得的電壓值。

          在0x8001和0x8780之間測量的所有編碼采用相同的公式。0x0800到0xF800的其他點是MSB電流源,以編碼0x0000為基準進行計算。考慮編碼0x4F31作為各種電流相加的例子。

          首先,我們需要確定哪一測量點什么時候相加能夠等于實例編碼。0x4800是小于目標編碼的最大MSB。從0x4F31中減去0x4800后的余數為0x0331。編碼0x0300是可以減掉的次最大編碼(0x8300 - 0x8000),隨后是0x0030 (0x8030 - 0x8000),最后是0x0001 (0x8001 - 0x8000)。

          因此,可以采用下面的等式來表示編碼0x4F31的電壓值:

          [V(0x4800) - V(0x0000)] + [V(0x8300) - V(0x8000)] + [V(0x8030) - V(0x8000)] + [V(0x8001) - V(0x8000)](公式1)

          使用相似的等式,可以計算任意給定輸入編碼的電壓值。利用MATLAB?或Excel?軟件等工具可以很容易地計算所有編碼的電壓,重建全部的DAC傳輸。

          一旦建立了傳輸函數,就可以計算線性度。第一步是根據傳輸函數的端點計算LSB的電壓值(端點法)。

          VLSB = [V(0xFFFF) - V(0x0000)]/[2N - 1](公式2)

          其中

          N是器件分辨率 (16、14或者12位)

          V(0x0000)是測得的DAC零標輸出電壓。

          V(0xFFFF)是測得的DAC滿幅輸出電壓。

          采用下面的等式來計算任意給定編碼的INL:

          INLCODE(LSB) = [VCODE - (CODE × VLSB)]/VLSB(公式3)

          其中

          CODE是要計算的數字編碼。

          VLSB是公式2中計算的電壓值。


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();