微信公众号:芯片之家(ID:chiphome-dy)
本文作者LR梁锐定居广州,是一位电子电路爱好者,有着非常丰富的硬件设计经验,欢迎大家进群勾搭闲聊
电平转换在电路设计中非常常见,因为做电路设计很多时候就像在搭积木,这个电路模块,加上那个电路模块,拼拼凑凑连起来就是一个电子产品了。而各电路模块间经常会出现电压域不一致的情况,所以模块间的通讯就要使用电平转换电路了。
上图是用MOS管实现的I2C总线电平转换电路,实现3.3V电压域与5V电压域间的双向通讯。挂在总线上的有3.3V的器件,也有5V的器件,通过这个电路,大家就可以愉快地玩耍聊天了。
实物对照图如下。实物的上拉电阻用了4.7K欧姆,可以提供更大的电流驱动能力。在满足电路性能的前提下,我喜欢用阻值更大的电阻,因为功耗更低更省电。
简化来看,留下I2C的一根线来分析就可以了,如下图。
1、当
SDA1
输出高电平时:MOS管Q1的Vgs = 0,MOS管关闭,
SDA2
被电阻R3上拉到5V。
2、当
SDA1
输出低电平时:MOS管Q1的Vgs = 3.3V,大于导通电压,MOS管导通,
SDA2
通过MOS管被拉到低电平。
3、当
SDA2
输出高电平时:MOS管Q1的Vgs不变,MOS维持关闭状态,
SDA1
被电阻R2上拉到3.3V。
4、当
SDA2
输出低电平时:MOS管不导通,但是它有体二极管!MOS管里的体二极管把
SDA1
拉低到
低电平,此时Vgs约等于3.3V,MOS管导通,进一步拉低了SDA1的电压。
高电平
指等于或接近电源电压。所以3.3V电压域的器件,其高电平为等于或接近3.3V;5V电压域的器件,其高电平为等于或接近5V。
具体要求看芯片的数据手册是怎么说明这个限定范围的,常见的比如说0.3倍的“芯片供电电压”以下为低电平,0.7倍的“芯片供电电压”以上为高电平。也就是说“芯片供电电压”为5V的时候,5 x 0.3 = 1.5V 以下为低电平,5 x 0.7 = 3.5V 以上为高电平。
以上是3.3V与5V之间的情况,如果换用其他电压域之间的转换,如3.3V、2.5V、1.8V等电压值的两两之间,需要注意MOS管的Vgs开启导通电压。
给MOS管过高的Vgs会导致MOS管烧坏!给过低的Vgs会导致MOS管打不开!不同型号的MOS管这个参数值还不一样!!!
举例:其中一个厂家生产的2N7002的数据手册,Vgs不能超过正负20V
再来看一下,设计电路时Vgs可能设计过小的情况,下图是2N7002的数据手册:
举例:
其中一个厂家生产的2N7002的数据手册,Vgs的开启电压为1V
实际使用时为保证完全开启、完全导通,设计上要多预留余量,比如实际电路中Vgs起码给到1.8V。因为1.8V的设计参数接近数据手册标注的1V临界值,尤其注意用实验验证,确保万无一失。
3.3V跟5V互转的电路已经是一个经典电路,实在是硬件设计师居家旅行、护院看家,必备良药!MOS管型号就记住用2N7002,这个型号便宜,性能久经考验,不像有些MOS管外型看起来跟2N7002一样,但实际是大功率的,有部分性能规格浪费了,有部分性能规格又不一定能满足需要,主要是还贼贵,具体其他MOS是怎样的这里就不细究啦。
最后,关于电路的学习,希望大家,enjoy!
喜欢请点赞并转发支持我们,您的转发就是我们继续创作的最佳动力,谢谢大家!
若觉得文章不错,转发分享,也是我们继续更新的动力。
5T资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,PCB、FPGA、DSP、labview、单片机、等等!
在公众号内回复「
更多资源
」,即可免费获取,期待你的关注~
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!