时钟同步的应用涵盖通信、交通、电力、视频、医疗、金融、教育等领域,在低功耗的设备上提高时钟的同步精度具有较高的应用价值。
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之和,即总误差。
图2 误差确认
3.2误差校准
确认误差之后,需要对误差进行校准。如上文所述,总误差为固定值T3,那么校时起点若相对于GPS/BDS秒上升沿提前T3,就能实现精准的秒上升沿同步。如图3所示。
图片图3 误差校准
4. 时钟同步的测试验证
按照以上原理进行了测试验证。实际测试结果显示,经过误差校准后,RTC输出的1PPS(绿色)和服务器输出的1PPS(黄色)同步精度非常高,相位偏差在±10us[3]内,实现了微秒级别的时钟同步。
图4 校准后实测
综上所述,大普的RTC INS5T8900,采用秒上升沿即时生效原理,实现了低功耗精准时钟同步。结合大普RTC配置灵活、可定制化设计等特点,越来越多的应用场景将被挖掘和实现。
注[1]:大普的时钟服务器-DP4000关键特性:
(1)支持GNSS
(2)GPS/BDS/GLONASS/Galileo
(3)支持IEEE1588v2、1PPS、频率输入等多种参考源
(4)全协议支持 IEEE1588v2、NTP、SyncE
(5)满足PRTC-B标准
(6)频率准确度:±1.0E-12(跟踪卫星)
(7)支持128/256个从时钟
(8)相位精度: ±20ns/±50ns(跟踪卫星)
(9)保持能力:± 1.5μs/24 小时 (△T=±10℃)
(10)多种接口类型,接口可定制
注[2]:大普的RTC-INS5T8900关键特性:
(1)低功耗:1.0uA(典型)
(2)超高稳定度:
±3.4ppm @ -40℃~+85℃
(3)内置晶体:32.768kHz
(4)内置温度传感器
(5)通信接口类型:I2C总线接口
(6)电压输入范围:1.6V ~ 5.5V
(7)温度范围:-40℃~+85℃
(8)可配置输出,如1PPS等
(9)封装尺寸:3.2* 2.5*1.0mm
注[3]:不同设计方案实际测试精度有差异,本测试值仅供参考。