1. 课程导论与ADC基础

各位同学好,我是你们的FPGA讲师。今天咱们开始第一讲——高速数据采集系统的导论,以及ADC的基础知识。

说实话,我做了十几年硬件设计,接触过不少数据采集项目。从最开始的低速工业控制,到后来的高速射频信号处理,ADC选型永远是第一个要面对的难题。选错了,后面全白搭。

1.1 高速数据采集系统概述

什么叫高速数据采集?我个人习惯把采样率超过100 MSPS(每秒百万次采样)的系统称为高速系统。你想想看,一个信号每秒被采样上亿次,这背后的时钟、数据接口、存储、处理,每一个环节都是挑战。

典型的系统长这样:

  • 模拟前端:信号调理、抗混叠滤波
  • ADC芯片:模数转换核心
  • FPGA:数据接收、处理、缓存、控制
  • 后端:DDR存储、PCIe传输、上位机显示

我在项目中遇到过最头疼的事——ADC输出数据速率是1.6 Gbps,FPGA的IO口根本跟不上。后来换了LVDS接口的ADC,才把问题解决。嗯,这里要注意,接口类型也是选型的关键。

1.2 ADC关键指标

ADC的指标很多,但核心就三个:采样率、分辨率、信噪比。我建议你先把这三个吃透。

1.2.1 采样率

采样率决定了你能采集多高的频率。根据奈奎斯特定理,采样率至少是信号最高频率的2倍。但实际工程中,我一般留3~5倍的余量。

重要公式

f_sample ≥ 2 × f_max

实际工程建议:f_sample ≥ (3~5) × f_max

举个例子,你要采集一个100 MHz的信号。理论上200 MSPS就够了。但我曾经做过一个项目,用250 MSPS的ADC去采100 MHz信号,结果频谱里全是镜像和混叠。后来换到500 MSPS,问题才解决。说白了,理论归理论,工程归工程

1.2.2 分辨率

分辨率就是ADC的位数,常见的有8位、10位、12位、14位、16位。位数越高,量化噪声越小,动态范围越大。

分辨率 量化电平数 理论动态范围 典型应用
8位 256 48 dB 视频、高速示波器
12位 4096 72 dB 通信、雷达
14位 16384 84 dB 高精度测量
16位 65536 96 dB 音频、地震监测

为什么会有这个表格?因为我在选型时经常要权衡。分辨率高了,采样率往往上不去。你想想看,16位ADC要做到1 GSPS,那价格可不是闹着玩的。

1.2.3 信噪比

信噪比(SNR)是信号功率与噪声功率的比值。对于理想ADC,SNR只由量化噪声决定:

SNR (dB) = 6.02 × N + 1.76

其中N是分辨率位数。12位ADC的理论SNR是74 dB。但实际芯片往往达不到,因为还有热噪声、时钟抖动、电源噪声等。

我的经验:选ADC时,实际SNR要比理论值低3~5 dB。别被datasheet上的典型值骗了,那是在实验室理想条件下测的。我曾经被一个ADC的datasheet坑过,标称SNR 72 dB,实际板子上只能跑到68 dB。从那以后,我选型都会留余量。

1.3 ADC选型指南

选ADC,说白了就是做权衡。没有完美的ADC,只有最适合你项目的ADC。

我一般按这个步骤来:

  1. 确定采样率:根据信号最高频率,留3~5倍余量
  2. 确定分辨率:根据动态范围需求,一般12位起步
  3. 看接口类型:CMOS、LVDS、JESD204B,选FPGA能接的
  4. 看功耗:高速ADC功耗动辄几瓦,散热要考虑
  5. 看价格:这个不用我多说吧

避坑指南:我曾经选了一款ADC,采样率、分辨率、SNR都满足要求,结果发现它的输出接口是JESD204B,而我的FPGA不支持这个协议。最后只能换FPGA,项目延期了两个月。所以,接口兼容性一定要提前确认

1.4 本章小结

这一章我们讲了:

  • 高速数据采集系统的基本架构
  • ADC的三个核心指标:采样率、分辨率、SNR
  • 选型时的权衡和注意事项

下一章,我们会深入FPGA内部,看看怎么用FPGA来接收ADC的数据。到时候我会分享一些时序约束数据对齐的实战经验,这些都是我在项目中踩过的坑。

好,今天就到这里。有什么问题,咱们课后交流。


公众号:蓝海资料掘金营,微信deep3321