FPGA 电平标准 LVCMOS:1.8/2.5/3.3V 阈值、互连风险与电平转换
XDC 里写下
set_property IOSTANDARD LVCMOS33时,很多人把它理解成一个"配置开关":拨到哪档,引脚就输出哪档电压。这个理解只对了一半。LVCMOS 不只是输出摆幅的选择,它是一份发送端和接收端共同遵守的电气合同——多高算 1、多低算 0、多高的电压会伤到引脚,全部写在这份合同里。两个器件能不能直连,本质就是核对双方手里的合同条款是否兼容。
本篇在 FPGA 入门体系里处于"管脚约束 → 板级电气互连"的位置:引脚为什么按 bank 分组、VCCO 如何为一个 bank 供电,是姊妹篇 FPGA IO bank 与 VCCO 的主题,本文聚焦电平标准本身的阈值语义;约束怎么写见 XDC 约束入门,板级转换的芯片侧通用原理见 电平转换与多电压 IO,高速差分世界的入口是 LVDS 低压差分信号。
本文要回答的问题
- LVCMOS 的 VIL/VIH/VOL/VOH 四个阈值各是什么意思?为什么"输出 3.3V、收到 1.8V"这种话本身就不严谨?
- 1.8V、2.5V、3.3V 三档标准的阈值大致在哪?噪声容限(noise margin)怎么算?
- 3.3V 器件直接驱动 1.8V bank 的输入,过压、倒灌、闩锁这条链是怎么形成的?反方向 1.8V 驱动 3.3V 为什么"不烧但不通"?
- LVTTL 和 LVCMOS 是什么关系?为什么 3.3V 的两者可以直接互通,5V TTL 却要小心?
- 分压电阻、串限流电阻、专用电平转换芯片各自能解决什么、不能解决什么?双向总线和热插拔额外要注意什么?
先用一张封面卡把三档标准的全貌立住:同样是 LVCMOS,电压不同,阈值、用途和互连对象都不同,选型第一步永远是先问"对方是哪一档"。
这张卡抓住一个比例直觉即可:三档结构完全相同,变的只是锚定的电源电压,输入判决线大致按 0.35/0.65 随电源平移。下面各节围绕"阈值怎么定 → 跨档相连会怎样 → 正规解法"展开。
一、LVCMOS 是什么:一对推挽管和四个阈值
LVCMOS(Low-Voltage CMOS,低压互补金属氧化物半导体逻辑电平)描述的是单端、轨到轨、推挽输出的数字接口:发送端用一上一下两只 MOS 管把引脚拉到电源轨表示 1、推到地表示 0;接收端是高阻的 CMOS 输入栅,把引脚电压与内部两条判决线比较。单端指每根信号线以公共地为参考(与差分对相对),轨到轨指合法摆幅从地一直延伸到 IO 电源轨。
这份电气合同里有四个最基本的参数,方向两两成对:
| 参数 | 约束谁 | 含义 | 合同精神 |
|---|---|---|---|
| VOL(max) | 发送端 | 输出低电平时允许的最高电压 | 低电平必须"足够低" |
| VOH(min) | 发送端 | 输出高电平时保证的最低电压 | 高电平必须"足够高" |
| VIL(max) | 接收端 | 低于此值保证被判成 0 | 给低电平划定安全区 |
| VIH(min) | 接收端 | 高于此值保证被判成 1 | 给高电平划定安全区 |
关键在于这是两组保证值而不是一个精确翻转点:接收端只承诺"低于 VIL 一定读成 0、高于 VIH 一定读成 1",VIL 和 VIH 之间是不承诺判决结果的模糊区;发送端则承诺输出电平比接收端的保证线"再极端一点"。轻载时输出高电平几乎贴着电源轨、低电平几乎贴着地,负载电流越大,VOH 被拉低、VOL 被抬高,所以 datasheet 的保证值都注明测试电流条件。
把接收端的电压轴画出来,三个区间一目了然。
读这张图记住"两个保证、一个模糊":绿色的上下两区是合同保护范围,红色中间地带是无人区。发送端保证值与接收端保证线之间的差距就是噪声容限:低电平噪声容限 NML = VILmax − VOLmax,高电平噪声容限 NMH = VOHmin − VIHmin。信号在 PCB 走线上耦合到的地弹、串扰、电源纹波,只要幅度不超过这个余量,接收端就不会误判。更细的门级电气推导(扇出、直流负载、传输延迟的电压视角)可见 逻辑门电气特性。
二、1.8/2.5/3.3 三档:阈值比例与噪声容限算例
LVCMOS 各档的结构相同,差别只在电源电压。FPGA 的直流特性表常用一个省事又好记的比例口径给输入阈值:VILmax 约为 0.35·VDDIO,VIHmin 约为 0.65·VDDIO,VDDIO 就是该 bank 的 VCCO 供电。按这个量级口径,三档阈值如下(仅作直觉参考,工程验收以具体器件 datasheet 为准)。
| 档位 | VDDIO | VILmax ≈ 0.35·VDDIO | VIHmin ≈ 0.65·VDDIO | 标准固定阈值口径 | 典型对接对象 |
|---|---|---|---|---|---|
| LVCMOS33 | 3.3V | 约 1.16V | 约 2.15V | 约 0.8V / 2.0V(沿 TTL 输入习惯) | UART、SPI、GPIO、老款 ADC |
| LVCMOS25 | 2.5V | 约 0.88V | 约 1.63V | 约 0.7V / 1.7V | 部分存储器、过渡代外设 |
| LVCMOS18 | 1.8V | 约 0.63V | 约 1.17V | 约 0.63V / 1.17V | 新型传感器、处理器 IO、MIPI 旁路口 |
注意最后一列:低压档(1.8V 及以下)基本严格按比例定阈值;3.3V、2.5V 两档因从 TTL/LVTTL 继承,标准给固定阈值(3.3V 档约 0.8V/2.0V),与比例值接近但不完全相等。这正是 LVTTL 与 LVCMOS 能在 3.3V 下互通的底层原因,第四节展开。
同档互连时余量充裕:以 3.3V 档为例,即便按带载保证值 VOH ≥ 2.4V 估算,NMH 也有约 0.4V,实际板上余量更大。跨档时这条减法立刻露出獠牙:1.8V 发送端的 VOH 再好也只有 1.8V 上下,而 3.3V 接收端要求 VIH 约 2.0V——高电平噪声容限变成约 −0.2V,信号在"保证判为高"的线之下,接收端没有义务把它读成 1。 这就是"不烧但不通"的定量解释:门偶尔能过,只是因为实际翻转点随温度在漂移,时好时坏的通信最难排查。
三、跨档互连的四种组合:哪种烧、哪种虚、哪种合法
把两个不同电压的单端口对接,按方向排列只有四种组合,结果可以直接列成自查表。
| 组合(发送 → 接收) | 电气结果 | 结论 |
|---|---|---|
| 3.3V → 3.3V 同档 | VOL/VOH 全部落入对方保证区,余量正常 | 合法直连 |
| 1.8V → 1.8V 同档 | 同上,摆幅小但同档匹配 | 合法直连 |
| 1.8V 发送 → 3.3V 接收 | 高电平约 1.8V 够不到 VIH≈2.0V,NMH 为负 | 一般不烧,但随机误判,不可靠 |
| 3.3V 发送 → 1.8V 接收 | 引脚上电压超过接收端耐压,保护钳位导通 | 危险:倒灌、闩锁、烧脚 |
第四种是唯一可能造成永久损伤的组合,值得把完整链条画清楚。CMOS 引脚内部有两只 ESD 保护二极管,分别把引脚钳在"地−管压降"和"VCCO+管压降"之间;正常工作时两只二极管都反偏截止,纯属隐形的防护。当 3.3V 高电平加到一个 VCCO 只有 1.8V 的引脚上,PAD 电压比本轨高出一大截,上钳位二极管被正向偏置,事故链条就此启动。
图中红色是过压与损伤环节,橙色是承上启下的倒灌,灰色钳位管本是保护器件——它的设计意图是泄放静电瞬态,不是在直流工况下长期充当"电平转换器"。持续注入可能触发 CMOS 闩锁效应(latch-up):芯片内寄生的四层 NPNP 结构等效于一只导通的可控硅,VCCO 到地出现不受逻辑控制的低阻通路,撤掉外部信号也不会恢复,只能断电。bank 供电结构、混压 DRC 与上电时序的完整展开见 FPGA IO bank 与 VCCO。
还有一个容易忽略的等价格局:掉电也是一种混压。FPGA 侧 bank 未上电(VCCO=0)而对侧已在输出高电平时,引脚状态与"3.3 驱 1.8"同样危险,这把跨档问题和电源时序、热插拔连在一起(第五节处理)。
四、LVTTL 与 LVCMOS 的沿革:为什么 3.3V 下两者能互通
今天 XDC 里几乎只写 LVCMOS,但老资料、老芯片上随处可见 LVTTL、TTL 字样,理清这段沿革能解释几个真实的工程疑问。
| 对比 | TTL(5V 双极型时代) | LVTTL | LVCMOS |
|---|---|---|---|
| 工艺 | 双极型三极管 | 5V→3.3V 过渡的 TTL 电平族 | CMOS 工艺,随工艺代际降压 |
| 典型电源 | 5V | 3.3V(也有 5V 口径) | 3.3/2.5/1.8/1.5/1.2V 多档 |
| 输入阈值 | 约 0.8V / 2.0V | 沿用约 0.8V / 2.0V | 低压档按 0.35/0.65·VDDIO 比例 |
| 输出结构 | 双极图腾柱,高低电平不对称 | 同 TTL 习惯 | CMOS 推挽,轻载轨到轨 |
| 输入阻抗 | 有限输入电流 | 较高 | 极高(栅极几乎不取直流电流) |
沿革主线:5V TTL 时代定下"低电平上限 0.8V、高电平下限 2.0V"这对输入阈值;过渡到 3.3V 时 LVTTL 原样保留,于是 3.3V 轨电压配 TTL 判决线两边都舒服;LVCMOS 则是纯 CMOS 工艺产物,输出用互补 MOS 管,轻载下摆幅直达电源轨。在 3.3V 档,LVCMOS 发送端的 VOL/VOH 完全落得进 LVTTL 的保证区,反向也成立——所以 3.3V LVTTL 与 3.3V LVCMOS 可直接互连,这是历史兼容,不是巧合。 多数 FPGA 上两者电气等效,差异查 datasheet。
真正要警惕的是 5V。很多 3.3V FPGA bank 的输入不耐 5V:5V TTL 输出高电平可达 4V 以上,同样走"过压→钳位→倒灌"的链条。少数器件系列或个别引脚标注 5V-tolerant,意思是输入结构允许引脚电压高于本档电源,但这是逐器件、逐引脚明确列出的能力,不能从"LVTTL 兼容 TTL 阈值"自行外推。拿不准时,电平转换与多电压 IO 给的判据是通用的:先查接收端 datasheet 的绝对最大额定值,再谈阈值。
五、正规解:电平转换方案、双向总线与热插拔
核对完合同发现不兼容,板级的处理手段可以按"正规程度"排成一张对照表。
| 方案 | 适用方向 | 为什么行 | 局限与代价 |
|---|---|---|---|
| 双电源缓冲/转换芯片 | 单向推挽,中高速 | 两侧各自供电,输出级主动驱动到目标轨,阈值两侧分别匹配 | 要占料占板;每路要选对方向 |
| 自动方向双向转换 IC | 双向总线(GPIO 并联) | 内部检测驱动方向自动换向,带 OE 使能 | 有传播延迟,高速率受限;需配合上电管理 |
| 开漏 + MOSFET 双上拉 | I2C 等开漏双向总线 | 任一侧拉低都能传递,上拉电阻各自接到本侧电源 | 只适合开漏协议,速率低 |
| 电阻分压网络 | 仅高驱低的输入侧 | 把高档电平按比例衰减进低档输入窗口 | 单向、中低速;驱动能力与边沿都被电阻牺牲 |
| 串联限流电阻 | 救急限流 | 把钳位电流限制在手册允许值以下 | 不改变过压事实,带来 RC 边沿退化,非通用解 |
| 直接相连 | 同档且余量为正 | 零成本 | 仅此一种合法直连 |
两种民间偏方需要点名。电阻分压只在"高→低、纯输入、速度低"三个条件同时成立时才可接受:它能把 3.3V 衰减进 1.8V 窗口,但分压网络始终挂在驱动端,加上引脚电容,RC 常数把上升沿拉成缓坡;它无法反向传递信号,也不能用在双向口上。串联电阻只限制电流、不消除过压:PAD 电压仍由外部 3.3V 决定,钳位二极管照样正偏;个别低速输入设计用它把倒灌限制在 datasheet 允许的钳位电流以内,属特定场合的妥协,治不了闩锁,不是通用方案。
双向总线(两边 GPIO 分时互为收发)是偏方重灾区:分压网络在方向反转时失效,分立器件还会经保护二极管互相"喂电"。正规做法是选双电源、带自动方向检测的转换芯片,并用 OE 引脚在上电期间把总线置为高阻。FPGA 的总线保持(bus-hold)电路只能让输入不悬空,保持的是本 bank 电压域电平,替代不了跨域转换;三态与开漏基础见 三态门与开漏输出。
热插拔把"掉电即混压"的时间窗画得最具体:板卡插入已上电母板时,信号触针往往先于电源触针接触,对侧电平已经到脚,本卡 VCCO 还在爬升。

读这张时序图抓住"危险窗口"四字:倒灌不是稳态错误,而是一段从信号接触开始、到本卡 VCCO 爬升到正常电平为止的时间差。窗口期内母板器件经钳位管给半张卡供电,轻则启动异常,重则闩锁。工程上三个动作按成本排序:选用带热插拔能力、OE 可控的转换芯片并让 OE 由电源就绪信号释放;连接器选电源触针先接触、信号触针后接触的长短针设计;做不到以上两点时,保证两侧电源同时序爬升。电源与散热的整体规划见 FPGA 供电与散热,上电瞬间的 POR 序列见 FPGA 上电配置时序。
拿到实际原理图时的判断流程可以固化成下面的分诊图。
图中蓝色是唯一的分析动作(查档、做减法),红色两支是不兼容方向,橙色是统一出口。纪律只有一条:"能不能直连"是查 datasheet 算出来的,不是看两个电压"差不多"猜出来的。
六、LVCMOS 与 LVDS 的分工:单端归低速控制,差分归高速传输
LVCMOS 不是板级互连的全部答案。速度和距离一上去,大摆幅要为走线寄生电容反复充放电,边沿变慢、动态功耗随频率上涨,地弹和串扰还直接叠加在唯一一根信号线的判决电压上——这正是差分信号的区间。把常见标准按"单端还是差分"梳理,家族分工如下。

这张家族谱看判决量即可:左支判决"一根线对地的绝对电压",右支判决"两根互补线之间的电压差"。以最常用的 LVDS 为例,发送端用约 3.5mA 恒流源在双绞对上换向,接收端 100Ω 终端上恢复出约 350mV 差分摆幅,共模噪声在相减时抵消,摆幅小一个数量级反而能跑数百 Mbps 到 Gbps 量级。两者不是替代关系而是同一系统里的两层:SPI、UART、片选、复位、低速 GPIO 走 LVCMOS,随路时钟数据、摄像头并口、背板链路走 LVDS。
| 维度 | LVCMOS(本篇) | LVDS |
|---|---|---|
| 导线 | 1 根信号 + 地 | P/N 一对互补线 |
| 判决量 | 对地绝对电压 | 两线电压差 |
| 典型摆幅 | 轨到轨(1.2–3.3V) | 约 350mV 差分 |
| 抗共模噪声 | 无专门机制 | 接收端相减抵消 |
| 典型场景 | 板内低速控制与配置 | 高速数据与长距传输 |
| FPGA 侧约束 | 按 bank 配 VCCO | 差分对必须同 bank 成对 |
差分一侧的完整机理见 LVDS 低压差分信号,FPGA 工程上的引脚、随路时钟与 SERDES 实践见 高速接口 LVDS/SERDES/DDR 与 LVDS 高速 IO 详解;差分对为什么不能拆到两个 bank,FPGA IO bank 与 VCCO 的划 bank 规则有交代。
FAQ
Q:XDC 里把 LVCMOS33 改成 LVCMOS18,引脚电压就变了吗? 不会。约束只是对板上事实的声明,输出能量来自 bank 的 VCCO;约束改了电源没改,引脚仍在原直流点工作,还会引出 bank 电压 DRC。
Q:1.8V 输出接 3.3V 输入,很多板子好像也能用? 那是落在模糊区边缘的"侥幸通信":实际 VOH 贴着 1.8V,而接收翻转点随温度和器件个体漂移,常温调试能过不代表高低温可靠。噪声容限为负就是负,不能拿样机运气做设计。
Q:串个 1kΩ 电阻再直连,行不行? 只限流、不消除过压,钳位二极管仍导通,且 RC 拖慢边沿。个别低速输入设计用它把倒灌控制在 datasheet 允许的钳位电流以下可以接受,但通用、可靠、双向的场合一律走双电源转换器件。
Q:为什么有的 FPGA 引脚能直接接 5V? 那是器件明确标注的 5V-tolerant 能力,靠特殊输入结构实现,只在具体型号、具体引脚上成立。没有标注就按不耐压设计,不要从"LVTTL 兼容 TTL"推断。同 bank 同电压、差分对同 bank 成对的供电侧规则见姊妹篇。
这一篇在知识体系里的位置
- 姊妹篇(bank 供电侧):FPGA IO bank 与 VCCO 讲引脚为何按 bank 共享电源、混压 DRC 与划 bank 规则,与本文互为表里。
- 板级转换通论:电平转换与多电压 IO 展开五类转换电路与 I2C 双向自动换向;模拟视角见 模拟电平转换电路设计。
- 约束与供电:XDC 约束入门、FPGA 供电与散热、FPGA 上电配置时序。
- 差分高速侧:LVDS 低压差分信号 讲机理,高速接口 LVDS/SERDES/DDR 与 LVDS 高速 IO 详解 讲 FPGA 落地。
- 门级基础:逻辑门电气特性 给出噪声容限与扇出的完整推导。
总结
FPGA 电平标准 LVCMOS 的全部内容可以浓缩成一份电气合同:推挽输出把引脚在 GND 与 VCCO 之间轨到轨驱动,接收端用 VIL/VIH 两条保证线判决,发送端用 VOL/VOH 两组保证值留出噪声容限;1.8/2.5/3.3V 三档结构相同,阈值随电源按约 0.35/0.65 的比例平移,具体数值以器件 datasheet 为准。跨档互连只有同档直连合法:1.8V 驱动 3.3V 时高电平够不到 VIH、噪声容限为负,表现为时通时断;3.3V 驱动 1.8V 则经 ESD 钳位二极管倒灌,可能触发闩锁直至烧脚,掉电和热插拔会造成同样的过压窗口。3.3V LVTTL 与 LVCMOS 因历史阈值兼容可直接互通,5V 耐受则必须看明确标注;分压只适合高到低的中低速单输入,串阻只限流不消除过压,双向总线与热插拔的正规解是带 OE 的双电源转换器件配合电源时序。速度和距离上去之后,单端 LVCMOS 把阵地交给以 LVDS 为代表的差分标准:前者管板内低速控制,后者管高速长距传输。