2. Zynq板级接口信号分类与电气特性

Zynq 的 PS 端与 PL 端在板级连接上并不是“所有 IO 都能随便接”,真正决定一条信号线能不能直连、要不要加电平转换、能跑多高速率的,是它所属的 IO Bank、该 Bank 的 VCCO 供电电压,以及所选 IO 标准本身的电气规范。理解这一层约束,是后续做 DDR 接口、摄像头 MIPI、差分时钟分配和高速收发器设计的前提。

一、按电气标准给板级信号分类

Zynq-7000 的 PL 侧 IO 主要支持以下几类标准,它们对应着不同的板级对象:

  • LVCMOS:单端通用 IO,覆盖 1.2V / 1.5V / 1.8V / 2.5V / 3.3V 等版本。板级上常见于按键、LED、GPIO 扩展、SPI Flash、UART、I2C、普通片选与中断线。它的电气特性是“电压域决定摆幅”,VCCO 是多少,输出高电平就接近多少。
  • LVDS:低压差分信号,典型共模约 1.2V、差分摆幅约 350mV,常用于摄像头差分数据、显示差分链路、板间高速差分对。Zynq 的 LVDS 通常要求 Bank 供电在 1.8V 或 2.5V 附近,并配合 100Ω 差分终端。
  • SSTL:主要用于 DDR 类并行接口,如 SSTL15、SSTL135、SSTL18。它的特点是参考电压 VREF 与终端电压 VTT 参与判决,VCCO 必须与 DDR 颗粒电压一致(DDR3 为 1.5V,DDR3L 为 1.35V)。
  • HSTL:高速单端标准,常见于 QDR、高速 SRAM 或某些并行高速总线,VCCO 多为 1.5V 或 1.8V,同样依赖 VREF 判决。
  • MIPI D-PHY:面向摄像头 CSI 和显示 DSI 的差分物理层,Zynq 上通常通过 HP Bank 的 LVDS 差分对配合专用 IP 或外部 PHY 实现,速率可达数百 Mbps 到 1Gbps 以上每 lane。

这些标准的差别不只是“名字不同”,而是直接决定了终端方式、参考电压、供电电压和可布线的拓扑。例如 LVCMOS 是单端对地摆幅,不需要 VREF;SSTL/HSTL 是“以 VREF 为中心”的伪差分判决,必须提供 VREF 和 VTT;LVDS/MIPI 则是真正的差分对,靠差分电压判决,对共模和阻抗更敏感。

二、IO Bank 与 VCCO 的硬约束

Zynq 的 PL IO 被划分为若干 Bank,每个 Bank 有独立的 VCCO 引脚。核心规则是:同一个 Bank 内,所有使用同一 VCCO 供电的 IO 标准必须与该 VCCO 兼容。也就是说,你不能在同一个 Bank 里既接 3.3V 的 LVCMOS33,又接 1.5V 的 SSTL15,因为它们的 VCCO 需求冲突。

实际工程中常见的做法是“按电压域分 Bank”:把 3.3V 的 GPIO、UART、SPI 放在一个 Bank;把 1.5V 的 DDR3 地址/数据放在专用 DDR Bank;把 1.8V 的 LVDS 摄像头接口放在 HP Bank。这样每个 Bank 的 VCCO 单一、干净,避免跨电压域干扰。

特别注意:VCCO 不仅影响输出摆幅,还影响输入阈值。如果外部器件输出 3.3V 电平,而 Bank VCCO 设为 1.8V,输入可能被误判甚至损坏 IO。跨电压域连接必须确认阈值兼容或加电平转换。

三、典型标准的电气参数对照

标准典型 VCCO判决方式终端板级典型对象
LVCMOS333.3V单端阈值无/串阻GPIO、UART、SPI
LVCMOS181.8V单端阈值无/串阻低速外设、控制线
LVDS1.8V/2.5V差分100Ω 差分摄像头、差分时钟
SSTL151.5VVREF 判决50Ω 到 VTTDDR3 地址/数据
HSTL181.8VVREF 判决50Ω 到 VTT高速 SRAM/QDR
MIPI D-PHY1.2V 左右差分100Ω 差分CSI/DSI 摄像头与显示

这张表的关键读法是:先看 VCCO,再看判决方式,最后看终端。VCCO 决定 Bank 能不能用这个标准;判决方式决定要不要 VREF/VTT;终端决定 PCB 上要不要放电阻以及放多大。

四、从约束到实现:一个 Bank 规划示例

假设一块 Zynq 板要接:一个 3.3V 的 UART 调试口、一个 1.8V 的 SPI Flash、一个 1.5V DDR3、一个 1.8V LVDS 摄像头。合理的 Bank 划分思路是:

  1. UART 与普通 GPIO 归入 3.3V Bank,VCCO=3.3V,使用 LVCMOS33。
  2. SPI Flash 若为 1.8V 器件,单独归入 1.8V Bank,VCCO=1.8V,使用 LVCMOS18。
  3. DDR3 使用专用 DDR Bank,VCCO=1.5V,地址/命令用 SSTL15,数据用 SSTL15 加 DCI 或外部终端。
  4. LVDS 摄像头使用 HP Bank,VCCO=1.8V,差分对配置为 LVDS,接收端加 100Ω 差分终端。

在 Vivado 中,这些约束最终体现在 XDC 文件里。例如:

set_property IOSTANDARD LVCMOS33 [get_ports uart_txd]
set_property IOSTANDARD LVCMOS18 [get_ports spi_cs_n]
set_property IOSTANDARD SSTL15 [get_ports ddr3_addr[*]]
set_property IOSTANDARD LVDS [get_ports cam_data_p[*]]
set_property PACKAGE_PIN ... [get_ports ...]

如果 IOSTANDARD 与所在 Bank 的 VCCO 不匹配,Vivado 在实现阶段会直接报错,而不是等到上板才暴露。因此“先定 Bank 电压,再定 IO 标准”是必须遵守的顺序。

五、信号完整性与标准选择的关系

标准选择还直接影响信号完整性。LVCMOS 在 3.3V、高边沿速率下容易产生过冲和串扰,通常需要串联 22Ω~33Ω 电阻或降低驱动强度(Drive Strength)与压摆率(Slew Rate)。LVDS 和 MIPI 因为差分对称,共模噪声抑制好,但对差分阻抗一致性要求高,PCB 上必须做 100Ω 差分阻抗控制并保持等长。SSTL/HSTL 则对 VREF 噪声和 VTT 终端匹配敏感,VREF 通常用分压加去耦,VTT 需要能吸收/灌出电流的终端电源。

Zynq IO Bank 电压域与标准匹配关系 Bank A · VCCO = 3.3V LVCMOS33 · UART / GPIO LVCMOS33 · SPI 片选 单端阈值判决 · 无 VREF Bank B · VCCO = 1.8V LVCMOS18 · SPI Flash LVDS · 摄像头差分对 差分判决 · 100Ω 终端 Bank C · VCCO = 1.5V SSTL15 · DDR3 地址 SSTL15 · DDR3 数据 VREF 判决 · 50Ω 到 VTT 核心约束:同一 Bank 内 IOSTANDARD 必须与 VCCO 兼容 VCCO 决定摆幅与输入阈值 · 冲突时 Vivado 实现报错 ① 定 Bank 电压 按外设电压域分组 ② 选 IO 标准 LVCMOS/LVDS/SSTL ③ 定终端与 VREF 100Ω / 50Ω / VTT ④ 写 XDC 约束 IOSTANDARD + 引脚

把这张图记牢,后面做 DDR 布线、摄像头差分对分配、Bank 引脚规划时,就不会出现“标准选对了但 Bank 电压不匹配”的低级错误。真正上板前,建议逐 Bank 核对 VCCO 与 IOSTANDARD 列表,并确认 VREF、VTT、差分终端是否已在原理图和 PCB 上落实。