市面上ADC有很多,不同的ADC價格相去甚遠,所以我們到底應該如何去選ADC?
先從知道參數是什么開始!
Resolution 分辨率
ADC的resolution一般用位數表示,比較常見的是 8bits~24bits,其中這個8bits代表的是2的8次方
式1: 2^8=256
不過他是從0開始算,要256要減去一個1,255換成16進制剛好是FF,插個題外話,不知道大家換算16進制是怎么換算的我換算的方法如下
這個resolution代表你可以把基準電壓分成多少份,換成符合國情的說法,ADC就是一個稱,Resolution越高就表示同樣能稱的范圍內,稱的最小刻度越細,最小刻度一兩的稱是稱不了一錢的東西。稱也能稱只是很不準。
Reference
有的ADC內部自帶Reference,有的ADC則沒有內部Reference,reference顧名思義就是基準的意思,resolution是把電壓分成多少份,reference就是被分成多少份的電壓。Reference最為重要的是精度和其穩定性。
因為reference是電路的唯一標準,初始精度就顯得尤為重要。若是和外部DMM匹配對ADC的采樣值進行校準,那么這個初始精度就不那么重要了。
當前用的最多的估計是TL431,我們一起看看
圖2: TL431初始精度
如果你是當2495mV用的話,ADC采集的最高偏差約2.2%,但這個偏差是個固定值,可以和ADC的Gain Error在一起被校準掉。因為其本質就是會導致ADC的斜率不對。詳情見觀電路-csa與系統。
Reference的輸出電壓會隨著溫度的變化而變化,典型的表述方式是ppm/degree C,我們一起看看TL431的溫度漂移。
圖3:TL431溫漂
92/100萬 ≈ 1/1萬 也就是說溫度每變化一度,TL431的輸出電壓就會變0.2495mV正常溫度變化一般是不止1℃的變化,在用作電源基準的場合基本上都能有20℃左右的變化,若是使用TL431可能就會引起5mV左右的基準變化。而我們看看內部自帶基準的ADC ADX122內部基準的水平如何。
圖4: ADX122溫漂
它并沒有直接描述其內部基準的溫漂是多少,而是告訴我們ADC的Gain drfit是多少,因為ADX122內部還有一些PGA什么,這些東西的溫漂也會造成ADC輸出結果的偏差,事實上我們關心的是ADC的輸出結果到底是如何,給出Gain Drift我們也能直觀的得出ADC的輸出結果會怎么樣的變化。
在FSR=±0.256V時候約8ppm/℃,約等于8uV/℃,公平的給他上個20℃約0.16mV帶入±0.256V在比一下約3%%,表示當溫度變化20℃采集到同個電壓≈有3%%的偏差。
ADC采集的理想曲線應當是條45°的斜線,但是因為Gain error的存在這個斜線不是完美的45°,這個斜線的偏差會導致輸出結果的偏差,下圖為理想曲線↓根據下圖的斜線也就明白Gain error對采樣的影響。
圖5:ADX122 CODE Transition diagram
Reference的輸出不僅會隨著溫度的變化而變化,也會隨著時間的變化而變化,在手冊中一般以long term drift出現,或者叫做LTD,在工業系統中LTD非常重要,經常有聽這機器一年要校準一次,這機器xx校準一次。很大的原因和LTD有關系。我們看看ref5025的LTD↓
圖6:REF5025 Long Term stability
可以看到VSSOP-8的LTD是25ppm/1000Hr 就是說每1000小時ref5025會變化2.5u也就是41天變化2.5uV,對于這個變化主要還是看設備的精度要求是多少,多長時間校準一次。具體設備具體自己分析。
另外reference的PSRR有時候也是非常重要,尤其是開關電源供電的情況下,PSRR指的是當輸入電壓變化時候輸出電壓的變化。如果開關電源的輸出紋波比較大將會直接影響Reference的輸出電壓。建議選擇LDO為reference供電,避免因為電源太爛導致reference輸出抖得不行,LD50x的輸出有各種選擇適合各種基準。
圖7:LD50x選型手冊
圖8: LD50X PSRR
從圖8可以看出來,ld50x的PSRR變化,典型的reference芯片加ADC的功耗大多在10ma左右,典型的開關電源一般都在100Khz左右,若是在板上的DC/DC他們的開關頻率會更高一般是650Khz~2Mhz,我們看LD50X的PSRR在100Khz時候接近60db,約1000倍,也就是說輸入變化1V輸出變化1mV,正常來說開關電源輸出紋波并不會那么高,并且reference芯片本身也有一些PSRR兩級衰減可以保證輸出的電壓是干凈的。另外值得一提的是,LD50X的噪聲特性特別好,適合給各種精密傳感器用作模擬供電。
圖9:LD50X簡介
Full scale error 滿量程誤差
滿量程誤差指的是當ADC讀取的最大值和理想最大值的差距,比如說12bits(參考為4.095V)的ADC轉換了一個4095 LSB的值時候,理想的話此時的輸入電壓應該就是4.095V,但是由于ADC的輸入offset的存在,和Gain error的存在,就產生了full scale error,說到底還是理想直線和實際直線的偏差。Gain error和offset error參考觀電路-csa與系統。
DNL微分非線形
若是我們將ADC的每個LSB跳變電壓點畫出來在連上線我們會發現,這個線并不是絕對直的直線,就算我們校準其offset以及校準其Gain error,將其往理想直線上挪,我們也會發現其跳變電壓點和理想跳變電壓點的偏差,DNL定義了理想跳變點與實際跳變點的最大差值。
比如說,當輸入電壓往上加1LSB,但是ADC沒有任何反應,當輸入電壓加到1.5LSB時候ADC的輸出Code才發生變化,這時候我們可以說DNL為+0.5LSB,同理,當輸入電壓往上加到0.5LSB其輸出Code就發生改變我們可以說他的DNL為-0.5LSB,一個好記的方法就是多出來電壓才變的是+LSB,欠電壓就變的是-LSB。
INL積分非線形
Integral non-linearity積分非線形就是DNL的合集,它所代表的是理想和實際的最大垂直差值,比如說當在001到100的這個output code range里時DNL都是負值,當我輸入一電壓使其達到011,這時我的ADC實際輸出code是高于理想輸出code的,在ADC的整個范圍內去尋找理想曲線和實際曲線的區別,找到垂直誤差最大的點就是ADC的INL最大值使用LSB來表示。若是實際輸出Code高于理想輸出Code此時INL為+的,若是實際輸出Code低于理想輸出Code則INL為-的。
圖1:INL曲線
有點像你給酒缸里面灌水,理想狀況下可能是一勺子水液位升1cm,但實際上酒缸的桶不太規則,在開始時候酒缸的DNL為負的,但到了酒缸最中間的位置他的DNL為正的。最終我們根據給酒缸灌水液位上升曲線和一勺1cm液位上升曲線找出他的INL,實際上和酒缸的外形有關系。
那么非線形如何影響我們的實際系統呢?
比如說你的采樣精度要達到1/10000,你使用的是16bit的ADC他的INL為10LSB,也就是說在校準掉Gain error和offset error后理想采樣LSB和實際采樣LSB差10LSB,也就代表理想和實際可能最大會差10LSB,所以就算你選了16bit的ADC你的INL差,你的最終輸出結果精度也是到不了1/10000的。主要和你的設計精度有關。
圖3:ADX122 INL積分非線性
在這里看到ADX122的INL的最大值是12LSB,但是它的分辨率有20bit所以他的最大的Code是1048576,直接將這個Code除12得87381,還是遠遠高于1/10000的精度,注意:這里忽略了其他參數。
Sample Rate 采樣率
一般ADC的采樣率用SPS表示,SPS 全拼是 sample per second 每秒采樣。那我們如何去看ADC的SPS是多少?
在芯片手冊的第一頁我們一般能看到芯片的SPS是多少,以ADX122舉例如圖4所示
圖4:ADX122的SPS
那我們又怎么去測量ADX122的SPS呢?通過讀取ADX122的寄存器我們可以看到ADX122的SPS是多檔位可以配置的。
圖5:ADX122 SPS的檔位
當我們配置不同的data rate 時候他的SPS是不同的,其他ADC也有類似的選項。當我們設置好ADX122的時候我們觸發ADX122的DRDY信號就好,等數據準備好DRDY會變低,不同的芯片可能不同。這里僅參考ADX122的手冊。
圖6:ADX122 DRDY引腳描述
所以我們只需要觸發DRDY的翻轉間隔我們就知道當前的SPS為多少,因為DRDY在ADX122里是與DOUT共用,所以在讀取間隔時候需要注意。
圖7:藍色的為DRDY的間隔
圖7約間隔3mS一次,根據手冊可以得出結論大概是316SPS。
-
傳感器
+關注
關注
2552文章
51276瀏覽量
755068 -
開關電源
+關注
關注
6469文章
8355瀏覽量
482789 -
adc
+關注
關注
98文章
6524瀏覽量
545175 -
DMM
+關注
關注
0文章
23瀏覽量
14931 -
PSRR
+關注
關注
0文章
153瀏覽量
39359 -
ADC采樣
+關注
關注
0文章
134瀏覽量
12876
發布評論請先 登錄
相關推薦
評論