我沒有實際作過ADC,但有作過10-bit dual-channel 88MHz DAC* P+ {0 i" [7 X0 w X* H
雖然不能給你直接的量測方法,不過,ADC和DAC是相反的動作方式
( d& D$ g. X! m$ y$ ?量測的方法兩者會有點相近,你可以參考看看6 u# y5 w- s1 {6 D. ?, ^ J* ~+ t
在量測上,SNR,SFDR和ENOR,或者INL,DNL等參數, F0 B; j5 |) `3 k: N+ Q
都是由外部灌測試信號,由output接收數值,然後再送到MATLAB作運算來得到這些值的; t5 n0 z& M/ c
以DAC來說,量測INL和DNL是灌ramp signal,然後再各別的output 數值記錄,將這些數值再由MATLAB程式計算出相對的INL和DNL
& q/ K4 I9 ]. }( J: a# K至於測DAC的SFDR,SNR和ENOB,則是灌入具有sine waveform的數位碼,而這些數位碼要是2的倍數,同時要和取樣頻率(DAC本身的clock有一定的倍數關係),然後將output數值記錄,再送至MATLAB作FFT運算即可求出
9 R/ Y) s+ \. C- m& @) T" H! R4 a' e# m
至於ADC的量測方法也非常類似
* F6 x% e, q( ~* q( f" E我同事是灌1Vp-p的sine waveform,頻率要和ADC的clock有一定的倍數關係,然後將output的數值記錄起來,接著將這些數值送到MATLAB中作運算,在MATLAB中的運算是將這些digital code轉成analog 數值,然後再作FFT運算,如此即可求得SNR,ENOB等值
% O0 P1 @' R! U/ N4 d, ^- s/ p2 M3 k7 P- n2 x
就我所知道,ADC或者DAC幾乎都需要用MATLAB來作後續的計算,很少有直接使用儀器即可量測出SNR,ENOB等值的 |