第四十一章:双路AD实验

本文对应原书第1075页起,第五篇「实战篇」。

本章在讲什么?(先看这个)

上一章我们用双路 DA 输出了两路波形,本章补齐另一半:ATK_DUAL_HS_AD 模块,板载一颗 3PA1030 ——10 位分辨率、50MSPS 采样率的双通道高速 ADC。实验任务是用信号发生器给两路 ADC 分别输入正弦波和三角波,FPGA 采集后通过 ILA 观察波形数据,并按电压对应关系估算信号峰值。

这是学习高速采集卡(示波器、数据采集系统)的最小雏形:芯片采集 → FPGA 接收 → 上位工具显示。

核心概念拆解

3PA1030 芯片特点

3PA1030 是 10 位双通道高速流水线型 ADC:

  • 采样率 50MSPS,每通道独立采集;
  • 数据接口:每通道 10 根数据线(DB0~DB9)+ 时钟;
  • 一个关键控制脚:OE(输出使能)——本实验中必须将 OE 引脚置低电平,ADC 的输出数据总线才会有效。初学者最容易漏掉这个细节,导致 ILA 一直抓到高阻态/全 0 数据。

图41.1.3 3PA1030时序图

与 AD9280 一样属于流水线结构,数据相对采样事件有若干周期的固定延迟,分析波形时需注意。

硬件连接

模块通过扩展口接开发板,与 ch37 相同的扩展口体系(见 /images/zynq/ch37/ch37_p0982_00937_db3955cefd0832ae.png)。两路模拟输入通道分别接信号发生器的 CH1/CH2 输出。

图41.2.1 ATK_DUAL_HS_AD模块实物图

时钟规划:50MHz + 180 度偏移

PLL 输出 50MHz 主时钟驱动 ADC,同时输出一路相位偏移 180 度的时钟供 ILA 采样。与 ch37 的 120 度偏移思路一致:让 ILA 的采样沿避开数据变化沿,获得足够的建立保持余量。不同模块、不同布线下最佳偏移角度可能不同,这是高速设计需要实测调优的地方。

图41.4.3 “Clocking Options”选项卡配置

程序架构

设计非常简单:顶层 hs_dual_ad 例化 PLL 和 ILA,ADC 的两路 10 位并行数据直接引到 ILA 的探头上,相当于把 ILA 当"软件示波器"用。没有额外的处理逻辑,重点是学会看数据。

数据与电压的换算参考时序图旁边的电压对应表:图 41.1.4 给出了正弦波模拟电压值与 10 位数据的对应关系,例如峰值数据对应约 +4.5V、谷值对应约 -4.5V(第一路正弦),据此可以从 ILA 数据反推实际输入幅度。

下载验证与波形解读

  1. 信号发生器 CH1 输出正弦波(如 1MHz、±4.5V),CH2 输出三角波(如 ±2.5V),分别接入两路 AD 输入;
  2. 下载比特流,打开 ILA,设置 Analog 显示方式(与 ch37 相同的 Analog Settings 配置);
  3. 观察 ILA 波形:第一路 ad_data1 应显示正弦形状,数一下一个周期内的点数可反推输入频率;第二路 ad_data2 是三角波。

图41.5.4 AD数据在ILA中显示的波形图1

图41.5.6 AD数据在ILA中显示的波形图3

实验书中给出的解读方法值得学习:一个正弦周期内的采样点数 × 采样间隔 = 输入信号周期。例如 50MSPS 下抓到 50 个点一个周期,则信号频率为 1MHz。

图片对照

  • 芯片资料:图 41.1.1(模块硬件结构)、图 41.1.2(3PA1030 内部功能框图)、图 41.1.3(时序图)、图 41.1.4(电压-数据对应表)。
  • 硬件:图 41.2.1(模块实物图)、图 41.2.2(3PA1030 原理图)。
  • IP 配置:图 41.4.3(Clocking Options)、图 41.4.4(Output Clocks)。
  • 上板:图 41.5.1(实物连接图)、图 41.5.2(信号发生器与模块连接)、图 41.5.3(信号发生器设置)、图 41.5.4~41.5.7(ILA 抓取的四张波形图)。

初学者容易踩的坑

  1. OE 引脚悬空或拉高:数据总线没有使能,ILA 抓到的全是乱码或全 0。务必确认 OE 置低。
  2. ILA 采样时钟用同相时钟:50MHz 高速数据下建立保持余量极小,必须用 PLL 的 180 度偏移时钟抓取,否则波形"毛刺"不断。
  3. 信号发生器输出幅度超过 ADC 量程:超出输入范围的信号会被削顶,看到平顶"正弦"不要以为是芯片坏了。
  4. 忘记数点算频率:ILA 里的横轴是采样点不是时间,频率 = 采样率 ÷ 每周期点数,别直接把"点数"当周期。
  5. 两路通道接反:第一路是正弦、第二路是三角,如果对调了,按书上的电压表反推幅度时会得出错误结论。
  6. 探头/连线接触不良:高速模拟信号对接触非常敏感,BNC 线和扩展口都要插紧,出现"间歇性正常"先查连接。

小结 & 下一步

本章的核心收获是高速双通道 ADC 的使用方法:OE 使能、时钟相位偏移采样、ILA Analog 模式观测、按点数反推频率与幅度。至此高速 AD 和高速 DA 的单路、双路四个实验全部完成,形成了一套完整的高速模拟前端认知。

下一章换一个方向:离开高速模拟世界,进入 IO 扩展板实验——矩阵键盘、数码管、拨码开关这些"经典外设"的驱动方法。