决定高速 ADC 或 DAC 板真实性能的因素:时钟抖动及其所允许的信噪比、电源噪声、接地与分区、模拟输入与滤波、FPGA 接口时序,以及怎样测量结果。
一个 14 位的转换器,理论上承诺约 86 dB 的信噪比,实际给出的数字会低一些。在真实的板子上,你几乎不可能超过数据手册,你只会损失一部分,整件事的关键就是损失多少。损失来自四个地方:时钟、电源、模拟通路和布局。按重要性依次解决,并且每改一处就测量一次,这样你才知道哪一处起了作用。
在错误的瞬间采样,哪怕只差一点点,产生的误差也与输入信号变化的快慢成正比。仅由时钟抖动所允许的信噪比是:
SNR = −20 · log10(2π · f_in · t_jitter)
对于 10 MHz 的输入和 1 ps 的有效值抖动,大约是 84 dB,已经低于理想 14 位转换器的 86 dB。输入频率提高到 50 MHz、抖动不变,则降到约 70 dB。由此得出两点:输入频率越高,对时钟的要求越苛刻,所以对中频信号采样的转换器需要极好的时钟;而且一个抖动很大的时钟,事后无法补救。
转换器的电源抑制能力是有限的,模拟电源上的噪声,特别是落在你频带内的频率上的噪声,会出现在输出里。开关电源在它的开关频率及其谐波上很吵,这些往往就是频谱里出现的杂散音。
过去那种把地分成模拟和数字两个孤岛、再在一点连接的做法,很容易用错,常常让情况更糟,因为它迫使回流电流绕路,并在分割处形成天线。混合信号板上通常更好的做法,是一个整体、完整的地平面,把模拟和数字部分摆放在不同区域,使数字回流永远不会流过模拟电路的下面。数字信号只在自己的区域上方走线,绝不跨过平面上的缺口。关于转换器各个引脚怎样处理,要遵循转换器厂家的建议,因为它最清楚这颗芯片是怎么设计的。
高速转换器使用并行或串行的 LVDS 之类的接口,时钟随数据一起传输。要正确地约束它:每一组内部等长,在接收端端接,并在 FPGA 工具里写好时序约束,让接收触发器的建立和保持时间在电压和温度变化范围内都得到检查并满足。在一块板子上能采集、换一块板子就不行,几乎总是时序余量问题。让数字输出的边沿速率只快到够用就行,并让它们的回流电流远离模拟一侧。我们在那块光纤板上用 Lattice FPGA 处理一个 14 位 80 MSPS 的转换器和一个 16 位 50 MSPS 的转换器,这是典型的分工:FPGA 以固定的时序搬运和处理数据,而数据有多干净,由模拟设计决定。
用一个好的信号源产生干净的正弦波,选一个与采样率相干的频率,这样采集结果的 FFT 里,该音调只落在一个频点上,没有泄漏。从频谱里读出信噪比、信纳比和有效位数,以及杂散音。然后把这些数字与数据手册对比,每次只改一处,观察是哪一处的改变让它们动了。固定频率的音调通常会暴露自己的来源:开关电源、时钟谐波或某个数字信号。再与输入短接时的结果对比,把板子自己增加的噪声与信号源里的噪声区分开。我们在光纤板上就是这样做的,它在 1000 米的链路上达到了高于 50 dB 的信噪比。
联系我们获取定制化解决方案和报价