| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 使用外部时钟,通过TIM21_CH1对STM32L0XX内部的RC时钟(HSI/MSI等)进行校准 -> 正文阅读 |
|
[嵌入式]使用外部时钟,通过TIM21_CH1对STM32L0XX内部的RC时钟(HSI/MSI等)进行校准 |
前言:在有些应用中,无法使用外部晶振来获取准确的时钟,不得已使用STM32内部的RC时钟。HSI以及MSI等。虽然这些时钟在出厂时,已经进行了校准。但是随着环境温度变化,RC时钟会有所改变,这在对时钟敏感的场合下,是不可接受的。幸好STM32提供了一个再校准的机会。利用外部精准时钟信号,对内部时钟进行校准。? ? ? ? ? ? ?????????????? 官方文件:AN4631: How to calibrate an STM32L0xx internal RC oscillator ???????本文只展示对HSI的校准例程,MSI等方法相同。 正文:一、使用TIM21_CH1通道?以上为数据手册介绍的方法,本文使用4096Hz的标准信号,通过GPIO引脚输入TIM21_CH1中,内部TIM21会有输入4分频,因此TIM21需要测量的周期应为(1/1024Hz)?,使用HSI的16MHz主时钟进行测量,得到的理论精确数值应为16MHz*(1/1024Hz)=15625。 下面为TIM21配置函数
其中LL_TIM21_InitStruct .Autoreload =0xffff;表示从0数到最大值,在中间进行捕获一段,即输入周期。因为已知输入的周期核算成数值在15625左右,所以不用再对TIM21进行分频。65536(0xffff)足矣。 二、配置TIM21_CH1对应的GPIO由于使用的是TIM21_CH1功能,是复用功能,所以需要在GPIO配置中设置
三、校准程序根据官方文件给的流程图,可以进行编写相应的程序。
其中TIM21时钟打开的宏如下
另外
这个数组是用来保存,在各个Trimming_Val下(HSI校准一共32个),测量到的周期值,后面会贴出来实测数据。这个值理想情况下应该就是前面计算得到的15625。也就是说,测到的数值越接近这个数,那么时钟此时越精准。我们的目的也就是找到这个最佳值。 中断程序
四、经过上述程序的校准,我们如愿找到了最佳Trimming Value这个校准值默认为16.?? ?而我们找到的最佳值是15,在此参数下,HSI测量值为15622,最接近15625 结论:从上面的数据可知,不同的校准值下,测量出的周期数值相差很大。虽说是微调,但是正所谓“差之毫厘谬以千里”,时钟的精准度是非常重要的。在温度变化较大的情况下,对HSI微调是必不可少的。 自此,完成了对HSI的校准 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:56:47- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |