初始化串口后,低功耗模式下电流高是怎么回事?

2022-12-06 19:05:48 浏览数 (1)

某工程师反馈:他们的板子当初始化串口后,进入低功耗模式时,电流会有几百个uA;如果不初始化串口进入低功耗,电流则正常为几个uA。

此现象自然是不正常的,为此我用开发板搭建了测试环境,板子飞线外接了一个USB转串口(芯片是CH340,连接了TX、RX、GND)

当进入低功耗模式后,实测电流确实是几百uA。

但是当把USB转串口插到电脑上时,电流就一下子小了很多。

上述现象是什么原因呢?

当MCU串口初始化后,在串口不发送数据时TX引脚是高电平,当USB转串口没有供电时,此时MCU TX引脚会给这一部分电路供电,从而消耗能量,产生了几百uA的电流,从上图它的指示灯亮也能验证这一点。

上述其实现象叫倒灌,即USB转串口RX引脚上的电压倒灌到其VCC上。同理反方向,如果USB转串口一直接着电脑,MCU主电源断了,USB转串口也会通过它的TX引脚电压使MCU产生倒灌。虽然倒灌有时看起来也能工作,但是实际使用中要避免这种情况的产生,因为它是工作在非正常状态的。不仅串口引脚,GPIO引脚也会经常引起倒灌的产生。

倒灌可通过外部加保护电路避免,举个栗子,比如为了防止MCU通过串口RX引脚产生倒灌,可以加一个逻辑器件,当3.3V断开时就不会产生倒灌。

另外很多芯片内部也会做防倒灌的设计。

当USB转串口正常供电时,它所需能量由外部电源提供,RX引脚阻抗大,此时虽然MCU TX引脚为高电平,也不会额外增加多少电流。

后来和该工程师沟通得知,他就是因为在进入低功耗前把串口相连接的通讯模块断了电,导致TX引脚漏电引脚的上述电流大的问题。

要解决他的问题也很简单,在进入低功耗模式前,重新配置MCU TX引脚(配置为输入或者模拟模式),不让其输出高电平即可。

最后总结一下,MCU进入低功耗前要确保各IO引脚处于合适的引脚状态,避免漏电引起功耗的增加,避免倒灌现象的产生。

0 人点赞