两个电压不同的MCU之间是如何进行通讯的?
比如一个5V一个3.3V:
该电路的核心在于电路中的MOS场效应管(2N7002)。他和三极管的功能很相似,可做开关使用,即可控制 电路的通和断。不过比起三极管,MOS管有挺多优势,后面将会详细讲起。
如果沿着a、b两条线,将电路切断。那么MCU1的TX引脚被上拉为5V,MCU2的RX引脚也被上拉为3.3V。 2N7002的S、D引脚(对应图中的2、3引脚)截止就相当于a、b两条线,将电路切断。
也就是说,此电路在2N7002截止的时候是可以做到,给两个MCU引脚输送对应的工作电压。
下面进一步分析:
1、MCU1 TX发送高电平(5V),MCU2 RX配置为串口接收引脚,此时2N7002的S、D引脚(对应图中的
2、3引脚)截止,2N7002里面的二极管3— >2方向不通。那么MCU2 RX被VCC2上拉为3.3V。
2、MCU1 TX发送低电平(0V),此时2N7002的S、D引脚依然截止,但是2N7002里面的二极管2— >3方向 通,即VCC2、R2、2N7002里的二极管、MCU1 TX组成一个回路。2N7002的2引脚被拉低,此时MCU2 RX 为0V。该电路从MCU1到MCU2方向,数据传输,达到了电平转换的效果。
数据传输方向MCU2— >MCU1
1、MCU2 TX发送高电平(3.3V),此时Vgs(图中1、2引脚电压差)电压差约等于0,2N7002截止, 2N7002里面的二极管3— >2方向不通,此时MCU1 RX引脚被VCC1上拉为5V。
2、MCU2 TX发送低电平(0V),此时Vgs(图中1、2引脚电压差)电压差约等于3.3V,2N7002导通, 2N7002里面的二极管3— >2方向不通,VCC1、R1、2N7002里的二极管、MCU2 TX组成一个回路。2N7002
的3引脚被拉低,此时MCU1 RX为0V。该电路从MCU2到MCU1方向,数据传输,达到了电平转换的效果。 至此,该电路就分析完了,这是一个双向的串口电平转换电路。