FMC 简介
在 FPGA 设计中,I/O 接口的灵活性至关重要。当需要适配新协议时,通常只需更换物理 I/O 组件和连接器即可,除非这些组件位于扩展卡模块中,否则往往涉及板级设计的变更。为了规避频繁修改设计带来的成本与工作量,工程师们长期依赖 PMC 和 XMC 标准。然而,这些标准早年是为单板计算机等通用方案设计的,并非专为 FPGA 优化。
2008 年 7 月,随着 ANSI 批准发布 VITA 57 FPGA Mezzanine Card (FMC) 标准,这一局面得到了改善。FMC 标准由从 FPGA 供应商到最终用户的公司联盟共同开发,旨在为基板上的 FPGA 提供标准的扩展卡外形、连接器和模块化接口。这种设计将 I/O 接口与 FPGA 解耦,简化了接口模块的开发,同时最大程度提高了载板的复用能力。
与使用 PCI、PCIe 或 Serial RapidIO 等复杂接口的旧标准不同,FMC 仅需直接连接载板上的 FPGA 核心 I/O 和收发器电路,复杂接口逻辑则在扩展卡上实现。这使得 FMC 扩展卡能够支持多种接口标准:
- 模拟 I/O:ADC 和 DAC
- 数字并行 I/O:如 Camera Link、LVDS、FPDP
- 数字高速串行 I/O:如光纤、Gb/10Gb 以太网
该标准为电路板开发人员提供了稳定、直接且兼容的规范。其优势包括减少对扩展卡上复杂协议逻辑的需求,从而最大化数据吞吐量、降低延迟及系统开销。此外,相比 PMC 或 XMC,FMC 具有更好的散热性能。
FMC 定义了单宽度(69mm x 76.5mm)和双宽度(139mm x 76.5mm)的外形。单宽度模块通过单个连接器连接载板;双宽度模块则针对需要额外带宽、更多前面板空间或更大 PCB 面积的应用,最多支持两个连接器。选定外形后,开发人员可从两种连接器中选择:
- 低引脚数 (LPC):160 引脚,提供 68 个用户定义的单端信号(或 34 个差分信号),支持 1 对串行收发器、时钟、JTAG 及 I2C 接口。
- 高引脚数 (HPC):400 引脚,提供 160 个用户定义的单端信号(或 80 个差分信号),支持 10 对串行收发器和额外的时钟。
两者均支持高达 2 Gb/s 的单端和差分信号,以及高达 10 Gb/s 的 FPGA 串行收发器信号。由于机械结构相同,LPC 扩展卡可插入 HPC 端子,而 HPC 扩展卡在 LPC 端子上也能作为功能子集运行。
FMC 引脚输出定义
High-pin count (HPC) 连接器
HPC 连接器包含 10 排(A 至 K),每排 40Pin。主要引脚功能统计如下:
| 通用引脚功能 | 引脚数量 |
|---|---|
| Gigabit 数据 | 40 |
| Gigabit 时钟 | 4 |
| 用户数据 | 160 |
| 用户时钟 | 8 |
| I2C | 2 |
| JTAG | 5 |
| 状态标志 | 5 |
| 电源 | 15 |
| 地线 | 159 |
| 保留 | 2 |


