干货来了|最全的电平转换电路

本文详细介绍了使用NMOS管、NPN三极管以及二极管构建的电平转换电路,包括I2C通信中的电平调整、UART电平转换,以及二极管钳位法的应用。同时提到了电平转换芯片的选择和使用注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、两颗NMOS搭建的电平转换电路

        我们两个设备或者芯片之间要进行I2C通讯,但他们I2C的电平不匹配,就需要增加电平转换电路了,这里我们用两颗NMOS管实现的I2C电平电路,从而实现3.3V电压域与5V电压域间的双向通讯。

        R1和R2不一定是用10K电阻,也可以用4.7K的电阻,4.7K的上拉电阻,肯定比10K的驱动能力强,但它功耗会比10K的功耗高,所以一般情况下,我们只是两个芯片之间的电平转换,10K上拉电阻就可以满足了。像I2C总线,如果I2C总线上的设备有3个或以上,我们为了提供它的驱动能力,也是可以将上拉电阻改到4.7K或者2.2K都是可以的。

        我们看看它的工作原理,这里以SCL为例:

        1)当3.3V_SCL输出高电平时,Q1的Vgs = 0,MOS管截止,5V_SCL被R3上拉到5V,所以5V_SCL为高

        2)当3.3V_SCL输出低电平时,Q1的Vgs = 3.3V,MOS管导通,5V_SCL被MOS管拉低,所以5V_SCL为低

        3)当5V_SCL输出高电平时,Q1的Vgs不变,MOS管截止,3.3V_SCL被R1上拉到3.3V,所以3.3_SCL为高

        4)当5V_SCL输出低电平时,Q1的Vgs不变,MOS管截止,但通过MOS管的自身寄生二极管将3.3V_SCL拉到低电平,所以3.3_SCL为低

        我们这里讲解的是3.3V电压域与5V电压域,如果是2.5V、1.8V的电压域,设计的时候一定要考虑MOS管的Vgs开启导通电压是否满足。

二、两颗NPN三极管搭建的电平转换电路

        我们这里用三极管来搭建UART通讯的电平转换电路,从电路模型上看跟MOS管的差不多,只是我们需要在三极管的b极串一个限流电阻。

我们看看它的工作原理,这里以Q5这组为例:

        1)当5V_TXD输出高电平时,Q5的Vbe < 0.7V,三极管截止,3.3V_RXD被R5上拉到3.3V,所以3.3V_RXD为高

        2)当5V_TXD输出低电平时,Q5的Vbe > 0.7V,三极管导通,3.3V_RXD通过三极管被5V_TXD拉低,所以3.3V_RXD为低

三、二极管钳位搭建电平转换电路

        其实用二极管钳位法来搭建的电平转换电路,在工作中也经常在用。

        我们来看看它的工作原理:

        1)当3.3V_TXD输出高电平时,D2截止,5V_RXD被R14上拉到5V,同时又被D1钳位到3.3V,所以5V_RXD为高,即A点电平大概为4V左右;

        2)当3.3V_TXD输出低电平时,D2导通,5V_RXD被D2拉低,所以5V_RXD为低,即A点电平大概为0.3V左右;

        3)当5V_TXD输出高电平时,通过二极管D3钳位到3.3V,所以3.3V_RXD为高,即B点电平大概为3.6V左右;

        4)当5V_TXD输出低电平时,D3不导通,直接通过电阻R15将3.3V_RXD拉低,所以3.3V_RXD为低

        这个电路虽然成本低,漏电流小;但它电平还是存在一定的误差,因为二极管都有一个正向压降,所以要正确的选择二极管,并且电平不能超出芯片正常工作的电平,还有一个缺点就是由于限流电阻会对速度有影响,所以建议此电平转换在100KHz的通讯下使用。

四、二极管和MOS管组合的电平转换电路

        为了解决纯二极管搭建电平转换的缺陷,我们将电路做了优化,用一颗二极管和一颗MOS管一起组合搭建一个电平转换电路,如下图,这个电路在UART通讯的应用中,我经常在用。一般用在波特率115200是完全没有问题。

        我们来看看它的工作原理:

  1. 3.3V_TXD输出高电平时,D5截止,1.8V_RXD被R24上拉到1.8V,所以1.8V_RXD为高,即C点电平大概为1.8V左右;当3.3V_TXD输出低电平时,D5导通,1.8V_RXD被D5拉低,所以1.8V_RXD为低,由于二极管的压降,所以C点低电平大概为0.3V左右;
  2. 1.8V_TXD输出高电平时,Q4截止,3.3V_RXD被R25上拉到3.3V,所以3.3V_RXD为高,即D点电平大概为3.3V左右;
  3. 1.8V_TXD输出低电平时,Q4导通,3.3V_RXD被Q4拉低,所以3.3V_RXD为低,即D点电平大概为0V左右;

五、电平转换芯片

        为了稳定和可靠性,很多时候我们都会选择电平转换芯片,用它最省事!我们只需要分别给VCCA和VCCB供上两个不同的电平,那对应的A口也就输出VCCA一样的电平,同理,B口输出的电平跟VCCB的一样,以往我们用一些独立元件搭建的电平转换电路,都只需要一颗芯片就可以实现。

        在使用电平转换芯片需要注意一点的是,一般是VCCB > VCCA,也就是说VCCB要用在电平高的一侧,VCCA用在电平低的一侧,使用的时候,具体看一下电平转换芯片的Datasheet。

        上图中,我们没有给电平转换芯片标明具体的型号,是因为这类芯片有很多个品牌,小编没有理由给某个品牌去打广告。当然,如果你需要我帮你推荐型号也是可以的。

        最后,我们针对电平转换电路就先讲到这里了,如果你也喜欢我的文章,动动小手也分享给身边的朋友吧,知识重在分享!!

————————————————

<think>嗯,用户问的是如果没有电平转换电路会怎么样。我需要先理解电平转换电路的作用,然后再分析没有它可能带来的问题。 首先,电平转换电路是用来确保不同电压级别的设备之间能够正确通信的。比如,一个3.3V的微控制器和5V的外设连接时,直接连接可能无法正确识别高低电平,导致信号错误。这时候电平转换器就起到转换电压的作用,让双方都能正确读取信号。 那如果不用的话,可能的问题有几个。首先是信号电平不匹配。比如,3.3V的输出在5V设备看来可能达不到高电平的最低要求,导致误判为低电平。同样,5V的输出直接接到3.3V设备可能会超过其承受范围,损坏IO口。其次是电流倒灌的问题,如果高电压的设备通过GPIO向低电压设备供电,可能会有电流倒流,影响电源稳定性,甚至损坏器件。还有通信错误,比如I2C总线需要上拉电阻,不同电压设备的上拉可能导致电平不稳定,数据传输出错。最后是长期可靠性问题,过压或欠压运行会缩短元件寿命。 解决办法的话,可能需要使用电平转换芯片,或者分压电阻,或者二极管来限制电压,或者选择兼容电压的器件。比如,用分压电阻将5V降到3.3V,但要注意电阻值的选择。或者使用MOSFET构建双向电平转换电路,这种方法成本低,适用于I2C等双向总线。 然后用户可能想知道具体的实现方法,比如分压电阻的计算,或者转换电路的例子。所以给出一个分压电阻的代码示例,虽然C语言代码可能不太相关,但可以说明如何通过配置GPIO来适应不同的电平,或者展示如何计算电阻值。 最后,相关问题需要围绕电平转换、电压兼容、接口保护等方面提问,比如电平转换电路的作用,不同电压设备连接的问题,分压电阻设计,或者I2C的电平转换方法。</think><< 如果没有电平转换电路,不同电压等级的器件直接连接可能导致以下问题: 1. 信号电平不匹配: - 低电压器件输出高电平可能达不到高电压器件的最低输入高电平要求 - 高电压器件输出可能超出低电压器件的最大承受电压 例如:3.3V MCU直接连接5V传感器时,3.3V的高电平可能无法被5V系统识别为有效高电平 2. 电流倒灌风险: - 当高压器件和低压器件IO直接相连时 - 可能通过保护二极管形成电流通路导致 a) 器件功耗异常增大 b) 可能损坏GPIO端口 c) 影响电源稳定性 3. 通信错误: - I2C/UART等数字接口的电压不匹配会导致 a) 逻辑电平识别错误(0/1误判) b) 时序参数改变(上升/下降时间) c) 总线竞争异常 d) 数据校验失败 4. 可靠性下降: - 长期工作在临界电压下会导致 a) 栅氧层击穿风险增加 b) 热载流子效应加速老化 c) 逻辑门延迟特性改变 解决方案: 1. 使用专用电平转换芯片(如TXB0108) 2. 采用电阻分压降压(仅单向信号) 3. 使用MOSFET构建双向转换电路 4. 选择支持多电压等级的器件 5. 使用光耦隔离(需要隔离时) 示例电阻分压电路代码: ```c // 5V转3.3V的电阻分压配置 #define R1 2200 // 2.2kΩ #define R2 4700 // 4.7kΩ void adc_init() { // 配置ADC输入通道 ADMUX |= (1 << REFS0); // 使用AVCC参考电压 ADCSRA |= (1 << ADEN); // 使能ADC } uint16_t read_5v_sensor() { ADCSRA |= (1 << ADSC); // 启动转换 while (ADCSRA & (1 << ADSC)); // 等待转换完成 return ADC; // 返回转换结果 } ``` 需要根据实际分压比调整ADC参考电压和计算逻辑 >>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值