那么什么是电平转换?为什么需要电平转换? 简单说明一下,在我们设计的电路中,不同芯片的引脚使用的电压不同,比如常见的1.8V、3.3V、5V等,在两种不同电压芯片引脚之间进行通讯时候,我们需要使得两边的电平都符合自身的需求且能够进行正常的通讯,这就叫电平转换。 因为不同电压芯片之间的通讯存在电平不匹配的问题,同时如果通讯的两端压差过大也可能会损坏芯片引脚,所以我们需要进行电平转换。 一般来说,我们进行电平转换,主要考虑的有信号传输的速度以及信号的方向问题。 本文根据博主实际项目经验,总结一些我们常用的电平转换电路。 一、二极管电平转换电路二极管电平转换电路,其实我自己并不常用,只是以前测试使用过:
在这里插入图片描述
使用此电路需要注意转换的方向,高电压端和低电压端不可调换。 电路分析当输入端 3.3V_IN 为低电平时,D1导通,输出端 1.8V_OUT 为低电平,实现两端都为低电平。 当输入端 3.3V_IN 为高电平时,D1截止,输出端 被 R1 上拉至 1.8V ,为高电平,实现两端都为高电平。 <3 因为确实没有实际产品用过,所以不太好评价 = =!。 二、三极管电平转换电路三极管实现电平转换,有点类似二极管,一样需要注意方向。 2.1 电路一第一种电路如下: 此例子为博主使用过的4G模块与 STM32 通讯使用过的电路。
在这里插入图片描述
上图中上面部分三极管基区的电压 VDD_EXT 没用错,以上图为例,这个基区电压给 VDD_MCU 或者 VDD_EXT 都是可以的。 但是下面部分的电路三极管基区的电压必须是 VDD_EXT 。 电路分析当输入端为 低电平 0V的时候,三极管导通,输出端 与输入端导通,输出端被拉低到接近0V,实现两端都为低电平。 当输入端为 高电平的时候,三极管截止, 输出端 靠着上拉电阻(上图中的 R17、R19),变成高电平,实现两端都被高电平。 2.2 电路二三极管电平转换电路第二种方式: 此例子为博主使用过的信号采集电路,外接的信号最高电压为1.8V,为了保证STM32能够稳定的接收到,使用此电路将外接的信号转化为稳定的高低电平。
在这里插入图片描述
电路分析当输入 S_IN 为低电平时,三极管 Q1关断,三极管 Q2 基极为高电平,导致 Q2 导通,输出端 S_OUT被拉低,实现两端都为低电平。 当输入 S_IN 为高电平 (VDD_EXT) 时,三极管 Q1 导通,三极管Q2关断,输出端 S_OUT 被 R4 拉高到 VDD_MCU,实现两端都为高电平。 <3 三极管电平转换电路,便宜实用,但是只能单向转化。 而且不适用于波特率过高的应用(大概大于 400Kbps 就不建议用了)。 三、MOS管电平转换电路讲过二极管,三极管,最后还是有MOS管,不得不说MOS在当下的应用之广泛,而且下面这个电平转换,是博主用得最多的,MOS管双向电平转换电路: 此例子为博主使用过的1.8V单片机与 传感器 I2C 通讯电路。
在这里插入图片描述
注意事项: 1、该电路只能用于收发双方都是开集(Open Collector, OC)或开漏(Open Drain, OD)结构输出的双向信号线。比如常见的I2C通讯。 2、VCC_S1 <= VCC_S2 3、MOS管导通电压门限(Vth(GS)里面的最大值)需要小于低电源电压。 电路分析我们使用上图来简单分一下电路: 从左向右看 当 S1A 为高电平 (VCC_S1) 时候,MOS管 VGS = 0, NM1 不导通,S2A 处电平被 R11 上拉为高电平(VCC_S2),S2A也为高电平。两端都为高电平。 当 S1A 为低电平 时候,MOS管 VGS = VCC_S1, NM1 导通,S2A 的电平与 S1A相等,为低电平。两端都为低电平。 从右向左看 这里说明一下开漏输出,由于有上拉电阻,所以没有外部影响的正常情况下,S1A 和 S2A 默认都会是高电平。 当 S2A 为高电平 (VCC_S2) 时候: 假设左侧 S1A 为高电平(因为是开漏输出,所以左侧一般来说被 R10 上拉至高电平 (VCC_S1),除非线上有低电平拉低,这里我们仍然分两种情况讨论),MOS管 VGS = 0, NM1 不导通,左侧依然被R10 上拉至高电平 (VCC_S1)。两端都为高电平。 假设左侧 S1A 为低电平(正常不会发生,原因就是开漏输出),MOS管 VGS = VCC_S1, NM1 导通,S2A 为高电平,所以会导致 S1A 电压上升,等 S1A 上升到 VCC_S1 的时候,NM1 截止,两端都变成高电平(除非开始使得 S1A 为低电平的外界因数一直存在,这是外部的问题不做过多讨论)。 当 S2A 为低电平时候: 正常情况下左侧 S1A 为高电平(VCC_S1),MOS管 VGS = 0, NM1 不导通,但是由于 MOS 管的寄生二极管,会把 S1A 下拉至低电平(这个低电平不是0V,是比 S2A 高一个二极管压降,比如 0.7V),那么VGS =(VCC_S1 - 0.7V),使得 NM1导通,导通以后,那么 S1A 和 S1B 基本相等,两端都为低电平。 如果 S1A 开始就为低电平(正常不会发生),MOS管 VGS = VCC_S1, NM1 导通,S2A 的电平与 S1A相等,为低电平。两端都为低电平。 <3 最经典的电平转换电路,双向电平转换。常用于 I2C通讯。 不能用于推挽输出的IO口,MOS管的选型需要注意 VGS(th)(开启电压) 要小于通讯两端的需要的电源电压。
|