通过 LSE 校准 HSI 偏差大的问题解决

1. 引言

某客户使用 STM8AL 时,由于设计限制需使用 HSI 作为系统时钟。为减小 HSI 偏差,使用 LSE 对其进行校准。小批量试产发现 3%左右产品校准后频率和 16MHz 偏差较大。

2. 调研

检查客户代码,和 ST 官方提供的演示代码 STM8L15x_AN3101_FW_V1.1.0 一致,跟踪代码执行,未发现异常,初步排除代码移植问题。

由于校验结果直接受 LSE 影响,查阅参考手册和数据手册可知,LSERDY 置位仅表示 LSE起振成功,LSE 震荡频率需要额外等待一段时间 tSU(LSE)才会稳定;不同晶振这个时间会有很大差异,详见图 1。

图1. 官方手册对 LSERDY 置位和 LSE 稳定的描述
在这里插入图片描述
检查 ST 代码,发现这个延迟大约是 60ms,见图 2(循环一圈 4 条指令,CPU 频率按16MHz 计算,时间约 61.89ms)。经确认,ST 官方工程这个延迟是根据 ST 官方的开发板上安装的晶振设定的。由于客户使用的晶振型号不同,初步怀疑这个稳定时间需要调整。

图2. ST 官方代码里的延迟
图2. ST 官方代码里的延迟

3. 处理

将此延迟逐步增加到 90ms,保证 LSE 稳定下来。这样操作后,发现所有之前异常的板子校准结果都是好的。按此延迟再次加工一批板子,校准结果也是正常的。

4. 小结

当我们在应用中碰到跟时序相关问题时,最好先仔细阅读 MCU 数据手册、参考手册对相关模块特性的描述,并结合代码进行分析。

参考文献

在这里插入图片描述


本文档参考ST官方的《【应用笔记】LAT1407+通过LSE校准HSI偏差大的问题解决》文档。
参考下载地址:https://download.csdn.net/download/u014319604/89139817

  • 15
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值