3.3V和5V串口通信电平转换电路(超详细,超简单)

写在前面:两个单片机由于电平不同,串口通信可能会失败,这时候需要通过电平转换电路来解决,本文给出了两种方法,一种是通过三极管搭建,另一种是MOS管搭建,在硬件工程师的笔试中也经常会出现这样的题目,如果觉得对你有所帮助,帮忙点个赞。

3.3V单片机和5V单片机通信的思路

3.3V单片机 通信方向 5V单片机
发送逻辑1(对应电压3.3V) 接受逻辑1(对应电压5V)
发送逻辑0(对应电压0V) 接受逻辑0(对应电压0V)
接受逻辑1(对应电压3.3V) 发送逻辑1(对应电压5V)
接受逻辑0(对应电压0V) 发送逻辑0(对应电压0V)

MOS管转换电路

工作原理

1、当3V3单片机发送逻辑1,即3V3_TX=3.3V,Ugs=0V,MOS管截止,5V_RX通过R2上拉到+5V,5V_RX=5V;

2、当3V3单片机发送逻辑0,即3V3_TX=0V,Ugs=3V,MOS管导通,5V_RX会被拉低,5V_RX=0V;

在这里插入图片描述
那有人说了,5V的数据怎么发送给3V3单片机呢?是不是将信号方向及电源更换即可,我们来看一下。

工作原理

1、当5V单片机发送逻辑1,即5V_TX=5V,Ugs=0V,MOS管截止,3V3_RX通过R1上拉到3V3,3V3_RX=3.3V;

2、当5V单片机发送逻辑0,即5V_TX=0V,Ugs=5V,MOS管导通,3V3_RX被拉低,所以3V3_RX=0;

以上分析似乎合情合理,其实如下电路不可用,上面的第二点其实是没有问题的,主要是第一点,当MOS管截止时,5V_TX的5V电压会经过MOS管的体二极管到达3V3_RX,使3V3_RX的电压高于3.3V(4V多,取决于体二极管的导通压降)。这样的话,一方面4V多的电压与3.3V有压差,经过R1电阻会有耗电;另一方面,4V多的电压也可能损坏3.3V单片机的RX管脚。

在这里插入图片描述
利用仿真软件仿真,可以看到MOS管截止时,输出是4.44V,明显高于3.3V,验证了上述的观点。
在这里插入图片描述
那如何设计5V发送到3.3V单片机呢?其实也简单,两个器件搞定,如下是电路图。

1、5V_TX=5V时,二极管D1截止,3V3_RX=3.3V;

2、5V_TX=0V时,二极管D1导通,3V3_RX≈0.6V;实际3V3_RX是多少,取决于D1的正向导通压降,因为要得到更低的电压,一般D1选择肖特基二极管,肖特基优点就是导通压降小。

在这里插入图片描述

三极管转换电路

工作原理

1、当3V3单片机发送逻辑1,即3V3_TX=3.3V,NPN三极管截止,5V_RX通过R2上拉到+5V,5V_RX=5V;

2、当3V3单片机发送逻辑0,即3V3_TX=0V,NPN三极管导通,5V_RX会被拉低,所以5V_RX=0V;

在这里插入图片描述
利用三极管,5V单片机发送给3.3V单片机,是不是电源和信号互换就可以,和MOS管电路一样,如下电路同样不能用

原因是当5V_TX为5V时,发射极反偏,但是5V通过电阻R1由三极管的基极到达三极管的集电极,造成集电极正偏,和MOS管电路一样,使3V3_RX电压高于3.3V(4V多),大家可以仿真一下,这里我就不仿真了。

在这里插入图片描述
如下,给出了5V单片机向3.3V单片机发送的电路图,用两个NPN三极管搭建。

工作原理

1、当5V单片机发送逻辑1,即5V_TX=5V,Q1导通,Q2的基极被拉低,Q2截止,所以3V3_RX=3.3V;

2、当5V单片机发送逻辑0,即5V_TX=0V,Q1截止,Q2导通,所以3V3_RX=0V;

在这里插入图片描述
可以看到,我并没有画两个NMOS管搭建5V单片机向3.3V单片机发送的电路,其实将上图中的三极管换成NMOS管,就能实现,在实际的电路设计中,为减少成本,应尽量考虑用较少的器件搭电路,所以一般就用二极管方案。

关于简单的电路设计,喜欢的朋友可以关注我的专栏,写的都很通俗易懂,大家可以一起交流,传送门:电路设计

发布了60 篇原创文章 · 获赞 147 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/Albert992/article/details/104248133
今日推荐