打印
[AT32F403/403A]

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

[复制链接]
1050|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hoop|  楼主 | 2023-3-31 17:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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晶振),图示显示了如何使用定时器计数个数来测量参考信号周期。

如上所示,为提高计数测量的准确性,实际应用中可连续对多个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.4 校准方法
前文提到设置CRM_CTRL寄存器的HICKTRIM位可调整HICK输出,校准流程首先按HICKTRIM的默认值为基点配置,准确的测量出此时HICK实际的频率值,然后按实际频率与典型值计算得到频率误差,判断该误差是否在可接受误差值范围内,如果是,则返回成功,如果不是,则轮询下一个HICKTRIM设置点,再进行测量判断,直到轮询完毕返回失败。
3 使用说明
如下为具体的校准流程图,详细描述参见附件源文档



AN0173_SourceCode_V2.0.0.zip

3.01 MB

AN0173_HICK_Calibration_Application_Note_ZH_V2.0.0.pdf

532.7 KB

使用特权

评论回复
沙发
wowu| | 2023-4-13 17:33 | 只看该作者
这个内部高速时钟的时钟源是什么呢

使用特权

评论回复
板凳
tpgf| | 2023-4-14 09:21 | 只看该作者
请问如何对内部高速时钟进行校准呢

使用特权

评论回复
地板
xiaoqizi| | 2023-4-14 11:14 | 只看该作者
内部高速时钟是不是必须使用外部的那个高速的晶振啊

使用特权

评论回复
5
木木guainv| | 2023-4-14 11:30 | 只看该作者
在校准的时候,它的时钟基准取自哪里呀

使用特权

评论回复
6
磨砂| | 2023-4-14 12:08 | 只看该作者
HICKTRIM的默认值是出厂就设定好了的吗

使用特权

评论回复
7
晓伍| | 2023-4-14 12:20 | 只看该作者
我们一般需要多长时间对它进行校准呢

使用特权

评论回复
8
hoop|  楼主 | 2023-4-19 19:34 | 只看该作者
wowu 发表于 2023-4-13 17:33
这个内部高速时钟的时钟源是什么呢

内部高速时钟就是MCU内部的HICK

使用特权

评论回复
9
hoop|  楼主 | 2023-4-19 19:34 | 只看该作者
tpgf 发表于 2023-4-14 09:21
请问如何对内部高速时钟进行校准呢

可以直接参考本应用案例

使用特权

评论回复
10
hoop|  楼主 | 2023-4-19 19:35 | 只看该作者
xiaoqizi 发表于 2023-4-14 11:14
内部高速时钟是不是必须使用外部的那个高速的晶振啊

内部高速时钟是MCU内部自带的哪个HICK,当然对其校准需要提供一个精准的时钟源(比如本案例的LEXT)

使用特权

评论回复
11
hoop|  楼主 | 2023-4-19 19:36 | 只看该作者
木木guainv 发表于 2023-4-14 11:30
在校准的时候,它的时钟基准取自哪里呀

本案例时钟基准取自LEXT

使用特权

评论回复
12
hoop|  楼主 | 2023-4-19 19:36 | 只看该作者
磨砂 发表于 2023-4-14 12:08
HICKTRIM的默认值是出厂就设定好了的吗

是的,在出厂时就有经过校准的

使用特权

评论回复
13
hoop|  楼主 | 2023-4-19 19:39 | 只看该作者
晓伍 发表于 2023-4-14 12:20
我们一般需要多长时间对它进行校准呢

正常出厂时就有经过校准,存在一些个体差异(偏差会保持在Datasheet的限定范围内)。实际应用中可以根据项目对HICK的具体精度需求来决定是否需要对HICK进行校准。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

80

主题

322

帖子

0

粉丝