在上期的工程笔记中,我们了解了电流倒灌并探讨了电流倒灌可能导致的一系列问题,包括IO口损坏、系统死机、系统不开机或休眠及唤醒异常。这些问题虽然听起来颇为技术性,但它们对嵌入式系统的正常运行至关重要。本期,我们将深入分析这些现象背后的原因。
D1在大多数集成电路中起着防静电功能,同时辅助起输入端限幅作用。
D2是半导体集成所产生的寄生二极管,有一定的放电保护功能。
D3用于保护CMOS电路在放电时的干扰,在大多数双极性器件中也存在此二极管。
D4是晶体管的集电极(双极性)或漏极(场效应管)的寄生二极管,有放电作用。
下面结合图2来分析电流倒灌破坏IO口的过程。在一个具有上电顺序的情况下(或右侧器件断电或者拔插动作),左侧的电压如果足够大,那么就会通过二极管向右侧的VDD充电,也就是去耦电容的充电,这样就会使二极管急速过载损坏,电容本身也有可能损坏,瞬时的大电流甚至会直接击毁元件本身,再好的结构也会使得器件逻辑工作不正常。
1. 系统死机、不开机
通常来说,与SOC配套使用的PMU内部的DC-DC自带漏电检测功能。在PMU未上电工作时,如检测到某路DC-DC上存在漏电情况且漏电电压超过VIL(TYP)值,则那一路DC-DC就不会输出,因此,系统会因为配套PMU的某路DC-DC没有电压输出而不开机。此时,量测到DC-DC电源网络上的电压实为漏电电压。
若PMU某一DC-DC既给SOC供电又给一些外设供电,而且SOC的GPIO有不少使用了该DC-DC的电源域,外设的供电电源也可能通过GPIO漏电至该DC-DC,如果SOC的芯片进入休眠进程,倒灌现象使得系统休眠唤醒异常。
如图3所示,SOC芯片进入休眠进程,MCU的I2C/UART/IO先于DCDC1上电,电平通过外设倒灌到DCDC1上,造成休眠异常。
下一期,我们将通过案例分析,探讨并采取一系列预防措施,以避免IO电流倒灌问题的发生。