前几天遇到的问题,现在放到这里共享一下,留给后来人做参考: 设计了一个STM32f103C8T6的板子,焊接了三块,一开始都不能工作,后来把PC13-RTC引脚的直接接3.3V改为悬空,PC14-OSC2IN和PC15-OSC2OUT的接地改为悬空,现在可以工作了,但是工作一段时间后,就回自己复位重启,复位重启有时候能起来,然后一秒后再次复位,一直这样循环;有时候起不来这时候在量复位引脚的电压大约0.3V左右,而且有上下跳变,断电复位后还是不能启动,放那等一段时间再上电,可能就能启动了;如果把复位引脚直接接到3.3V,程序能启动,LED指示灯能够一秒钟闪动一次,但是usb接口无法识别,测量晶振引脚电压在波谷1.96V-波峰2.18V,测量正常的板子波谷在1.84V波峰在2.22V;晶振和电容10P-20P-24P-30P都换过,大家感觉可能是什么原因? |
1.电源问题:电源供电不足或者品质太差;可以更换供电电源或者电源芯片,增大电源的电容,增加去耦电容。
2.虚焊问题:信号引脚(OSC/NRST)或者电源引脚(VDDA/VSSA)虚焊;重新补焊。
3.短路问题:直接焊锡短路或者间接助焊剂短路;仔细检测示波器测量,如果示波器测量的电压不稳定可能是助焊剂引起的间歇性短路(本次就是由于这个原因),最好焊接完成后用洗板液认真清洗。
4.物料问题:换几个试一试,换一批试一试,把原来能运行的换上试一试。
5.干扰问题:靠高频强电场或者磁场太近,特别是靠电源的电感太近;晶振下边有高频电路或者高频走线。
6.程序原因:下载程序了吗?程序堆栈溢出(在启动文件中将Stack空间设大一点),看门狗引起的复位。
7.环境问题:环境中浮沉太多湿度太大,周围有强磁场或者电场。
8.静电原因:静电把芯片击穿或者造成性能不好。
9.芯片原因:芯片本来就是坏的,或者芯片未能真正运行(BOOT0拉低了吗?)。
另外:经测试,PC13-RTC引脚,PC14-OSC2IN和PC15-OSC2OUT接高低电平是没有什么影响的,因为默认都是普通IO。
欢迎大家的补充和讨论,如果发现类似的问题解决后请及时跟帖,方便后来的人准确找到原因。
谢谢版主提醒,不合适的帖子,请版主帮忙移到相应位置,我这无法修改版块,谢谢。