矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 3938|回复: 26

粗心导致的奇葩故障

[复制链接]
     
发表于 2020-9-6 22:31:53 | 显示全部楼层 |阅读模式
最近做东西用到STM32F103,初期一切进展顺利,但是,到了最终调试的时候发现
程序烧写到MCU里没问题,但是运行不起来???!!!
偶尔能跑起来,但是动不动就死机???排查半天,把问题锁定在MCU的32.768KHz低频晶振上
经过仔细检查发现,这个晶振不启振。经过检索发现,话说STM32低频晶振不爱启振似乎有这毛病。。。。。。
于是,按网上的方法逐一解决:
1、换晶振,无效,为此跑了4趟电子市场,32.768KHz的晶振就买了6种近50只,花费20大洋有余......
2、改负载电容,无效,负载电容从6pF-33pF的一样50只,花费10大洋有余......
3、晶振上面串电阻并电阻......无果,依旧不振
4、Vbat加电容,换电池,改善供电,折腾下来一圈,3.3V LDO又买了多种10余只,还是不行.....
5、最后祭出法宝,无源的你不是不振吗,我来有源的,
用信号发生器产生32.768KHz的信号自晶振引脚焊盘输入,发现偶尔能工作了!
但是很有意思的是,信号发生器要一定强度的输出才行,至少要5dbm强度的信号,才能驱动MCU正常运转,这真是什么鬼!!
不过好歹确定了是低频晶振的问题,于是,再次杀去电子市场,买有源晶振,惹不起我躲不起吗!
不幸的是,有源晶振买回来依旧无法工作,经过多次努力,真的要准备放弃了,打算换MCU大改电路了
结果,用万用表胡乱捅发现了问题:有源晶振工作时时钟脚直流电压是1.6V,但是到了MCU只有0.1V,这是怎么回事????
再次检查,发现MCU时钟脚,到晶振焊盘那根线,居然不通,补焊MCU无济于事,刮开阻焊发现,在阻焊下面居然有一处断点!
003.jpg

顿时有种云开雾散的感觉,尝试性的把有源晶振输出接在断点处,上电,工作正常!
反复启动都正常,再也不死机了
DSC03203.JPG

话说这里怎么会有个断点呢?打开PCB源文件,发现是自己画线失误,少画了那短短的一条线
这样,相当于晶振和MCU断路,所以啊,不管怎么换晶振,时钟信号都送不进MCU,
而程序正好需要使用RTC功能,没有时钟信号,自然程序会卡死不能运行
这也解释了为什么信号发生器必须要一定强度的信号才能驱动MCU正常工作
因为局部断路,相当于形成极大阻抗,输入信号够强大后“跨”过这个断点进入了MCU
这么一个简单的故障,近10天下班后的时间都花费在上面了,还花费不少钱,浪费不少元件
004.jpg
005.jpg




















评分

1

查看全部评分

     
发表于 2020-9-6 23:25:21 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 2 反对 0

使用道具 举报

     
发表于 2020-9-7 09:55:58 | 显示全部楼层
ifix168 发表于 2020-9-7 09:21
LZ这个没连接按理说没有网络名才对。

看他的图片,是有网络了。那不是有NETR66_2,还是粗心没DRC.我看他是sch连上了,PCB没连上,sch编译过了网络就有了
回复 支持 1 反对 0

使用道具 举报

     
发表于 2020-9-7 08:58:40 | 显示全部楼层
ifix168 发表于 2020-9-7 08:17
现实中,很难完整规范的画MCU相关原理图,大部分图纸很多PIN都是默认不连接的,为省事会将引脚设置为pass ...

你这是原理图编译,和PCB的DRC并不相关。在DRC里面这类错误是Net Antennae,只要这根线和焊盘都有网络名,而没有相连,就会报错。
回复 支持 1 反对 0

使用道具 举报

     
发表于 2020-9-6 23:24:18 | 显示全部楼层
工作细心检查很重要。
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 07:13:24 | 显示全部楼层
矿坛铁粉 发表于 2020-9-6 23:25
画完板子不做DRC的代价

这种失误DRC可能没用
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 07:33:52 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 07:59:15 | 显示全部楼层
生成制板文件如gerber前,十有八九没用DRC检查错误。
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 08:07:12 | 显示全部楼层
心细出细活,谢谢楼主的分享,

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 08:17:51 | 显示全部楼层
矿坛铁粉 发表于 2020-9-7 07:33
断路怎么会没用?

现实中,很难完整规范的画MCU相关原理图,大部分图纸很多PIN都是默认不连接的,为省事会将引脚设置为passive,不然每次DRC都是一大堆错误。
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 08:30:17 | 显示全部楼层
谢谢分享,只要做事都可能犯错.

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 08:33:12 | 显示全部楼层
用PADS画完板子 Verify Design...一下,这些失误无处藏身。
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 08:42:24 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 08:48:31 | 显示全部楼层
楼主这个是原理图错了,DRC检查不出来,侧面也反映出画板的时候也没注意,线都走到那里了.
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 09:21:09 | 显示全部楼层
ChrisLove 发表于 2020-9-7 08:58
你这是原理图编译,和PCB的DRC并不相关。在DRC里面这类错误是Net Antennae,只要这根线和焊盘都有网络名 ...


LZ这个没连接按理说没有网络名才对。
回复 支持 反对

使用道具 举报

     
发表于 2020-9-7 09:30:25 | 显示全部楼层
ifix168 发表于 2020-9-7 07:13
这种失误DRC可能没用

如果原理图有连接,pcb没连,肯定能查出来
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2024-5-1 18:04

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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