ADC的各種指標如何理解?如何提高ADC轉換精度?

2021-01-15 OFweek維科網

在此我們簡要總結一下ADC的各種指標如何理解,以及從硬體到軟體都有哪些可以採用的手段來提高ADC的轉換精度。

1.ADC指標

除了解析度,速度,輸入範圍這些基本指標外,衡量一個ADC好壞通常會用到以下這些指標:失調誤差,增益誤差,微分非線性,積分非線性,信噪比,信納比,有效位數,總諧波失真。讓我們以下圖為例來看一下這些指標的意義。

LSB

參數中經常用LSB作為單位,比如說差分非線性為2 LSB。這究竟是多大一個值呢?為了簡單起見,我們以一個3bit解析度,滿量程為5V的ADC為例。1個LSB對應的電壓大小為5V/7=714mV。如果是8bit解析度,那麼1個LSB對應5/255=19mV。

圖中橫軸為輸入電壓Vin增長方向,縱軸為數字輸出。理想情況下輸入電壓每增長1LSB(714mV),那麼輸出會向上跳變一次,對應虛線L1所在轉換曲線。但實際電路往往會引入偏差,轉換曲線往往如 L2 所對應曲線。

失調誤差(Offset Error)

電壓從0開始增大時,引起輸出第一次跳變的電壓值,與理論上應該引起第一次跳變的電壓值(0.5 LSB)的差值。衡量小電壓時的轉換精度。如圖中,理論上應該在0.5 LSB處跳變,實際電壓增大到1 LSB時才跳變,所以Offset Error是 1–0.5 = 0.5 LSB。

增益誤差(Offset Error)

可以理解為實際轉換曲線偏離理想曲線的程度。用最接近滿量程時跳變點電壓值和理論跳變點電壓值的差表示。

差分非線性 DNL(Differential Non-Linearity)

理論上每增加或減少1 LSB 的電壓,都會引起輸出對應的一次跳變。但實際情況可能如圖中a,b處所示,電壓的步距大於或小於1個LSB的理論步距。

a 處 DNL = 1.5 – 1 = 0.5 LSB;

b 處 DNL = 0.5 – 1 = -0.5 LSB;

積分非線性 INL(Integral Non Linearity)

差分非線性累積起來造成的對實際轉換曲線的最大偏離就是INL。如圖中所示,需要注意的是INL不能表徵對理想轉換曲線的偏離程度。

總不可調整誤差 TUE(Total Unadjusted Error)

實際轉換曲線與理想轉換曲線之間最大的偏離。在最糟糕的一點,我們通過ADC得到的電壓,與實際電壓的差值。通俗講就是最不準的一點差多少。

思考一下,如果 DNL 和 INL 都非常好,那麼是不是說明 TUE 就非常好?

對,還真不一定。即使線性度非常好,如果增益誤差大,還是會導致最終結果大的偏差。

信噪比 SNR(Signal-to-Noise Ratio)

有用信號與噪聲的能量比。我們總是期望信噪比越大越好。對於一個 N-Bit 解析度的ADC來說,如果輸入是一個滿量程的正弦信號,在只考慮量化噪聲的情況下,可以推導出一個有用的公式:

SNR = 6.02N + 1.76dB

推導過程見參考文檔 ADI: MT-001

此公式直觀的表明了ADC解析度和信噪比之間的量化關係。

信納比 SINAD (Signal-to-Noise-and-Distortion Ratio)

實際ADC是無法達到理想狀態的,它的輸出除了會引入噪聲,還會引入輸入信號的諧波。SINAD是有用信號能量,與諧波(Distortion)加噪聲(Noise)能量的比,它更能體現現實世界中的ADC性能。

SINAD = 20log(S/(N+D))

*而SNR = 20log(S/N)

有效位數 ENOB(Effective Number of Bits)

體現ADC實際性能相當於多少位。可以從SINAD推出:

ENOB = (SINAD–1.76)/6.02

*和理想情況下的位數對應:NOB =(SNR - 1.76)/6.02。

總諧波失真 THD(Total Harmonic Distortion)

有用信號能量與諧波能量的比。

THD = 20log(S/D)

2.如何提高轉換精度

模擬電源(VDDA)和電壓參考(VREF)

有的單片機ADC模塊會引出單獨的電源引腳和電壓參考引腳,最好用LDO給這些引腳供電,或者用磁珠和濾波電容把這部分電源從數字部分隔離出來。

輸入信號的輸出阻抗

下圖是ADC採樣簡化等效電路。ADC採樣和保持電路的等效輸入電阻電容Radc,和Cadc,手冊中都會給出。在採樣期間,開關SW會接通外部的信號輸入電路,給採樣電容Cadc充電至和輸入信號相等(接近),之後SW斷開,ADC對採樣電容上的電壓進行轉換。如果採樣時間過短,或者輸入信號的輸出阻抗過大,將導致採樣電壓不準。在信號源輸出阻抗過高時,可以考慮增加一級運放。

高頻串擾

如果與模擬輸入引腳靠近的IO上有高頻翻轉的信號,或者PCB上有與輸入信號長距離的平行走線,串擾將幹擾輸入信號。應避免ADC引腳臨近信號高頻翻轉。在ADC輸入布線和臨近的走線之間用地線隔離開也可以避免ADC精度下降。

Wait,Stop模式

如果ADC在Wait和Stop模式下還可以工作,在此種模式下可以最大限度的降低MCU電源的波動,提高ADC的轉換精度。

過採樣(Oversampling)

如果採樣頻率為fs,那麼對於fs/2以內的信號頻率既可以獲得完整信息。過採樣是用遠高於所需的採樣頻率去採樣,這樣噪聲就會均攤在整個採樣頻帶內。我們用數字濾波器可以濾除有用信號頻帶之外的噪聲,從而使頻帶內的信噪比提高,獲得更高的解析度。對多次轉換結果進行平均也可以提高結果的精度。

晶片內部校正

很多單片機內部都有校正機制(Calibration),每次上電後執行一次Calibration,可以以提高ADC的精度。

溫度的影響

ADC受溫度影響比較大,特別是失調誤差和增益誤差。如果晶片工作溫度範圍很寬,可以在不同的溫度下預先測量,按溫度做出查找表以在實際工作時做校正。

混入白噪聲

這種方法對提高直流信號的解析度很有用。如果輸入信號接近直流而且很穩定,那麼輸出就不會產生跳變,比如輸出一直是0x15A,我們無法確認輸入電平是更接近0x159,還是更接近0x15B。那麼我們可以人為地把白噪聲混入信號,使信號產生小的波動從而輸出產生跳變,然後再通過數學平均得出一個精度更高的數值。實際操作中可以用GPIO產生一個方波然後通過阻容耦合進輸入信號引腳。

參考資料:

ADI: Data Converter Introduction

ADI: MT-001 TUTORIAL  Taking the Mystery out of the Infamous Formula,

"SNR = 6.02N + 1.76dB," and Why You Should Care

ST: AN1636 UNDERSTANDING AND MINIMISING ADC CONVERSION ERRORS

ST: AN2834 Application note How to get the best ADC accuracy in STM32 microcontrollers

NXP: How to Increase the Analog-to-Digital Converter Accuracy in an Application

NXP: Cookbook for SAR ADC Measurements

相關焦點

  • adc0832工作原理詳解_引腳圖及功能_內部結構及應用電路
    當要進行A/D轉換時,須先將CS使能端置於低電平並且保持低電平直到轉換完全結束。此時晶片開始轉換工作,同時由處理器向晶片時鐘(CLK)輸入端輸入時鐘脈衝,DO/DI端則使用DI端輸入通道功能選擇的數據信號。在第一個時鐘脈衝的下沉之前DI端必須是高電平,表示啟始信號。在第二、三個脈衝下沉之前DI端應輸入兩位數據用於選擇通道功能。
  • LOL新版本改動,adc被削?Uzi:寒冰大幅度加強,離子炮了解一下
    設計師稱,為了讓這款遊戲更加的平衡,所以才對adc進行了修改,其中修改了奪萃以及無盡的一些屬性。這樣的修改其實對於大部分adc來說都是毀天滅地般的改變,就連許多知名選手都開始在下路選擇奇葩的組合進行戰鬥,不過作為Uzi卻不同,在比賽中依然選擇了拿出寒冰,並且戰勝對手。
  • 算好ADC阻抗,好精確測量電阻
    uint32_t R_REF = 9950;uint32_t R_ADC = 332520;uint32_t measure(){uint32_t Rx;adc_status_t status;uint32_t ADCMiddleSum = 0;uint16_t ADCMiddle;for (int i =0;i<32;i++){ R_ADC_ScanStart
  • LOL:「TP聯盟」又來了,傳送自帶加速效果,adc你往哪裡跑?
    2、TP落地後加速在新版本中,TP技能加了一個類似「靈光披風」的效果,TP落地後有持續3秒的30-45%加速效果,這個加速效果如何呢?做一個簡單對比,幽靈疾步的加速效果在28-45%之間,也就是說,TP落地後自帶3秒的幽靈疾步。
  • 產生ADC誤差的外部原因有哪些?
    電源調節對於ADC精度十分重要,因為轉換結果是模擬輸入電壓與VREF+值之比。當連接到VDDA或VREF+時,如果這些輸入上的負載及其輸出阻抗導致電源輸出下降,將在轉換結果中產生誤差。 其中N是ADC解析度(在本例中,N = 12)。如果參考電壓變化,數字結果也將發生變化。
  • 如何認識ADC參數中「精確度」與「解析度」的不同
    ADC指模/數轉換器或者模數轉換器是指將連續變化的模擬信號轉換為離散的數位訊號的器件。真實世界的模擬信號,例如溫度、壓力、聲音或者圖像等,需要轉換成更容易儲存、處理和發射的數字形式。模/數轉換器可以實現這個功能,在各種不同的產品中都可以找到它的身影。
  • 算好ADC阻抗,好精確測量電阻——Funpack第三期分享之一
    uint32_t R_REF = 9950;uint32_t R_ADC = 332520;uint32_t measure(){uint32_t Rx;adc_status_t status;uint32_t ADCMiddleSum = 0;uint16_t ADCMiddle;for (int i =0;i<32;i++){ R_ADC_ScanStart
  • 如何理解電子測量儀器的精度指標
    精確度是衡量電子測量儀器性能最重要的指標,通常由讀數精度、量程精度兩部分組成。本文結合幾個具體案例,講述誤差的產生、計算以及標定方法,正確理解精度指標能夠幫助您選擇合適的儀器儀表。產生原因:即使在完全消除系統誤差這種理想情況下,多次重複測量同一測量對象,仍會由於各種偶然的、無法預測的不確定因素幹擾而產生測量誤差。  特點:是對同一測量對象多次重複測量,測量結果的誤差呈現無規則漲落,可能是正偏差,也可能是負偏差,且誤差絕對值起伏無規則。
  • 如何理解電子測量儀器的精度指標?
    精確度是衡量電子測量儀器性能最重要的指標,通常由讀數精度、量程精度兩部分組成。本文結合幾個具體案例,講述誤差的產生、計算以及標定方法,正確理解精度指標能夠幫助您選擇合適的儀器儀表。1測量誤差的定義誤差常見的表示方法有:絕對誤差、相對誤差、引用誤差。1、絕對誤差:定義:測量值x*與其被測真值x之差稱為近似值x*的絕對誤差,簡稱ε。
  • 國產模數轉換ADC晶片的現狀、困境和歷史機遇
    這些模擬信號都得最終放在電腦,手機等數字領域進行處理,存儲或者傳輸,那如何把模擬信號轉換成數位訊號呢?就需要一個轉換器晶片,它就是晶片界的翹楚—ADC! 一 ADC晶片就是Analog Digtal Convert 模擬數字轉換的晶片。
  • 國產模數轉換 ADC 晶片的現狀、困境和歷史機遇
    這些模擬信號都得最終放在電腦,手機等數字領域進行處理,存儲或者傳輸,那如何把模擬信號轉換成數位訊號呢?就需要一個轉換器晶片,它就是晶片界的翹楚—ADC!ADC晶片就是Analog Digtal Convert模擬數字轉換的晶片從模擬信號轉化為數位訊號,轉換的過程信號處理要經過採樣,保持,量化,編程四個階段。
  • DAC如何幫助雷射打標系統提高精度
    >fKRedncfKRednc圖1:雷射切割機fKRednc那麼DAC是如何控制雷射的呢fKRednc圖2:TI的DAC11001A為模擬電機控制環路提供輸出fKRednc隨著需要蝕刻的產品越來越小(如PCB和一些消費品),雷射打標系統的精度必須提高
  • ADC/DAC精度計算器(ACCU)教程
    精度計算器(ACCU)的數據轉換器的應用電路的設計和分析。它計算的數據轉換器的理想的直流精度。該方案是使用一臺HP ® 50G的計算器或免費PC模擬器。
  • 如何提高雙目立體視覺系統的精度?
    ,是雙目立體視覺至關重要的指標。所以,如何讓深度精度更高?硬體因素上面分析算法對精度的影響,所以固定了硬體參數BBB和fff。現在我們來分析視差精度恆定的情況下,硬體參數如何影響精度。所以我們得出第四個結論:(四)測量目標離系統越近,深度精度越高。總結我想大家其實在實際應用中都會有一些直觀的理解,比如(1)算法越好,精度越高,明擺著嘛!(2)相機解析度越高,精度越高,這不廢話嘛!(3)基線越長,精度越高,顯而易見嘛!
  • 關於AD轉換設計的一些經驗總結
    5.模數轉換器的精度與噪聲係數之間有什麼必然的聯繫嗎?  低速模數轉換器的精度用峰峰值解析度,有效值解析度來表示。在ADI一些Sigma-delta ADC的晶片資料裡都會列出不同情況下的有效值解析度指標。高速模數轉換器的精度可用SNR,SNOB來表示,這些指標也可在資料中找到。  但一般ADC的指標中不會有噪聲係數(NF)的指標。
  • 如何讀懂測量儀器的精度指標
    摘要:在精密測試測量行業,測量準確度(精度)是儀器本身的靈魂,是儀器最重要的指標之一,但不同的儀器其準確度有不同的表達方式,因此只有理解了儀器的精度指標後才能更好地指導我們進行測量。
  • 磨床加工精度 如何有效提高加工精度
    引言:對於現代工業而言,保證工件加工精度是必要的,這是保障生產設備其精密性、滿足工廠實際需求的關鍵,因此,本文將對磨床加工精度和提高加工精度策略進行簡單的介紹。磨削的加工精度要求很高,影響加工精度的因素很多,在各種因素中磨床精度是較為重要的可知因素。
  • 一篇很好的AD轉換設計中的基本問題整理
    5.模數轉換器的精度與噪聲係數之間有什麼必然的聯繫嗎?  低速模數轉換器的精度用峰峰值解析度,有效值解析度來表示。在ADI一些Sigma-delta ADC的晶片資料裡都會列出不同情況下的有效值解析度指標。高速模數轉換器的精度可用SNR,SNOB來表示,這些指標也可在資料中找到。  但一般ADC的指標中不會有噪聲係數(NF)的指標。