这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » 国产MCU » AN0173——HICK时钟校准应用指南

共24条 1/3 1 2 3 跳转至

AN0173——HICK时钟校准应用指南

菜鸟
2023-03-30 18:10:00     打赏

AN0173——HICK时钟校准应用指南

支持型号列表:

  AT32F403Axx

1 简介

AT32系列MCU内部都有提供适合运行的内部高速时钟(HICK),其本质就是内置于芯片的RC振荡器。在25℃下,其典型值频率8MHz的精度由工厂校准到±1%,在-40到105℃,该内部高速时钟的精度达到±2.5%,可见精度会受到温度的影响。

为了降低环境温度对精度造成的影响,用户可在运行时间隙调用校准程序来进行校准。

2 校准及原理

2.1 校准

每颗AT32 MCU芯片的内部高速时钟在出厂时都有被进行校准,待芯片复位后该校准值会自动加载到CRM_CTRL寄存器的HICKCAL[7:0]位,与CRM_CTRL寄存器的HICKTRIM[4:0]位一起作用于HICK的校准,HICKTRIM[4:0]的复位值为0x20(不同系列该复位值可能不同),在外部电压和温度变化对内部高速时钟频率产生影响时,可通过软件对HICKTRIM[4:0]这些位进行编程,对HICK进行微调,以达到满足要求的频率。

2.2 原理

校准的原理就是对当前的HICK频率进行较为准确的测量,参考实际的测量值与典型值的比较结果,判断是否达到校准的目的。此处用到的HICK测量方法不是采用外部设备来进行的,而是使用片上定时器来对外部精准的时钟源周期进行计数,因定时器的计数时钟源于HICK,这样就可以通过精确的外部时钟源周期来推算出当前HICK的频率值。

在本应用示例及文档中,精准时钟源采用的是LEXT(通常RTC使用的32kHz晶振),图示显示了如何使用定时器计数个数来测量参考信号周期。

图一2-2.PNG

如上所示,为提高计数测量的准确性,实际应用中可连续对多个LEXT周期进行计数,再用求平均值的方式来减小误差。频率计算公式:

Frequencytimer = (count1 + count2 + …+ countN)/ N * Frequencylext

因HICK直接或间接的提供给系统时钟,再通过timer频率和主频的关系,推算出此时HICK的频率,当前HICK的频率值减去HICK典型值就是此时HICK的误差频率:

Error(Hz) = Frequencyhick – 8000000

2.3 硬件实现

由校准原理可知,要想计算出HICK的频率就必须得有一个准确的校准源,该文档示例推荐的是采用LEXT,并且该校准源需要连接到定时器的输入捕获通道。AT32 MCU可通过CLKOUT功能将LEXT校准源输出,再通过内部配置功能或外围连线将CLKOUT与定时器的输入通道连接

图二2-3.PNG

2.4 校准方法

前文提到设置CRM_CTRL寄存器的HICKTRIM位可调整HICK输出,校准流程首先按HICKTRIM的默认值为基点配置,准确的测量出此时HICK实际的频率值,然后按实际频率与典型值计算得到频率误差,判断该误差是否在可接受误差值范围内,如果是,则返回成功,如果不是,则轮询下一个HICKTRIM设置点,再进行测量判断,直到轮询完毕返回失败。

3 使用说明

如下为具体的校准流程图,详细描述参见附件源文档

图三3-3.PNGAN0173_HICK_Calibration_Application_Note_V2.0.0.zip





关键词: AT32F403A     HICK时钟校准    

助工
2023-03-30 18:10:36     打赏
2楼

感谢楼主的分享,很实用了。


专家
2023-03-30 18:29:39     打赏
3楼

感谢分享


高工
2023-03-30 18:35:36     打赏
4楼

感谢分享


高工
2023-03-30 18:40:23     打赏
5楼

感谢分享


高工
2023-03-30 18:57:19     打赏
6楼

感谢分享


专家
2023-03-31 00:09:36     打赏
7楼

感谢分享


专家
2023-03-31 01:31:03     打赏
8楼

感谢楼主的分享,很实用了。


专家
2023-03-31 01:35:04     打赏
9楼

感谢楼主的分享,很实用了。


专家
2023-03-31 07:35:56     打赏
10楼

感谢分享


共24条 1/3 1 2 3 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]