STM32F4 RTC精密数字校准与同步

一、问题背景

最近在调试一个数据采集项目,采集板需要每隔一秒将原始数据打包,每个数据包包头包含有打包时刻的时间戳,如“S20191120152020”。采集时钟源采用的是MCU硬件定时器,通过外部高精度的8MHz分频得到,所以精确足够。但是数据包包头的时间戳是使用STM32 的RTC外设获得,实测长时间运行后,RTC平均误差一天快一秒左右。网上搜索发现,大家基本都有遇到STM32 RTC时钟不准的问题,故特此记录下。

二、解决方法思路

2.1 STM32F4 RTC介绍

RTC的基本功能网上资源很多,所以我这里不做过多的介绍,这里主要介绍精度以及校准部分。我使用的RTC时钟源采用外部低速的32.768kHz晶振,通过异步分频器的128分频和同步分频器的256分频,最终得到ck_spre = 32768/128/256=1Hz。

rtc1

实时时钟 (RTC) 是一个独立的 BCD 定时器/计数器。 RTC 提供一个日历时钟、两个可编程
闹钟中断,以及一个具有中断功能的周期性可编程唤醒标志。 RTC 还包含用于管理低功耗模
式的自动唤醒单元。此外,还可以使用数字校准功能对晶振精度的偏差进行补偿。
数字校准电路(周期性计数器调整)
— 精度为 5 ppm
— 精度为 0.95 ppm,在数秒钟的校准窗口中获得

--stm32f4 reference manual<

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值