STM32外部RTC晶振不起振,深刻剖析无源晶振起振原理--以理论指导实践,以实践反馈理论

发现问题

使用cubemx配置RTC时钟为外部LSE时钟源之后,运行代码发现代码卡在LSE时钟初始化上。
当外接两个22pf匹配电容时晶振无法正常起振,当去除匹配电容之后正常工作,使用示波器抓取信号发现信号不稳定。

查找资料

于是开始查找资料,查找到ST官方关于晶振振荡器的相关文档链接:

英文原稿:https://pan.baidu.com/s/1KhNFi93t99395QASgge4ag?pwd=pp5a
中文翻译:https://pan.baidu.com/s/1jIr-eTTLYVBKxnm01DfITg?pwd=fd84

翻阅《ST微控制器振荡器指南.pdf》文档,后查阅有振荡器的增益裕量
请添加图片描述

皮尔斯振荡器
在这里插入图片描述

发现晶振起振与振荡器的增益裕量有关,而增益裕量与晶振频率、负载电容(CL 厂家给的晶振的参数)、匹配电容(C0 晶振两端接的电容值)、晶振的等效串联电阻(ESR)和振荡器的反向器的跨导有关。

解决问题过程

查阅使用的晶振参数

请添加图片描述

由于我使用的是H750的芯片
查阅H7芯片内部反相器的跨导
请添加图片描述

表中的Drive level为stm32内部的驱动能力,对应HAL库为

__HAL_RCC_LSEDRIVE_CONFIG(RCC_LSEDRIVE_HIGH);

更高的驱动等级对应更强的起振能力

增益裕量计算公式:
请添加图片描述


可以开始计算我所选择的晶振是否满足H750的驱动条件:

当外接匹配电容值为20求得:
请添加图片描述
=请添加图片描述
计算得当外接20pf匹配电容时,远大于H7芯片内部反相器的跨导中的跨导值,从而不满足晶振起振条件,无法起振。


当外接匹配电容值为0求得:
请添加图片描述请添加图片描述
发现增益裕量小于low驱动等级的2.5,晶振可以起振,但是不满足可靠起振条件的5倍,与示波器抓取晶振信号波形不稳定的现象一致。


解决方法

而根据公式计算,当晶振负载电容为6pf,ESR为35KΩ时
请添加图片描述
= 请添加图片描述

而根据芯片内部反相器的跨导,增益裕量满足最小值5倍,晶振起振较为稳定
立创商城:请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值