商贸能源贸易圈

新闻动态

当前位置 : 首页 > 新闻动态 > 行业动态

基于RTC的低功耗精准时钟同步

发表时间:2024-04-02 11:09:17 浏览:188

1.   时钟同步的概念及精度影响因素


时钟同步,也称为时间同步或对钟,是确保多个终端设备与时钟源的时间保持一致的过程。时钟同步的目的是为了消除时钟偏差,从而实现精确计时或者多终端协调操作。
时钟同步的精确性主要受三个方面影响——主设备(时钟源)时钟精度、传输途径和从设备(终端)时钟调整分辨率。时钟源一般选择时钟服务器或者GNSS,对于要求不高的局域组网,主设备甚至可以通过系统时钟自己生成参考时钟。传输途径的影响可大可小,在传输途径相对一致的情况下,它的影响较小甚至可以忽略。本文仅探讨传输途径一致的情况,因此,从设备(终端)时钟调整分辨率是整个同步网络的关键,决定了整个系统同步精度,是设计环节的着力点。


2.   时钟同步的设计原理


为了方便测试,以下使用大普时钟服务器DP4000[1]作为时钟源。RTC使用大普INS5T8900[2],与MCU一起组成从设备。
MCU从时钟服务器获得TOD信息和1PPS信号,再根据系统同步指令,通过IIC接口对RTC进行设置,最终达到RTC的时间和服务器时间同步的目的。


市场上RTC的时间寄存器分辨率一般精确到秒,但本文将探讨基于RTC,如何进行毫秒甚至微秒级别的时钟同步设置。其主要原理是利用大普的RTC秒上升沿即时生效原理——即秒上升沿会移动到秒设置生效的位置,当MCU捕捉到时钟服务器输出1PPS上升沿时,对RTC进行秒的写操作,即能实现精准时钟同步。工作原理框图见图1。



图1 同步原理框图

3.   时钟同步的具体实现


基于上述原理,理想的设置状况是指令即时生效,但实际使用过程中每个环节都会有误差。要达到更高精度的时钟同步,需要尽可能减少同步误差。


3.1误差确认


减少误差需要先分析和确认误差。如图2所示,图中T1是MCU软件操作时延和IIC指令时延,主要和单片机以及IIC速率有关系。硬件和软件系统确定后,T1即为固定值。T2是IIC操作生效到秒上升沿变化时间差,是RTC同步误差,主要由RTC内部逻辑电路确定,也是固定值。T3为T1和T2之和,即总误差。