时钟HRC、LRC的校正

HRC校准原理

HRC(硬度测量中的Rockwell C Scale缩写,在此上下文中指代某种硬件时钟)的校准原理是通过调整特定的控制参数,使得HRC的实际频率尽可能接近预期的目标频率。这一过程通常涉及到调整温度补偿(Temperature Compensation, TC)和频率调整(Adjustment, ADJ)参数,以最小化实际频率与目标频率之间的差异。

LRC校准原理

LRC(假设为另一种类型的时钟)的校准原理与HRC类似,都是通过调整输出频率的控制参数来减小误差。LRC的目标频率通常设定为32768Hz,但在实际应用中可能需要通过校准来达到这一标准。

校准系数

HRC_TC:不同温度下,TC值对应的不同的温度特性,选取最好的TC值后就会固定,所以暂时使用数据手册中推荐的默认值
HRC_ADJ:通常需要遍历一定范围内的值(例如0~127),以找到最优的调整值获取实际频率的方式1:
将HRC作为CLKOUT的源,CLKOUT连到示波器,示波器的API直接得到HRC的频率值。缺点:通过示波器的方式获取频率只能精确到Khz,误差较大(不使用该方式)
获取实际频率的方式2:
芯片出厂OSC和PLL时钟是准确的,可以用准确的时钟源作为基准统计出准确的1s内待校准的时钟的实际时间。
具体做法为:

  • 选择PLL/OSC作为RTC的时钟源,使能RTC秒中断,先保证单片机的系统时间是标准的;
  • 选择待校准的HRC/LRC作为TMR4/5(支持异步时钟源)的源;
  • 观察标准的秒中断的时间内即统计1s内TMRCNT的计数计算出频率;

自加载flash

为了使校准后的参数能够在系统重启后仍然生效,可以将校准结果存储在Flash内存中,并在系统启动时自动加载到相应的寄存器中。

测试步骤

  1. 上电初始化后进入主程序
  2. 配置RTC时钟源
  3. 配置TMR时钟源和预分频
  4. 执行校准步骤:
    设置HRC_ADJ值。
    清零TMR计数器,使能TMR计数器和RTC秒中断。
    记录秒中断周期内的TMR计数值,计算实际频率。
    遍历不同的HRC_ADJ值,找到误差最小的值,并将其保存在Flash中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值