STMCU小助手
发布时间:2022-2-16 20:35
|
问题:$ i q: p% m) d: h; K b' B3 _ 该问题由某客户提出,发生在 STM32F103VBT6 器件上。据其工程师讲述:其产品中使用了 STM32 作为主控单元,负责系统的管理。在对产品测试时发现了一个奇怪的现象:在关闭电源后,STM32 仍然能够对 UART 上输入的信息做出回应。 调研:+ D: Q! W$ l# r- a" d 检查其测试装置,如图(一)所示: , x7 l4 ^7 c7 ^, w: N
+ S5 B# c! v( q; m! _' P 其中,USB 到 UART 转换器的 Tx 和 Rx 的信号标准为 3.3V CMOS,STM32 所使用的通信口为USART1。重复测试,现象如其所述。用万用表测量 STM32 的 VDD 端子,在 2.1V 左右。断开 STM32的 Tx 与 USB 到 UART 转换器的 Rx 之间的连接,STM32 的 VDD 端子上的电压无变化。断开 STM32的 Rx 与 USB 到 UART 转换器的 Rx 之间的连接,STM32 的 VDD 端子上的电压降为零。7 Z6 H' ~, l% e" J; ]2 w k' g / j% N8 }/ P- U5 ?; x 结论: USB 到 UART 转换器通过 STM32 的 USART1 的 Rx 管脚对 STM32 提供了电能,使其维持在运行状态。 处理:0 ~1 i) ?, p3 [# \4 _5 ` 在 STM32 与对外的端子之间加隔离芯片,如图(二)所示:
) \7 \ Z4 d4 ]( f# H 建议: STM32 的参考手册中,给出的 I/O 端子的结构如图(三)所示:+ t$ g7 C; H( U4 ? ] ) F- ^7 T5 n$ T
' @/ V! q S# S1 S5 a, g 在每个 I/O 端子上集成有两个保护二极管,一个与 VSS 接连,而另一个与 VDD 连接。由于这种结构,使得 STM32 在电源停止对其供电时,有可能通过保护二极管从外部电路送来的高电平信号吸取电能,补充到其供电电路中去。而 STM32 本身是低功耗芯片,因此在某些情况下,可以依靠这种供电方式维持在运行状态。然而,让 STM32 处于这种运行状态是有危害的。具体表现为:' q, k) p4 x% @ I" ` 1. 由于供电不稳定,STM32 并没处于稳定的运行状态,可能会产生误动作,危及系统安全; 2. STM32 从外部电路吸取电能,增加了系统的功耗,而这部分电能的消耗是完全没有意义的;' i% E# j( ~4 a" D, X' T 3. STM32 的保护二极管所允许通过的电流并不大,在 5mA 以下。长期从保护二极管流过较大的电流,会导致 STM32 失效;; Z, J" v* b2 y 4. 由于 STM32 从外部信号吸取较大的电流,有可能导致该信号的电平偏离正常的电平标准,而造成其它电路对该信的识别出错; 所以,在 STM32 的应用中要避免这种情况的出现。通常的处理方法是加隔离芯片,如74HC245、74HC244、74HC125 等。: F5 W: B4 w& c / U6 v$ C3 q# z1 b: r |
【经验分享】STM32语音识别的智能蓝牙音箱(源程序+原理图+PCB+设计说明书+PPT)
想找个ST芯片
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
技术手册stm32f1xx中的一个小问题
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【逢7发帖赢大礼】STM32开发之IC门禁卡UID读取方法!
实战经验 | Keil工程使用NEAI库的异常问题
经验分享 | FDCAN数据段波特率增加后发送失败的问题分析
STM32几种流行开发环境的优缺点
好用软件推荐-TouchGFX Designer
微信公众号
手机版