3. FPGA硬件基础与工业接口

在工业通信与边缘控制工程中,FPGA 往往承担多路串行链路汇聚、协议时序生成、采样同步和实时预处理等任务。选型时如果只看逻辑单元数量,很容易在后期遇到收发器资源不足、时钟网络抖动过大或 I/O 电平不兼容的问题。本节从 Cyclone 与 Arria 两类器件的资源差异出发,说明 LVDS、RS-485 和以太网 PHY 三类接口的硬件连接要点,并给出电平匹配与隔离设计的可执行方法。

一、Cyclone 与 Arria 的资源定位差异

Cyclone 系列(如 Cyclone IV、Cyclone V、Cyclone 10)面向成本敏感、逻辑规模中等的场景,典型资源范围从几千到十几万 LE,内嵌存储约几十 KB 到数 MB,DSP 块数量有限。Arria 系列(如 Arria V、Arria 10)在同等 LE 规模下提供更高的收发器速率、更多的硬核 IP(PCIe、以太网 MAC、内存控制器)和更强的 DSP 能力,适合需要多路高速串行链路或边缘侧实时信号处理的场合。

选型时建议按以下顺序核对资源:

  • 逻辑与存储:协议解析、FIFO 深度、查找表缓存所需的 LE 与 M9K/M20K 块数量。
  • 时钟资源:PLL 数量、全局时钟网络数量,决定能否为多路异步串行链路提供独立采样时钟。
  • I/O 与收发器:LVDS 对数量、高速收发器通道数、是否支持所需电平标准。
  • 硬核 IP:是否需要以太网 MAC、PCIe 硬核,避免用软核占用大量逻辑。

例如,一个需要 8 路 RS-485 采集、2 路 LVDS 高速采样和 1 路百兆以太网上送的设计,若选用 Cyclone V 的 5CEFA5 级别器件,逻辑和 PLL 通常够用,但需确认 LVDS 对是否落在支持真 LVDS 的 bank 上;若链路速率提升到千兆以太网并需要多路同步采样,Arria 10 的硬核 MAC 和更高收发器速率会明显降低时序收敛难度。

二、三类工业接口的硬件连接要点

LVDS 接口用于板内或短距离高速差分传输,典型速率几百 Mbps 到 1 Gbps 以上。FPGA 侧需使用支持 LVDS 的 I/O bank,差分对必须成对分配在同一 bank 的专用差分引脚上,并在 PCB 上保持等长、100 Ω 差分阻抗。接收端通常需要在差分对间加 100 Ω 终端电阻,位置尽量靠近接收芯片。若使用 Cyclone 的 LVDS 接收器,注意其输入共模范围,发送端共模电压一般约 1.2 V。

RS-485 接口是工业现场最常用的半双工总线,FPGA 的 3.3 V LVCMOS 引脚不能直接挂到 A/B 差分线上,必须经过收发器(如 MAX3485、SN65HVD 系列)。典型连接为:FPGA 的 UART TX/RX 接收发器 DI/RO,一个 GPIO 控制 DE/RE 方向,A/B 线加 120 Ω 终端和偏置电阻。半双工切换时,DE 拉高到数据发出之间存在收发器使能延迟,FPGA 状态机需在发送完成后延迟若干位时间再释放总线,避免截断末位。

以太网 PHY 接口分为 MII、RMII、GMII、RGMII 等。百兆常用 RMII,仅需 50 MHz 参考时钟和 2 位数据线;千兆常用 RGMII,需要 125 MHz 时钟和 4 位数据线,且发送端通常要加 1.5~2 ns 延迟或使用 PHY 内部延迟。FPGA 与 PHY 之间还需注意 MDIO/MDC 管理接口、复位时序和时钟来源(PHY 提供还是 FPGA 提供)。RGMII 的 TXC/RXC 与数据之间的偏斜是调试中最常见的失败点。

FPGA 与三类工业接口的连接与隔离结构 FPGA Cyclone / Arria LVDS 发送/接收对 专用差分引脚 · 100Ω UART TX/RX + DE 3.3V LVCMOS RGMII / RMII TXC/RXC + 数据 MDIO / MDC PHY 管理 PLL / 全局时钟网络 LVDS 接收/驱动 100Ω 终端 · 等长 高速 ADC / 传感器 板内短距 RS-485 收发器 MAX3485 / SN65HVD A / B 差分总线 120Ω 终端 + 偏置 以太网 PHY RGMII 延迟 / RMII RJ45 / 变压器 网络侧 隔离与电平匹配区 数字隔离器 / 隔离电源 / 电平转换 RS-485 侧 2.5kVrms · 以太网变压器 1.5kV 电平匹配原则:FPGA 3.3V LVCMOS → 收发器/PHY 输入;不同电源域之间先确认 VIH/VIL 与驱动能力 隔离侧需独立隔离电源,避免地环路;LVDS 通常板内短距,不强制隔离

三、电平匹配与隔离设计

电平匹配的核心是确认驱动端 VOH/VOL 与接收端 VIH/VIL 的裕量。FPGA 的 3.3 V LVCMOS 输出 VOH 一般约 2.4 V 以上,可以直接驱动 3.3 V 收发器的 DI 和 PHY 的数字输入;但若 PHY 或收发器是 1.8 V 或 2.5 V 供电,则必须加电平转换器(如 TXS0108、SN74LVC 系列),不能仅靠串联电阻分压,因为分压会降低边沿速率并引入额外延迟。

隔离设计主要针对 RS-485 和以太网。RS-485 现场总线常跨越不同地电位,建议在收发器与 FPGA 之间加入数字隔离器(如 ADuM1201、ISO7721),并在总线侧使用隔离 DC-DC 提供独立 3.3 V 或 5 V 电源。隔离器需注意数据速率与传播延迟,半双工方向控制信号也应一并隔离,且 DE 与 TX 的延迟要匹配,否则会出现总线冲突或末位丢失。以太网侧通常由 RJ45 内置变压器提供 1.5 kV 左右的隔离,若需要更高耐压或额外保护,可在 PHY 与变压器之间再加共模扼流圈和 TVS。

LVDS 属于板内短距差分信号,一般不做隔离;RS-485 和以太网面向现场长线,隔离是提高抗扰度和安全性的常规手段。隔离前后必须使用独立电源,否则隔离器无法发挥作用。

四、一个可参考的接口配置示例

假设某边缘控制器需要 4 路 RS-485、1 路 LVDS 高速采样和 1 路百兆以太网,选用 Cyclone V 5CEFA5 级别器件,可参考以下配置:

接口FPGA 侧外部器件关键参数
RS-485 ×4UART TX/RX + DE GPIOMAX3485 + ADuM1201115200 bps,DE 延迟 ≥ 2 位时间
LVDS ×1专用差分对,100Ω 终端高速 ADC200 Mbps,等长误差 < 5 mil
以太网 ×1RMII 50 MHz + MDIODP83848 + 带变压器 RJ45100 Mbps,TXC 偏斜 < 2 ns

调试时先确认电源域和电平,再检查时钟:用示波器观察 RMII 的 50 MHz 参考时钟是否稳定、RGMII 的 TXC 与数据偏斜是否在 PHY 要求范围内;RS-485 重点看 DE 与 TX 的时序关系,以及 A/B 线空闲时的偏置电平是否在 200 mV 以上;LVDS 则先确认终端电阻和共模电压,再观察眼图或误码计数。只有这些硬件条件满足后,FPGA 内部的协议状态机才有稳定的物理层基础。

不要用普通 GPIO 直接驱动 RS-485 的 A/B 线,也不要把 LVDS 差分对分配到不支持差分标准的普通 I/O 上。引脚分配错误在编译阶段可能只报 warning,但上板后表现为通信不稳定或完全无输出,排查成本很高。