ADC/DAC测试是analog测试的基础,本文的目的是帮助初学者理解如何在ATE上测试ADC和DAC。一般来说ADC/DAC的测试有两类:
- 输入台阶状的ramp波形,测试ADC/DAC的线形性INL/DNL;
V93K的TDC有详细的描述29025,28801...etc
-输入single tone的正旋波,测试ADC/DAC的distortion特性比如SNR/THD;
当然输入正旋波也可以测试线性指标INL/DNL,参见V93K的TDC 101731;
下面简单介绍以下对于distortion测试时,如何设置各个参数保证满足coherence sampling。
DAC测试概念
DAC顾名思义是将数字编码转化为模拟电压或电流值,这里只讨论模拟电压。如果是模拟电流输出,需要转为电压值,V93k的MCB/MCE digitizer才可以捕获。
以下图为例,测试DAC一般需要ATE pattern可以在DAC的输入提供一组数字code,然后用MCE在输出捕获模拟波形。为了评估DAC的性能,一般要求输入的数字code序列必须是某个频率的理想Sine波的采样点得到,如此才能保证输出是单调同频的Sine波,方便计算SNR/THD...etc.

简单来说,测试DAC需要按照下面步骤:
- 确定DAC的参数指标:16bits DAC,fullscale amplifier voltage,有几种gain要测;
- 确定DFT的feature,DAC的数字code如何提供,时钟是多少频率是否GPIO提供,DAC的模拟输出是否可以连接到MCE
- 生成DAC的数字code序列
这个部分是难点。因为要生成sine波,需要确认DAC的采样频率Fs(DAC的时钟确定?),采样点数 N, 完整波形数M,需要测试的gain,DAC的位数。
举例说明:DAC是16bits,Fs是4.096Mhz, 采样点数N=4096,M=1,gain=-0.44 dbfs, 得到的正选波Fsign= (Fs/N)*M=1KHz;
首先可以生成DAC是20bits的 DAC code序列,然后再舍弃低位得到16bits,优点是精确度更高。理想的Sine波形函数如下(indx是每个采样点序列):