我沒有實際作過ADC,但有作過10-bit dual-channel 88MHz DAC
( y- |5 Q, y) `* |$ W雖然不能給你直接的量測方法,不過,ADC和DAC是相反的動作方式% P6 M8 m+ k, Q- _8 b4 T
量測的方法兩者會有點相近,你可以參考看看
; H8 l2 a/ A% @, f, y在量測上,SNR,SFDR和ENOR,或者INL,DNL等參數: U) q/ P8 w+ C4 z: R
都是由外部灌測試信號,由output接收數值,然後再送到MATLAB作運算來得到這些值的
! O0 j a4 g+ d" W! ?以DAC來說,量測INL和DNL是灌ramp signal,然後再各別的output 數值記錄,將這些數值再由MATLAB程式計算出相對的INL和DNL
4 D4 F/ a3 @/ P: U1 E& T9 M3 |至於測DAC的SFDR,SNR和ENOB,則是灌入具有sine waveform的數位碼,而這些數位碼要是2的倍數,同時要和取樣頻率(DAC本身的clock有一定的倍數關係),然後將output數值記錄,再送至MATLAB作FFT運算即可求出- j, v2 g* {, C5 M" i
$ D+ z) S$ S% c/ j2 w& K! T* k3 r
至於ADC的量測方法也非常類似
# V! A! J1 d# |) V我同事是灌1Vp-p的sine waveform,頻率要和ADC的clock有一定的倍數關係,然後將output的數值記錄起來,接著將這些數值送到MATLAB中作運算,在MATLAB中的運算是將這些digital code轉成analog 數值,然後再作FFT運算,如此即可求得SNR,ENOB等值; A% B! Z7 O6 H& M+ s' z& t
3 R# I9 G. c4 o5 O
就我所知道,ADC或者DAC幾乎都需要用MATLAB來作後續的計算,很少有直接使用儀器即可量測出SNR,ENOB等值的 |