BMS上面的数字电平转换电路
这次想总结一下电平转换电路这一块,可能这块知识点大家觉得比较简单哈。
首先为什么要进行电平转换呢?最常遇到的问题就是电平高低不匹配,例如3.3V与5V,3.3V与1.8V;例如有的MCU的IO口供电最高只能到3.3V,像SoC这种类型的芯片,甚至IO口还存在1.8V供电的情况,那么MCU与外设之间的IO交互就需要做电平转换。(下图来自于TI官网)
具体到BMS上面,像RESET信号、WAKEUP信号、EN使能信号、甚至是SPI等通信信号都可能存在电平不匹配的状态;对于高速通信信号,还是建议选用电平转换芯片(下图来自TI官网),选型也很容易找到,就是现在可能供货不太好,哈哈。
先展开一个知识点,学习一下MCU内部的GPIO结构,即数字输入与输出的内部电路;下图来自于ST官网,描述的是STM32系列MCU的GPIO内部结构,可以看到外部的I/O pin在其内部分成了两条支路,一条连接至输入电路,另一条连接至输出电路。(我本来想用BMS常见的MCU型号来举例,但其规格书对内部I/O电路描述得都太清晰)
针对输入电路,如下图(图片来源于ST官网),它内部可以配置成三种输入模式:上拉、下拉以及悬空(高阻)。其中上下拉电阻是固定阻值的,这是指通过软件可配置的情况;另外,在上电复位后GPIO也会有一个初始默认状态,我遇到的很多MCU上电复位后初始默认状态是高阻输入,但确实也有上电复位后默认状态为输入下拉的,这些细节需要留意。
对于输出电路,如下图(图片来源于ST官网),主要分为推挽输出与OD输出两种,这个大家应该也熟悉,这两种也是可配置的;OD输出用于一些特定场合,例如IIC的SDA信号就是OD输出,它是为了避免总线竞争,其他场景还有就是为了做电平兼容使用。
接下来继续前面的话题,最常被举例的一个电平转换电路如下图所示:这个一般被用在IIC的SDA数据线上,实现双向通信+电平转换,其两边的I/O都是OD输出、高阻输入,具体工作原理大家可以自己分析一下,要求NMOS选择低门限电压的,有的时候还需要并联一个肖特基二极管来降低导通压降;这个电路特点是两边默认高电平,可以用在低有效的电路。
换一个电路如下图所示,这个电路也比较常见,使用两个NMOS做电平转换,因为一个MOS只能做反向,两个MOS就又变成了同向;此电路是高电平有效,默认输出低电平。
下图这个电路使用了一个PMOS、一个NMOS,也是同向的输出;此电路是高电平有效,默认状态是低电平。
最后再看下这个电路如下图,也是由一个NMOS和一个PMOS组成,同向输出;它是低电平有效电路,默认状态是高电平。
上面三个电路大家可以使用三极管替代,逻辑是相同的,但是因为三极管是电流型驱动,需要做电阻匹配,让其工作在饱和或截止状态;另外,三极管可以使用更低的电压来做驱动,例如1.8V,只要满足导通电压即可,而使用1.8V驱动MOS管,需要找很低门限的型号;最后,还要留意与MCU输入、输出电路的兼容匹配。 著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-08-26
最近编辑:1年前