理解ADC誤差對系統性能的影響(一)
圖1a. DNL誤差:沒有丟碼。
圖1b. DNL誤差:沒有丟碼。
圖1c. DNL誤差:丟失10碼。
圖1d. DNL誤差:AIN*數字輸入是三種可能數值之一,掃描到輸入電壓時,10碼將會丟失。
隨著DNL誤差值的偏移(也就是說-1LSB,+2LSB),ADC轉換函數會發生變化。偏移了的DNL值理論上仍然可以沒有丟碼。關鍵是要以-1LSB作為底限。值得注意的是DNL在一個方向上進行測量,通常是沿著轉換函數向上走。將造成碼[N]跳變所需的輸入電壓值和碼[N+1]時相比較。如果相差為1LSB,DNL誤差就為零。如果大于1LSB,則DNL誤差為正值;如果小于1LSB,DNL誤差則為負值。
有丟碼并非一定是壞事。如果你只需要13位分辨率,同時你有兩種選擇,一個是DNL指標≤ ±4LSB的16位ADC (相當于無丟碼的14位),價格為5美元,另一個是DNL ≤ ±1LSB的16位ADC,價格為15美元,這時候,購買一個低等級的ADC將大幅度地節省你的元件成本,同時又滿足了你的系統要求。
積分非線性
積分非線性(INL)定義為DNL誤差的積分,因此較好的INL指標意味著較好的DNL。INL誤差告訴設計者轉換器測量結果距離理想轉換函數值有多遠。繼續我們的舉例,對于一個12位系統來講,±2LSB的INL誤差相當于2/4096或0.05%的最大非線性誤差(這已占去ADC誤差預算的2/3)。因此,有必要選用一個1LSB (或更好)的器件。對于±1LSB的INL誤差,等效精度為0.0244%,占ADC誤差預算的32.5%。對于0.5LSB的指標,精度為0.012%,僅占ADC誤差預算的16% (0.0125%/0.075%)。需要注意的是,無論是INL或DNL帶來的誤差,都不太容易校準或修正。
失調和增益誤差
失調和增益誤差很容易利用微控制器(μC)或數字信號處理器(DSP)修正過來。就失調誤差來講,如果轉換器允許雙極性輸入信號的話,操作將非常簡單。對于雙極性系統,失調誤差只是平移了轉換函數,但沒有減少可用編碼的數量(圖2)。有兩套方法可以使雙極性誤差歸零。其一,你可以將轉換函數的x或y軸平移,使負滿度點與單極性系統的零點相對準(圖3a)。利用這種方法,可以簡單地消除失調誤差,然后,通過圍繞“新”零點旋轉轉換函數可以對增益誤差進行調節。第二種技術采用了一種迭代法。首先給ADC輸入施加一個0V電壓并執行一次轉換;轉換結果反映了雙極性零點失調誤差。然后,通過圍繞負滿度點旋轉轉換曲線實現增益調節(圖3b)。注意此時轉換函數已繞A點轉過一定角度,使零點偏離了期望的轉換函數。因此還需要進一步的失調誤差校正。
圖2. 雙極性系統的失調誤差

評論