
面试题
项目中有不同电压域的芯片需要通信,比如3.3V的MCU和1.8V的FPGA之间,你会怎么选择电平转换方案?有哪些常用方案,各自的适用场景是什么?
面试官考察点
是否了解多种电平转换方案,而不是只知道一种
是否能根据信号特点(方向、速率、数量)选择合适的方案
是否理解各种方案的优缺点和限制条件
是否有实际项目中的选型经验和判断逻辑
核心要点速览
电阻分压:最简单最便宜,仅适合低速单向、从高到低转换,有功耗和带宽限制
三极管/MOS管分立:支持双向,成本较低,速度中等,适合低速总线
专用单向转换芯片:速度快、延迟小、通道多,适合高速并行信号
双向自动方向检测芯片:适合I2C等双向总线,使用方便但成本较高
光耦/数字隔离器:提供电气隔离,适合有安规或地电位差的场合
五大方案详细对比
| 方案类型 | 典型电路 | 速度范围 | 方向 | 成本 | 适用场景 |
|---|---|---|---|---|---|
| 电阻分压 | 两个电阻串联分压 | 约1MHz以下 | 单向(高→低) | 极低 | 低速信号、检测信号、使能脚 |
| 三极管分立 | NPN三极管+上拉电阻 | 约10MHz以下 | 单向或双向 | 低 | 普通IO口、低速控制信号 |
| MOS管分立 | NMOS管+双边上拉 | 约20MHz以下 | 双向 | 低 | I2C、SPI等低速双向总线 |
| 专用转换芯片 | 74LVC系列、TXB系列等 | 几十MHz到几百MHz | 单向或双向 | 中 | 高速数字信号、并行总线 |
| 光耦/隔离器 | 光耦、数字隔离芯片 | 几十Mbps以内 | 单向为主 | 高 | 需要电气隔离的场合 |
回答思路
电平转换方案选型不能一概而论,需要根据信号的具体特点来选择。我一般从六个维度来判断:信号方向是单向还是双向、速率有多高、有多少个通道、成本预算、功耗要求、以及是否需要隔离。先把这几个维度搞清楚,再对应选择最合适的方案。
简单说就是:低速单向量大的用电阻分压或三极管,低速双向选MOS管分立方案,中高速多通道用专用电平转换芯片,需要隔离的用光耦或数字隔离器。选型的核心是够用、可靠、经济,既不要为了省钱用不合适的方案,也不要杀鸡用牛刀。
各方案详细分析
方案一:电阻分压
电阻分压是最简单的电平转换方式,只需要两个电阻串联,从中间节点取输出电压。比如5V转3.3V,上拉电阻用1.7kΩ,下拉电阻用3.3kΩ,输出大约就是3.3V。
优势
成本极低,仅需两颗电阻
电路简单,调试方便
不需要额外电源
局限性
只能从高电压转到低电压,不能反向
有静态功耗,电阻越小功耗越大
输出阻抗高,驱动能力弱
带宽有限,高速信号边沿会变缓
电阻精度和温漂影响输出电平
低速信号、检测信号、使能引脚、复位引脚等对边沿速率要求不高的场合。一般信号速率不超过1MHz时可以考虑使用。
方案二:三极管分立方案
用NPN三极管做共射极电路,基极通过电阻接输入信号,集电极通过上拉电阻接到目标电压域。输入高电平时三极管导通,输出低电平;输入低电平时三极管截止,输出被上拉到高电平。
优势
成本较低,元件常见
支持电平上移或下移
输出电平由上拉电源决定,精度高
有一定的电流驱动能力
局限性
输出反相,需要注意逻辑
三极管开关速度有限,高速应用受限
基极电阻需要仔细计算
占用PCB面积较大
方案三:MOS管双向电平转换
用一个NMOS管,漏极和源极分别接两个电压域的信号线上,两边各加上拉电阻到各自的电源电压。这是I2C电平转换最经典的分立方案。
工作原理:当A侧为低电平时,MOS管导通,B侧也被拉低;当B侧为低电平时,MOS管体二极管导通,A侧也被拉低;两边都是高电平时MOS管截止,两边各自上拉。
优势
支持双向传输,无需方向控制
电路简单,成本低
适合开漏输出的总线(I2C、SMBus等)
局限性
只适合开漏/开集输出,推挽输出效果不好
上升沿由上拉电阻和总线电容决定,速度有限
低电平阈值受MOS管导通压降影响
信号通道多时器件数量多、面积大
方案四:专用电平转换芯片
专用电平转换芯片是集成度最高的方案,常见的有TI的TXB系列、SN74LVC系列、NX3DV系列等。一个芯片可以集成2路、4路、8路甚至更多通道。
优势
速度快,传输延迟可以低至几纳秒
通道数多,节省PCB面积
输出电平精度高,驱动能力强
部分芯片支持自动方向检测
工业级温度范围,可靠性高
局限性
成本比分立方案高
需要两个电源供电
选型需要注意最大数据速率和电平范围
方案五:光耦/数字隔离器
当两个电压域之间不仅电平不同,还存在地电位差或需要满足安规隔离要求时,就需要用到光耦或数字隔离器。
优势
提供电气隔离,两侧地电位可以不同
抗干扰能力强,适合工业环境
满足安规要求
局限性
成本高,体积大
传输延迟较大
光耦速度有限,高速需要用数字隔离器
功耗相对较高
选型决策框架
| 决策维度 | 判断要点 | 方案倾向性 |
|---|---|---|
| 信号方向 | 单向还是双向?方向是否可控? | 双向优先考虑MOS管分立或自动方向检测芯片 |
| 信号速率 | 是几kHz的慢信号还是几十MHz的快信号? | 低速可用分立方案,高速必须用专用芯片 |
| 通道数量 | 只有一两个信号还是一整组总线? | 多通道用集成芯片更划算 |
| 电平范围 | 电压差多大?是降压还是升压? | 仅降压且低速可用电阻分压,升压必须用有源方案 |
| 是否需要隔离 | 两侧地是否共地?有无安规要求? | 需要隔离则用光耦或数字隔离器 |
| 成本约束 | 是消费类成本敏感还是工业类重可靠性? | 成本敏感优先分立方案,可靠性优先用芯片 |
面试官可能的追问
追问一:I2C总线跨电压域通信,你会用什么方案?
I2C是开漏输出、双向传输的总线,常用两种方案:
MOS管分立方案:用一个NMOS管加双边上拉电阻,成本低,适合100kHz和400kHz标准速率的I2C。电路简单,但高速模式下上升沿可能不够陡
专用双向电平转换芯片:比如PCA9306、TXB0108等带自动方向检测的芯片,使用方便,速度更高,可以到1MHz甚至更高,但成本较高
选型时还要注意:I2C总线上挂的设备数量和总线电容大小,设备越多电容越大,分立方案的上升沿越慢,这时候可能需要用芯片方案或者降低通信速率。
追问二:电阻分压为什么不适合高速信号?
主要有两个原因:
第一,输出阻抗高。电阻分压的输出阻抗等于两个电阻的并联值。为了降低功耗,分压电阻不能太小,通常在几千欧到几十千欧量级。这样高的输出阻抗驱动后级电路的输入电容时,RC时间常数大,信号边沿变缓。
第二,带宽有限。高输出阻抗加上负载电容形成低通滤波器,会滤掉高频分量。一个10kΩ输出阻抗配合10pF输入电容,截止频率大约只有1.6MHz,超过这个频率的信号会明显衰减和变形。
所以电阻分压只适合几kHz到1MHz的低速信号,高速数字信号必须用低输出阻抗的有源转换方案。
追问三:3.3V的引脚可以直接接5V的输入吗?
这个要看具体芯片的规格书,不能一概而论:
如果3.3V芯片的引脚是5V容忍(5V tolerant)的,那么可以直接接5V输入,不会损坏芯片
如果不是5V容忍的,直接接5V会导致引脚过压,可能损坏IO口结构甚至整个芯片
反过来,5V芯片的输入接3.3V输出,要看5V芯片的输入高电平阈值是多少。有些TTL电平的芯片高电平阈值是2V,3.3V可以正常识别;有些CMOS电平的芯片高电平阈值是0.7Vcc即3.5V,3.3V就不能保证被识别为高电平
实际设计中,只要是跨电压域的信号,建议都查一下双方的电平参数,最好使用专门的电平转换方案,不要凭感觉直接连接。
失分表达
扣分回答 1
"电平转换就用74LVC245呗,大家都这么用。"
问题:只知道一种方案,而且没有说明选型依据,说明知识储备比较单一。
扣分回答 2
"3.3V接5V没问题,我们板子上都是直接连的。"
问题:没有考虑芯片是否5V容忍,也没有考虑输入阈值的问题,这种回答显得很不严谨。
扣分回答 3
"电阻分压最简单也最好用,什么场合都能用。"
问题:忽略了电阻分压的速度限制、功耗和驱动能力问题,对方案的局限性理解不足。
准备动作
整理一份常用电平转换芯片的型号和参数对照表,包括通道数、速率、电平范围
实际动手搭一个MOS管双向电平转换电路,测试其在不同速率下的波形
查几款常用MCU和FPGA的数据手册,看IO口的电平参数和5V容忍说明
总结自己做过的项目中用到了哪些电平转换方案,为什么那么选
核心关键词
电平转换、电压域、电阻分压、MOS管双向转换、电平转换芯片、74LVC、TXB、I2C电平转换、5V容忍、推挽输出、开漏输出

扫码关注





























