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


9

我设计了一个简单的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与发现板上的STM32具有相同的类型。
  • 我已按照STM32 Discovery Board手册中的说明进行操作,该手册说明了如何使用Discovery Board对外部STM32 MCU进行编程。更具体地说,我卸下了2个CN3跳线,然后按照下表连接板子: 在此处输入图片说明

  • 我还卸下了发现板上的电桥SB11(以便NR​​ST引脚可以正常工作)。

  • 我已经尝试过ST-Link Utility应用程序和Keil。我收到的错误消息是相同的。
  • 最初,我没有连接上表(SWO)上的引脚6,因为据我所知这不是必需的。但是在那之后我也将其连接起来,但是仍然无法解决问题。
  • 我还从引脚NRST到GND添加了一个100nF的电容,然后从该引脚向VDD添加了一个100k的上拉电阻。问题仍然存在。
  • 我也尝试过使用ST-Link Utility程序的“重置时连接”模式。也没有运气。

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

非常感谢你 :)


据我所记得,您必须同时为st-link和自定义板供电。定制板的SWD连接器中的3.3V必须为st-link提供3.3V的电压以进行检测。
davidrojas 16/12/29

@davidrojas:谢谢您的回答。好吧,目前我是通过PC上的USB端口为ST-Link供电的。定制STM32电路板由单独的外部3.3V电源供电。但是,这两个板的接地已经连接(如上表所示)。同样,来自我的定制板的3.3V也连接到ST-Link上的VDD_TARGET。你觉得够了吗?
user3286500 '16

应该足够了,是的。另一个问题可能是线SWDIO和SWCLK的长度和布局,因此,过去我遇到了间歇性连接的问题。它们必须尽可能短。也尝试降低SWD的速度。
davidrojas

我已将SWD速度从默认的1.8 MHz降低到400 kHz以下,但仍然没有成功。至于电缆的长度,在我的设置中,SWD连接的总长度(从ST-Link到目标STM32)约为12-13厘米。这仍然在限制范围内吗?
user3286500 '16

1
您是否注意到芯片下方的接地点是物理隔离的,实际上并未连接到任何接地引脚?接地引脚之间的实际连接遵循芯片外部的弯曲路径,并且其中一些实际上可能是隔离的。您需要调整间隙,以使接地倾倒处没有孤立的孤岛,这将有助于确保芯片的所有接地引脚都更接近相同的电位。
Dave Tweed

Answers:


5

感谢您的好评。因为有了它们,我一直确信我的设计没有错误。这就是为什么我将注意力集中在搜索硬件错误中的原因。我发现了错误!这是焊接错误。

我遵循以下指示后发现了此错误:“使用万用表并测试所有连接是否短路或缺少连接。请记住要轻轻地触摸针脚/焊盘/任何东西,因为如果用力按压探头,则可能会“ “暂时连接(例如,将IC的引脚推到PCB上的走线上,测试就可以了,但是一旦松开,引脚就会再次弯曲)。” 原始帖子在这里

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.