OpenEdv-开源电子网

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

关于STM32外接8M晶振不起振的问题

[复制链接]

1

主题

4

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-3-9
在线时间
2 小时
发表于 2015-4-15 21:06:35 | 显示全部楼层 |阅读模式
5金钱
    芯片用的是64脚的STM32F103,第一版没有问题,但是时间有点长了,在焊接第二版的时候8M晶振一直不起振,导致所有的频率都慢了9倍,定时50MS输出的波形最后输出450MS
在网上搜寻答案时听说把匹配的两个电容去掉也可以,就试了试,别说还真有效,但是现在的问题是,偶尔还是会有不起振的现象出现,10次能有1次吧!
有没有哪位大侠能解释一下,为啥不焊电容也能起振,还有为啥会偶尔有不起振的现象,是我片子的焊接问题么?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2015-4-15 22:15:09 | 显示全部楼层
8M不起振的情况,很少见哦,你这是不是晶振有问题啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

4

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2015-3-9
在线时间
2 小时
 楼主| 发表于 2015-4-17 20:56:43 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
换过晶振了,解决不了问题,把芯片也都涂过一遍焊锡,还是有不起振的情况,无解啊!我现在又重新焊了一块板子,等明天看看情况吧,对了,原子哥,我配20pF+1M的配置没问题吧,我看你战舰的板子上是用的22PF的
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2015-4-17 22:15:57 | 显示全部楼层
回复【3楼】逍遥怪怪:
---------------------------------
没问题
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

31

主题

83

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1332
金钱
1332
注册时间
2021-1-2
在线时间
121 小时
发表于 2021-1-2 15:19:11 | 显示全部楼层
本帖最后由 tongzhihong 于 2021-1-2 15:30 编辑

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,在已经正常起振,工作几分钟后,会停振。原因是什么?
回复

使用道具 举报

31

主题

83

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1332
金钱
1332
注册时间
2021-1-2
在线时间
121 小时
发表于 2021-1-2 15:55:46 | 显示全部楼层
是stm32f103外接8M晶振没起振,stm32f103内部的固件程序,直接开启了内部振荡时钟,据网上有人说,还列出了函数和程序,并且开启的stm32f103内部振荡时钟,正好是stm32f103外接8M晶振,最终的时钟的9倍。这个开启时钟的过程,被MDK5的起动函数直接固定了,用户看不到。过去MDK4,记得学《stm32自学笔记》时,都是自己写这个时钟函数,整个开启过程很清析。现在全被屏蔽了,糊糊涂涂的。
回复

使用道具 举报

31

主题

83

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1332
金钱
1332
注册时间
2021-1-2
在线时间
121 小时
发表于 2021-1-2 15:56:49 | 显示全部楼层
是stm32f103外接8M晶振没起振,stm32f103内部的固件程序,直接开启了内部振荡时钟,据网上有人说,还列出了函数和程序,并且开启的stm32f103内部振荡时钟,正好是stm32f103外接8M晶振,最终的时钟的9倍。这个开启时钟的过程,被MDK5的起动函数直接固定了,用户看不到。过去MDK4,记得学《stm32自学笔记》时,都是自己写这个时钟函数,整个开启过程很清析。现在全被屏蔽了,糊糊涂涂的。
回复

使用道具 举报

31

主题

83

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1332
金钱
1332
注册时间
2021-1-2
在线时间
121 小时
发表于 2021-1-2 16:17:18 | 显示全部楼层
我昨天把开发板上,stm32f103ze的8M 外接振荡电路全部去掉,即2个104电容,1个1M电阻,8M晶振全从板上取下,仍能运行程序,3s的跑马灯,变成25s左右的跑马灯。实际验证了stm32f103外接8M不起振,被stm32f103自动开启内部时钟代替。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165508
金钱
165508
注册时间
2010-12-1
在线时间
2115 小时
发表于 2021-1-3 02:27:56 | 显示全部楼层
tongzhihong 发表于 2021-1-2 15:19
1:2020年底,我最近遇到更奇怪的相似问题。学了买的战舰V3,B、C盘视频后,我自做了一个开发板练手。共6块 ...

我们这么多板子,没遇到过晶振停振的。。。8m晶振比较稳定,停的是RTC
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-15 07:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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