一、两颗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是完全没有问题。
我们来看看它的工作原理:
- 当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左右;
- 当1.8V_TXD输出高电平时,Q4截止,3.3V_RXD被R25上拉到3.3V,所以3.3V_RXD为高,即D点电平大概为3.3V左右;
- 当1.8V_TXD输出低电平时,Q4导通,3.3V_RXD被Q4拉低,所以3.3V_RXD为低,即D点电平大概为0V左右;
五、电平转换芯片
为了稳定和可靠性,很多时候我们都会选择电平转换芯片,用它最省事!我们只需要分别给VCCA和VCCB供上两个不同的电平,那对应的A口也就输出VCCA一样的电平,同理,B口输出的电平跟VCCB的一样,以往我们用一些独立元件搭建的电平转换电路,都只需要一颗芯片就可以实现。
在使用电平转换芯片需要注意一点的是,一般是VCCB > VCCA,也就是说VCCB要用在电平高的一侧,VCCA用在电平低的一侧,使用的时候,具体看一下电平转换芯片的Datasheet。
上图中,我们没有给电平转换芯片标明具体的型号,是因为这类芯片有很多个品牌,小编没有理由给某个品牌去打广告。当然,如果你需要我帮你推荐型号也是可以的。
最后,我们针对电平转换电路就先讲到这里了,如果你也喜欢我的文章,动动小手也分享给身边的朋友吧,知识重在分享!!
————————————————