用于測(cè)量ADC轉(zhuǎn)換誤差率的測(cè)試方法——小于10的15次方分之一
掃描二維碼
隨時(shí)隨地手機(jī)看文章
許多實(shí)際高速采樣系統(tǒng),如電氣測(cè)試與測(cè)量設(shè)備、生命系統(tǒng)健康監(jiān)護(hù)等,不能接受較高的ADC轉(zhuǎn)換誤差率。這些系統(tǒng)要在很寬的噪聲頻譜上尋找極其罕見(jiàn)或極小的信號(hào)。誤報(bào)警可能會(huì)引起系統(tǒng)故障。因此,我們必須能夠量化高速ADC轉(zhuǎn)換誤差率的頻率和幅度。
CER與BER首先,讓我們理清誤差率描述中的兩大差異。轉(zhuǎn)換誤差率(CER)通常是ADC關(guān)于模擬電壓采樣的判斷不正確的結(jié)果,因此,與轉(zhuǎn)換器輸入的滿量程范圍相比較,其相應(yīng)的數(shù)字碼也不正確。ADC的誤碼率(BER)也能描述類似的誤差,但就我們的討論而言,我們把BER定義為純數(shù)字接收錯(cuò)誤;如果沒(méi)有這種錯(cuò)誤,那么轉(zhuǎn)換的碼數(shù)據(jù)就是正確的。這種情況下,正確的ADC數(shù)字輸出未能被FPGA或ASIC等下游邏輯器件正確接收到。代碼出錯(cuò)的程度及其出現(xiàn)的頻率就是本文余下部分要討論的內(nèi)容。
僅僅閱讀數(shù)據(jù)手冊(cè)中的技術(shù)參數(shù),可能難以掌握ADC轉(zhuǎn)換誤差。使用轉(zhuǎn)換器數(shù)據(jù)手冊(cè)中的單個(gè)數(shù)據(jù),當(dāng)然可以對(duì)轉(zhuǎn)換誤差率進(jìn)行某種估計(jì),但該數(shù)據(jù)量化的到底是什么呢?您無(wú)從判斷多大的樣本偏差可被視為錯(cuò)誤,無(wú)法確定試驗(yàn)測(cè)量或仿真的置信度。必須將“錯(cuò)誤”定義限定在已知出現(xiàn)頻率所對(duì)應(yīng)的幅度以內(nèi)。誤差源有多種誤差源會(huì)造成ADC轉(zhuǎn)換錯(cuò)誤,內(nèi)部和外部均有。外部誤差源包括系統(tǒng)電源毛刺、接地反彈、異常大的時(shí)鐘抖動(dòng)和可能有錯(cuò)的控制命令。ADC數(shù)據(jù)手冊(cè)中的建議和應(yīng)用筆記通常會(huì)說(shuō)明避開(kāi)這些外部問(wèn)題的最佳系統(tǒng)布局做法。ADC內(nèi)部誤差源主要可歸因于亞穩(wěn)態(tài)或模擬域中各級(jí)之間的殘余處理傳遞,以及數(shù)字域和物理層中的輸出時(shí)序誤差。ADC設(shè)計(jì)團(tuán)隊(duì)在器件開(kāi)發(fā)過(guò)程中必須分析這些挑戰(zhàn)。
圖1. 對(duì)于滿量程上模擬分辨率的各個(gè)位,理想ADC樣本都有單一數(shù)字輸出(左圖)。實(shí)際ADC輸出行為的一個(gè)例子(右圖)顯示了與內(nèi)部和外部噪聲相關(guān)的某種模糊性。
在一組比較器中,當(dāng)比較器基準(zhǔn)電壓精確等于或極其接近待比較的電壓時(shí),便可能發(fā)生亞穩(wěn)態(tài)狀況。比較電壓在幅度上越接近基準(zhǔn)電壓,比較器作出全面判斷所需的時(shí)間就越長(zhǎng)。如果二者之間的電壓差非常小或?yàn)?,比較器可能沒(méi)有足夠的時(shí)間來(lái)最終判定比較電壓是高于還是低于基準(zhǔn)電壓。當(dāng)該樣本的轉(zhuǎn)換完成時(shí),比較器輸出可能處于亞穩(wěn)第三態(tài),而不是清晰地判定一個(gè)有效邏輯輸出1或0。這種猶豫不定會(huì)波及整個(gè)ADC,可能引起轉(zhuǎn)換錯(cuò)誤。
圖2. 對(duì)于滿量程上模擬分辨率的各個(gè)位,理想ADC樣本都有單一數(shù)字輸出(左圖)。實(shí)際ADC輸出行為的一個(gè)例子(右圖)顯示了與內(nèi)部和外部噪聲相關(guān)的某種模糊性。
在流水線型ADC架構(gòu)中,還有其他潛在轉(zhuǎn)換誤差源,即在級(jí)間邊界傳遞處,殘余電壓從上一級(jí)傳送到下一級(jí)。例如,若兩級(jí)之間有未校正的增益匹配誤差,則殘余電壓的傳遞會(huì)在后續(xù)級(jí)中產(chǎn)生誤差。此外,負(fù)責(zé)將一個(gè)電壓發(fā)送到下一ADC級(jí)的殘余DAC中的毛刺也可能在稍后的處理中引起意外的干擾誤差。任何無(wú)源元件中都存在的熱噪聲是所有ADC固有的噪聲分量,它決定了ADC處理的絕對(duì)噪底。在詳細(xì)測(cè)定ADC的過(guò)程中,必須審視和量化所有這些可能的誤差源,確保轉(zhuǎn)換器運(yùn)行時(shí)沒(méi)有任何落差。
噪聲分量折合到輸入端的噪聲是ADC轉(zhuǎn)換缺陷的一個(gè)固有分量,其中包括ADC輸入端的熱噪聲。常常利用ADC輸入端開(kāi)路或浮空情況下的數(shù)字輸出碼直方圖來(lái)對(duì)其進(jìn)行量化。ADC數(shù)據(jù)手冊(cè)通常會(huì)說(shuō)明并顯示此噪聲。下面的圖形給出了此噪聲幅度的例子,其在本例中為[N] ± 11。
圖3. 輸入端開(kāi)路或浮空時(shí),理想ADC會(huì)采樣輸出一個(gè)中間電平失調(diào)碼,如左側(cè)直方圖所示。實(shí)際ADC會(huì)有折合到輸入端的噪聲,其在對(duì)數(shù)尺度上應(yīng)表現(xiàn)為高斯形狀的彎曲直方圖(右側(cè))。
ADC的積分非線性(INL)是ADC滿量程輸入范圍內(nèi)實(shí)際樣本編碼相對(duì)于理想輸出的傳遞函數(shù)。ADC數(shù)據(jù)手冊(cè)通常也會(huì)說(shuō)明此信息并給出其曲線。與理想編碼的最大偏差通常用某一數(shù)量的LSB來(lái)表示。下面是INL曲線示例。雖然它反映了一定量的絕對(duì)誤差,但在大部分16位或稍低分辨率的高速ADC中,INL通常只有0到3個(gè)碼。它不是轉(zhuǎn)換器實(shí)際誤差率的主要貢獻(xiàn)因素。
圖4. INL曲線示例,在所有ADC編碼上測(cè)量,與理想樣本相比,最大誤差為±1 LSB或±1個(gè)碼,對(duì)ADC轉(zhuǎn)換誤差而言基本上可忽略不計(jì)。測(cè)試方法針對(duì)長(zhǎng)期CER檢測(cè),測(cè)試方法可以使用非常低的ADC輸入頻率(相對(duì)于時(shí)鐘速率而言)。在任何兩個(gè)相鄰樣本點(diǎn)之間構(gòu)成一條直線,正弦波斜率可近似為該直線的斜率。類似地,略高于采樣速率的輸入頻率會(huì)混疊為低頻。對(duì)于這種情況,有一個(gè)可預(yù)測(cè)的理想解決方案能讓各相鄰樣本處于前一樣本的±1個(gè)碼內(nèi)。輸入信號(hào)頻率和編碼采樣時(shí)鐘頻率必須鎖定,保持可預(yù)測(cè)的相位對(duì)齊。如果此相位不是恒定值,對(duì)齊就會(huì)異相,測(cè)量數(shù)據(jù)將沒(méi)有用處。因此,為了計(jì)算理想轉(zhuǎn)換結(jié)果,樣本(N 1) – sample(N)應(yīng)相差一個(gè)碼,幅度不超過(guò)1。
所有ADC固有的可預(yù)測(cè)小轉(zhuǎn)換誤差源包括積分非線性、輸入噪聲、時(shí)鐘抖動(dòng)和量化噪聲。所有這些噪聲貢獻(xiàn)都可以累加以獲得最差限值,若超過(guò)此限值,誤差將被視為來(lái)自兩個(gè)相鄰轉(zhuǎn)換樣本。16位ADC的輸出編碼數(shù)是12位轉(zhuǎn)換器的24或16倍。因此,該擴(kuò)展分辨率會(huì)影響用于限制轉(zhuǎn)換誤差率測(cè)試的編碼數(shù)。在其他一切都相同時(shí),16位ADC的限值將被12位ADC寬16倍。
可使用ADC內(nèi)置自測(cè)(BIST)功能并根據(jù)熱噪聲、時(shí)鐘抖動(dòng)和其他系統(tǒng)非線性來(lái)確定誤差閾值。當(dāng)超過(guò)誤差限值時(shí),可在ADC內(nèi)核中標(biāo)記特定樣本及其對(duì)應(yīng)的樣本數(shù)和誤差幅度。使用內(nèi)部BIST的一大好處,是它將誤差源界定在ADC內(nèi)核本身,排除了專屬于數(shù)字?jǐn)?shù)據(jù)傳輸輸出的接收位錯(cuò)誤引起的誤差。一旦明確誤差閾值,便可執(zhí)行涉及ADC、鏈路以及FPGA或ASIC的完整系統(tǒng)測(cè)量,以便確定全分量CER。
圖5. ADC轉(zhuǎn)換誤差率與其熱噪聲的關(guān)系通常只能通過(guò)晶體管級(jí)電路仿真獲得。上圖為一個(gè)12位ADC的示例圖,要實(shí)現(xiàn)10-15的CER,其必須能承受8 Σ的熱噪聲
現(xiàn)在看看如何計(jì)算熱噪聲貢獻(xiàn):SNR = 20log(VSIGNAL/VNOISE)VNOISE?= VSIGNAL?× 10^(–SNR/20)
為得出ADC的均方根噪聲,必須調(diào)整?VFULLSCALE:?VNOISE?= (VFULLSCALE/(2 × (2) × 10^(–SNR/20)
利用以下公式計(jì)算AD9625的熱噪聲限值,它是一款12位2.6 GSPS ADC,設(shè)計(jì)滿量程范圍(FSR)為1.1 V,SNR為55,2.508 MHz混疊輸入 頻率。熱噪聲限值?= 8 × VINpp?× 10 ^ (SNR/20)/2√(2)= 3.39 mV ~ ±12個(gè)碼
本例中,對(duì)于10-15誤差限值,單單熱噪聲的8Σ分布就能貢獻(xiàn)最多±12個(gè)碼。這應(yīng)針對(duì)ADC的折合到輸入端總噪聲測(cè)量進(jìn)行測(cè)試。注意:數(shù)據(jù)手冊(cè)中的折合到輸入端噪聲可能不是基于足夠大的樣本規(guī)模(用于10-15測(cè)試)而測(cè)得的。折合到輸入端噪聲包含所有內(nèi)部噪聲源,包括熱噪聲。
為了明確界限以盡可能包含所有噪聲源,包括測(cè)試設(shè)備,我們使用內(nèi)部BIST來(lái)測(cè)量誤差幅度分布。利用AD9625的內(nèi)部BIST,以2.5 GSPS運(yùn)行,混疊AIN頻率為80 kHz,接近ADC滿量程,使用標(biāo)稱電源和溫度條件執(zhí)行CER測(cè)量,為期20天。
假設(shè)模擬電壓轉(zhuǎn)換為數(shù)字表示的所有ADC處理都是理想的。數(shù)字?jǐn)?shù)據(jù)仍然需要精確傳輸,并在信號(hào)鏈的下游FPGA或ASIC中的下一級(jí)處理中精確接收。這一級(jí)的數(shù)字混亂通常由位錯(cuò)誤或誤碼率來(lái)定義。然而,ADC的數(shù)據(jù)眼圖輸出的綜合特性可以在PCB走線末端直接測(cè)量,并與JESD204B接收器眼罩比較,從而非常好地了解輸出質(zhì)量。
在1 Σ內(nèi)以2.6 GSPS運(yùn)行時(shí),為了確立10-15的CER,10的15次方個(gè)樣本,需要讓此測(cè)試連續(xù)運(yùn)行4.6天。對(duì)于更大的Σ,要確立更高的置信度,此測(cè)試需要運(yùn)行更長(zhǎng)時(shí)間。測(cè)試需要非常穩(wěn)定的測(cè)試環(huán)境和干凈的電源。被測(cè)轉(zhuǎn)換器的電壓源如有任何毛刺未被抑制,將導(dǎo)致測(cè)量錯(cuò)誤,測(cè)試將不得不從頭再來(lái)。
可利用一個(gè)FPGA計(jì)數(shù)器來(lái)記錄兩個(gè)相鄰樣本的幅度差超過(guò)閾值的情況,把該樣本算作一次轉(zhuǎn)換錯(cuò)誤。計(jì)數(shù)器必須累計(jì)整個(gè)測(cè)試期間的錯(cuò)誤總數(shù)。為了確保系統(tǒng)的工作行為符合預(yù)期,誤差幅度和理想值也應(yīng)記錄在直方圖中。測(cè)試所需時(shí)間取決于采樣速率、期望的測(cè)試轉(zhuǎn)換誤差率和置信度要求。小于10-15的CER和95%的置信度至少需要連續(xù)測(cè)試14天。通過(guò)外推到實(shí)測(cè)值以外可以估計(jì)CER,但置信度會(huì)降低。
測(cè)量ADC的CER是一個(gè)破費(fèi)時(shí)間的過(guò)程,您可能會(huì)想,是否能夠基于已知測(cè)量結(jié)果進(jìn)行外推。好消息是可以這樣做。然而,有利必有弊,讀者要擦亮眼睛。當(dāng)我們不斷地利用這種方法對(duì)誤差率進(jìn)行合理的數(shù)學(xué)估計(jì)時(shí),估計(jì)的置信度會(huì)越來(lái)越低。例如,若置信度不到1%,那么知道10-18的誤差率可能也沒(méi)有什么用。
對(duì)于任何給定樣本,轉(zhuǎn)換誤差閾值可能累計(jì)達(dá)到4或5個(gè)LSB。根據(jù)ADC分辨率、系統(tǒng)性能和應(yīng)用的誤差率要求,該值的大小可能略有不同。使用此誤差帶與理想值進(jìn)行比較后,超出此限值的樣本將被視為轉(zhuǎn)換錯(cuò)誤。ADC的誤差帶可通過(guò)調(diào)整閾值并監(jiān)視典型性能數(shù)據(jù)來(lái)測(cè)試。最后使用的測(cè)試限值為缺陷的均方根和,其中主要是ADC熱噪聲。
采樣值相對(duì)于理想值的測(cè)試數(shù)據(jù)直方圖類似于離散式泊松分布圖。泊松分布與二項(xiàng)式分布的主要區(qū)別在于,泊松分布沒(méi)有固定的試驗(yàn)次數(shù)。相反,它使用固定的時(shí)間或空間間隔,并記錄其中的成功次數(shù),這與上述CER測(cè)試方法相似。記錄到的任何樣本如超出根據(jù)理想值算得的誤差限值,就會(huì)被視為真正的碼錯(cuò)誤。
圖6. 利用ADC樣本與理想輸出碼相比較的長(zhǎng)期直方圖,我們可以檢測(cè)任何超出計(jì)算限值的偏差。該直方圖類似于泊松分布圖。系統(tǒng)懂得單個(gè)轉(zhuǎn)換器的CER之后,我們便可計(jì)算一個(gè)包含許多轉(zhuǎn)換器的高級(jí)同步系統(tǒng)的誤差率。許多系統(tǒng)工程師會(huì)問(wèn):在一個(gè)使用大量ADC的大型復(fù)雜系統(tǒng)中,累積ADC轉(zhuǎn)換誤差率將是多少?
因此,對(duì)于高級(jí)多信號(hào)采集系統(tǒng),第二考慮事項(xiàng)就是確定一系列(而不是某一個(gè))轉(zhuǎn)換器的轉(zhuǎn)換誤差率。乍看之下,這似乎是一個(gè)令人怯步的任務(wù)。幸運(yùn)的是,測(cè)得或算得單個(gè)ADC的CER之后,將此誤差率外推到多個(gè)ADC并不是那么困難。這樣,函數(shù)就變成基于系統(tǒng)所用轉(zhuǎn)換器數(shù)目的概率擴(kuò)張方程。
首先,求出單個(gè)轉(zhuǎn)換器不發(fā)生錯(cuò)誤的概率。它僅比1略小一點(diǎn),即1減去誤差率值(1–CERSINGLE)。其次,系統(tǒng)中有多少個(gè)ADC,便將該概率自乘多少次,即(1–CERSINGLE)#ADCs。最后,將1減去上述值,便可得出系統(tǒng)會(huì)出錯(cuò)的誤差率。我們得到以下方程:
CERMULTIPLE?=1-(1–CERSINGLE)#ADCs
考慮一個(gè)使用99個(gè)ADC,單個(gè)ADC的CER為10-15的系統(tǒng)。
1 – CERSINGLE?= 0.999999999999999CERMULTIPLE?= 1 – (0.999999999999999)?99?= 9.8999999999995149000000000799095 × 10–14?(~about 10–13)
可以看出,現(xiàn)在的CERMULTIPLE值幾乎比CERSINGLE(10-15)大100倍。由此可以得知,含有99個(gè)ADC的系統(tǒng)的轉(zhuǎn)換誤差率大致等于單個(gè)ADC的CER乘以系統(tǒng)中的ADC數(shù)量。從根本上說(shuō),它高于單個(gè)ADC的轉(zhuǎn)換誤差率,既受單個(gè)ADC轉(zhuǎn)換誤差率的限制,也受系統(tǒng)所用轉(zhuǎn)換器數(shù)量的限制。因此,我們可以得出結(jié)論:包含許多ADC的系統(tǒng)與單個(gè)ADC相比,總轉(zhuǎn)換誤差率會(huì)顯著提高。
圖7. 使用多個(gè)轉(zhuǎn)換器的系統(tǒng)的CER正比于單個(gè)轉(zhuǎn)換器的CER乘以ADC數(shù)量。確定ADC轉(zhuǎn)換誤差可能很困難,但仍是可實(shí)現(xiàn)的。第一步是確定系統(tǒng)中的轉(zhuǎn)換誤差大致有多大。然后需要確定一組適當(dāng)?shù)挠薪缯`差限值,包括預(yù)期ADC操作的非線性良性源。最后,特定測(cè)量算法可實(shí)現(xiàn)大部分或全部測(cè)試。測(cè)量結(jié)果可外推到測(cè)試界限之外,以獲得額外的近似。
踏上新征程,ADI與同濟(jì)大學(xué)DIAN Racer同行!