无法对自定义 STM32 板进行编程

电器工程 stm32 swd 风俗
2022-01-24 09:25:17

我设计了一个简单的STM32板。下面是原理图和pcb布局图片:

示意图:
在此处输入图像描述

PCB布局: 在此处输入图像描述

突出显示 VDD 的 PCB 布局: 在此处输入图像描述

突出显示 GND 的 PCB 布局: 在此处输入图像描述

上图中仅显示了与我的问题相关的设计部分。

我的问题是:我尝试使用 STM32 Discovery Board 的内置 ST-Link 来编程这个定制板,但我还没有成功。PC 上的 ST-Link Utility 应用程序可以识别编程器,但无法检测到目标 MCU。我收到的错误消息是:“目标未连接”和“ST-Link USB 通信错误”。

以下是有关我的问题的一些相关事实:

  • STM32 探索板工作正常:我可以使用它的内置 ST-Link 对其板载 STM32 MCU 进行编程。还行吧。
  • STM32 MCU 已按正确方向焊接在定制板上。我检查了两次。
  • 我检查了 VDD 和 SWD 迹线。它们连接良好(没有焊接问题)。引脚 Boot0 为 0V。引脚 NRST 为 3.3V。
  • SWD 电缆很短,只有 7-8 厘米长。
  • 我定制板上的 STM32 与 Discovery Board 上的型号相同。
  • 我已按照 STM32 Discovery Board 手册中有关如何使用 Discovery Board 对外部 STM32 MCU 进行编程的说明进行操作。更具体地说,我移除了 2 个 CN3 跳线,然后按照下表连接电路板: 在此处输入图像描述

  • 我还移除了探索板上的焊桥 SB11(以便引脚 NRST 可以正常工作)。

  • 我已经尝试过 ST-Link Utility 应用程序和 Keil。我得到的错误信息是一样的。
  • 起初我没有连接上表 (SWO) 上的引脚 6,因为据我所知这没有必要。但是在那之后我也连接了它,但事情仍然没有解决。
  • 我还在引脚 NRST 到 GND 之间添加了一个 100nF 电容,然后从该引脚到 VDD 增加了一个 100k 上拉电阻。问题仍然存在。
  • 我还尝试使用 ST-Link 实用程序的“重置下连接”模式。也没有运气。

我怀疑设计可能有问题,但我不确定。请帮我解决问题。

非常感谢 :)

1个回答

感谢您的精彩评论。因为他们,我一直相信我的设计是没有错误的。这就是为什么我把注意力集中在寻找硬件中的错误上。我发现了错误!这是一个焊接错误。

遵循此说明后,我发现了此错误:“使用万用表并测试所有连接是否短路或缺少连接。记住要轻柔地触摸引脚/焊盘/任何东西,因为如果用力按压探针,您可能会“修复" 临时连接(例如你将 IC 的管脚推到 PCB 上的走线上,测试正常,但一松手,管脚就会再次弯曲)。原帖在这里