3.3V系统和5V系统电平转换

问题背景

在设计一个带MCU或者ARM系统电路时候,经常遇见MCU的VCC是3.3V,但是外围电路需要5V,有时候是反过来。虽然现在MCU的IO都声称支持TTL电平,但是我们谁也不想将MCU的IO口直接接上5V,即使IO口先串联一个电阻,然后再接上5V,这样总是不放心,担心烧掉MCU。再说了,MCU声称IO口支持TTL电平,但是并不是所有的IO都是这样,反正有隐患。解决方法就是电平转换

具体的我只说我在实际项目中运用到的方法,而且在项目中运用比较方便的,其他的都不再说了。

法一:基于门电路

第一种:利用OC或者OD门电路,这样集电极或者漏极都可以通过一个电阻上拉到一个新的VCC,其基极或者栅极就可以连接另外一个VCC,这样也就实现了,3.3V控制5V,12V的电平信号输出。注意这里需要选择好上电阻阻值,还要考虑MCUIO的驱动能力。这类电路大部分运用在输出电路上的电平转换电路。

3.3V系统和5V系统电平转换
当 IO 口输出高电平 3.3V 时,三极管导通, OUT 输出低电平 0V,当 IO 口输出低电平时,三极管截止, OUT 则由于上拉电阻 R2 的作用而输出 5V 的高电平,这样就实现了低电压控制高电压的工作原理。

法二:基于芯片

第二种:利用特定的电平转换芯片,将3.3V和5V进行转换。例如74LVC4245A,74ALVC164245这两款芯片用的比较多。

3.3V系统和5V系统电平转换

上图是74LVC4245A芯片管脚图和具体电气含义,它存在5VVCCA和3.3VVCCB,2个电源管脚,这样就可以实现5V和3.3V的转换了,同时DIR控制数据方向,这样也实现了3.3V到5V,或5V到3.3V的两个方向转换,具体转换方向的控制如下图:

3.3V系统和5V系统电平转换

另外74LVC4245A还可以增加MCU IO的电流驱动能力。在设计中如果需要的话会首选这个芯片。

74ALVC164245是16Bit,功能和74LVC4245A差不多。

当然了,还有其他的电平转换方案,但是比较下来,经常使用的,还是这两种方法最实用。

附录

74LVC4245A 的A端IO口的持续输出最大电流可达 ±50mA
3.3V系统和5V系统电平转换

同样,74LVC4245A 的B端IO口的持续输出最大电流可达 ±50mA
3.3V系统和5V系统电平转换

SN74HC245 的IO口持续输出最大电流可达 ±35mA

3.3V系统和5V系统电平转换

上一篇:APK:网络adb


下一篇:vs,C#窗体设计:datagridview控件中某一单元格内容过多,一行显示改为自动换行的办法