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