前段时间在设计NB-IOT模块与STM32的硬件通讯时用到了电平转换。当主控芯片引脚电平与外部连接器件电平不匹配的时候就需要用电平转换电路来进行转换。这几乎是每一个电子工程师都会遇到的一个问题。今天我就总结一下几种常用的电平转换方案,希望对大家有所帮助。
这可能是所有方案里面最稳定可靠省事的了,给转换芯片两侧供需要转换的两个电源,然后在芯片的输入输出接上需要转换的输入输出信号就OK了,所有转换部分都由芯片内部完成。下图为德州仪器的TXB0108双向电平转换器。
TXB0108
这种方案的优点很多,上面的这款转换器在VccA供电电压2.5V以上的时候最高可以达到100Mbps,速度非常快。除此之外还有驱动能力强、使用简单等优点。当然缺点也是有的,最主要就是价格上毫无优势,在需要控制成本的项目上就很难使用了。
这是一种比较常用的方案,我所使用的NB-IOT模块的datasheet上面就有推荐这种方案。如下图所示,当TXD端为高电平时,NPN三极管处于截止状态,RXD端被上拉到其电源电压;当TXD端为低电平时NPN三极管导通,RXD端被拉低到低电平,完成电平转换。三极管也可以使用MOS管替换。
这种方案最大的优点莫过于成本低廉,比第一种方案不知便宜了多少倍;再一个就是布局简单,可以根据电路板的尺寸进行合理布局。这种方案的缺点也是很明显,就是速度有限制,上面提到的datasheet里面给出的数据是不适合波特率超过460800bps的应用。
这种方案应该是最便宜的一种了,只使用了电阻这一种器件,如下图所示。我们分析一下这个电路,当3.3V电平模块向右侧发送数据的时候只通过限流电阻,到达右侧时的电平在客户端的接收范围内。当5V电平客户端向左侧发送数据时通过两个电阻分压,左侧接收端电压5V*2K/(1K+2K)≈3.3V。
这种方案的优点不言而喻就是成本极低,只需三个小电阻,同时方便布局,在PCB板上也不占用空间。当然缺点也是大大的,为了降低功耗那么分压部分的电阻值不能选择太小,这就导致了驱动能力不强同时速度上也不能太快,因为有寄生电容的影响。再一个就是完全没有隔离会有电流串扰,左右相互影响。
二极管钳位法来转换电平也是一个很常用的方案,具体电路如下图所示。我们来分析一下这个电路。当左侧TXD低电平的时候,由于D2的钳位作用,使得右侧RXD会得到一个等于二极管Vd的低电压;当左侧TXD发出高电平的时候。由于D1的钳位作用,右侧RXD会得到一个3.3V+二极管Vd的高电平。下面一组就更好理解了,当右侧TXD发出5V高电平的时候,左侧RXD接收到3.3V+Vd的电平,选择一款低压降的肖特基二极管就可以使接收到的电平更接近3.3V。
这种方案的优点是成本低廉,好实现,还有就是漏电流很小。缺点通过我们上述的分析大家应该已经知道了,那就是电平存在误差,这个误差就是二极管的正向压降,存在超出芯片正常工作电平的危险;再一个就是速度,因为有上面那个限流电阻的存在是会影响速度的,所以速度只能在100K以内。
这个方案是我经过测试最终选定并使用在项目中的。如下图所示。我们分析一下,当左侧TX低电平的时候,右侧RXD为1N5819的正向压降0.3V;当左侧TX高电平3.3V时,右侧RXD被拉高到1.8V。当右侧TXD低电平的时候,NMOS管导通,左侧RX被拉到到低电平;当右侧TXD高电平的时候NMOS管截止。左侧RX被拉到3.3V。
这种方案其实与第二种方案非常类似,所以优缺点也就差不多了,优点就是成本低廉、驱动能力强。缺点就是速度也不能太快,我在项目中的波特率使用到115200bps工作很稳定,再往上就没有试过了。
我们总结一下在选择电平转换电路时需要注意的几个点:最重要的就是电平匹配,经过转换的电平需要在受方的接受范围内;再一个就是转换后的驱动能力;还有很重要一点就是速度,如果在要求速度的场合,转换完波形已经失真,就会导致无法工作;最后就是成本,这个也很关键。
联系客服