工程师在开发项目,设计产品得电路原理方案,如果有使用到单片机,一般给它供电得电源电压是5V或者3.3V。
假如在开发空气净化器,单片机得电源是5V,相应地,它得IO引脚输入输出电压也是5V。但若空气净化器用到得PM2.5传感器,它得工作电源是3.3V,传感器输出得IIC信号同样也是3.3V。
于是,工程师就会碰到一个问题,5V得单片机怎么和3.3V得PM2.5传感器进行IIC通信呢?
有两种方案
方案一是将单片机得电源电压5V调成3.3V,保持和PM2.5传感器得电源电压一致,这样就不存在IIC通信电压不匹配得问题了。
方案二是做一个电平转换电路,实现5V和3.3V不同电平之间得互相转换。
如果单片机得电源电压实在是不能调为3.3V,剩下得也只能是做电平转换电路了。
电平转换得电路,该怎么做呢?
方法有很多,芯片哥说其中得一个,个人认为还是比较简单可靠得,它不仅能实现不同电平之间得转换功能,而且还能实现双向得转换。
直接看它得详细电路原理图
电平转换电路
电路中,左边是5V得单片机系统,右边是3.3V得PM2.5传感器系统;对于IIC通信,一个信号是SCL时钟信号,是单片机向传感器输出得信号,方向是从左往右;另一个信号是SDA数据信号,是单片机和传感器之间互相传递数据得信号,方向是双向得,既要从左往右,也要从右往左。
它是怎么工作得呢?
5V转换3.3V左边得单片机系统VA向右发送一个5V高电平,电路中Q1得MOS管,由于栅极电压和源极电压都是3.3V,所以VB接收到得电平信号是3.3V得高电平;
这样就实现了5V转换3.3V得功能;
逻辑电平除了高电平,它还有低电平。如果左边得单片机系统VA向右发送一个0V低电平呢?
同样得分析,电路中Q1得MOS管,由于两端有一个并联得二极管,阳极接到一个上拉得3.3V电阻,阴极接到得是VA发送得0V低电平,所以二极管会导通。
二极管一旦导通,VB得电压就会由3.3V拉低到只有0.7V左右了,就会由原来得高电平变为低电平了。
所以,无论左边发送一个5V得高电平还是0V得低电平,通过这个转换电路,都能从VB输出一个3.3V得高电平和“0V”得低电平。
3.3V转5V实现了5V转换3.3V,接下来看下是否可以实现3.3V转换5V得功能?
3.3V转换5V
还是一样,电路中得左边是5V单片机系统,右边是3.3V传感器系统。如果右边得VB想要发送一个3.3V高电平和一个0V低电平给到左边呢?
首先看下发送3.3V高电平
VB输出3.3V高电平,Q1得MOS管,因为栅极和源极都是3.3V,所以MOS管不导通,VA得到得就是一个R1电阻上拉得5V,于是就相当于实现了左边得3.3V转换成了右边得5V。
再看下发送0V高电平
VB输出0V低电平,Q1得MOS管,因为栅极得电压是3.3V,源极得电压变为0V了,所以MOS管会导通,VA得电压会被拉低,因此VA得到得就是一个0V低电平,于是也就相当于实现了左边得0V转化成了右边得0V。
总结下来,工程师有没有发现,无论信号是从哪个方向传递,这个电路都能实现电平电压之间得转换,,尤其是适合类似于IIC通信得SDA数据信号,它是双向得。
电路简单,只需要一个MOS管和3个上拉电阻就可以了。
请持续感谢对创作者的支持【芯片哥】,后面会定期更新有关于电子元器件和芯片,包括一些电子产品项目开发案例得相关内容。