STM32的RTC晶振经常出现不起振的问题
专家全解晶振不起振原因和故障排除

4、试着改换晶体两端的电容,也许晶振就能起振了,电容的大小请参考晶振的使用说明。
5、在PCB布线时晶振电路的走线应尽量短且尽可能靠近IC,杜绝在晶振两脚间走线。
相信有很大一部分人,对晶振不起振原因和故障排除还是有一些疑惑的,今天松季电子就为大家具体来解答一下。
一、晶振不起振原因分析:
1、PCB板布线错误;
2、单片机质量有问题;
3、晶振质量有问题;
4、负载电容或匹配电容与晶振不匹配或者电容质量有问题;
5、PCB板受潮,导致阻抗失配而不能起振;
6、晶振电路的走线过长;
7、晶振两脚之间、晶振不起振解决方案:
1、排除电路错误的可能性,因此你可以用相应型号单片机的推荐电路进行比较。
2、排除外围元件不良的可能性,因为外围零件无非为电阻,电容,你很容易鉴别是否为良品。
3、排除晶振为停振品的可能性,因为你不会只试了一二个晶振。
stc32内部rtc偏差 -回复

stc32内部rtc偏差-回复内部RTC偏差,指的是单片机中的系统时钟RTC(Real-Time Clock)与真实时间之间的误差。
由于硬件及软件的限制,RTC时钟可能会存在偏差,导致与实际时间的不一致。
本文将详细解释RTC偏差的原因、影响及解决方案,以及如何一步一步解决这个问题。
第一步:理解RTC偏差的原因1. 硬件误差:单片机内部RTC晶振的频率不精确,可能会导致时钟的累积误差。
2. 温度变化:温度的变化会影响晶振的频率稳定性,并进一步导致RTC 的总体偏差。
3. 软件延迟:在程序中存在一些延迟,如指令执行、中断处理等,这些延迟同样会影响RTC的准确性。
第二步:分析RTC偏差的影响1. 时间显示错误:当RTC偏差很大时,单片机上的时间显示将与实际时间相差较大,造成误差。
2. 定时功能异常:如果使用RTC进行定时功能,偏差过大会导致定时任务的执行时间和与实际时间的差异增大。
3. 日历功能错误:RTC除了提供时间的表示外,还提供了日期和月份的功能,如果偏差大,可能导致错误的日期和月份显示。
第三步:解决RTC偏差的方案1. 硬件校准:可以通过硬件校准RTC晶振的频率来降低偏差。
可以使用外部的标准时钟源或者其他准确的时钟来参考进行校准。
2. 软件补偿:通过编程的方式,在软件中计算出偏差并进行补偿。
可以基于实时时间源进行校准,例如使用GPS信号或者网络提供的时间来校正RTC时钟。
3. 温度补偿:由于温度是影响晶振频率的主要因素之一,可以在软件中实现温度补偿算法,通过定期测量温度并校准RTC来减小偏差。
第四步:实施解决方案并测试效果1. 根据选择的解决方案,对单片机的硬件和软件进行相应的修改和调整。
2. 针对已调整的单片机进行一系列测试,包括与标准时钟比对、定时任务的执行、日期和月份的显示等。
3. 根据测试结果进行优化和改进,直到达到可接受的偏差范围。
第五步:监测和维护1. 维护定期校准:由于RTC偏差可能会随时间的推移而逐渐增大,需要定期对单片机进行校准。
stm32f103烧进程序后晶振不起振的原因

文章标题:深度探讨STM32F103烧进程序后晶振不起振的原因在STM32F103系列芯片中,晶振不起振是一个常见的问题,它可能会导致程序无法正常运行。
今天,我们就来深入探讨一下这个问题,并找出可能的原因和解决方法。
1. 硬件设计问题当我们遇到STM32F103烧进程序后晶振不起振的情况时,首先要考虑的是硬件设计是否存在问题。
晶振电路中可能存在以下问题:1.1 晶振电路连接错误:晶振的接线是否正确,是否接地良好。
1.2 晶振参数选择错误:晶振的频率和负载电容是否选择正确。
1.3 PCB布线问题:晶振电路的布线是否存在干扰因素,是否符合设计规范。
2. 程序问题程序问题也可能导致晶振不起振,这时需要检查以下可能原因:2.1 时钟配置错误:程序中的时钟配置是否正确,是否与晶振频率相匹配。
2.2 中断设置错误:程序中的中断设置是否影响到了晶振的起振。
2.3 外部晶振使能错误:程序中是否正确使能了外部晶振。
3. 软硬件结合问题有时候晶振不起振可能是软硬件结合问题导致的:3.1 程序干扰:程序可能存在干扰晶振起振的代码。
3.2 硬件干扰:硬件可能存在干扰晶振的因素,如电源等。
在解决了以上可能的问题之后,我们还要考虑一些其他可能性:4. 晶振质量问题晶振本身质量不良也可能导致不起振,这时需要更换晶振来排除问题。
总结回顾通过以上的探讨和分析,我们可以看到STM32F103烧进程序后晶振不起振的原因有很多,可能是硬件设计问题、程序问题、软硬件结合问题,甚至是晶振质量问题。
在遇到这个问题时,我们需要全面排查,从多个可能性出发,逐一排除,才能找到最终的原因并解决问题。
个人观点和理解我个人认为,对于晶振不起振这个问题,我们不仅要学会排查和解决,更需要深入理解硬件和程序之间的关系,以及外部晶振对整个系统的重要性。
只有在全面理解的基础上,我们才能更好地解决类似的问题,并提高自己在嵌入式系统开发中的技术水平。
通过以上内容的深度探讨,相信您对STM32F103烧进程序后晶振不起振的问题有了更深入的理解。
STM32的晶振,时钟稳定性要重视!!!

STM32 的晶振,时钟稳定性要重视!!!
最近看了不少网上网友的应用案例,在STM32 晶振问题上不少都栽了跟头。
我自己也碰见过一次。
就是电容值搞错了。
ourdev 有网友说:他的设备隔几天系统就出问题,系统时钟变慢。
----------------------------------------有网友说:
国产的晶振,我们用在产品里吃过很多亏。
发出去几百个货(出厂都检验合格),
到客户那里几个有时就不起振了(几个月后),后来改用进口的,从此不出问题了。
哎!
---------------------------------------有网友说:
第一次遇到是忘了焊接22P 的电容,板子可以工作,但是运行速度慢,但是晶振起振了,
示波器看波形有刺,想必是STM32 认为外部晶振信号不好,。
STM32单片机常见的工作异常现象分析及解决方案

STM32单片机常见的工作异常现象分析及解决方案
STM32 单片机常见的工作异常现象分析及解决方案
贴了两块样板,烧写同样的固件。
其中一块工作正常,但是另外一块出现了很奇怪的现象:在线调试正常;每次烧写完后工作正常;重新上电有时候工作正常,有时候工作不正常;工作不正常时,按下复位按键,恢复正常。
工作异常现象:main 函数中的系统运行指示灯不闪烁,但是初始化过程中点的一个灯是亮的!说明程序运行一段时间后,不工作了。
由于在线调试模式,板子工作正常,无法通过在线调试的方式判断程序运行的异常状态。
分析可能的原因:
1、初始化过程中,程序陷入死循环。
但程序初始化过程中,没有while (1)死循环的代码。
2、板子上电后不断复位,导致无法进入main 函数中的while(1)循环。
stm32f103烧进程序后晶振不起振的原因

stm32f103烧进程序后晶振不起振的原因STM32F103是一款传统的32位微控制器,它具有丰富的外设和性能优势。
然而,有时在烧录程序后,晶振可能会无法起振,导致系统无法正常工作。
以下是可能导致这种情况的原因:1. 晶振频率选择不当:在使用STM32F103时,通常需要在程序中配置晶振的频率。
如果选择的频率与实际晶振的频率不匹配,晶振可能无法起振。
因此,在进行程序烧录之前,请确保正确配置晶振频率。
2. 硬件连接问题:晶振需要正确连接到STM32F103的晶振引脚(OSC_IN和OSC_OUT)。
任何连接问题,例如插头没有完全插好,引脚接触不良,都可能导致晶振无法起振。
因此,请检查晶振的连接并确保它与引脚正确连接。
3. 晶振损坏:如果晶振本身损坏或有其他问题,它可能无法起振。
这可能是由于电压波动、静电放电或长时间使用引起的。
如果怀疑晶振损坏,可以尝试更换一个新的晶振来排除故障。
4. 地线和电源问题:晶振的工作需要稳定的地线和电源。
如果地线或电源线存在问题,例如接触不良或电源噪音过大,晶振可能无法正常起振。
请确保地线和电源线的连接良好,并检查电源线上的噪音情况。
5. 程序错误:在某些情况下,由于程序编写错误或其他软件问题,晶振可能无法起振。
这可能是由于程序中的错误配置或特定代码导致的。
在这种情况下,请仔细检查程序代码,并确保没有任何错误或不正确的配置。
总结起来,当STM32F103在烧录程序后晶振不起振时,常见原因包括晶振频率选择不当、硬件连接问题、晶振损坏、地线和电源问题以及程序错误。
通过仔细检查和排除这些问题,可以解决晶振不起振的问题,并确保STM32F103正常工作。
gd32外部晶振不工作

gd32外部晶振不工作
摘要:
1.背景介绍:gd32 外部晶振不工作的问题
2.检查方法:确认连接是否正确,晶振是否正常工作
3.解决方案:更换晶振或调整连接方式
4.总结:gd32 外部晶振不工作的原因及解决方法
正文:
一、背景介绍
近日,我们在使用gd32 开发板时遇到了外部晶振不工作的问题。
这个问题让我们感到困惑,因为晶振是嵌入式系统中至关重要的一个组件,它负责提供系统时钟。
为了让gd32 开发板正常工作,我们必须找到解决这个问题的方法。
二、检查方法
在寻找解决方案之前,我们首先进行了一系列的检查。
我们确认了晶振的连接是否正确,包括晶振的引脚连接以及与gd32 开发板的接口连接。
同时,我们还检查了晶振本身是否正常工作,以排除晶振损坏的可能性。
三、解决方案
经过检查,我们发现问题出在晶振的连接上。
由于连接不良,晶振无法正常工作。
为了解决这个问题,我们采取了两种方法:一是更换晶振,以确认是否是晶振本身的问题;二是调整连接方式,确保晶振与gd32 开发板的接口连接更加牢固。
四、总结
经过上述检查和尝试,我们成功地解决了gd32 外部晶振不工作的问题。
这个问题的原因主要是晶振连接不良,而解决方法则是更换晶振或调整连接方式。
晶振高温不起振的原因

晶振高温不起振的原因晶振是一种常见的电子元件,广泛应用于各种电子设备中。
然而,在高温环境下,晶振有时会出现不起振的现象,即无法正常工作。
那么,究竟是什么原因导致了晶振在高温下不起振呢?我们需要了解晶振的工作原理。
晶振是通过利用压电效应来产生振荡信号的。
在晶振内部,会有一个压电材料,当外加电场或机械应力作用于晶体时,会使晶体发生形变,从而产生电荷。
这个电荷会通过电路传递,形成一个正反馈回路,使晶体不断振荡。
然而,在高温环境下,晶振的工作原理会受到一些因素的影响,从而导致晶振不起振。
首先,高温会使晶体材料的晶格结构发生变化,导致晶体的压电效应减弱或失效。
这样一来,晶体就无法产生足够的电荷来维持振荡。
另外,高温还会使晶振电路中的电子元件的性能发生变化,例如电容器的电容值会随温度升高而减小,电感器的电感值会随温度升高而增大。
这些变化都会对晶振的工作产生影响,进而导致晶振不起振。
高温还会引起晶振电路中的其他问题,例如晶体管的温度漂移。
晶体管是晶振电路中的重要元件,它的性能会受到温度的影响。
在高温环境下,晶体管的电流增益会降低,从而使晶振电路失去稳定性,无法起振。
另外,高温还会使电路中的电阻值发生变化,进一步影响晶振的工作。
为了解决晶振在高温环境下不起振的问题,可以采取一些措施。
首先,可以选择高温下工作可靠的晶振产品。
一些专门设计用于高温环境的晶振,可以在高温下保持稳定的工作性能。
其次,可以采用温度补偿电路来解决温度漂移的问题。
温度补偿电路可以根据温度变化来调整电路中的元件参数,使晶振在高温下仍然能够起振。
此外,还可以采取散热措施,降低晶振的工作温度,减少温度对晶体和电子元件的影响。
总的来说,晶振在高温环境下不起振的原因主要包括晶体材料的压电效应减弱、电子元件性能的变化以及温度漂移等。
针对这些问题,可以采取一系列措施来解决。
通过选择高温下工作可靠的晶振产品、采用温度补偿电路和进行散热设计,可以保证晶振在高温环境下正常工作。
关于STM32开发板晶振相关的问题汇总

关于STM32开发板晶振相关的问题汇总由于开发板上晶振稍多,买的板子还配有几个额外的晶振,搞不明白,就在论坛上查了一些资料。
看了相关帖子将近30篇,基本上搞定了。
现将相关问题汇总如下,分项给大家。
1、自己做了个STM32 的板子,,但是手里没有8M的晶振,所以就用了,12M的,,但是不正常,上电之后PA15和PA14接的是两个led,PA15接的led常亮,PA14接的的led不亮,,而且芯片下载程序又能下载,应该不是芯片坏的问题吧,,而且不管我些什么程序进去,两个脚的状态都不变,,我怀疑是电路有问题,,可是我仔细检查了电路和板子,都没问题,,JTAG正常使用。
我用的是12M的晶振,这会有影响吗?感觉不管下什么程序进去感觉芯片好像没有运行。
答:如果使用12M的晶振,那么要修改启动文档中的关于RCC的语句。
因为如果你使用库文件的话,ST的库,默认外部晶振是8M,所以如果你不修改RCC 部分的语句,会造成CPU不启动,或者启动不成功。
现象是,在MDK环境下,能够通过JTAG识别到芯片,但是无法下载或者debug。
会提示 can not attach CPU。
2、突然想到这个问题,外部无源晶振选择大小的区别是什么?对STM32芯片它都要先分频,再倍频。
我在想,假设,如果它分频都要降到2M,再倍频上去那我直接2M的晶振1分频再倍频,跟24M先12分频再倍频他们的区别是什么?还是说本身就是任意的,根据自己需要选择?答:方便各种应用场景。
3、自己做的STM32F103RBT6板子,外接8M晶振,现在程序下载正常,运行正常,在程序初始化时用到Stm32_Clock_Init(9)这条语句,我想问下是不是外部晶振如果没起振在执行这条语句时会停止?也就是说我的程序下载和运行都正常说明外部晶振肯定起振了,而且已经倍频到72M了。
答:默认是用内部8M RC震荡的,你切换为PLL之后,才是使用8M倍频的,如果你注释掉Stm32_Clock_Init(9),那么代码也会跑,但是是用内部8M RC震荡。
晶体不起振

晶体不起振
晶体不起振可能是由于以下几个原因引起的:
1.频率不匹配:晶体振荡器的起振频率需要与设计要求的频率匹配。
如果晶体的谐振频率与所需的振荡频率不匹配,晶体就无法起振。
这可能是由于晶体的制造问题或选择的晶体与所需频率不兼容。
2.损坏或老化:晶体可能会因为损坏或老化而无法起振。
损坏可能是由于物理损坏、机械应力、温度过高或过低等因素引起的。
老化可能是由于晶体内部结构的变化或材料性能的衰减导致的。
3.不正确的电路连接:晶体振荡器需要正确的电路连接才能正常起振。
如果晶体的引脚连接不正确、电路中的元件损坏或接触不良等问题,都可能导致晶体无法起振。
4.负载问题:晶体振荡器需要合适的负载来确保稳定的振荡。
如果负载电容或电阻不正确,会导致晶体无法起振或频率偏离。
解决晶体不起振的问题可能需要进行以下步骤:
1.检查电路连接:确保晶体的引脚连接正确,并检查与晶体相关的电路元件和连接是否正常。
2.替换晶体:如果晶体损坏或老化,可能需要将其替换为新的晶体。
3.调整负载:尝试调整负载电容或电阻,以确保适当的负载匹配。
4.检查频率匹配:确保选择的晶体与所需频率相匹配。
1/ 1。
晶振频率不准确的原因

晶振频率不准确的原因
晶振频率不准确的原因可能有以下几点:
1. 晶体自身的质量问题:晶体作为晶振的核心部件,如果存在缺陷或质量不佳,就会导致频率不准确。
2. 温度变化:温度变化会对晶体的频率产生影响。
当温度升高或降低时,晶体的频率也会发生变化。
3. 电源电压波动:电源电压的波动会导致晶体振荡器的频率不稳定。
4. 负载变化:晶振输出的信号需要驱动其他电路,如果负载发生变化,也可能导致频率不准确。
5. 老化:长时间使用后,晶体振荡器的性能可能会下降,导致频率不准确。
6. 电路设计问题:电路设计不合理或存在干扰等问题,也可能导致晶振频率不准确。
为了提高晶振频率的准确性,可以采取以下措施:
1. 选择高质量的晶体:选用品牌信誉好、质量可靠的晶体,可以提高频率的稳定性。
2. 控制温度:尽量保持晶体振荡器工作在恒定的温度环境中,可以使用温度补偿电路或恒温箱等设备。
3. 稳定电源电压:采用稳压电源或滤波器等措施,减少电源电压的波动。
4. 优化电路设计:合理设计电路,避免干扰源对晶体振荡器的影响。
5. 定期检测和更换:定期检测晶体振荡器的性能,及时更换老化的晶体。
需要注意的是,不同的应用场景对晶振频率的准确性要求不同,应根据具体需求选择合适的晶振,并采取相应的措施来提高频率的稳定性。
晶振时振时不振问题的发生,分析和解决

晶振时振时不振问题的发生,分析和解决
晶振时振时不振问题是很多工程师们烦恼的事情了,今天松季电子特意为大家介绍分析晶振时振时不振问题的发生,分析和解决。
一、问题的发生
有许多工程师在遇到,晶振在电路板,一会儿起振,一会儿不起振,或用电吹风吹一下又可以正常工作等问题。
二、问题原因分析
如果遇到这种问题,首先要检测晶振的频率参数和晶振的电阻是不是在要求的范围内,如果是在要求的范围内;其次要检查晶振的焊接温度会不会高,造成晶振的第二次损坏,一般要求焊接的温度是在250度左右或更低,最高不要超过300°C。
如果这些都是在要求的范围内,那就要考虑是不是整个单片机电路的问题了。
三、问题如何解决
如果遇到这样的问题,检测晶振参数和调整焊接温度可以很容易做到,如果单片机电路的问题可以找方案商来解决,再则是看晶振有没有漏气,晶振在潮湿的天气情况下也会出现这种问题,这样就建议更换质量较好的晶振。
晶振不起振的原因及解决方法

晶振不起振的原因及解决方法晶振不起振的原因分析:在检漏过程中,就是在酒精加压的环境下,晶体容易产生碰壳现象,即振动时芯片跟外壳容易相碰,从而晶体容易发生时振时不振或停振等不良现象;在压封时,晶体内部要求抽真空充氮气,如果发生压封不良,即晶体的密封性不好时,在酒精加压的条件下,其表现为漏气,漏气分为单漏及双漏,双漏会导致停振;由于芯片本身的厚度很薄,当激励功率过大时,会使内部石英芯片破损,也会导致停振;有功负载会降低Q值(即品质因素),从而使晶体的稳定性下降,容易受周边有源组件影响,处于不稳定状态,出现时振时不振现象;由于晶体在剪脚和焊锡的时候容易产生机械应力和热应力,而焊锡温度过高和作用时间太长都会影响到晶体,容易导致晶体处于临界状态,以至于出现时振时不振现象、甚至停振;在焊锡时,当锡丝透过线路板上小孔渗过,导致引脚跟外壳连接在一块,或是晶体在制造过程中,基座上引脚的锡点和外壳相连接发生单漏,都会造成短路,从而引起停振;当晶体频率发生频率漂移,且超出晶体频率偏差范围过多时,以至于捕捉不到晶体的中心频率,从而导致芯片不起振。
晶振不起振的解决方法:严格按照技术要求的规定,对石英晶体组件进行检漏试验以检查其密封性,及时处理不良品并分析原因;压封工序是将调好的谐振件在氮气保护中与外壳封装起来,以稳定石英晶体谐振器的电气性能。
在此工序应保持送料仓、压封仓和出料仓干净,压封仓要连续冲氮气,并在压封过程中注意焊头磨损情况及模具位置,电压、气压和氮气流量是否正常,否则及时处理。
其质量标准为:无伤痕、毛刺、顶坑、弯腿,压印对称不可歪斜。
由于石英晶体是被动组件,它是由IC提供适当的激励功率而正常工作的,因此,当激励功率过低时,晶体不易起振,过高时,便形成过激励,使石英芯片破损,引起停振。
所以,应提供适当的激励功率。
另外,有功负载会消耗一定的功率,从而降低晶体Q值,从而使晶体的稳定性下降,容易受周边有源组件影响,处于不稳定状态,出现时振时不振现象,所以,外加有功负载时,应匹配一个比较合适有功负载。
晶振不起振的原因是什么?这些解决办法要知道!

晶振不起振的原因是什么?这些解决办法要知道!其实对于晶振不起振的主要原因有很多,比如晶振损坏,晶振接头问题等等都是晶振不起振的原因的。
下面针对于晶振不起振的原因给大家详细的分享一些细节吧!只要大家了解这些细节也能够解决。
晶振不起振的原因一:设计原因设计原因一般很少出现,因为晶振公司在制作的晶振以后都是经过科学设计的。
当然也可能会有设计的原因,比如晶振焊盘太小,设计不合理,导致贴片机的放置偏移或不到位,焊盘太小,锡膏会少,焊接不可靠解决方法就是增加焊盘,这种原因很好解决的。
晶振不起振的原因二:电路原因晶振属于灵敏配件,若是晶振电路不合理,EMC干扰大,导致晶振收因晶振引脚产品感应电流大而烧毁,这也是很正常的,尤其是初次使用晶振的公司很容易会出现这样的原因。
由于公司的设计电路问题导致晶振烧毁,很正常。
这种方式常见的解决方法是在晶振引脚两端并联一个1M阻值的电阻,改变电路,就能够快速解决,具体要看实际情况而定,这里只是简单的判断。
晶振不起振的原因三:晶振旁路电容不匹配。
晶振的旁路电容可以帮助启动振荡,微调晶振的输出频率,一般在10~20PF左右。
但是,当芯片贴装过程中出现混频时,两个旁路电容之差较大,会导致晶振不振荡。
或者设计的旁路电容不合理,在边界参数时可能不振动。
晶振不起振的原因四:工作环境原因对于晶振的工作环境也是需要注意的,比如晶振温度过高时,容易造成晶振损坏。
解决方法是根据系统中各器件的温度要求,整理出合适的温度曲线文件。
晶振本身质量有问题,这种问题更容易出现在小品牌或者购买的拆解部件上。
当晶振量产过程中不良率较高时,可将损坏的晶振提供给供应商进行分析,并要求供应商提供8D报告。
找到问题点,进行整改控制。
总之,对于电子产品的外接芯片来说,若是技术不到位的话很容易出现问题,现在任何位置的芯片都有可能出现缺陷,尤其是二次焊接或者企业自己设计的电路,没有充足的经验很容易导致晶振不起振的,这种是晶振不起振的原因主要原因具体是什么原因要分析才知道。
晶振异常原因总结

晶振异常原因总结
晶振异常原因总结
1、晶振封装:晶振封装如果不规范,很容易导致晶振的散热性能不理想,从而导致晶振的精度变化,甚至产生故障。
2、晶振分析工作的异常:由于晶振分析条件不太理想,晶振的工作条件不合理,晶振的振幅下降,或者容易产生失焦,从而导致晶振精度变化,甚至产生故障。
3、电源和驱动电路之间存在问题:由于电源和驱动电路之间存在问题,导致电源不稳定,从而导致晶振精度变化,甚至产生故障。
4、晶振驱动电路存在故障:如果晶振驱动电路出现故障,晶振的工作条件变化,从而导致晶振精度变化,甚至产生故障。
5、晶振老化:随着时间的流逝,晶振的性能也会变化,可能会导致晶振的精度变化,甚至产生故障。
6、外界电磁场干扰:如果晶振所处的环境中存在外界电磁场干扰,可能会导致晶振的工作参数变化,从而影响晶振的精度变化,甚至产生故障。
- 1 -。
晶振电容短路一下晶振就不起振

晶振电容短路一下晶振就不起振1. 引言1.1 晶振电容短路问题的背景晶振电容短路问题是在电子设备中常见的故障之一,它会导致晶振无法正常起振,从而影响整个系统的正常运行。
晶振电容短路的出现可能是由于电路设计不合理、元件老化或制造缺陷等原因所导致。
一旦晶振电容发生短路,就会使晶振无法正确振荡,从而影响整个系统的时钟信号和数据传输,甚至会导致系统死机。
解决晶振电容短路的问题对于保证电子设备的稳定运行至关重要。
晶振电容短路问题的发生给电子设备的制造和维护带来了挑战。
在设计电路时,需要合理选择晶振和电容的型号和参数,确保它们能够正常配合工作,避免晶振电容短路问题的发生。
在维护电子设备时,及时检测和排除晶振电容短路问题也是非常重要的。
只有充分了解晶振电容短路问题的背景和原因,才能更好地解决这一常见故障,保证电子设备的稳定运行和性能表现。
【字数:213】1.2 本文研究的重要性本文研究的重要性在于晶振电容短路问题是影响晶振起振效果的重要因素之一,对于系统的正常工作和性能稳定性具有重要影响。
正确地解决晶振电容短路问题,可以有效地提高晶振的起振效果,保证系统运行的稳定性和可靠性。
晶振电容短路对振荡的影响需要深入研究和分析,以便找到最佳的解决方案。
选择合适的晶振电容是确保系统正常工作的重要因素,不仅可以提高系统的性能,还可以降低系统出现故障的概率。
深入研究晶振电容短路问题并找到解决方法具有重要意义,可以为电子系统的设计和性能优化提供有力支持。
2. 正文2.1 晶振电容短路问题的原因分析晶振电容短路是指晶振电容器的两极之间出现短路现象,导致晶振无法正常起振。
这种问题通常有以下几个主要原因:1. 电容器质量问题:晶振电容器的质量是影响其性能稳定性的重要因素,如果选用质量不合格的电容器,可能存在内部短路隐患,导致晶振电容短路问题。
2. 焊接质量问题:晶振电容器在安装时需要进行焊接,如果焊接质量不佳,容易造成焊点短路,进而引起晶振电容短路问题。
gd32内部晶振不工作

gd32内部晶振不工作
如果GD32内部晶振不工作,可能出现以下几种可能性:
1. 配置错误:请确保正确配置了系统时钟和外设时钟,以及使能了内部晶振。
2. 错误的时钟设置:如果内部晶振设置不正确,系统时钟可能无法通过内部晶振进行稳定的时钟源。
3. 损坏的内部晶振:如果内部晶振损坏,无法产生稳定的振荡信号。
4. 电源问题:确保供电电压稳定,并消除电源噪声和瞬态。
解决方法:
1. 仔细检查时钟配置:确保正确配置系统时钟源和时钟分频器。
2. 检查初始化代码:确认是否正确初始化内部晶振。
3. 检查硬件连接:检查晶振引脚、电源连接和晶振电容的焊接和连接是否良好。
4. 替换晶振:如果确认晶振损坏,可以尝试更换一个新的。
5. 参考官方文档和资料:查找GD32系列芯片相关的资料,了解内部晶振的配置和使用方法,如果仍然无法解决问题,可以联系厂商的技术支持。
STM32晶振选型 晶振不起振 晶振及负载电容 晶振参数计算器

第一步:增益裕量(Gainmargin)计算π 3.14晶振手册:F=32768Hz C0=2pFCL=6pF ESR(R1)=50000ΩSTM32手册:gm=5μA/V(选择单位)gm单位:μA/V(Oscillator transconductance)mA/V结果:gmcrit= 5.420E-07=0.54204μA/Vgainmargin=9.22第二步:外部负载电容的计算Cs=3pF注:一般取2~75~6CL1=CL2= 6.0pF第三步:驱动级别及外部电阻的计算对于32kHz的振荡器来说,一般不推荐使用外部限流电阻(译注:因为LSE的常见问题是振荡器ESR是指晶振的等效串联电阻(其值由晶振制造商给出):IQ是流过晶振电流的均方根有效值,使用示波器可观测到其波形为正弦波。
电流值可使用峰-峰值(IPP)。
当使用电流探头时(如图6),示波器的量程比例可能需要设置为1m 图6 使用电流探头检测晶振驱动电流。
注:分路电容(shunt capacitance)低频(32K)高频SE的常见问题是振荡器驱动能力不足而非晶振被过分驱动)比例可能需要设置为1mA/1mV。
IQMAX均方根有效值(假设流过晶振的电流波形为正弦波)。
AXPP 表达式如下:荡器起振条件将得不到满足从而无法正常工作。
重新计算Gainmargin 。
重新回到第一步。
确保振荡器的起振点在基频上,而不是在其他晶振制造商的给定值,外部电阻RExt是必需的,用以推荐使用RExt了,它的值可以是0Ω。
意到RExt和CL2构成了一个分压/滤波器,考虑通带宽度用电位器来代替RExt,RExt值可预设为CL2的位器的值即是CL2值。
t值对起振条件没有影响。
例如,RExt值的值。
STM32修改外频晶振方法

STM32修改外频晶振方法由于STM32F10x库官方采用的是默认的外接8MHz晶振,因此造成很多用户也采用了8MHz的晶振,但是,8MHz的晶振不是必须的,其他频点的晶振也是可行的,只需要在库中做相应的修改就行。
在论坛上看到很多用户反映,使用外接12MHz的晶振,会造成很多的问题,如USART的波特率不正确,Systick走时不准等问题,在无论是在实际调试还是在软件模拟中都会发现这个情况,其实,这不能怪ST官方,我们必须肯定ST官方为方便用户开发所做的努力,下面我们就通过简单的三个步骤就可以让你随意的使用4—16MHz之内任何频点的晶振,我们以STM32F10x_StdPeriph_Lib_V3.4.0为例说明。
第一步,打开stm32f10x.h,将#define HSE_V ALUE ((uint32_t)8000000) /*!< V alue of the External oscillator in Hz */修改为:#define HSE_V ALUE ((uint32_t)12000000) /*!< V alue of the External oscillator in Hz */第二步,打开system_stm32f10x.c,修改PLL参数,将/* PLL configuration: PLLCLK = HSE * 9 = 72 MHz */RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |RCC_CFGR_PLLMULL));RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);修改为:/* PLL configuration: PLLCLK = HSE * 6 = 72 MHz */RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |RCC_CFGR_PLLMULL));RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);至此,原文件已经修改完成,如果你想将主频修改至其他频率,请自行修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
各种相互矛盾的经验也告诉我们,导致晶振不起振的原因是多种多样的,也是因“人”而异的。也许,我们无法找到一个绝对有效的经验一举解决STM32的RTC晶振这个让人头疼的问题,但我们可以从各种经验中找到一些线索,为最终摸索到适合自己这块板子的解决方案提供一些帮助和提示。
如果晶振不起振,尤其是你已经使用了传说中的爱普生6pF晶振后还是不行,也许你应该尝试对以下几个方面排列晶振经常出现不起振的问题,这已经是“业界共识”了。。。很多人在各种电子论坛上求助类似于“求高手指点!RTC晶振不起振怎么办”的问题,而其答案基本可以概括为“这次高手帮不了你了”
更有阴谋论者提出让人啼笑皆非的解释——STM32的RTC晶振不起振是ST与晶振厂商串通后故意搞出来的,目的是提高某晶振厂商高端晶振的销量。。。
3. 晶振并联的反馈电阻
晶振可以并联一个高阻值的电阻,据说这样更容易起振。。。这个电阻的阻值有人说是1MΩ,有人说是5MΩ,也有人说是10MΩ,,,当然也有人说不能并联这个电阻,并联了反而不起振
4. XTALout到晶振间串联电阻
这种做法是官方的应用笔记指出的,而且给出了这个电阻的计算公式。对这个电阻的的必要性也是众说纷纭,同样存在两种矛盾的说法,即必须要有这电阻,否则不起振。还有一说不能有这个电阻,否则不起振。。。从官方的应用笔记来看,这个电阻的主要作用是保护晶振,以防晶振发热。由此看来这个这个电阻似乎并非影响晶振起振的主要因素,甚至可能让晶振更难起振。
最近做的几块板子也用到了STM32的RTC,前后两版一共做了大概6片,幸运的是并未遇到晶振不起振的现象。而我采用的是3毛钱一个的普通晶振,并未选用传说中低负载高精度晶振。。。后来在另外一片实验性质的板子上首次遇到了晶振不起振的问题,而且做了2片都不起振,这才让我意识到这个问题的严重性。
从上述现象来看,我认为对RTC晶振起振影响最大的因素应该是PCB的布线。但是遇到问题时通常是PCB已做好,甚至已经做了几百块,没有回头路了。于是大家更关注的问题似乎就是“如何补救”了。在网上搜索一下,你就会发现世界是如此美好!每个人的经验和建议都不一样,甚至是完全相反的!这种现象告诉我们,除了PCB布线,对晶振起振影响最大的似乎不是电气参数,而是另外一种不可忽略的因素——人品!
下面就罗列一下可能影响RTC晶振起振的因素
1. 晶振的品牌和负载电容
大家貌似都知道要用6pF的晶振,但我发现其实12.5pF的也可以用。大家都说KDS日本原装的好,我那个3毛钱的国产晶振貌似也没啥大问题。。。
2. 晶振外接的匹配电容
有人说6pF的晶振要配6pF的电容。但有经验公式指出这个电容的值应该是晶振本身负载电容的两倍,6pF的晶振应该配10pF的匹配电容,当然12.5pF的就应该配20pF或者22pF的电容了~电容值不匹配可能造成晶振不起振。更神奇的是,有人指出去掉外接的匹配电容会使晶振起振!这似乎没啥道理,但在我的板子上,有且仅有这个方案是可行的!!!
5. 晶振的外壳是否接地
这个就不用说了吧。。。晶振的外壳是金属的,做封装时可以把那个焊盘做成机械焊盘而悬空,也可以做成电气焊盘,然后连接到GND。对这个说法同样存在争议,有人说外壳必须接地,也有人说接地后反而不起振。
6. 提高Vbat引脚的电源质量
这种说法是有一定道理的,因为RTC部分是由Vbat的来供电的。有人说Vbat引脚对电源质量要求比较高,如果纹波较大可能会影响晶振的起振。更有人说反而需要一些噪声,激励晶振产生正反馈从而顺利起振(本人对此表示呵呵)。。。但不管怎样,提高电源质量对大家都是好事~
9. 焊接的焊锡量
这个种说法感觉就更不靠谱了,但真的有人在晶振引脚上多加了点焊锡晶振就能起振了。从原理上说,多加点焊锡确实会改变晶振和PCB间的寄生参数,但我感觉影响微乎其微。。。可能晶振已经徘徊在临界值的边缘了,这种做法才会起到一点作用。
10. 使用有源晶振
个人认为这是一劳永逸解决晶振不起振问题的不二法门!有人对STM32的RTC晶振不易起振的原因做了一个解释,即出于低功耗的考虑,STM32对晶振的驱动功率比较低,所谓“好鼓不用重锤”,一些差的晶振就需要更高的驱动功率,所以不易起振。我认为这种解释是有道理的。使用有源晶振则不存在驱动功率的问题,如果问题确实是因为驱动功率造成的,那使用有源晶振毫无疑问可以彻底解决问题。而且目前网上还没看到说有源晶振不起振的求助帖。但是有源晶振通常比较昂贵,甚至要比一颗外置的RTC芯片还要贵。至于这个问题的取舍,就要看各位看官自己的想法了。
7. 晶振周围的环境
有人指出应该仔细清洗RTC晶振周围的电路,甚至是使用环氧树脂胶将晶振密封起来。这种说法得到了一些人的支持,看来也是有相当多的事实依据。
8. 减少晶振焊接时加热的时间
有人认为长时间加热晶振进行焊接会对晶振本身带来影响,却不是彻底损坏晶振,从而使得晶振不容易起振。。。这种说法我没验证过,个人表示怀疑。。。