錢宏文, 劉繼祥, 吳翼虎, 饒 飛
(中科芯集成電路有限公司, 江蘇 無錫 214072)
隨著科學技術的快速發(fā)展,低功耗、高度集成、微型化成為未來微電子技術的發(fā)展趨勢。 模數轉換器(ADC)作為集成電路技術的重要組成部分,對ADC 性能參數的精確測試是確保其可靠性應用的前提。 在對ADC 性能參數進行測試時發(fā)現, 應用同源時鐘為ADC 芯片提供時鐘源和信號源時,靜態(tài)指標測試結果嚴重超差。 為了分析該問題,應用MATLAB 對該場景進行仿真測試,通過深度分析,最終解決同源時鐘靜態(tài)指標測試問題。
ADC 靜態(tài)參數主要有差分非線性(DNL)、積分非線性(INL)[1]。靜態(tài)參數反映了ADC 的自身性能,當前,靜態(tài)參數的主要測試方法包括直方圖測試和基于動態(tài)參數估算靜態(tài)參數兩種方法。 直方圖方法包括斜坡輸入和正弦輸入兩種情況。 隨著ADC 精度的不斷提高, 要求斜坡發(fā)生器輸出的非線性度也要跟著提高,在增加測試成本的同時對高精度信號發(fā)生器會產生過度依賴, 在特殊時期就有可能受到國外廠商的掣肘。 本文通過正弦信號輸入,利用直方圖進行統計,完成靜態(tài)指標測試, 相對于斜坡直方圖方法節(jié)省時間,在測試裝置不變的情況下, 可以同時滿足動態(tài)參數、靜態(tài)參數的測試。
ADC 數據采集中應注意以下幾點:
1)輸入信號的頻率與采樣頻率[2]之間必須滿足奈奎斯特采樣定理,即fs?2fin(max)。
2) 樣本數(需要理論依據)輸入周期信號頻率與采樣頻率成互質關系, 以符合統計的隨機分布性;在同源時鐘時,應盡可能提升輸入信號頻率的精度以提高采樣的隨機性,避免漏碼發(fā)生,這就需要對輸入信號頻率與采樣信號進行約束,使采集到的碼值盡可能覆蓋ADC 芯片輸出碼值, 即需選擇特定頻率的輸入信號與采樣頻率,從而使得采集到的采樣數據能在記錄長度內轉換的代碼盡可能多。 這是通過輸入信號頻率與采樣頻率之間的一種基本關系實現的,如式(1)所示。

fin為輸入信號頻率,fs為采樣頻率,Ncycles為完整采樣的周期數,Nsamples為采樣總點數。
一般為方便處理,Nsamples取2 的整數次冪,Ncycles取與Nsamples互質的整數。 由于輸入正弦信號的時間與幅度關系是不均勻分布的,在統計碼密度時就會發(fā)現峰峰值附近處的采樣點數遠多于靠近幅度為0 的點;因此正弦-直方圖的缺點就是需要采集較大的樣本數[3]用以消除正弦波電壓分布的不均勻性。
對于一個理想的待測ADC 來說, 其碼值的統計直方圖應該呈浴盆狀分布,具體如圖1 所示。

圖1 理想碼密度統計圖
ADC 測試所需樣本數取決于ADC 分辨率N、DNL 誤差精度以及測試結果置信水平[4],對于待測的16 位兩通道AD****,其DNL 典型值為0.7 LSB,置信水平為95%和99%,其樣本數NR可根據式(2)、(3)得出:

Z 為置信度,β 為測試精度。
硬件系統是采用SOC+FPGA[5]架構進行設計的,輸入信號經過濾波器后與時鐘信號一起接入硬件系統,其中輸入信號與時鐘是由一臺信號源產生,硬件系統進行數據采集后通過以太網傳輸至上位機,上位機軟件完成數據接收、算法分析、測試指標結果顯示,如圖2 所示。

圖2 系統流程圖
上位機軟件采用LabVIEW+MATLAB[6]架構,與ZYNQ7020 千兆網口進行通信,通過更新數據庫、配置文件、Matlab 算法(com 組件)、FPGA 在線加載等功能模塊,以此實現不同型號芯片的快算測試。
以16 位兩通道AD****為例,采樣頻率和輸入信號由一臺信號源兩個輸出端口提供,當采樣頻率輸入125 MHz、 輸入信號10.1 MHz、 單通道采樣點數4M時,得到INL、DNL 指標測試結果嚴重超差;若采樣頻率和輸入信號分別由兩臺信號源提供,靜態(tài)指標測試合格。 針對這一現象,我們懷疑輸入信號分辨率過低,時鐘信號在采樣過程中無法隨機進行采樣,導致碼值采集遺漏而造成靜態(tài)指標測試結果嚴重超差。 以下將通過MATLAB 進行仿真測試。首先MATLAB 需要生成125 MHz 的時鐘,采樣10.1 MHz 的正弦波,并進行幅值-碼值轉換(模擬真實ADC 采集場景),其次通過統計繪制出直方圖,最后對0~65535(216)進行統計,碼值統計數為0 則代表此處丟碼。 MATLAB 程序如圖3 所示。
當輸入信號10.1 MHz 時,丟碼率過高,不具備可觀察性; 故將輸入信號頻率更改為10.123 MHz 時,通過MATLAB 仿真,如圖4 所示。

圖3 MATLAB 程序

圖4 碼密度統計圖
統計丟碼數13510,最小丟碼值7514。按照同源時鐘情況進行仿真,首先將已知條件代入式(1)中:

得到Ncycles=336666.7,取整336667,代入上式得:

得到fin=10100031 Hz。
將輸入信號頻率更改為10100031 Hz 時, 單通道采樣點數4M,其仿真結果如圖5 所示。
從圖5 可知, 無丟碼現象發(fā)生且每個碼值最小采樣次數均大于30,同源時鐘下,輸入信號分辨率與丟碼率之間存在直接影響; 輸入信號分辨率足夠高,丟碼率越低。

圖5 仿真結果
保持輸入信號頻率10100031 Hz、 將樣本數設置為807k(置信水平95%),無丟碼現象且每個碼值最小采樣次數均大于4; 保持輸入信號頻率10100031 Hz、將樣本數設置為1.355M(置信水平99%),無丟碼現象且每個碼值最小采樣次數均大于10。
一般采用碼密度直方圖進行ADC 靜態(tài)參數測試時,若輸入為正弦信號,每個碼采樣數應不少于30 個,故單通道采樣點數4M。
由此可見,在同源時鐘下,碼密度采集與輸入信號分辨率、采樣點數密切相關。
再次以16 位兩通道AD****為例,采樣頻率和輸入信號由一臺信號源兩個輸出端口提供,當采樣頻率輸入125 MHz、輸入信號101000031 Hz、單通道采樣點數4M 時, 得到INL、DNL 指標測試結果如圖6 所示。

圖6 靜態(tài)參數
實測指標與數據手冊對比如表1 所示。

表1 測試結果與AD**** 數據表對比
通過輸入信號頻率與采樣頻率之間的基本關系計算出輸入信號頻率,可以有效解決同源時鐘下靜態(tài)指標異常的問題;通過置信水平公式可以得到最優(yōu)樣本數據個數,能夠提高采樣效率,為后期批量測試節(jié)省時間。 本文針對同源時鐘下靜態(tài)指標異常問題,通過理論分析、仿真設計、實物驗證,為后期ADC 測試中同源輸出提供了很好的解決方案,具有一定的啟發(fā)價值。