背景知识 * s% C6 d3 l* r& G, x, ]0 m0 t: z 一些 STM32 产品能够使能/失能内部电源监视器,通过 PDR_ON 引脚电平进行控制实现。PDR_ON 引脚电平为低时, 内部电源监视器关闭;当 PDR_ON 引脚电平为高时,内部电源监视器使能。% b' L9 P/ l3 @( P" S) C # `. {# Q j4 }/ r 内部电源监视器影响的功能包括:POR(上电复位)、PDR(掉电复位)、BOR(欠压复位)、PVD(可编程电位检 测)、VBAT功能。其中,VBAT功能包括:维持后备寄存器/存储器,为 RTC、LSE 振荡器提供后备供电和维持其在掉电时工作。 . `$ J3 u. q' u6 L6 B 在使用低电压电源供电的低功耗应用中,当 VDD 低至接近最低供电范围时,PDR_ON 管脚需要进行合理配置。(一般 VDD 在 1.7V~1.9V 之间,则需要考虑到 PDR_ON 功能(通过拉低 PDR_ON 管脚关闭内部电源监视器);如果 VDD 一定不 低于 1.8V,则可 PDR_ON 拉高,不考虑关闭内部电源管理器)。PDR_ON 拉低时,内部电源管理器关闭,POR 和 PDR 功 能停止工作,避免由于供电低于或者在 POR/PDR 阈值范围的电源波动而引起 POR/PDR 复位。 4 Z$ s( G; _4 E. b8 y$ V 如下电气参数表,摘自 DS11189(STM32F469xx)。当 VDD 较低时,在 VDD 纹波下,可能出现满足 POR/PDR 的触 发条件。 例如 1.8V 供电,纹波在 60mV,则 VDD 供电在 1.74~1.86V 之间波动,反复出现 POR/PDR,这种情况就一定要考 虑 PDR_ON 功能,将其下拉,关闭内部电源管理器。 3 B3 W) x2 B7 H; G( |0 r8 e: ]$ N2 b / H9 N1 a( X1 ^' r 注:仅在具有 PDR_ON 引脚封装的 STM32 产品才能关闭电源监视器。没有 PDR_ON 功能的 STM32,默认使用内部电 源监视器工作。 / S( u1 S! y2 H1 e z 异常现象描述 ; q% R* R! {% H. M/ u4 R 6 o& [8 k( u/ G9 ^, T) B& Y2 L 客户应用中,采用的电源为 1.86V 左右。根据上述分析,客户考虑到 VDD 波动低至 1.8V(更准确来说,对应 PDR 域的 最大值 1.76V)的情况。将 PDR_ON 引脚下拉,关闭了内部电源管理器。 5 h- T$ F% E( o4 O& k: a 9 B- d: h, K1 h( [( y 在压力测试环节,发现设备快速掉电重启时,MCU 工作异常。异常后,即使通过热重启,MCU 无法恢复工作,只能通 过冷重启使其恢复。 如果设备掉电重启间隔时间长,则不存在这种问题。 原因分析 # I ~, f. z0 R3 b7 _( h . L R# K3 h# x- z6 N. \$ L 在展开分析时,先看一下采用电路的示意图,如下。 其中,PDR_ON 采用下拉形式,根据上面介绍,内部电源管理器失能(内部的 POR/PDR 功能关闭)。 . Z+ W' e, C9 Q# a2 y1 q1 a1 [9 Z 上图为 NRST 部分电路示意图,外部 NRST 引脚外接了 100nF 电容,与内部上拉电阻组成阻容电路,上电和下电时 VDD 和 NRST 信号如下图所示。在上电过程中,VDD 有效时,NRST 依然处于使能状态(低电位),起到了上电复位效果。 但是能够看出,这种电路实现不会达到快速掉电复位效果。 2 G0 ^4 h0 @! G$ K+ T+ \ |
在一个案例,客户把PDR_ON管脚的上拉和下拉电阻都接了,导致此管脚实际电压只有0.6V,是外部复位,而外部复位电路又没接。- O* X3 R8 T# Y! k4 U
PDR_ON在有些MCU上有可能是高有效,有些有可能是低有效,使用时需要看数据手册,有时还得看勘误手册。