在电路设计中经常会遇到芯片和模块之间电平不一致的情况,如果不将电平转换至合理区间,则芯片和模块间很可能无法进行通信。下面介绍一个电平转换的电路。
电路图
当芯片端是1.8V,模块端是3.3V时,用下列电路:
图1
而当芯片端是3.3V,而模块端是1.8V时,用下列电路:
图2
电路分析
用图1来进行分析,当芯片端有信号输出时,UART0_TXD=0V,此时Vbe=1.8V,三极管导通(SS8050的基极-发射极饱和电压为1.2V)。TXD会被拉低到0伏。
当处没有信号发送时(高电平)UART0_TXD=1.8V, Vbe=0V,三极管截止TXD会被R3快速上拉到3.3V。这样就能完整的将串口信号在1.8V和3.3V直接进行转换。
注意事项
图1中的Q2可以将基极的上拉电压换成3.3V,而Q1的基极上拉电压不能用3.3V, 这时因为如果Q1基极用了3.3V上拉在没有信号发送时,Vbe=1.5V>1.2V。从而导致集射一直处于导通状态,TXD会被拉低到1.8V,图2的Q4同理。