我沒有實際作過ADC,但有作過10-bit dual-channel 88MHz DAC
; c3 L* T. v$ l" P# g4 W+ n% {雖然不能給你直接的量測方法,不過,ADC和DAC是相反的動作方式$ b2 }) O! x8 a/ G( s L9 D; K
量測的方法兩者會有點相近,你可以參考看看) m, e) J5 d" H7 g/ b; K
在量測上,SNR,SFDR和ENOR,或者INL,DNL等參數. a- D$ e( @' ~- p3 u8 x
都是由外部灌測試信號,由output接收數值,然後再送到MATLAB作運算來得到這些值的: r" f8 {5 ^0 X7 p& G% ]
以DAC來說,量測INL和DNL是灌ramp signal,然後再各別的output 數值記錄,將這些數值再由MATLAB程式計算出相對的INL和DNL6 H; D& ]4 x4 C3 C
至於測DAC的SFDR,SNR和ENOB,則是灌入具有sine waveform的數位碼,而這些數位碼要是2的倍數,同時要和取樣頻率(DAC本身的clock有一定的倍數關係),然後將output數值記錄,再送至MATLAB作FFT運算即可求出
4 }: h: y6 R, G, ]
+ ^( a/ S, J# W' y& d! [至於ADC的量測方法也非常類似( j3 K, ~. F9 e2 ?6 U; a% r) l
我同事是灌1Vp-p的sine waveform,頻率要和ADC的clock有一定的倍數關係,然後將output的數值記錄起來,接著將這些數值送到MATLAB中作運算,在MATLAB中的運算是將這些digital code轉成analog 數值,然後再作FFT運算,如此即可求得SNR,ENOB等值- {& Y* [6 e7 ?) U$ l
& z( }; H: h7 O: ]4 @0 \, ~
就我所知道,ADC或者DAC幾乎都需要用MATLAB來作後續的計算,很少有直接使用儀器即可量測出SNR,ENOB等值的 |