OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5494|回复: 6

stm32f103ze,在已经正常起振,工作几分钟后,会停振。原因是什么

[复制链接]

31

主题

83

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1332
金钱
1332
注册时间
2021-1-2
在线时间
121 小时
发表于 2021-1-2 15:34:03 | 显示全部楼层 |阅读模式
stm32f103ze,在已经正常起振,工作几分钟后,会停振。原因是什么
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

31

主题

83

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1332
金钱
1332
注册时间
2021-1-2
在线时间
121 小时
 楼主| 发表于 2021-1-4 11:38:14 | 显示全部楼层
1:2020年底,我最近遇到更奇怪的相似问题。学了买的战舰V3,B、C盘视频后,我自做了一个开发板练手。共6块板,第一次焊贴片,更是第一次焊LQFP144,焊废2块,有块焊好,用了焊锡膏(买焊锡丝送的),误以为助焊剂,上电开始运行显示正常,正在狂喜,突听到丝丝声,板子全黑,电源指示灯都灭了。忙关掉开关检查,没看出什么,就又加电,这次电源指示灯亮了10秒左右,就又灭了,我就没关电,准备用万用表排查,只见几股轻飘飘的烟,带点焊膏的香味,从stm32f103zet6焊盘处飘出来,我正奇怪,没回过神来,1分钟左右就看见叭叭地连续放电,在stm32f103zet6焊盘四周多处,这下知道坏事了,以为管脚短路了,赶快关电。
2:用放大镜仔细查看板子,stm32f103zet6管脚没短路,虽说是我自己手工焊的,但焊得好好的。由于是小白,又急于找到短路原因,也觉得这块stm32f103zet6肯定报废了;就干脆又上电,到底是为什么短路。这一回,好看了,时间也比较久,一会以这为主,一会以那为主,在stm32f103zet6四周管脚处,冒烟,放电,第一次这么真切,这么近,这么关注地看着管脚处的红红的放电丝,好细。直到看到有几处焊盘出现焦糊了,我才关电。我此时仍然茫然,按说短路,一下就完了,它却是连绵不断,无休无止,此起彼伏。   第二天上网搜索,才知道贴片焊接的助焊剂要用洗板水洗干净,不然会短路。再一细看,我用的还不止是助焊剂,是上海的金鸡牌焊锡膏,再上网一搜,焊锡膏主要成份是焊锡,才明白原因。至此废了3块开发板,不少的器件,2块stm32f103zet6,代价有点大。
3:在网上,买了洗板水后,我又手工焊了一块开发板,这次基本完美,上电运行一切正常,只是CH340G, USB不能识别。第四块开发板能正常跑程序了,且很稳定。算是个小安慰。
4:上网查了CH340G后,感到是CH340G的排板走线问题,主要就是CH340G的GND,应该在CH340G自身会聚后,再与系统地相连,减小干扰。就开始焊第5块开发板,准备走飞线搞定CH340G。哪知,问题比想的多,这次大的SD卡座,我没用焊锡膏,焊得比较费劲。板子上电后,复位慢得像窝牛,查原因,费了大劲,JLink调试,最终定位在SD卡。为了能运行程序,在SD卡的程序处作了显示标记,上电初始化时,当显示对应标记时,便人为拔出SD卡,程序就正常往下运行了,再把SD卡插上去。我这个小项目,在某种异常时,需写SD卡,作记录。由于写SD卡也是这个问题,慢得像窝牛,实际上不能用,(第四块开发板SD卡正常)。我在换这个板子的大SD卡座时,把焊盘搞掉一个。第5块开发板就不能用SD卡,就自好改程序,让文件系统的记录写在W25Q128上。至此,第5块开发板也正常运行,只是不用SD卡,改用W25Q128代替SD卡做文件系统的记录。没有机会搞定CH340G,USB不识别问题。
5:第6块开发板,是这次做的最后一块,把CH340G的所有GND,在板子上走飞线汇于一点后,测试,正常,USB能识别了,为了测试一键下载,先下载跑马灯,一切正常。第二天又下载了一个ADCC程序,也正常。就挂在电脑上每3s 一次通过CH340G往USB送数据。电脑上的串口调试助手显示一切正常。大约10分钟左右,串口调试助手挂起了,开始几次没在意,关电脑,重上电又来。多搞几次,发觉不对劲,一查,是因为USB工作几分钟后,就又不识别CH340G了。我就找出网上买的一个最小系统板,做同样测试,人家跑一天也没问题。我分析找原因,1可能是板子本身走线问题,虽飞线汇聚GND能被USB识别,但毕竟存在问题,没根本解决;2可能由于买器件时,商家列表中,没10uF电容,我不想为一种10uF电容,又找一家,加上我想CH340G16脚VCC上的10uF电容,用47uF电容代没问题,故这次CH340G16脚VCC上电容,不是104+10uF电容,而是104+47uF电容.  在此我把47uF换成手上有的1uF电容,USB能识别CH340G。 我出于好奇,把先前在CH340G上走的GND飞线全部取掉,CH340G16脚VCC上的104+10uF电容,用CH340G16脚VCC上的104+1uF电容代,居然USB仍能识别CH340G,并且反复在第6块开发板上,交替下载跑马灯,ADC程序,都能成功,并且程序运行正常,唯一的缺陷是USB能识别CH340G不超过10分钟。我终于把CH340G16脚VCC上的10uF电容处焊盘搞掉,并且这个地方与GND短路,短路可能是LQFP144的原因,我自动布线时,把安全间距设成了8mil,造成整块板子焊接麻烦。我只好用刀片断开短路,准备用JTAG下载程序。
6:第二天我上电第6的块开发板,跑上面的跑马灯,程序运行正常。我看了一会,正准备后面的工作,也就几分钟,我发现程序停下来了。反复多次都这样,开始以为是虚焊,就把关注放在了stm32f103zet6的8MHz晶振电路上,多次折腾后发觉,程序明显变慢了。3s的跑马灯,变成了25s左右的跑马灯,多次更换晶振电路104电容,1M电阻,8MHz晶振。一个明显的特点,刚换完器件的头几分钟,跑马灯是3s, 之后,就变成25s左右的跑马灯。在故障时多次用万用表查stm32f103ze的OSC_OUT、stm32f103ze的OSC_IN处电压,有1.x V~0.x V 电压;百思不得其解,觉得不可能,但又是实实在在的现时,这段过程还有一个特点,换下来的电阻,阻值由原来的1M,变成了几百K了。桃子找到耙的捏,无法去动stm32f103ze,只好扭到外围晶振电路费,最终,再换不起作用了,开机都从本该3s 的跑马灯,直接就是25s左右的跑马灯。此时,换下来的1M电阻仍是1M,用万用表查stm32f103ze的OSC_OUT处电压,3.2V左右,stm32f103ze的OSC_IN处电压,0V。稳定得很,不像先前是跳变的。
7:上网查,才知是stm32f103ze外接8M晶振没起振,stm32f103ze内部的固件程序,直接开启了内部振荡时钟,造成本该3s 的跑马灯,变成25s左右的跑马灯。  那么,先前那种正常运行几分钟的3s 的跑马灯,再变成25s左右的跑马灯,就是先stm32f103ze正常起振,再stm32f103ze停振,最后stm32f103ze内部固件程序起动内部振荡时钟。
8:我要问的问题: 为什么这片stm32f103ze,在已经正常起振,工作几分钟后,会停振。原因是什么?
回复 支持 1 反对 0

使用道具 举报

0

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
134
金钱
134
注册时间
2017-5-8
在线时间
44 小时
发表于 2021-1-6 10:28:48 | 显示全部楼层
你在说这个?“多次更换晶振电路104电容,1M电阻,8MHz晶振”,还没发现错误??
回复 支持 反对

使用道具 举报

31

主题

83

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1332
金钱
1332
注册时间
2021-1-2
在线时间
121 小时
 楼主| 发表于 2021-1-25 09:11:07 | 显示全部楼层
笔误,是22P电容+1M电阻+8MHz
回复 支持 反对

使用道具 举报

31

主题

83

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1332
金钱
1332
注册时间
2021-1-2
在线时间
121 小时
 楼主| 发表于 2021-1-25 21:35:47 | 显示全部楼层
最让人不能理解的是:
1、问题是从更改下载跑马灯程序后,开始发现的;就是程序正常运行几分钟后,自己明显变慢近9倍。
2、我就更换晶振回路元件(22PF电容+1M电阻+8MHz晶振),每换一次,程序都能正常运行几分钟,然后,就又明显变慢近9倍。
3、为查找原因,我大约更换5、6次,情况都一样。
4、最后,也许把焊盘或连线与哪里搞坏了,再换,不起作用;一上电,就直接以慢近9倍的频率工作。
5、这批样板,其它焊好的板子是正常工作的,都快2个月了,很正常,也都是这批买的器件。
6、从现像看,我觉得不应怀疑板子,不用怀疑晶振回路元件。
7、唯一不能测试的是stm32f103zet6,程序都能正常运行,仅仅是HSE不能正常稳定工作。上电HSE起振,正常工作几分钟,然后HSE停振;就此判定stm32f103zet6有问题,又吃不准。
8、不知道,这种问题产生的原因是什么?
回复 支持 反对

使用道具 举报

31

主题

83

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1332
金钱
1332
注册时间
2021-1-2
在线时间
121 小时
 楼主| 发表于 2022-1-14 11:40:38 | 显示全部楼层
关于上面的8MHz晶振不工作的问题,最近搞清楚了。
是这样的,因现在贴片自己焊得多了,熟练了,我就把有问题的那个板子的STM32F103ZE,用热风机吹后,取了下来,焊在了另一个板上,工作一切正常,所以我判断是STM32F103ZE的晶振引脚有虚焊造成的故障,因刚接触贴片焊接,特别是STM32F103ZE的引脚太密了,出现问题后,没敢去补焊STM32F103ZE的引脚,当时对stm32引脚粘锡,处理非常费劲,不像现在,stm32的管脚堆上锡,都没关系,烙铁拖几下就全下来了,遇到引脚粘锡拖不下来的,自己还要主动在加锡,然后,再一拖,就好了。
回复 支持 反对

使用道具 举报

0

主题

48

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2981
金钱
2981
注册时间
2015-8-30
在线时间
341 小时
发表于 2022-1-15 08:26:01 | 显示全部楼层
不错,学习焊接一年终于上手了
学无止境
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 20:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表