电平转换与多电压 IO:1.8V 怎么和 3.3V、5V 对话
更新时间:2026-09-24。本文是「集成电路大类 · 芯片设计」**入门层(beginner)数字逻辑基础的一篇。芯片内部为了省电,电压一代比一代低:核心逻辑 0.7~1.0V,IO 引脚常是 1.8V;可同一块板子上的老接口芯片、传感器、继电器、LCD 模块仍然工作在 3.3V 甚至 5V。「都是数字信号,都是 0 和 1,接一起不就行了」——这是硬件新人最容易掉进去的坑。这一篇讲清楚它们直连为什么会坏、为什么会「不坏但功能错」,以及正确的电平转换(level translation)**做法。前置的电气概念见逻辑门电气特性和三态/开漏。
本文要回答的问题
- 一块板子上为什么会同时存在 1.8V、3.3V、5V 三种电压?
- 3.3V 输出接到 1.8V 输入为什么可能损坏?1.8V 输出接 3.3V 器件为什么又「判不成高」?
- 什么是通过 ESD/钳位二极管的「倒灌」?本侧掉电时为什么会被对侧偷偷供电?
- 电阻分压、二极管钳位、双电源缓冲器、自动方向转换 IC、MOSFET 双上拉五种方案各自适用什么场景?
- 推挽信号和开漏信号(I2C)转换有何不同?双向传输为什么能自动换向?
- FPGA 的 bank 电压 VCCIO、5V-tolerant、VREF 是怎么回事?
一、板子上为什么会有好几种电压
先回答一个前提问题:既然电压越低越省电,为什么不把整板都统一成 1.8V?因为电压是被多个互相矛盾的需求拉扯出来的。
芯片核心晶体管追求低功耗和高集成度,工艺每前进一代,核心电压就往下压一截,先进手机 SoC 的核心已经不到 0.8V。IO 环为了兼顾板级噪声容限和器件兼容性,通常单独用一档较高的电压(1.8V 或 3.3V)。而板上大量「年纪大」的器件——5V TTL 逻辑、USB 收发器、LCD、RS-232、继电器、很多单片机和传感器——它们的硅片是为 3.3V 或 5V 设计的,没有低电压版本,或者低电压版本更贵。模拟电路也偏爱高电压:运放输出摆幅、ADC 输入范围、功率管导通电阻都从更高的电源电压里获益。
结果就是一块典型电路板上至少跑着三档电源:1.8V(新芯片的 IO)、3.3V(主流数字与传感器)、5V(老器件和功率部分),中间由稳压器从一个主电源逐级降下来。只要信号要从一个电压域跨进另一个电压域,电平转换问题就躲不掉。
二、直连的三种危险
把两个不同电压域的数字引脚直接相连,可能出三类问题,严重程度递增。
这张图把三种危险按电流方向画清楚了,逐个解释。
- 逻辑电平判不出(不坏但功能错):1.8V 器件输出高电平 VOH 约 1.8V,而 3.3V 器件通常要求输入高电平 VIH 不低于 0.65×VDD,也就是约 2.1V。1.8V 卡在 2.1V 以下,对侧可能把高电平当成不确定态甚至低电平,通信时通时不通。这类问题最折磨人:器件毫发无损,但数据错、握手失败。
- 耐压超限(真损坏):反过来,3.3V 或 5V 高电平加到只耐 1.8V 的引脚上,超过输入管栅氧的设计耐压。短期表现为输入漏电增大,长期是栅氧加速老化,极端情况下直接击穿,引脚永久失效。
- 掉电倒灌 back-power(最隐蔽):每个芯片引脚内部都有接到电源轨的 ESD 保护二极管(正常用途是把引脚上的静电尖峰泄放到 VDD)。当本芯片断电(VDD=0)而对侧仍然输出高电平时,电流会顺着这颗二极管灌进本芯片的 VDD 网络,把本芯片「偷供电」到大约 VIH−0.7V 的半高电压。半死不活的电压最容易触发闩锁,也会干扰电源时序、让上电复位失灵。
判断两个引脚能否直连,必须同时核对两侧数据手册的两组参数:VOH/VIH(高电平能不能被正确识别)和引脚绝对最大额定值与耐压(接上会不会坏),再加一个问题——对侧上电、本侧掉电时有没有漏电路径。绝不能只看「都是数字信号」。
三、判据:VIH、VIL 与噪声容限
数字门判断输入高低电平靠两条阈值线:高于 VIH 一定算高,低于 VIL 一定算低,中间是不确定区。把两侧参数摆在一起算一次,就知道直连是否成立。
| 检查项 | 含义 | 直连成立的条件 |
|---|---|---|
| VOH(发送侧) | 输出高电平的最低保证值 | VOH ≥ 对侧 VIH |
| VOL(发送侧) | 输出低电平的最高保证值 | VOL ≤ 对侧 VIL |
| 高电平噪声容限 | VOH − VIH | 为正,且留几百 mV 余量 |
| 引脚绝对最大额定 | 引脚上允许施加的极限电压 | 对侧 VOH ≤ 该值 |
| 掉电漏电路径 | 经 ESD 二极管到 VDD 的电流 | 部分下电场景必须评估 |
举两个典型例子。3.3V CMOS 驱动 5V TTL 输入:TTL 的 VIH 只要约 2.0V,3.3V 的 VOH 远超它,高电平噪声容限约 1.3V,逻辑上能识别——但 3.3V 输出级是否耐 5V(5V 侧会不会通过外部网络把电压顶回来)仍要查手册,很多 74 系列老芯片输出高时是靠上拉结构的,会把线上电压往 5V 抬。1.8V 驱动 3.3V CMOS:1.8V 低于 2.1V 的 VIH,高电平噪声容限为 −0.3V,室温下也许「碰巧」能识别,温度升高、电源偏移后就开始丢数据,这正是很多「实验室能跑、现场不稳定」问题的根源。低电平一侧也要算:3.3V 器件的 VOL 一般低于 0.4V,而 1.8V CMOS 的 VIL 常在 0.5V 左右,低电平方向通常没问题,问题几乎总是出在高电平。手册阅读方法见读数据手册。
四、五类转换电路
确认必须转换后,按信号速度、方向和成本选电路。下面五类从简单到复杂排列。
| 方案 | 方向 | 适用场景 | 局限 |
|---|---|---|---|
| 电阻分压 | 高压→低压,单向 | 慢速、成本敏感的降压采样 | 不能升压、带载弱、RC 拖慢边沿 |
| 二极管/钳位 | 高压→低压 | 把高压简单钳到 VDD+0.3V | 有压降、判裕量小、不适合高速 |
| 双电源缓冲器/触发器 | 单向,或带 DIR 脚的双向 | 推挽高速:SPI、并行总线 | 双向需方向控制 |
| 自动方向转换 IC | 双向自动 | 推挽/开漏混用的 GPIO | 总线电容大、速率极高时受限 |
| MOSFET + 两侧上拉 | 双向自动 | I2C 等开漏总线经典电路 | 仅开漏,速率受上拉 RC 限制 |
电阻分压最简单:两个电阻把 3.3V 按比例降到 1.8V,取 R1(接高压侧)与 R2(接地)之比约 0.83,例如 10kΩ 配 18kΩ。但分压点的等效输出阻抗是两个电阻的并联值(上例约 6.4kΩ),后级输入电容和线电容与它构成 RC 网络,10pF 电容下时间常数就有 64ns,边沿被拉成斜坡,只适合复位、使能这类基本不变的慢速信号,而且反方向(1.8V→3.3V)它无能为力。二极管钳位是在低压侧电源 VDD 上串一颗二极管,把外部高电平钳在 VDD+0.3V 左右,成本低但高电平被削掉一截、噪声容限变小。
前三类小技巧覆盖不了的场合,交给正规器件。双电源缓冲器是一颗两侧各自供电的逻辑芯片:A 侧电源 VCCA 接 1.8V,B 侧电源 VCCB 接 3.3V,信号从 A 进就以 B 的电平出来,传播延迟可以做到纳秒级,SPI、并行地址数据线这种几十 MHz 的推挽信号都用它;双向版本多一个 DIR 方向脚,由主机控制当前往哪边传。自动方向转换 IC(如 TXS/TXS0108 一类)则把方向检测做进芯片:内部检测驱动边沿、自动打开对应方向的通道,并在上升沿短暂投入加速电流补偿上拉电阻的慢速,省去方向脚。
五、推挽与开漏:方向为什么能自动处理
信号的输出结构决定了该用哪种转换器,先分两类。
推挽信号(SPI、UART、普通 GPIO):输出级主动拉高、也主动拉低。两个推挽输出绝不能短接——一个输出高、一个输出低时等于电源对地短路。跨电压域时用双电源缓冲器;双向总线要么由主机控制 DIR 脚分时换向,要么用自动方向芯片检测谁先驱动。
开漏/开集信号(I2C、SMBus、1-Wire、中断线):器件只会把线拉低,释放高电平完全靠外部上拉电阻。这个特性带来一个天然好处:把上拉电阻接到哪一档电压,线上的高电平就是哪一档,转换几乎是免费的。
这张图画的就是 I2C 跨电压最经典的 BSS138 MOSFET 电路,解读它的工作过程:栅极固定接低压侧 1.8V。A 侧器件拉低到 0V 时,MOSFET 的 VGS 达到约 1.8V,管子导通,B 侧通过导通的管子被拉到低电平;反方向 B 侧拉低时,先由 MOSFET 的体二极管把 A 侧稍微拉低,随即 VGS 增大、管子完全导通,A 侧也被拉低。两侧都释放时,A 被 R1 抬到 1.8V、B 被 R2 抬到 3.3V/5V,MOSFET 的 VGS 归零而关断,两侧互不干涉。于是双向传输不需要任何方向控制信号。
上拉阻值是速度与功耗的折中:阻值越小,上升沿越快,但每次拉低的灌电流越大(I≈V/R);阻值越大越省电,但总线电容和电阻形成的 RC 时间常数会把上升沿拖慢,I2C 标准对上升时间有明确上限,选阻值要拿总线电容算过。这正是三态/开漏「线与」纪律在跨电压场景的延伸:谁都不主动驱动高,高电平只由上拉定义。
六、掉电、热插拔与 FPGA 的 bank 电压
最后补三个工程上反复出现的实际问题。
使能与隔离:正规转换芯片普遍带 OE(输出使能)脚,不使能时两侧引脚呈高阻态,可以在待机或部分下电时把总线断开。系统存在热插拔、分时上电可能时,要选明确标注「不带电侧不漏电」的器件——即 VCCA 缺失时输出保持高阻,否则信号仍然会经芯片内部二极管倒灌。
高速边界:几十 MHz 以上的信号,电阻分压和 MOSFET 方案的边沿都不够陡,上升沿的斜坡会吃掉噪声容限、增大抖动,此时必须用触发器型双电源转换器,并注意串联端接、走线阻抗和两侧地的回流路径。低速原型验证能跑通,不代表量产温度和长线下还能跑通。
FPGA/MCU 的 bank 分组:可编程器件把 IO 引脚分成若干组(bank),每组由独立的 VCCIO 电源决定这一组的电平标准(1.8/2.5/3.3V),同一组内通常必须用同一电压;部分引脚标注 5V-tolerant(耐 5V),另有一类引脚支持 VREF,外接一个参考电压来设定 DDR 等伪开漏标准的判决阈值。把 5V 信号接进非容忍脚、或者让 3.3V bank 直接去驱动 5V TTL,都必须先查该 bank 的 VIH/VIL、耐压和限流要求。选 VCCIO、在哪两组 bank 之间放外部转换芯片,是画原理图阶段就要定死的系统级决策(见芯片引脚与 PAD)。不确定时可以在信号线上串几十到一百欧姆的小电阻限制尖峰电流,但这只是兜底,不能代替电平核对。
排查跨电压通信故障时,拿示波器(不要只靠万用表,万用表测不出边沿和半高电压)按下面的症状对号入座,可以少走弯路:
| 观察到的症状 | 最可能的病根 |
|---|---|
| 高电平只有 1.8V 左右,对侧偶发不认 | VOH 够不到 VIH,缺升压转换 |
| 上升沿是明显斜坡、高速时丢字节 | 分压或上拉阻值过大,RC 拖慢边沿 |
| 断电芯片的 VDD 被抬到一两伏 | ESD 二极管倒灌,缺高阻隔离 |
| 通信时好时坏、与温度强相关 | 噪声容限为负或余量太小 |
| 引脚漏电逐渐增大、偶发烫 | 栅氧过压,已造成永久损伤 |
这一篇在知识体系里的位置
本篇属于芯片设计入门层的板级接口话题,回答「不同电压的数字器件怎样安全对话」。向底层原理读,电平阈值与噪声容限的来历见逻辑门电气特性,开漏与上拉的纪律见三态与开漏;向板级实践读,引脚驱动能力和 ESD 结构见芯片引脚与 PAD,限流电阻的算法见数码管限流驱动,核对参数的方法见读数据手册;向高速接口延伸,可以再读模拟混合基础和SerDes 与 8b/10b。
总结
电平转换与多电压 IO 的判据永远是数据手册:不同电压器件直连有三种危险——低压侧 VOH 达不到高压侧 VIH 导致「不坏但判错」、高压超过引脚绝对最大额定导致栅氧老化击穿、对侧上电而本侧掉电时电流经 ESD 二极管倒灌偷供电引发闩锁;方案按信号性质选,慢速单向降压可用电阻分压或钳位,推挽高速信号用两侧各接一个电源轨的双电源缓冲器(双向靠 DIR 脚或自动方向芯片),I2C 这类开漏总线用「MOSFET 加两侧各自上拉」实现无方向脚的双向转换,上拉阻值在速度与功耗间折中;有热插拔和部分下电时要选不带电侧高阻、带 OE 隔离的器件,高速场景必须用触发器型转换并处理阻抗,在 FPGA/MCU 上按 bank 的 VCCIO 分组、核对 5V-tolerant 与 VREF,绝不能只凭「都是数字信号」就直连。