微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > 硬件电路设计讨论 > 问个STM32的SWD的问题

问个STM32的SWD的问题

时间:12-12 整理:3721RD 点击:
做了块stm32的板子,结果swd死活不work...
焊了2块症状完全相同,第一块焊的比较多,第二块因为是调试只焊了最小系统部分...
用示波器检查SWD初始化的时候的波形,发现SWDIO的波形不对。
与买来的最小系统核心板对比,篮圈部分正常应该是0v/3.3v的电平,而自己焊的板子到
这里就变成了这个样子...
我对比过两个波形,这个篮圈部分的小的脉冲的位置跟正常信号在时间上是完全一致
的。
一开始怀疑是供电的问题,所以另一路测得是VCC,可以看出出问题的时候VCC也没啥大
问题啊...
已经是最小系统了,就stm32,6个0.1uF,2个10uF电容,boot0/boot1这2个跳线器和电
阻构成的最小系统,外加一个电容电阻+开关的典型reset电路(跟能work的核心板比这
一块也是一样的)
百思不得其解...有人遇到过类似现象么?

系统时钟正常不?
不排除SWD正常的波形是仿真器发的,后边的波形是仿真器HiZ以后的情形。

刚上电stm32用的是内部时钟啊。
我说的正常波形,是SWD连接另一块能正常工作的核心板的过程中测出来的波形。
两者唯一的不同就是这块板子不工作,另一块板子能工作...
电路应该是完全一样的...
有少数小差别,比如我这里的reset里面多了个用于保护的4148,那块板子省略掉了。
此外boot0/boot1的上拉我用的阻值是10K而那块板子是100K。
另外能工作的那块板子把stm32的NC接地,而我是悬空的(手册上也写的要悬空啊)...
就这3个区别,我觉得这3个区别没理由导致这个现象啊...

我是说你示波器上显示的波形啊。
SWD是双向的么,有的是仿真器发的,有的是MCU发的。
如果正好前边的是仿真器的,后边应该MCU劳动,但是没干活儿,就可能这样呗。
额外的小脉冲是SWCK的串扰?恩。
STM32起来时钟多少?别把SWD的时钟给太高,印象中要1/3 FCLK以下才好。
没道理上来就不能用,莫非是坏的片子?cmft

有条件的话,跟另一块板子改成一样的呗,这样安心一些,4148先去掉试试

STM32起不来...
SWDCLK没问题,测过了。
这个时序已经是上电之后过了760us的波形了,前面的跟正常工作的对比过都是对的。
SWDCLK的频率应该就是stlink的缺省频率,我没去看设置是多少,但感觉不像是频率太
高导致的问题...这点走线的距离,以stm32的IO速度,还没到需要考虑高频走线的时候
呢...
现在还轮不到MCU劳动啊,片子是新的没有程序,被打到boot1被打到RAM状态了。
按理说上电之后开openocd,SWD会跟stm32握手通讯,检查mcu的参数等等。现在软件商
就是通讯失败无法初始化,示波器分析的结果就是在握手过程中,前面都正常,到了
760us之后波形变成这个鬼样子然后就失败了...
要说片子是坏的,焊了2块板子,2片都是一模一样的波形啊...难道2片都是这么个坏
法?要说板子有问题的话,我实在是查不出这个最小系统有啥不对的地
方...VCC/GND/VREF/VBAT都pin-to-pin量过了,所有的去耦电容的每一个pin也都量过
了,还用200倍放大的显微镜看过所有的pin,double check确认没有焊接问题...

只能说,原理图上尽量一样了,pcb不太可能改...
4148已经去掉了,没啥变化~

再补个图,
红色是SWDCLK
黄色市SWDIO
蓝色部分是有问题的板子抓并保存的波形,用的是1V/div
红色/黄色是正常工作的核心板的波形,把两个对准了,为了看的清楚一点就用2V/div档
位显示了。

我知道错在哪里了....
你妹的...
sch里面接错了...
DP-/DP+/SWDIO/SWDCLK分别接PA11,PA12,PA13,PA14,
我手抖错了一位...接到PA12,PA13,PA14,PA15上去了...
这下咋办....

翘脚,飞线,凉拌

我遇到的问题更奇怪,同样的swd三线连接,现成开发板上可以在j-flash里reset
自己焊的板就不行,必须断电再上电
烧写程序一切正常。。

改过来发出去重新做

重做太麻烦了,仔细看了下只要飞3根线就行,
虽然从来没飞过pitch 0.5mm的线~
不过应该能搞定吧~

飞线飞好了~~
现在都正常了~~
第一次飞这么细的线...一开始还是有点折腾的,
不过第一块成功之后第二块板子分分钟就飞好了~

不会吧,我jlink v8,直连swd都成功了.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top