FMC 子卡生态:用 VITA 57 快速扩展模拟与高速 I/O
FPGA 开发板自带的接口永远不够用:要接高速 ADC、要插光纤模块、要扩 LVDS 传感器,总不能每次都重新画一块 PCB。FMC(FPGA Mezzanine Card,VITA 57 标准)就是解决这个问题的——一块载板 + 一堆标准子卡,换子卡就能换接口。这篇文章把 FMC 的 LPC/HPC 差异、引脚预算、常见子卡配法讲清楚,帮你少踩”买了子卡插不上”的坑。
一、FMC 是什么:载板与子卡的标准接口
FMC 由 VITA 组织在 2008 年发布(VITA 57),核心思路是:
- 载板(Carrier):FPGA + DDR + PCIe 等核心资源,长期不变
- 子卡(Mezzanine):ADC/DAC、光纤、HDMI、LVDS 等接口模块,按需更换
- 连接器:板对板高速连接器,同时传输信号、时钟、电源
一块载板插不同子卡,就能变成采集卡、软件无线电平台、视频处理板——不用重新画板,不用重新做 PCB 验证。
二、LPC vs HPC:引脚预算怎么选
FMC 分两种规格,核心差异在高速收发器数量和总引脚数:
| 项目 | FMC LPC(Low Pin Count) | FMC HPC(High Pin Count) |
|---|---|---|
| 高速收发器(GTP/GTX/GTH) | 2 对 | 10 对(实际可用 8~10 对) |
| 单端 I/O 引脚 | ≤ 34 对 | ≤ 80 对 |
| 差分 I/O 引脚 | ≤ 17 对 | ≤ 40 对 |
| 最大总 I/O | ≈ 68 个 | ≈ 160 个 |
| 时钟对 | 1 对 | 2 对 |
| 适用场景 | 低速 ADC、LVDS 传感器、普通扩展 | 高速 ADC/DAC、光纤、多路高速接口 |
选型原则:先数收发器对数
如果你要插的子卡需要超过 2 对高速收发器(比如 4 通道 1Gsps ADC、QSFP 光纤模块),直接选 HPC。LPC 只有 2 对收发器,插了高速子卡也跑不满。
笃远常用板卡的 FMC 配置:
- DUF7690T:双 FMC HPC(2×10 对收发器),适合多路高速子卡组合
- DUK7325T:单 FMC HPC,性价比之选
- PBC7K325G:单 FMC LPC,入门级扩展
三、FMC 引脚怎么规划
FMC 连接器上的引脚不是随便用的,VITA 57 标准把引脚分成几类:
| 引脚类型 | 数量(HPC) | 用途 |
|---|---|---|
| GTX/GTH 收发器对 | 10 对 | 高速串行:ADC JESD204B、光纤、PCIe 上行 |
| 差分时钟对(CLK0/CLK1) | 2 对 | 子卡提供采样时钟到 FPGA |
| 单端 I/O(LA 组) | ≤ 80 个 | 控制信号、触发、低速 LVDS |
| 系统信号 | 固定 | PRSNT(在位检测)、SPI、I2C、UART、电源使能 |
| 电源引脚 | 固定 | +12V、+3.3V、+VADJ(可调 I/O 电压) |
+VADJ 电压为什么重要
+VADJ 是 FMC 子卡的 I/O 供电电压,载板必须和子卡匹配:
- LVDS 通常 2.5V / 1.8V
- LVCMOS 3.3V / 1.8V / 1.5V
- 有些高速 ADC 子卡需要 1.8V 或 1.5V
载板的 +VADJ 可编程(通过电源芯片调压),插子卡前先查子卡手册要求的电压,设错了会烧子卡。
四、常见 FMC 子卡怎么配
1. 高速 ADC 子卡(JESD204B)
典型配置:4 通道 14bit 250MS/s ADC,走 JESD204B 协议。
- 需要收发器对数:4~8 对(每通道 1~2 对)→ 必须 HPC
- 时钟:子卡提供采样时钟,经 CLK0 输入 FPGA
- 配 DUF7690T:双 HPC 可插两块 ADC 子卡,做 8 通道采集
2. 光纤子卡(SFP+/QSFP)
典型配置:4 路 SFP+ 10G 光纤收发。
- 需要收发器对数:4 对 → HPC 起步
- 时钟:载板提供恢复时钟,或子卡外部时钟输入
- 配 XCKU15P:HPC + UltraScale+ 收发器,跑 10G/25G 无压力
3. 视频 I/O 子卡(HDMI/SDI)
典型配置:4 路 HDMI 输入 + 2 路 HDMI 输出。
- 需要收发器对数:0~2 对(视频走并行/LVDS,不走 GTX)
- 单端 I/O:约 40~60 个 → HPC 或 LPC 都能跑
- 配 DUK7410T:LPC 就能满足,省成本
五、用 FMC 扩展的三个坑
坑 1:LPC 插高速子卡跑不满
LPC 只有 2 对 GTX,插一块 4 通道 JESD204B ADC 子卡,只能用一半通道。买子卡前先数清楚需要几对收发器。
坑 2:+VADJ 电压不匹配
子卡要求 1.8V,载板默认设成 2.5V,上电就烧 I/O。插子卡前务必查子卡手册的 +VADJ 要求。
坑 3:时钟没接对
JESD204B 子卡需要专用设备时钟(Device Clock)和恢复时钟,CLK0/CLK1 引脚必须连到 FPGA 的 MRCC/SRCC 全局时钟引脚上。引脚规划时没留好,后期改不动。
FMC 的价值不是”多一个接口”,而是”一套载板复用所有场景”。选 LPC 还是 HPC、+VADJ 设多少伏、收发器够不够——这三个问题想清楚,FMC 生态才能真正用起来。
>
—— 笃远电子研发团队
