原則上,您向DAC提供數字輸入,并提供精確的輸出電壓。實際上,輸出電壓的精度受DAC和信號鏈中其他元件的增益和失調誤差的影響。系統設計人員必須補償這些誤差,以獲得精確的輸出電壓。這可以通過外部組件和制造后修整來實現。數字校準修改發送到DAC的輸入,從而考慮增益和失調誤差,從而消除了對外部元件和微調的需求。
開環系統的校準
開環系統沒有反饋路徑,因此設計人員可以相信輸出電壓處于正確的值。高精度通常需要具有14至16位分辨率的精密DAC。積分非線性(INL)和微分非線性(DNL)的數據手冊規格不包括增益和失調誤差。這些誤差因設備而異,必須先測量,然后才能刪除。這通常作為工廠校準的一部分完成。
圖1顯示了理想DAC與實際DAC的傳遞函數。在本例中,當預期輸出為0 V時,失調誤差會導致輸出電壓為負,增益誤差產生的跨度大于預期范圍。
圖1.DAC 傳遞函數
傳遞函數可以建模為由 y = mx +c 描述的直線。
其中:
y 是輸出
m 是傳遞函數的斜率
x 是 DAC 的輸入
c 是失調電壓
理想DAC的增益(m)為1,失調(c)為0,輸出以完美的線性方式跟蹤輸入。實際DAC具有非理想的增益和失調值,一旦已知即可進行補償。
以標稱輸出范圍為16 V至0 V的10位DAC為例。當數字輸入設置為0時,測量–30 mV輸出。當數字輸入設置為65,535(滿量程)時,將測量10.02 V輸出。
由此,我們可以確定:
失調誤差為 –30 mV
量程誤差為 20 mV – (–30 mV) = 50 mV,實際量程為 10.05V
增益為 10.05 V/10 V = 1.005
補償增益誤差
為了補償增益誤差,DAC的數字輸入必須乘以增益誤差的倒數:
x 1 = x × (10 V/10.05 V)
其中 x 是所需的輸入,x1 是加載到 DAC 的值。輸入為 0 和 65,535 將產生 10.05V 跨度,而 0 和 65,209 的輸入將產生所需的 10V 跨度。
補償失調誤差
失調誤差導致DAC在數字輸入為0時產生0 V以外的輸出電壓。失調誤差可以通過在DAC輸入中添加或減去一個等效數字來測量和消除。
在本例中,DAC有65,536個可能的代碼,輸出范圍為10.05V。這意味著每 1 LSB(最低有效位)步長為
10.05 V/65536 = 153.35 μV。
在本例中,–30 mV失調相當于(30 mV/153.35 μV)= 196 LSB。因此,寫入DAC的值196將產生0 V的輸出電壓。
將一切整合在一起
補償增益和失調誤差可產生精確的電壓。下面的公式顯示了如何計算正確的DAC輸入以產生所需的電壓。
實際DAC輸入 = (10 V/10.05 V) × 理想 DAC 輸入 + 196
替代選項
在DSP或微處理器中執行這些計算需要額外的開銷,這可能既昂貴又耗時。一些DAC包括片內寄存器,允許在DAC中進行計算,從而釋放處理器來執行其他功能。AD536x、AD537x、AD538x和AD539x系列密集DAC ?多通道DAC具有8至40個通道,分辨率為12至16位。單電源版本可產生 5V 輸出。雙電源版本可產生 ±10V 輸出。每個器件的每個通道都有專用的m和c寄存器,允許每個通道的增益和失調校準。
圖2顯示了AD5370 16位、40通道DAC的一個通道。計算 m 和 c 寄存器的值的過程如下所述:
通過將DAC輸入設置為零和滿量程來測量失調和滿量程誤差。
通過將范圍除以可能的代碼數(在本例中為 65536)來計算實際 LSB 大小
從默認的 m 寄存器值中減去與超額跨度對應的 LSB 數。例如,50 V范圍內10 mV的超量范圍相當于326 LSB
將與偏移量對應的LSB數量添加到默認c寄存器值。例如,–10 mV的失調為65 LSB
現在可以將DAC視為理想值,并計算適當的值以補償內部和系統誤差。
圖2.AD5370 DAC的單通道
審核編輯:郭婷
-
轉換器
+關注
關注
27文章
8707瀏覽量
147236 -
寄存器
+關注
關注
31文章
5343瀏覽量
120424 -
dac
+關注
關注
43文章
2296瀏覽量
191108
發布評論請先 登錄
相關推薦
評論