嵌入式系统中,当两个不同供电电压的单片机之间需要通讯,或者单片机与不同电压的外围芯片进行通讯时,不可避免地要进行电平转换,否则会出现通讯不成功,甚至电压超过单片机耐受值而损坏的情况。下面介绍五种主流的电平转换方案。
1.电阻分压方案
如上图所示,左侧为3.3V系统,右侧为5V系统,当5V电平客户端向左侧发送数据时通过两个电阻分压,左侧接收端电压约为5V*2K/(1K+2K)≈3.3V,如此实现电平匹配。
因为只使用了电阻,所以这种方案的优点是成本极低,方便布局,缺点也很明显,一方面功耗比较大,另一方面驱动能力不强且速度上也不能太快,一般只能应用于100K以内的频率。
2.电平转换芯片方案
使用专用的电平转换芯片,只需给芯片两侧提供不同的电压,电平转换由芯片内部完成,如74xHC系列和74xHCT系列芯片,可实现七路3.3V与5V电平相互转换。
直接使用芯片进行电平转换,其优势是驱动能力强(CMOS输出工艺),漏电流小,适合多路电平转换,速率高,缺点是成本高。
3.二极管方案
利用二极管的压降来钳位也可以实现电平转换,如上图所示,当右侧5V单片机TXD发出高电平时,D2截止,左侧RXD通过上拉电阻接收高电平为3.3V;当右侧单片机TXD为低电平时,由于二极管的钳位作用,左侧RXD约为0.3V,默认为低电平。应用此电路需要D2压降特别小(<0.5V),一般使用肖特基,否则左右电平无法默认保持一致。
二极管方案的优势是漏电流小,成本低,缺点是二极管压降要求高,驱动能力和传输速率不太高。
4.三极管方案
上图电路使用两个NPN三极管,可将输入信号3.3V电平转换为5V输出电平,并且信号保持同步。电路描述:TX为低时,Q3不通、Q4导通,RX接地也为低;TX为高时,Q3导通,Q4不通,RX上拉为5V。如此二者高低同步,且电平实现转换。 此电路优势是成本低,驱动能力强,电路应用较为成熟广泛。缺点是通过三极管转换波形有延迟,所以速率不能太快(波特率不超过230400)。多路转换时物料较多,需要较大的布局空间。
5.MOS管方案
上图是一个用MOS管来实现的IIC通讯中5V和3.3V电平转换的经典电路。
电路描述:当SDA1为高时,MOS管GS间无压降所以不通,SDA1与SDA2均为高电平,但电压各自独立;当SDA1为低时,MOS管导通,SDA1与SDA2均为低电平。SCL逻辑分析类似SDA。
这种方案适用于低频信号电平转换,价格低廉,压降比三极管小,速度一般在400K以下。