jerkoh 发表于 2023-2-21 10:16

CPU不起震问题

本帖最后由 jerkoh 于 2024-3-7 10:38 编辑

晶振 24MHz ±10ppm 9pFQ22FA12800594

C8&C9, 从9pF~22pF
R23去掉或不去掉1MΩ 也都试过不行。
都试过了,无效, 只要换个CPU就正常了。或者镊子碰一下晶振的一个脚 大部分也能启来还有其他 什么配置吗?


代码 #define   HXTAL_STARTUP_TIMEOUT0x0800   也试过从0x0800~0xFFFF 都不起作用   do{      timeout++;      stab_flag = (RCU_CTL0 & RCU_CTL0_HXTALSTB);    }    while((0U == stab_flag) && (HXTAL_STARTUP_TIMEOUT != timeout));
    /* if fail */    if(0U == (RCU_CTL0 & RCU_CTL0_HXTALSTB)){      return;
    }

Diyer123 发表于 2023-2-21 18:12

这个晶振的焊盘设计、并联阻容、接地,都很奇葩……不保证其他关键的电源、外围还有没有问题。
这个良率不奇怪。

sagade 发表于 2023-2-21 21:23

Diyer123 发表于 2023-2-21 18:12
这个晶振的焊盘设计、并联阻容、接地,都很奇葩……不保证其他关键的电源、外围还有没有问题。
这个良率不 ...

一般看到的1MΩ都靠近MCU,可能我阅历少吧。
晶振的话最好单点接地吧

sagade 发表于 2023-2-21 21:37


手册建议晶振负载电容20pf,换个24MHZ,负载电容20pf的晶振试试

yangxiaor520 发表于 2023-2-22 07:39

晶振的负载电容多少?外部匹配电容和这个参数有关系的。

dandantcb 发表于 2023-2-22 08:49

单片机外部晶振不起振,通常有2个原因:
1.外部接的电容与晶振要求的负载电容差距太大。你选的晶振是9pF负载电容,那么你图上那两个电容应该在12pF左右。
2.振荡电路驱动电流不够大。振荡电路的驱动电流,在MCU的驱动库里头可以设置,具体的值你要看芯片的参考手册。通常有4挡,默认值在中间,你可以调大。(题外话,外部的1M电阻可以省去,现在的芯片这个电阻应该都已经做到芯片内部了。十几年前的芯片才有可能需要这个电阻)

不起振还有一些偶发的原因:比如外围先上电,单片机后上电,有可能导致振荡电路工作不正常。还比如PCB走线太差劲,导致起振困难。
另外建议你以后这两个地方加个地过孔,减小寄生效应(即电容实际表现不象电容)。看你的图,负载电容通过很长很细的路径接地回流,这不好,因为这就相当于串了一个比较大的电感。特别是你用了24M的晶振,频率越高,寄生电感影响越大。如果你不想改板子,你可以试试换成8M晶振,频率低点更好起振。

jerkoh 发表于 2023-2-22 09:26

板子实在太小了 2个小指甲盖大,反面密密麻麻有器件,所以没打GND

电容从9~22pf各种值都试过了不启震,晶振也换过的

驱动电路MCU库里倒是没发现,我找下看,谢谢!

Dick Hou 发表于 2023-2-22 10:19

本帖最后由 Dick Hou 于 2023-2-22 10:20 编辑

楼上的各位讲得有道理,但是,PCB走线没有那么大影响的,当然,能遵循更好的规则是好事。

具体到楼主的问题,无解的,即使你PCb画得再好。根本原因是,IC的晶振电路设计上的原因,没有能够匹配各种参数的晶振。
实际上,16M以上的晶振就是更难起振一些,楼主应该选择更低的晶振频率,才会保险。
另外,它的规格上写的外部电阻200K,可以试试。

jerkoh 发表于 2023-2-22 10:45

另外 还有一点 就是这些异常的产品:
每次换匹配电路时,热风枪吹的板子发热话(估计45~65°c预热)就能每次都顺利启震(也就是板子发热 ,CPU内部实际也热了,就能启震)
一但冷却板子,再断送电,就又不能启动了,必须手摸一下晶振旁的2电容。

jerkoh 发表于 2023-2-22 10:49

关于布局PCB,确实没那么好的去遵循。
一直用过去经验布法,
原先GD32F103RE 也时这样布局,只是低速的8MHz的3225封装,配20pf 加1MΩ
前后50万片出货都不止了,印象里不启震的1片都没反馈过有这种情况。

timerc 发表于 2023-2-22 10:52

有没有可能虚焊,这种封装的晶振虚焊可能不好发现,不能起振的选几块,重新焊接下看看,确保焊接正常,再试试

jerkoh 发表于 2023-2-22 13:31

本帖最后由 jerkoh 于 2023-2-22 13:39 编辑

目前只能等换成 20pf负载晶振,改用20pf电容 再试试看了

两只袜子 发表于 2023-2-22 15:12

芯片虚焊了吧

jerkoh 发表于 2023-2-22 16:32

两只袜子 发表于 2023-2-22 15:12
芯片虚焊了吧

确定没虚焊

dandantcb 发表于 2023-2-22 17:39

jerkoh 发表于 2023-2-22 10:45
另外 还有一点 就是这些异常的产品:
每次换匹配电路时,热风枪吹的板子发热话(估计45~65°c预热)就 ...

赶紧先去加大驱动电流试试吧。参考手册应该有讲的。没有就找厂家。

chenqianqian 发表于 2023-2-22 18:14

从现象来看,有可能是虚焊.

Dick Hou 发表于 2023-2-24 09:10

jerkoh 发表于 2023-2-22 10:45
另外 还有一点 就是这些异常的产品:
每次换匹配电路时,热风枪吹的板子发热话(估计45~65°c预热)就 ...
别听他们虾扯蛋,总是抓住PCB或焊接不放,就是IC的晶振电路设计问题。

之所以热风抢吹IC能起振,是因为类似给了一个干扰源,和手摸、镊子碰一个道理。晶振不能起振的原因就是电路达到了一个平衡,振荡不了,有干扰打破这个平衡,它就起振了。

jerkoh 发表于 2023-2-24 09:51

目前分析下来 还是CPU问题,因为换CPU马上就好。
不启震的板子 上面CPU 换到其他不同类型产品板子,甚至别的厂家设计的板子上 也是不行。

大秦正声 发表于 2023-2-24 19:11

美国的芯片也一样!

hahajing27 发表于 2023-2-24 19:29

要不把有问题的cpu焊在其他好板子上试试看,pcb 的影响是因为本身公差带来pf级影响,另外国产芯片的测试不可能完全。
页: [1] 2
查看完整版本: CPU不起震问题