打印
[其它应用]

嵌入式系统IO口损坏与系统故障的真相

[复制链接]
1209|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
导读
本期文章将继续深入了解电流倒灌,分析嵌入式系统中IO口损坏和系统稳定性问题的根本原因。

在上期的工程笔记中,我们了解了电流倒灌并探讨了电流倒灌可能导致的一系列问题,包括IO口损坏、系统死机、系统不开机或休眠及唤醒异常。这些问题虽然听起来颇为技术性,但它们对嵌入式系统的正常运行至关重要。本期,我们将深入分析这些现象背后的原因。

  IO口损坏IO端口可分为高阻、三态、推挽、开漏等类型,除了功能性区别外,几乎所有IO口内部都会存在如图1所示结构的四个二极管。
图1  IO口内部结构
  • D1在大多数集成电路中起着防静电功能,同时辅助起输入端限幅作用。
  • D2是半导体集成所产生的寄生二极管,有一定的放电保护功能。
  • D3用于保护CMOS电路在放电时的干扰,在大多数双极性器件中也存在此二极管。
  • D4是晶体管的集电极(双极性)或漏极(场效应管)的寄生二极管,有放电作用。

这些等效或者原本就存在的二极管为电流倒灌提供了回路。
下面结合图2来分析电流倒灌破坏IO口的过程。在一个具有上电顺序的情况下(或右侧器件断电或者拔插动作),左侧的电压如果足够大,那么就会通过二极管向右侧的VDD充电,也就是去耦电容的充电,这样就会使二极管急速过载损坏,电容本身也有可能损坏,瞬时的大电流甚至会直接击毁元件本身,再好的结构也会使得器件逻辑工作不正常。
图2 电流倒灌过程示意
系统故障
1. 系统死机、不开机
通常来说,与SOC配套使用的PMU内部的DC-DC自带漏电检测功能。在PMU未上电工作时,如检测到某路DC-DC上存在漏电情况且漏电电压超过VIL(TYP)值,则那一路DC-DC就不会输出,因此,系统会因为配套PMU的某路DC-DC没有电压输出而不开机。此时,量测到DC-DC电源网络上的电压实为漏电电压。
2. 系统休眠或唤醒异常
若PMU某一DC-DC既给SOC供电又给一些外设供电,而且SOC的GPIO有不少使用了该DC-DC的电源域,外设的供电电源也可能通过GPIO漏电至该DC-DC,如果SOC的芯片进入休眠进程,倒灌现象使得系统休眠唤醒异常。
图3 外部电源漏电至DC-DC
如图3所示,SOC芯片进入休眠进程,MCU的I2C/UART/IO先于DCDC1上电,电平通过外设倒灌到DCDC1上,造成休眠异常。

9772867c7c628cb72f.png (24.55 KB )

9772867c7c628cb72f.png

1070667c7c6354f5e4.png (24.55 KB )

1070667c7c6354f5e4.png

使用特权

评论回复
沙发
jf101| | 2025-3-21 16:32 | 只看该作者
IO端口可分为高阻、三态、推挽、开漏等类型

使用特权

评论回复
板凳
星辰大海不退缩| | 2025-3-27 13:00 | 只看该作者
IO操作是必要的基本操作

使用特权

评论回复
地板
魔法森林精灵| | 2025-4-1 17:34 | 只看该作者
系统休眠唤醒异常这个问题很常见啊,除了电流倒灌

使用特权

评论回复
5
幻影书记| | 2025-4-2 15:00 | 只看该作者
这种烧坏的结果多种多样吧!
MCU要是正常运行,功耗应该明显增加

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

451

主题

1715

帖子

3

粉丝