还在把5V外设直连3.3V MCU?这3个超经典的电平转换电路,你用对了吗?
做了十几年硬件开发,我发现很多新手,甚至部分有经验的工程师,在处理 3.3V 单片机(MCU)和 5V 外围模块通信时,为了省事直接飞线直连。
测试的时候明明“能用”,但一到量产,各种诡异死机、乱码就全来了。为什么?因为平时用到的 MCU 大多是 3.3V 供电的,与外围 5V 电路之间不做转换,隐患极大。今天,老硬件人给大家盘点 3 个工程中最经典、最便宜、也是最稳的电平转换方案。建议点赞收藏,下次画板子直接抄作业!
方案一:MOS管双向转换(I2C总线的“永远的神”)

▲ 图1:N沟道MOS管双向电平转换电路拓扑
如果你在调 I2C 等双向通信总线,直接盲选这个用 MOS 管搭建的电路。
核心接法:栅极固定接低压系统 VCC 3.3V。 源极接 3.3V 端的总线 SDA1。漏极接 5V 端的总线 SDA2,并且一定要加上拉电阻。
它是怎么聪明地双向工作的?3.3V端发低电平(0V):MOS 管瞬间导通,把 5V 端的 SDA2 也死死拉低到低电平。
3.3V端发高电平(3.3V):MOS 管直接截止,5V 端的 SDA2 靠着上拉电阻,稳稳输出高电平(5V)。
5V端发低电平:MOS 管内部自带的体二极管会先导通,紧接着 MOS 管整体导通,反向把 3.3V 端的 SDA1 也拉成低电平。
完美实现了 5V 和 3.3V 之间的无缝双向电平转换!
方案二:三极管转换(成本极低的经典款)

▲ 图2:NPN三极管双级电平转换电路
对于单向信号(比如 UART 的 TX/RX),用两个 NPN 三极管搭出来的电路,便宜又好用。
工作逻辑非常干脆:
当 3.3V 输入端为高电平时:第一个三极管 Q1 导通,导致第二个三极管 Q2 截止,此时输出端靠着上拉电阻直接输出 5V 高电平。
当 3.3V 输入端为低电平时:Q1 截止,Q2 导通,直接把输出端拉到地,输出低电平。
方案三:二极管钳位(极简主义的救星)

▲ 图3:肖特基二极管钳位电平转换电路
如果你只需要把 5V 降到 3.3V 接收,只需一个二极管和一个电阻就能搞定。
它是怎么“削平”电压的?
5V高电平输入时:二极管 D1 发挥钳位作用,它的阳极电压被死死卡在“3.3V + 二极管正向压降”的水平,安全输出 3.3V 级别的高电平。
5V变低电平时:二极管失去钳位作用,信号乖乖通过电阻 R1 传过去,输出低电平。
资深硬件人的避坑忠告
有些新手可能会反驳:“我以前做过的板子,把 5V 的 TTL 电平和 3.3V MCU 直接相连,实测也能用啊!”
确实,很多时候直接连并不影响你在实验室里的简单功能测试。但是,能用和好用、稳定是两码事!有时候因为负载效应,直接相连会导致电路工作极度不稳定,因为有些 TTL 电路必须要依赖下一级的输入阻抗作为负载才能正常工作。
听我一句劝,为了产品在现场不翻车、为了工作长期稳定,老老实实加上 5V 和 3.3V 的电平转换电路。一点小成本,能帮你省去后期无数个熬夜 debug 的夜晚!
做硬件,敬畏基础,才是真正的顶级修为。
7553

被折叠的 条评论
为什么被折叠?



