请大家帮忙分析STM32上电复位不成功的问题

2019-12-27 18:49发布

最近做了一块STM32F103R8T6的小板,遇到了挠头的硬件复位程序不运行问题,现象就是使用J-LINK仿真下载运行都没问题,把J-LINK彻底拔下来,板子上电程序不运行,自己分析是复位电路的问题,检查:
1.BOOT0 BOOT1下拉10K接地没问题。
2.VDDA VSSA直接接了VDD和VSS。
3.复位部分10K上拉后接0.1uF电容到地,测试拆掉10K和将0.1uF换为1uF结果也没变化。
4.STM32电源部分所有三组VDD VSS都已就近接了0.1uF去耦电容。
5.换了三种开关电源,现象没有变化。
6.怀疑8M晶振部分,程序改为内部8M也无果。

实在是想不到还有什么地方能够影响上电复位了,四五天了也没有找到具体的原因,焊了两块板,现象都一样,板子是嘉立创打样直接贴的阻容,三极管和STM32,请大家帮忙分析一下,这种外部复位不成功的情况,还会有什么能够产生这个问题的原因呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
41条回答
NJ8888
1楼-- · 2019-12-31 23:27
还没结论吗?
caoxuedong
2楼-- · 2020-01-01 04:02
    因为使用电池供电可以正常复位,无论试多少次都没有上电复位运行不成功的情况。所认为应该是两种可能,一是电源模块纹波比较大,二是上电慢。电源滤波电容使用两个10uF钽电解,EMC菜鸟大神说一般用470uF和220uF,我选的确实有点小,当时是参考一些开发板的电路图,有一部分开发板是使用的这样的两个10uF电容,刚好板子在外壳内高度空间也有点小,使用容量大的贴片铝电解高度放不下,容量大的钽电解贵很多,就没有用大的。看电路部分,唯一当时没有在意的是STM32三组电源和模拟部分电源引脚的去耦电容,都只是在就近位置各放了一个0.1uF的,这几天看ST的参考设计说明,要求所有电源引脚都要放0.1+4.7uF各一个,这个当时确实没看到,特别是提到VDD3和VSS3之间,一定要有,我原先没看过这个参考设计部分,就一个大一点的电容都没放,仅仅放了四个0.1uF,感觉这部分可能有问题。现在手上没有合适的电容,准备节后从力创商城买一些4.7和10uF 0603的电容,叠焊在原先0.1uF电容上面,看看有没有效果,有了结果,一定告知大家!
gylg3344love
3楼-- · 2020-01-01 08:30
 精彩回答 2  元偷偷看……
caoxuedong
4楼-- · 2020-01-01 13:56
用的是KEIL,选了使用微库了,怀疑自己STM32电源周边的电容值选的偏小,容量大一点的0603电容买了还没有到,到了并联几个试试,就知道结果了。

Keil.jpg (37.91 KB, 下载次数: 0)

下载附件

2017-5-31 10:21 上传

caoxuedong
5楼-- · 2020-01-01 15:59
前些天有点忙,没有时间再次测试,现在问题已经解决,不是硬件的问题。
原因是悬空的USART RXD的问题,在论坛里挖坟找到这个帖子:
https://www.amobbs.com/forum.php ... =%E5%A4%8D%E4%BD%8D
11楼有一个提示,和我的情况相同,我的TXR,RXD接WiFi模块,但是调试的时候没有焊接,按11楼的方法将启用的usart:
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
                          // GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
                   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;//上拉输入
                    GPIO_Init(GPIOA, &GPIO_InitStructure);  //初始化PA10
然后再反复上电几十次,完全正常,没有任何问题了,在这里谢谢大家的支持,也希望遇到同样问题的朋友们,看到此贴,能少走一些弯路。
只是有些想不明白,浮空的RXD竟然影响到上电复位,而且还这么严重,直接就是不启动,实在是不理解呀!

一周热门 更多>