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