1. 为什么需要UART电平转换在嵌入式系统开发中经常会遇到不同电压等级的芯片之间需要通信的情况。比如一个5V供电的单片机要和一个3.3V供电的传感器模块通过UART通信这时候就需要电平转换电路。如果不做电平转换轻则通信失败重则可能损坏低压侧的芯片。我遇到过不少初学者直接连接不同电压等级的UART接口结果发现通信不正常甚至烧毁芯片的情况。其实只要理解了电平转换的原理选择合适的方案这个问题很容易解决。下面我就来详细讲解五种实用的UART电平转换方案从最简单的电阻分压到更复杂的MOS管方案每种方案我都会给出具体电路图、参数计算方法和实际应用建议。2. 电阻分压方案2.1 基础电路设计电阻分压是最简单直接的电平转换方法。它的核心原理就是利用两个电阻串联分压将高电压降到适合低电压设备的电平。具体电路如下图所示5V TX ---[R1]------[R2]--- GND | 3.3V RX假设R11kΩR22kΩ那么当5V端输出高电平时3.3V端接收到的电压就是5V × (R2/(R1R2)) 5V × (2k/3k) ≈ 3.3V正好匹配3.3V系统的逻辑高电平。2.2 参数选择与计算选择电阻值时需要考虑几个因素分压比要准确确保高电平转换后符合接收端要求电阻值不能太小否则功耗太大电阻值不能太大否则会影响信号边沿速度我通常这样计算首先确定需要的分压比比如5V转3.3V分压比应该是3.3/50.66选择R2/(R1R2)≈0.66的电阻组合比如1k2k、2.2k4.7k等检查功耗对于1k2k组合5V时电流约1.67mA功耗约8.3mW检查RC时间常数假设接收端输入电容10pF1k//2k≈667ΩRC≈6.67ns对UART波特率影响很小2.3 优缺点分析优点成本极低只需要两个电阻电路简单布局方便不需要额外供电缺点只能单向转换5V→3.3V驱动能力弱不适合带多个负载功耗相对较大速度受限一般建议在100kbps以下使用在实际项目中我通常只在低速率、单向通信的简单场合使用电阻分压方案比如一些传感器数据采集应用。3. 专用电平转换芯片方案3.1 常见芯片选型当需要更可靠、更高性能的电平转换时专用转换芯片是最佳选择。常用的有74LVC系列如74LVC42458位双向转换TXB010x系列自动方向检测的双向转换芯片PCA9306I2C专用电平转换器以TXB0104为例它可以实现4路双向电平转换支持1.2V到3.6V与1.65V到5.5V之间的转换最高速率可达100Mbps。3.2 典型应用电路使用专用芯片的电路非常简单以TXB0104为例VCCA(3.3V) VCCB(5V) | | ----------------- 5V_TX ----| A1 B1 |---- 3.3V_RX 3.3V_TX --| A2 B2 |---- 5V_RX | | ---------------只需要给芯片两侧提供对应的电源电压信号线直接连接即可芯片会自动处理方向检测和电平转换。3.3 性能特点与适用场景优点真正的双向转换驱动能力强可带多个负载速度快支持高波特率集成度高多路转换节省空间缺点成本较高需要两侧都有电源部分芯片有方向控制要求我在需要高速、可靠通信的项目中都会优先考虑专用转换芯片特别是多路信号需要转换时一个芯片就能解决问题整体方案反而更简洁。4. 二极管方案4.1 电路工作原理二极管方案利用二极管的钳位特性实现电平转换典型电路如下5V_TX ---||------[10k]--- 3.3V | 3.3V_RX当5V端输出高电平时二极管截止3.3V端通过上拉电阻得到3.3V高电平当5V端输出低电平时二极管导通将3.3V端电压钳位在二极管正向压降(约0.3V)即低电平。4.2 关键器件选择这个方案的关键是选择正向压降小的二极管肖特基二极管正向压降0.2-0.3V如1N5819锗二极管正向压降约0.2V普通硅二极管(1N4148)压降0.6-0.7V不适合此应用上拉电阻值通常选择4.7k-10kΩ太小会增加功耗太大会影响上升时间。4.3 实际应用注意事项优点成本低电路简单静态功耗小缺点只能单向转换对二极管特性要求高驱动能力有限速度一般我在一些低功耗设备上会使用这个方案特别是电池供电的设备因为它的静态电流可以做得非常小。但要注意选择质量好的肖特基二极管劣质二极管的漏电流可能会导致问题。5. 三极管方案5.1 基本电路设计三极管方案可以实现信号反相的电平转换典型电路如下5V | [10k] | 3.3V_TX ---| NPN | 5V_RX当3.3V端输入高电平时三极管导通5V端输出低电平当3.3V端输入低电平时三极管截止5V端通过上拉电阻得到高电平。这样就实现了3.3V到5V的电平转换但信号是反相的。5.2 双向转换实现如果需要不反相的转换可以用两个三极管组成推挽电路3.3V_TX ---[10k]------[10k]--- 5V_TX | NPN | GND这个电路可以实现双向转换但需要两侧的TX信号配合同一时间只能单向传输。5.3 性能优化建议优点成本适中驱动能力强可实现双向转换缺点电路相对复杂有信号延迟占用较多PCB空间我在需要较强驱动能力的场合会使用三极管方案比如驱动长线传输时。建议选择高速开关三极管如2N3904并适当减小基极电阻来提高速度但要注意不要超过三极管的额定电流。6. MOS管方案6.1 经典电路分析MOS管方案是目前比较流行的电平转换方法经典电路如下3.3V_TX | [10k] | -------- | | | NMOS | 5V_RX | | GND [10k] | 5V当3.3V端输出高电平时MOS管截止5V端通过上拉电阻得到高电平当3.3V端输出低电平时MOS管导通5V端被拉低。这样就实现了3.3V到5V的电平转换。6.2 MOS管选型要点选择MOS管时要注意以下参数VGS(th)要小于3.3V确保3.3V能可靠导通低导通电阻(RDS(on))减小压降小封装节省空间快速开关特性我常用的型号有BSS138、DMN3404L等它们都适合3.3V驱动导通电阻小价格也不贵。6.3 高级应用技巧优点双向转换能力驱动能力强速度快静态功耗低缺点需要两侧都有电源电路稍复杂MOS管比三极管贵MOS管方案特别适合I2C等需要双向通信的场合。在实际布线时要注意将MOS管尽量靠近高压侧放置并确保上拉电阻值选择合适。我一般会用4.7kΩ的上拉电阻在速度和功耗之间取得平衡。
UART电平转换实战:从电阻分压到MOS管的五种电路设计详解
发布时间:2026/6/28 22:31:12
1. 为什么需要UART电平转换在嵌入式系统开发中经常会遇到不同电压等级的芯片之间需要通信的情况。比如一个5V供电的单片机要和一个3.3V供电的传感器模块通过UART通信这时候就需要电平转换电路。如果不做电平转换轻则通信失败重则可能损坏低压侧的芯片。我遇到过不少初学者直接连接不同电压等级的UART接口结果发现通信不正常甚至烧毁芯片的情况。其实只要理解了电平转换的原理选择合适的方案这个问题很容易解决。下面我就来详细讲解五种实用的UART电平转换方案从最简单的电阻分压到更复杂的MOS管方案每种方案我都会给出具体电路图、参数计算方法和实际应用建议。2. 电阻分压方案2.1 基础电路设计电阻分压是最简单直接的电平转换方法。它的核心原理就是利用两个电阻串联分压将高电压降到适合低电压设备的电平。具体电路如下图所示5V TX ---[R1]------[R2]--- GND | 3.3V RX假设R11kΩR22kΩ那么当5V端输出高电平时3.3V端接收到的电压就是5V × (R2/(R1R2)) 5V × (2k/3k) ≈ 3.3V正好匹配3.3V系统的逻辑高电平。2.2 参数选择与计算选择电阻值时需要考虑几个因素分压比要准确确保高电平转换后符合接收端要求电阻值不能太小否则功耗太大电阻值不能太大否则会影响信号边沿速度我通常这样计算首先确定需要的分压比比如5V转3.3V分压比应该是3.3/50.66选择R2/(R1R2)≈0.66的电阻组合比如1k2k、2.2k4.7k等检查功耗对于1k2k组合5V时电流约1.67mA功耗约8.3mW检查RC时间常数假设接收端输入电容10pF1k//2k≈667ΩRC≈6.67ns对UART波特率影响很小2.3 优缺点分析优点成本极低只需要两个电阻电路简单布局方便不需要额外供电缺点只能单向转换5V→3.3V驱动能力弱不适合带多个负载功耗相对较大速度受限一般建议在100kbps以下使用在实际项目中我通常只在低速率、单向通信的简单场合使用电阻分压方案比如一些传感器数据采集应用。3. 专用电平转换芯片方案3.1 常见芯片选型当需要更可靠、更高性能的电平转换时专用转换芯片是最佳选择。常用的有74LVC系列如74LVC42458位双向转换TXB010x系列自动方向检测的双向转换芯片PCA9306I2C专用电平转换器以TXB0104为例它可以实现4路双向电平转换支持1.2V到3.6V与1.65V到5.5V之间的转换最高速率可达100Mbps。3.2 典型应用电路使用专用芯片的电路非常简单以TXB0104为例VCCA(3.3V) VCCB(5V) | | ----------------- 5V_TX ----| A1 B1 |---- 3.3V_RX 3.3V_TX --| A2 B2 |---- 5V_RX | | ---------------只需要给芯片两侧提供对应的电源电压信号线直接连接即可芯片会自动处理方向检测和电平转换。3.3 性能特点与适用场景优点真正的双向转换驱动能力强可带多个负载速度快支持高波特率集成度高多路转换节省空间缺点成本较高需要两侧都有电源部分芯片有方向控制要求我在需要高速、可靠通信的项目中都会优先考虑专用转换芯片特别是多路信号需要转换时一个芯片就能解决问题整体方案反而更简洁。4. 二极管方案4.1 电路工作原理二极管方案利用二极管的钳位特性实现电平转换典型电路如下5V_TX ---||------[10k]--- 3.3V | 3.3V_RX当5V端输出高电平时二极管截止3.3V端通过上拉电阻得到3.3V高电平当5V端输出低电平时二极管导通将3.3V端电压钳位在二极管正向压降(约0.3V)即低电平。4.2 关键器件选择这个方案的关键是选择正向压降小的二极管肖特基二极管正向压降0.2-0.3V如1N5819锗二极管正向压降约0.2V普通硅二极管(1N4148)压降0.6-0.7V不适合此应用上拉电阻值通常选择4.7k-10kΩ太小会增加功耗太大会影响上升时间。4.3 实际应用注意事项优点成本低电路简单静态功耗小缺点只能单向转换对二极管特性要求高驱动能力有限速度一般我在一些低功耗设备上会使用这个方案特别是电池供电的设备因为它的静态电流可以做得非常小。但要注意选择质量好的肖特基二极管劣质二极管的漏电流可能会导致问题。5. 三极管方案5.1 基本电路设计三极管方案可以实现信号反相的电平转换典型电路如下5V | [10k] | 3.3V_TX ---| NPN | 5V_RX当3.3V端输入高电平时三极管导通5V端输出低电平当3.3V端输入低电平时三极管截止5V端通过上拉电阻得到高电平。这样就实现了3.3V到5V的电平转换但信号是反相的。5.2 双向转换实现如果需要不反相的转换可以用两个三极管组成推挽电路3.3V_TX ---[10k]------[10k]--- 5V_TX | NPN | GND这个电路可以实现双向转换但需要两侧的TX信号配合同一时间只能单向传输。5.3 性能优化建议优点成本适中驱动能力强可实现双向转换缺点电路相对复杂有信号延迟占用较多PCB空间我在需要较强驱动能力的场合会使用三极管方案比如驱动长线传输时。建议选择高速开关三极管如2N3904并适当减小基极电阻来提高速度但要注意不要超过三极管的额定电流。6. MOS管方案6.1 经典电路分析MOS管方案是目前比较流行的电平转换方法经典电路如下3.3V_TX | [10k] | -------- | | | NMOS | 5V_RX | | GND [10k] | 5V当3.3V端输出高电平时MOS管截止5V端通过上拉电阻得到高电平当3.3V端输出低电平时MOS管导通5V端被拉低。这样就实现了3.3V到5V的电平转换。6.2 MOS管选型要点选择MOS管时要注意以下参数VGS(th)要小于3.3V确保3.3V能可靠导通低导通电阻(RDS(on))减小压降小封装节省空间快速开关特性我常用的型号有BSS138、DMN3404L等它们都适合3.3V驱动导通电阻小价格也不贵。6.3 高级应用技巧优点双向转换能力驱动能力强速度快静态功耗低缺点需要两侧都有电源电路稍复杂MOS管比三极管贵MOS管方案特别适合I2C等需要双向通信的场合。在实际布线时要注意将MOS管尽量靠近高压侧放置并确保上拉电阻值选择合适。我一般会用4.7kΩ的上拉电阻在速度和功耗之间取得平衡。