结合实际聊聊电平转换电路(常用电平转换电路总结)
前言
电路小课堂时间到,今天我们要聊的是 电平转换电路。
那么什么是电平转换?为什么需要电平转换?
简单说明一下,在我们设计的电路中,不同芯片的引脚使用的电压不同,比如常见的 1.8V、3.3V、5V 等,在两种不同电压芯片引脚之间进行通讯时候,我们需要使得两边的电平都符合自身的需求且能够进行正常的通讯,这就叫电平转换。
因为不同电压芯片之间的通讯存在电平不匹配的问题,同时如果通讯的两端压差过大也可能会损坏芯片引脚,所以我们需要进行电平转换。
一般来说,我们进行电平转换,主要考虑的有信号传输的速度以及信号的方向问题。
本文根据博主实际项目经验,总结一些我们常用的电平转换电路。
一、二极管电平转换电路
二极管电平转换电路,其实我自己并不常用,只是以前测试使用过:
使用此电路需要注意转换的方向,高电压端和低电压端不可调换。
电路分析
当输入端 3.3V_IN 为低电平时,D1 导通,输出端 1.8V_OUT 为低电平,实现两端都为低电平。
当输入端 3.3V_IN 为高电平时,D1 截止,输出端 被 R1 上拉至 1.8V ,为高电平,实现两端都为高电平。
因为确实没有实际产品用过,所以不太好评价 = =!。
二、三极管电平转换电路
三极管实现电平转换,有点类似二极管,一样需要注意方向。
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,实现两端都为高电平。
三极管电平转换电路,便宜实用,但是只能单向转化。而且不适用于波特率过高的应用(大概大于 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 相等,为低电平。两端都为低电平。
最经典的电平转换电路,双向电平转换。常用于 I2C 通讯。不能用于推挽输出的 IO 口,MOS 管的选型需要注意 VGS(th)(开启电压) 要小于通讯两端的需要的电源电压。
四、电平转换芯片
电平转换芯片在我一般项目中用得倒不是很多,一般的项目应用上面的 MOS 管电路已经可以满足需求。但是在一些高速通讯的场合,就需要用到专用的电平转换芯片。芯片有很多种,单向电平转换、带方向控制的双向电平转换、自动双向电平转换等,一般来说都用上芯片了,肯定会选择自动双向电平转换芯片,然后一些参数在芯片手册都会比较详细的给出,比如 TI 的 TXS0108EPWR:
用法也是比较简单的:
成本相对前面较高,但是速度快,双向并且能够自动检测方向,高速低速场合都适用。如果对成本不敏感,电平转换芯片是最稳定可靠的方式。
结语
本文把单片机系统中常用的电平转换电路总结了一遍,同时对于他们的应用场合也给出了例子。
总的来说,本文还是比较简单!当然,博主的电路小课堂就是要把我们平时常用的一些电路做好总结分析,以便于自己和小伙伴们能够在需要的时候找到自己合适的电路。
版权声明: 本文为 InfoQ 作者【矜辰所致】的原创文章。
原文链接:【http://xie.infoq.cn/article/58d521c864f01c42d8522a21f】。文章转载请联系作者。
评论