了解ADC差分非線性(DNL)誤差
了解可能影響系統(tǒng)響應(yīng)的缺陷,即ADC的非線性,即微分非線性(DNL)和積分非線性(INL)規(guī)范。
本文引用地址:http://m.butianyuan.cn/article/202409/462774.htm真實(shí)世界的模數(shù)轉(zhuǎn)換器(ADC)的傳遞函數(shù)可能由于諸如偏移和增益誤差的影響而偏離理想響應(yīng)。另一個(gè)可能影響系統(tǒng)響應(yīng)的缺陷是ADC的非線性。不同的規(guī)格通常用于表征ADC的線性。對(duì)于測(cè)量和控制應(yīng)用,微分非線性(DNL)和積分非線性(INL)規(guī)范是有用的性能指標(biāo)。然而,當(dāng)處理通信系統(tǒng)時(shí),雜散自由動(dòng)態(tài)范圍(SFDR)規(guī)范通常是評(píng)估ADC線性性能的更好方法。
1 微分非線性(DNL)
深入來看,讓我們來看圖1中的藍(lán)色曲線,它顯示了3位單極ADC的理想傳遞函數(shù)。
顯示3位單極ADC理想傳遞函數(shù)的示例。
圖1 顯示3位單極ADC理想傳遞函數(shù)的示例
理想的響應(yīng)表現(xiàn)出均勻的梯段輸入輸出特性,這意味著每個(gè)轉(zhuǎn)變都發(fā)生在前一個(gè)轉(zhuǎn)變的1LSB(最低有效位)。實(shí)際上,臺(tái)階寬度可能與理想值(1LSB)不同。上面的紫色曲線顯示了假設(shè)的ADC的響應(yīng),其中步驟不均勻。在這個(gè)例子中,代碼010的寬度是1.25LSB,而下一個(gè)代碼呈現(xiàn)更小的0.54LSB的寬度。DNL規(guī)范描述了ADC步距如何偏離理想值。
對(duì)于ADC,第k個(gè)代碼的DNL由以下方程式定義:
其中W(k)和Wideal分別表示第k個(gè)碼的寬度和理想步長。舉個(gè)例子,對(duì)于上圖中的代碼1(或001),我們有:
這意味著代碼1的寬度比理想值大0.125 LSB。代碼3(或011)具有0.54 LSB的寬度,產(chǎn)生-0.46 LSB的負(fù)DNL。注意,非理想代碼轉(zhuǎn)換可能導(dǎo)致“代碼缺失”
例如,上述ADC不產(chǎn)生任何輸入值的代碼5(101)。對(duì)于缺少的代碼,我們可以假設(shè)步長為零,導(dǎo)致DNL為-1。最后,在我們的例子中,代碼6(110)具有理想的寬度,即DNL(6)=0。當(dāng)計(jì)算DNL值時(shí),我們假設(shè)ADC的偏移和增益誤差已經(jīng)被校準(zhǔn)掉。這意味著第一個(gè)和最后一個(gè)轉(zhuǎn)變發(fā)生在理想值處,并且因此對(duì)于第一個(gè)和最后一個(gè)步驟不定義DNL誤差。
2 使用ADS8860表示ADC數(shù)字降噪信息
我們可以將上述信息表示為針對(duì)代碼值的DNL圖。對(duì)于以上實(shí)例,我們得出以下圖。
圖2 DNL與代碼值的關(guān)系圖
DNL通常也表示為所有代碼中的最小值和最大值。我們假設(shè)的ADC的DNL介于-1 LSB和+1.1 LSB之間。圖3顯示了ADS8860的典型DNL圖,ADS8860是來自TI的一個(gè)16位逐次逼近寄存器(SAR)ADC。
圖3 圖片由TI提供
ADS8860的最大公稱通徑為±1.0 LSB,無漏碼。指定最大DNL錯(cuò)誤+/-1 LSB的ADC通常顯式說明設(shè)備是否缺少代碼。通常保證“無漏碼”。一些ADC數(shù)據(jù)表,如ADS8860,也提供了DNL與溫度的關(guān)系圖。
3 使用ADC DNL進(jìn)行控制和測(cè)量應(yīng)用
為了更好地理解DNL規(guī)范在控制和測(cè)量系統(tǒng)中的影響,讓我們考慮圖4中所示的示例。
圖4 顯示腔室溫度調(diào)整的反饋系統(tǒng)示例
在本例中,反饋系統(tǒng)試圖調(diào)整腔室的溫度。溫度數(shù)據(jù)由ADC進(jìn)行數(shù)字化并傳輸至處理器(MCU)。MCU將溫度與所需值進(jìn)行比較,并且最有可能使用諸如PID(比例積分微分)控制器的控制方案來產(chǎn)生用于數(shù)模轉(zhuǎn)換器(DAC)的適當(dāng)輸入。最后,DAC通過緩沖級(jí)驅(qū)動(dòng)加熱器。
假設(shè)試驗(yàn)室溫度始終在30°C至37°C的范圍內(nèi),我們需要以1°C的分辨率測(cè)量溫度。因此,假設(shè)ADC量化誤差是我們系統(tǒng)中唯一的誤差來源,我們可以使用三位ADC,因?yàn)樗a(chǎn)生應(yīng)用程序所需的8個(gè)不同的輸出代碼。將溫度傳感器的輸出電壓調(diào)整到ADC的輸入范圍后,30°C至37°C的溫度范圍將對(duì)應(yīng)于0至7 LSB范圍,如圖5所示。
圖5 顯示數(shù)字輸出與模擬輸入和溫度的關(guān)系的曲線圖
對(duì)于理想的ADC,階躍是均勻的,并且每個(gè)階躍都發(fā)生在上一階躍的1LSB處(第一階躍除外)。因此,系統(tǒng)可確保檢測(cè)溫度變化1°C。例如,當(dāng)溫度從略微高于31.5℃(圖中A點(diǎn))到略微高于32.5℃(B點(diǎn))時(shí),輸出代碼從010更改為011。然而,假設(shè)實(shí)際ADC不產(chǎn)生統(tǒng)一的步進(jìn),并且呈現(xiàn)一些DNL誤差。例如,假設(shè)ADC具有如圖1所示的非線性特性。這將如何影響系統(tǒng)的性能?在這種情況下,系統(tǒng)響應(yīng)可通過下圖描述。
圖6 系統(tǒng)響應(yīng)示例
假設(shè)溫度最初為31.625℃(A點(diǎn)),然后逐漸上升。在溫度達(dá)到約32.875℃的B點(diǎn)之前,系統(tǒng)無法檢測(cè)溫度變化。因此,測(cè)量分辨率約為1.25℃,而不是1℃。代碼4對(duì)應(yīng)的步驟更寬,導(dǎo)致本地分辨率為2.1°C。
4 了解轉(zhuǎn)換器分辨率與精確度和DNL誤差
區(qū)分以上討論的分辨率問題和轉(zhuǎn)換器的精確度是很重要的。為了更好地理解這一點(diǎn),請(qǐng)考慮以下用于腔室實(shí)例的轉(zhuǎn)換器。
圖7
代碼3(011)的寬度為2 LSB,因此我們知道此時(shí)系統(tǒng)的局部分辨率為2°C。然而,這是否意味著測(cè)量精度為2℃?上圖顯示了理想轉(zhuǎn)換器的理想樓梯響應(yīng)(藍(lán)色曲線)和線性模型(綠色線)。我們可以將實(shí)際響應(yīng)與線性模型進(jìn)行比較,以確定測(cè)量誤差(或系統(tǒng)的精確度)。
非理想曲線與線性模型的最大偏差出現(xiàn)在A點(diǎn)和B點(diǎn),等于1LSB。我們測(cè)量時(shí)引入的誤差為±1℃;然而,本地分辨率為2℃。這是因?yàn)镈NL誤差可為正或負(fù)。實(shí)際響應(yīng)與理想曲線的凈偏差取決于正和負(fù)DNL項(xiàng)在代碼中的分布方式。在上面的例子中,代碼1和2的兩個(gè)負(fù)DNL錯(cuò)誤之后是代碼3的正DNL。這有助于實(shí)際響應(yīng)再次接近理想曲線。然而,在以下示例中,負(fù)項(xiàng)累積并導(dǎo)致與理想響應(yīng)的更大偏差。
圖8 示例響應(yīng)越來越接近理想曲線
在這個(gè)實(shí)例中,前5個(gè)步驟具有-0.25 LSB的DNL,并且只有代碼6具有正的DNL。因此,誤差累積并導(dǎo)致a點(diǎn)的最大誤差為1.75 LSB(來自線性模型)。雖然分辨率接近前面的示例(2.25°C),但測(cè)量誤差為1.75°C(而不是前面的示例中的1°C)。
以上討論表明,DNL誤差不能完全描述ADC的線性性能。積分非線性(INL)是表征代碼轉(zhuǎn)換與其理想值的偏差的規(guī)范。INL定義為DNL誤差的累積總和。在數(shù)學(xué)語言中,第m個(gè)代碼的INL由下式給出:
INL就像DNL一樣,是一個(gè)向量;但是,僅指定最大INL值也是常見的。例如,ADS8860的典型INL和最大INL分別為±1.0 LSB和±2.0 LSB。
5 最后一個(gè)想法:ADC噪音影響
值得一提的是,實(shí)際ADC的代碼轉(zhuǎn)換受到系統(tǒng)中存在的噪聲的影響。圖9顯示了代碼轉(zhuǎn)換噪聲對(duì)ADC特性曲線的影響。
碼轉(zhuǎn)換噪聲對(duì)ADC特性曲線的影響,其中(A)為理想ADC,(B)為實(shí)際ADC。
圖9 碼轉(zhuǎn)換噪聲對(duì)ADC特性曲線的影響,其中(A)為理想ADC,(B)為實(shí)際ADC。圖像由ADI提供
正如你所看到的,從一個(gè)數(shù)字代碼到下一個(gè)數(shù)字代碼的轉(zhuǎn)變并不是在模擬輸入的一個(gè)精確值下發(fā)生的——這是一個(gè)不確定的小區(qū)域。換言之,如果我們多次測(cè)量從一個(gè)代碼到下一個(gè)代碼的轉(zhuǎn)換點(diǎn),我們將不能獲得模擬輸入的單個(gè)閾值。在今天的中等分辨率到高分辨率ADC中,代碼轉(zhuǎn)換噪聲可以很容易地與LSB大小相比較。DNL等靜態(tài)規(guī)范未考慮噪音影響。
因此,當(dāng)我們理解DNL概念在測(cè)量應(yīng)用中的重要性時(shí),我們應(yīng)該注意到實(shí)際ADC的代碼轉(zhuǎn)換噪聲會(huì)使DNL規(guī)范在實(shí)踐中稍微不那么有用。為了解決噪聲問題,我們可以使用信號(hào)平均技術(shù)。實(shí)際上,用于獲得ADC的DC性能的測(cè)試方法固有地使用信號(hào)平均,使得測(cè)量不易受噪聲影響的影響。
6 DNL和INL對(duì)ADC動(dòng)態(tài)性能的影響
當(dāng)我們使用控制和測(cè)量應(yīng)用來引入DNL和INL規(guī)范時(shí),這些非線性度量也會(huì)影響ADC的動(dòng)態(tài)性能,即信噪比(SNR)和ADC的失真。在下一篇文章中,我們將提供一些關(guān)于DNL誤差的補(bǔ)充內(nèi)容,并討論DNL和INL誤差對(duì)ADC動(dòng)態(tài)響應(yīng)的影響。
(注:本文登于《EEPW》2024年10期)
評(píng)論