打印

CPU不起震问题

[复制链接]
781|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jerkoh|  楼主 | 2023-2-21 10:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 jerkoh 于 2024-3-7 10:38 编辑

晶振 24MHz ±10ppm 9pF
Q22FA12800594


C8&C9, 从9pF~22pF

R23去掉或不去掉1MΩ 也都试过不行。

都试过了,无效, 只要换个CPU就正常了。
或者镊子碰一下晶振的一个脚 大部分也能启来
还有其他 什么配置吗?



代码
#define   HXTAL_STARTUP_TIMEOUT  0x0800   也试过从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的晶振试试

使用特权

评论回复
5
yangxiaor520| | 2023-2-22 07:39 | 只看该作者
晶振的负载电容多少?外部匹配电容和这个参数有关系的。

使用特权

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

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

使用特权

评论回复
评论
jerkoh 2023-2-22 09:33 回复TA
谢谢 这里 2016封装是最大的极限了,8MHz晶振 好像没这2016封装规格,或者不容易买到 
7
jerkoh|  楼主 | 2023-2-22 09:26 | 只看该作者
板子实在太小了 2个小指甲盖大,反面密密麻麻有器件,所以没打GND

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

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

使用特权

评论回复
8
Dick Hou| | 2023-2-22 10:19 | 只看该作者
本帖最后由 Dick Hou 于 2023-2-22 10:20 编辑

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

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

使用特权

评论回复
评论
jerkoh 2023-2-22 10:42 回复TA
100K,200K,470K,1M 3M都试了下了。不行。 可能的换成有源晶振才有8M SMD2016 实际一开始也是想用8M 无源的,奈何体积受限,又买不到SMD2016 8MHZ的 所以妥协成了24MHz, 9pF~10pF 这种晶振 实际测试发现,怎么换值换晶振,匹配R,C 都无效,换CPU马上就好(确定不是焊接SMD问题) 目前一共大概5万片了, 每次又10~50片这个问题, 千分之一的话 就不去理睬它了,现在千分之五有点 太大了  
9
jerkoh|  楼主 | 2023-2-22 10:45 | 只看该作者
另外 还有一点 就是  这些异常的产品:
每次换匹配电路时,热风枪吹的板子发热话(估计45~65°c预热)  就能每次都顺利启震(也就是板子发热 ,CPU内部实际也热了,就能启震)
一但冷却板子,再断送电,就又不能启动了,必须手摸一下晶振旁的2电容。

使用特权

评论回复
10
jerkoh|  楼主 | 2023-2-22 10:49 | 只看该作者
关于布局PCB,确实没那么好的去遵循。
一直用过去经验布法,
原先GD32F103RE 也时这样布局,只是低速的8MHz的3225封装,配20pf 加1MΩ
前后50万片出货都不止了,印象里不启震的1片都没反馈过有这种情况。

使用特权

评论回复
11
timerc| | 2023-2-22 10:52 | 只看该作者
有没有可能虚焊,这种封装的晶振虚焊可能不好发现,不能起振的选几块,重新焊接下看看,确保焊接正常,再试试

使用特权

评论回复
评论
jerkoh 2023-2-22 11:01 回复TA
这个不会的,焊接能确保好的。 
12
jerkoh|  楼主 | 2023-2-22 13:31 | 只看该作者
本帖最后由 jerkoh 于 2023-2-22 13:39 编辑

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

使用特权

评论回复
13
两只袜子| | 2023-2-22 15:12 | 只看该作者
芯片虚焊了吧

使用特权

评论回复
14
jerkoh|  楼主 | 2023-2-22 16:32 | 只看该作者

确定没虚焊

使用特权

评论回复
15
dandantcb| | 2023-2-22 17:39 | 只看该作者
jerkoh 发表于 2023-2-22 10:45
另外 还有一点 就是  这些异常的产品:
每次换匹配电路时,热风枪吹的板子发热话(估计45~65°c预热)  就 ...

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

使用特权

评论回复
16
chenqianqian| | 2023-2-22 18:14 | 只看该作者
从现象来看,有可能是虚焊.

使用特权

评论回复
17
Dick Hou| | 2023-2-24 09:10 | 只看该作者
jerkoh 发表于 2023-2-22 10:45
另外 还有一点 就是  这些异常的产品:
每次换匹配电路时,热风枪吹的板子发热话(估计45~65°c预热)  就 ...

别听他们虾扯蛋,总是抓住PCB或焊接不放,就是IC的晶振电路设计问题。

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

使用特权

评论回复
18
jerkoh|  楼主 | 2023-2-24 09:51 | 只看该作者
目前分析下来 还是CPU问题,因为换CPU马上就好。
不启震的板子 上面CPU 换到其他不同类型产品板子,甚至别的厂家设计的板子上 也是不行。

使用特权

评论回复
19
大秦正声| | 2023-2-24 19:11 | 只看该作者
美国的芯片也一样!

使用特权

评论回复
20
hahajing27| | 2023-2-24 19:29 | 只看该作者
要不把有问题的cpu焊在其他好板子上试试看,pcb 的影响是因为本身公差带来pf级影响,另外国产芯片的测试不可能完全。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

116

主题

1400

帖子

2

粉丝