你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32L0 内部振荡器MSI的软件校准

[复制链接]
STMCU小助手 发布时间:2021-11-18 22:00

可能会有朋友跟我刚使用这个芯片关于MSI校准的时候有过疑惑如何校准?

这里讲讲校准原理。


$ Q7 m- v6 E( B+ S

首先,必须说,校准是必须的。

在不校准的情况下0~25度时候精度是1%,超过这个温度精度偏差可能在+/- 3%以上。

校准后精度可以达到0.05%,这相当于delay 1000ms 的误差只有1000ms * 0.005。


  \5 O& G& ?2 P6 A6 m  L8 O

校准准备:

1. 准备一个板子,焊接好32.768K LSE外部晶振

2. 准备一个校准参考代码,在st官网搜索MSI Calibration可以看到X-CUBE-RC-CALIB项目,这个就是校准参考代码

3. 在st网站下载AN4631英文资料,学一遍,学会多少全看你自己悟性


/ L9 z9 m. X) D' _" d, r& }

说说MSI基本校准原理:

通过32.768K晶振连接到TIM21当中,产生参考值与当前MSI振荡器进行对比,找到一个适合的差值,写入MSI校准寄存器中!即可完成。

在X-CUBE-RC-CALIB的参考代码中MSI MinError这种经典方案可以用来做校准。10个周期下来大概消耗 1.4s时间完成校准。

; Q+ \  v' ?% r; M. p8 B2 q

温补校准实现原理:

通过STM32内部的温度传感器检测当前温度,当温度与上电后差别达到你设定的值的时候可以重新校准。

( P+ s! g. X. |1 o# [7 ]

频率检测校准实现原理:

通过MSI FreqMexxx那个函数,可以检测到当前MSI的运行频率,比如你设定的是2097K如果检测到时期情况误差超过阀值(看你能接受多少),就重新校准。


9 x: o$ ?6 H9 i8 D6 A* z5 `

以上数据经过示波器测试准确度非常高(使用MCO方式,输出到示波器上)。

1 U+ g% K. i. g/ D5 h
赞 收藏 评论0 发布时间:2021-11-18 22:00

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版