1. STM32F103 中 VDDA 的关键作用

在 STM32F103 系列中,VDDA 不仅仅是为 ADC 供电。

  • 复位电路供电:芯片内部的 上电复位(POR)和掉电复位(PDR)电路 是由 VDDA 供电的。

  • PLL 供电:如果你使用外部晶振(HSE)或内部时钟倍频(PLL)作为系统时钟,PLL 模拟部分的电源也来自 VDDA。

2. 为什么悬空会导致“下载不进去程序”

当你尝试用 ST-Link 或 J-Link 下载程序时,调试器会执行以下操作:

  1. 连接:通过 SWDIO/SWCLK 与芯片物理通信。

  2. 复位:调试器会拉低复位引脚(NRST),或者发送软复位命令,让芯片回到初始状态。

  3. 初始化:芯片需要运行内部的 Bootloader(如果是从 RAM 启动)或者配置调试接口。

如果 VDDA 悬空:

  • POR/PDR 电路无法工作:芯片内部的复位逻辑可能处于不确定状态。可能表现为一直处于复位态,或者上电时序不满足要求,导致调试器无法正确识别内核 ID(Connection refused 或 No target found)。

  • PLL 无法锁定:如果芯片默认配置或者 Bootloader 试图启用 PLL,由于 VDDA 悬空导致电压不稳,PLL 无法锁定,系统时钟不工作,SWD 接口也会失效。

  • 电平异常:悬空的 VDDA 电压可能是 0V,也可能是通过内部保护二极管从 VDD(3.3V)耦合过来的 2.5V 左右的不稳定电压。这种状态下,模拟电路部分无法建立正确的偏置,导致整个芯片的调试接口初始化失败。

3. 为什么“焊接上去后又好了”

你重新焊接后,焊锡将 VDDA 引脚与 PCB 上的电源网络(可能是 VDD 或独立的 3.3V)连通了。

  • 电压恢复正常:VDDA 获得了稳定的 3.3V(或你设计的电压)。

  • POR 电路使能:复位电路工作正常,上电后能产生正确的复位脉冲。

  • 时钟稳定:调试器可以正常初始化芯片的内核,SWD 接口恢复正常通信。

4. 针对 STM32F103 的特别提醒

虽然手册规定 VDDA 允许与 VDD 有 0.3V 的压差,但在实际工程中,STM32F103 对 VDDA 的电压非常敏感。

  • 即使你不用 ADC,也不建议将 VDDA 悬空。

  • 标准做法:在原理图中,如果你对模拟精度要求不高,直接把 VDDA 连接到 VDD(3.3V),把 VSSA 连接到 GND。

  • 排查建议:既然你已经重新焊接好了,建议你用万用表测量一下 VDDA 引脚(通常为 13 脚,LQFP48 封装) 与 VDD(36 脚或 48 脚)是否导通。如果不导通,说明 PCB 设计上可能缺少了 VDDA 的供电网络,需要飞线连接。

总结:你遇到的情况正是因为 VDDA 虚焊导致芯片内部的复位电路和时钟电路无法初始化,从而使调试器无法连接。重新焊接为 VDDA 提供了稳定的电源,芯片恢复了正常功能。这也验证了 STM32F103 VDDA 必须可靠连接的硬件设计原则。

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐