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 | 判决方式 | 终端 | 板级典型对象 |
|---|---|---|---|---|
| LVCMOS33 | 3.3V | 单端阈值 | 无/串阻 | GPIO、UART、SPI |
| LVCMOS18 | 1.8V | 单端阈值 | 无/串阻 | 低速外设、控制线 |
| LVDS | 1.8V/2.5V | 差分 | 100Ω 差分 | 摄像头、差分时钟 |
| SSTL15 | 1.5V | VREF 判决 | 50Ω 到 VTT | DDR3 地址/数据 |
| HSTL18 | 1.8V | VREF 判决 | 50Ω 到 VTT | 高速 SRAM/QDR |
| MIPI D-PHY | 1.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 划分思路是:
- UART 与普通 GPIO 归入 3.3V Bank,VCCO=3.3V,使用 LVCMOS33。
- SPI Flash 若为 1.8V 器件,单独归入 1.8V Bank,VCCO=1.8V,使用 LVCMOS18。
- DDR3 使用专用 DDR Bank,VCCO=1.5V,地址/命令用 SSTL15,数据用 SSTL15 加 DCI 或外部终端。
- 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 需要能吸收/灌出电流的终端电源。
把这张图记牢,后面做 DDR 布线、摄像头差分对分配、Bank 引脚规划时,就不会出现“标准选对了但 Bank 电压不匹配”的低级错误。真正上板前,建议逐 Bank 核对 VCCO 与 IOSTANDARD 列表,并确认 VREF、VTT、差分终端是否已在原理图和 PCB 上落实。