CN110138489B - Rtc时钟同步调整方法及装置 - Google Patents

Rtc时钟同步调整方法及装置 Download PDF

Info

Publication number
CN110138489B
CN110138489B CN201910313061.6A CN201910313061A CN110138489B CN 110138489 B CN110138489 B CN 110138489B CN 201910313061 A CN201910313061 A CN 201910313061A CN 110138489 B CN110138489 B CN 110138489B
Authority
CN
China
Prior art keywords
clock
time
rtc
message
offset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910313061.6A
Other languages
English (en)
Other versions
CN110138489A (zh
Inventor
肖文平
黄飞
石川
张航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Hinge Electronic Technologies Co Ltd
Original Assignee
Shanghai Hinge Electronic Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Hinge Electronic Technologies Co Ltd filed Critical Shanghai Hinge Electronic Technologies Co Ltd
Priority to CN201910313061.6A priority Critical patent/CN110138489B/zh
Publication of CN110138489A publication Critical patent/CN110138489A/zh
Application granted granted Critical
Publication of CN110138489B publication Critical patent/CN110138489B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • H04J3/0661Clock or time synchronisation among packet nodes using timestamps
    • H04J3/0667Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

本发明提供了一种RTC时钟同步调整方法及装置,基于gPTP协议使主时钟端和从时钟端完成信息交互并计算主时钟端和从时钟端的时延计算和时间偏差,根据时延计算和时间偏差调整RTC时钟,使RTC时钟与主时钟保持同步,本发明有效克服现有技术的gPTP协议并未对RTC同步过程中的状态进行具体定义,而很难确认当前RTC的同步状态,RTC不能快速的同步进入锁定,导致RTC时间一直处于未同步状态,进而导致音视频数据在恢复的时候,出现较严重的不同步问题。

Description

RTC时钟同步调整方法及装置
技术领域
本发明涉及汽车以太网EAVB(Ethernet Audio Video Bridging)协议中的gPTP(generalized precision time protocol)协议的RTC(Real Time Clock)时钟同步调整方法及调整装置。
背景技术
汽车以太网EAVB(Ethernet Audio VideoBridging)协议中,gPTP(generalizedprecision time protocol)协议的功能是时间的同步,为音视频数据提供精准的时间信息,标准协议IEEE802.1AS对时间同步的报文格式,报文交互以及时间戳的使用和时延的计算方法等都进行了详细定义,但是标准协议应用到具体平台的时候,通过报文交互计算出线路时延和时间偏差,需要调整硬件时间,而相关的调整方法等却并未具体进行定义。鉴于上述情况,现有技术中很多时候在时钟调整过程中往往会出现:同步时钟不稳定、出现时钟相位偏差很大、时钟同步后抖动很大等的各种问题。
目前,现有技术的gPTP协议的RTC(Real Time Clock)时钟调整由于尚且没有一种有效的调整方法,导致在技术实现上仍有如下一系列问题:
所述RTC为实时时钟,其是PC主板上的晶振及相关电路组成的时钟电路的生成脉冲,RTC经过8254电路的变频产生一个频率较低一点的OS(系统)时钟TSC,所述的OS(系统)时钟每一个cpu周期加一,每次系统时钟在系统初起时通过RTC初始化。当然,8254电路本身的工作也需要有自己的驱动时钟(PIT);
进一步的:由于现有技术的gPTP协议并未对RTC同步过程中的状态进行具体定义,因此在时钟调整过程中,往往很难确认当前RTC的同步状态;
进一步的:在同步跟踪上级时钟时,RTC不能快速的同步进入锁定,一直RTC时间处于调整和同步过程中,RTC长期间处于未同步状态中;
进一步的:因为RTC时间一直处于未同步状态,则进而导致音视频数据在恢复的时候,出现较严重的不同步问题。
为了有效克服上述情况下的现有技术的gPTP协议并未对RTC同步过程中的状态进行具体定义,而很难确认当前RTC的同步状态,RTC不能快速的同步进入锁定,导致RTC时间一直处于未同步状态,进而导致音视频数据在恢复的时候,出现较严重的不同步问题,因此,一种新的基于gPTP协议的RTC时钟同步调整方法及调整装置的发明是势在必行的。
发明内容
本发明解决的问题是现有技术的gPTP协议并未对RTC同步过程中的状态进行具体定义,而很难确认当前RTC的同步状态,RTC不能快速的同步进入锁定,导致RTC时间一直处于未同步状态,进而导致音视频数据在恢复的时候,出现较严重的不同步问题。
为解决上述问题,本发明提供了一种RTC时钟同步调整方法,其基于gPTP协议使Master端和Slave端完成信息交互并计算主时钟端和从时钟端的时延计算和时间偏差,根据时延计算和时间偏差调整RTC时钟,使RTC时钟与主时钟保持同步。
可选的,所述的RTC时钟同步调整方法,其RTC时钟运行的状态包括自由运行、同步、正常工作跟踪、保持对Master端的跟踪锁;
所述自由运行状态是指Slave端未接收到Master端的报文,即Master端报文丢失,Slave端的时钟依据自己的RTC时间运行;
所述同步运行状态是指上电、唤醒或者Master端的报文从丢失到回复,当大的时间偏差出现时,RTC能够快速同步时间相位,达到时间在相位上的同步;
所述正常工作跟踪运行状态是指时钟在进行时间相位和频率的微步调整;所述保持对Master端的跟踪锁定运行状态是指Slave端与Master端时钟频率进入锁定。
可选的,所述RTC时钟同步调整方法,其还包括如下步骤:
默认配置gPTP协议Master端初始sync报文发送间隔为j,保证sync报文和follow_up报文每秒发送1/2j个;
系统上电后,RTC时钟默认进入自由运行状态,通过gPTP协议交互,Slave端计算线路时延和与Master端的时间偏差。
可选的,所述RTC时钟同步调整方法,其Master端和Slave端的交互过程如下:
主时钟向从时钟发送Sync报文,并记录发送时间t1;时钟收到该报文后,记录接收时间t2;
主时钟发送Sync报文之后,接着发送携带有t1的Follow_Up报文;
从时钟向主时钟发送延时请求报文,用于发起反向传输延时的计算,并记录发送时间t3;主时钟收到该报文后,记录接收时间t4;
主时钟收到延时请求报文之后,回复携带有t4的延时响应报文,并记录发送时间t5;从时钟收到该报文后,记录接收时间t6;
主时钟回复延时响应报文之后,接着发送携带有t5的Pdelay_Resp_Follow_Up报文;
通过报文消息交互,Slave端获取到时间戳t1,t2,t3,t4,t5,t6;
线路时延计算方法为:
Figure BDA0002032154100000041
时间偏差计算方法为:
offset=(t2-t1)-Δdelay。
可选的,所述的RTC时钟同步调整方法,其在根据时延计算和时间偏差的结果调整RTC时钟前,还包括对时间偏差的结果进行滤波处理并获取最终时间偏差。
可选的,所述的RTC时钟同步调整方法,其还包括对所述对时间偏差的滤波处理结果进行分析处理,其包括:Slave端与Master端在第n(n≥1)秒内交互m次,获取到m个时间偏差值,通过对m(m≥2)个偏差值进行分析处理并获得处理后的最终时间偏差offset_filter;
优选的,对m个时间偏差值的处理包括直接计算8个偏差的平均值作为最终的时间偏差offset_filter;或根据m个offset时间偏差值按照数值的大小,从小到大进行排列成一组数据,然后去掉最大值和最小值,如果m为奇数,则取这组数据中的中间值作为最终的时间偏差offset_filter=offset(m+1)/2;如果m为偶数,则取这组数据中第m/2和第m/2+1个offset的和,然后在除以2后所得数值为最终的时间偏差offset_filter,即:offset_filter=(offsetm/2+offset(m/2+1))/2;或采一组队列去掉最大值和最小值后取平均值,连续采样N个数据,去掉一个最大值和一个最小值,然后计算N-2个数据的算术平均值。
可选的,所述的RTC时钟同步调整方法,其根据滤波后的最终时间偏差offset_filter对本地RTC时钟相位进行较大调整,使Master端和Slave端在相位上偏差处于μs级。
可选的,所述RTC时钟同步调整方法,其RTC时钟与主时钟的相位和频率保持同步的微调调整方法为PID闭环控制方法。
可选的,所述RTC时钟同步调整方法,其所述PID闭环控制方法包括:根据gpTP协议计算主从时钟的偏差获得offset,然后offset进行滤波并获得最终的时间偏差offset_filter,根据offset_filter不断计算调整PID中的Kp比例因子、Ti积分时间常数和T d微分时间常数以获得Kp、Ti、T d数值来调整RTC的数值并将调整后的RTC数值反馈给输入,循环实现RTC的数值动态调整。
可选的,所述RTC时钟同步调整方法,其所述调整PID中的Kp比例因子、Ti积分时间常数和T d微分时间常数包括只采用P调节器,即Ti=0,Td=0或只采用PI调节器,Td=0或只采用PD调节器,即Ti=0。
可选的,所述RTC时钟同步调整方法,其所述PID闭环控制方法包括遗传算法对PID中的参数进行修正。
为解决上述问题,本发明实施例还提供了一种RTC时钟同步调整装置,其包括:
时钟状态预设装置,对RTC时钟状态进行预设,所述RCT时钟状态包括:自由运行、同步、正常工作跟踪、保持对Master端的跟踪锁定四种状态;
报文发送模块,传送主、从时钟之间的报文;
报文消息交互模块,对报文发送模块的报文进行处理分析并记录主时钟或从时钟之间发送或者接受到报文的信息;
获取模块,获取时间状态预设模块、报文发送模块、报文消息交互模块过程中产生的信息进行收集整理并将收集整理的信息传送给计算模块;
计算模块,计算获取模块的信息,并将计算结果发送给调整模块;
调整模块,根据计算模块的信息对RTC的相位和频率进行实时调整。
与现有技术相比,本发明的技术方案采用闭环自动控制技术来调整RTC时间同步,至少具有以下有益技术效果:
1)、定义RTC的同步状态,每种状态都清晰明确,对控制状态的切换能够起到较好的效果;
2)、系统上电后,可以快速的调整RTC时钟,使得RTC时钟在很短的时间内进入到锁定状态;
3)、RTC时钟调整过程中,将每次调整时钟后的RTC结果通过反馈,决定下一次对RTC的调整量,根据上一次调整的结果的反馈,调整下一次调整的值,增加RTC时钟在同步调整中的准确度,保证RTC时钟快速同步,有效的避免RTC一直未同步的情况。
4)采用滤波算法对多次采集的时间偏差进行处理,避免时间偏差因信号噪音或者其它因素的干扰而获得不准确的数值,使其精度高价精准。
5)采用PID的调节方法,能够快速调整RTC时钟的相位和频率并且能够实时调整,并且采用了遗传算法对PID中的三个参数进行了优化,使其调整结构更合理。
附图说明
图1是本发明实施例gPTP协议的RTC时钟同步调整方法的RTC时钟进入自由运行状态通过gPTP协议交互的报文消息交互示意图;
图2是本发明实施例gPTP协议的RTC时钟同步调整方法的Slave端依据闭环控制方法对RTC时钟进行快速相位和频率微调整方法的流程示意图;
图3是本发明实施例gPTP协议的RTC时钟同步调整方法的Slave端依据遗传算法对RTC时钟进行快速相位和频率微调整方法的流程示意图;
图4是本发明实施例gPTP协议的RTC时钟同步调整方法的RTC时钟状态切换状态机结构示意图;
图5是本发明实施例gPTP协议的RTC时钟同步调整装置示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一:
本发明提出了一种基于gPTP协议的RTC时钟同步调整方法,使用gPTP消息交互完成Master(主时钟)端和Slave(从时钟)端的时延计算和时间偏差计算,然后采用PID闭环自动控制技术的调整方法来调整RTC时钟。
具体实现步骤为:首先将RTC时钟状态至少分为:自由运行、同步、正常工作跟踪,保持对Master端的跟踪锁定四种状态,具体参见附图4所示,如下将具体阐述:
所述自由运行状态是指Slave端未接收到Master端的报文,即Master端报文丢失,Slave端的时钟依据自己的RTC时间运行;
所述同步状态是指上电、唤醒或者Master端从丢失到回复,时间偏差较大的时候,快速同步时间相位,达到时间在相位上的同步;
所述正常工作跟踪状态是指时钟在进行时间相位和频率的微步调整;
所述保持对Master端的跟踪锁定状态是指Slave端与Master端时钟频率进入锁定。
基于上述RTC时钟状态的分类设定,本发明基于gPTP协议的RTC时钟同步方法的具体实现步骤如下:
步骤一:默认配置gPTP协议Master端initialLogSyncInterval即初始同步(sync)报文发送间隔为j,保证同步(sync)报文和跟随(follow_up)报文每秒发送1/2j个。例如:设置初始同步报文发送间隔值为j=-3,跟随报文每秒发送8个。
具体地,需要说明的是,初始报文发送间隔可以自己设定,每秒发送跟随报文的数量也可以自己定义。
步骤二:系统上电后,RTC时钟默认进入自由运行状态,通过gPTP协议交互,Slave计算线路时延和与Master端的时间偏差,交互过程如附图1所示,其实现过程如下:
(1)主时钟向从时钟发送Sync报文,并记录发送时间t1;从时钟收到该报文后,记录接收时间t2。
(2)主时钟发送Sync报文之后,紧接着发送一个携带有t1的Follow_Up报文。
(3)从时钟向主时钟发送Pdelay_Req(延时请求)报文,用于发起反向传输延时的计算,并记录发送时间t3;主时钟收到该报文后,记录接收时间t4。
(4)主时钟收到Pdelay_Req报文之后,回复一个携带有t4的Pdelay_Resp(延时响应)报文,并记录发送时间t5;从时钟收到该报文后,记录接收时间t6。
(5)主时钟回复Pdelay_Resp报文之后,紧接着发送一个携带有t5的Pdelay_Resp_Follow_Up报文。
此外,根据是否需要发送Follow_Up报文,交互过程也分为单步模式和双步模式两种:
在单步模式下,Sync报文的发送时间戳t1由Sync报文自己携带,不发送Follow_Up报文;而t5和t4的差值由Pdelay_Resp报文携带,不发送Pdelay_Resp_Follow_Up报文。
在双步模式下,Sync报文的发送时间戳t1由Follow_Up报文携带,而t4和t5则分别由Pdelay_Resp报文和Pdelay_Resp_Follow_Up报文携带。
通过报文消息交互,从时钟Slave获取到时间戳t1,t2,t3,t4,t5,t6;继续的,从时钟间的往返总延时为[(t4–t3)+(t6–t5)],由于网络是对称的,所以主、从时钟间的单向延时为[(t4–t3)+(t6–t5)]/2,因此线路时延计算方法为:
Figure BDA0002032154100000101
Master和Slave时间偏差计算方法:
offSet=(t21t1)-Δdelay 公式(2)
步骤三:Slave端与Master端完成一次报文信息交互,RTC状态进入到同步状态;
步骤四:Slave与Master在第n(n≥1)秒内交互m次,获取到m个偏差值,通过对m(m≥2)个偏差值进行分析处理并获得处理后的时间偏差offset_filter:
本实施例中n=1,m=8,第1秒内获得8个offset,即获得offset_1,offset_2,offset_3,offset_4,offset_5,offset_6,offset_7,offset_8,通过对8个偏差值数据进行分析处理,获得处理后的时间偏差offset_filter;
步骤五:使用上述滤波后的时间偏差offset_filter对本地RTC时钟相位进行较大调整,使Master端和Slave端在相位上偏差处于μs级;
步骤六:Slave端完成RTC相位较大调整后,RTC状态切换为跟踪状态;
步骤七:Slave端依据闭环控制方法对RTC时钟进行快速相位和频率微调,微调调整方法PID闭环控制方法。
步骤八,经过多次闭环控制,Slave端的时钟频率调节完成,达到锁定要求,此时Slave端进入锁定状态。
步骤九,进入锁定状态后,Slave端发送signal(信号)报文给Master端,通知Master端降低Sync报文频率发送,LogSyncInterval:sync报文发送间隔为0,即sync报文和follow_up报文每1秒发送1个。
步骤十,锁定状态下,Slave端时间相位偏差超过限额时,进行相位微调。
如附图4所示,RTC时钟状态切换状态机如下:
自由运行:Slave(从时钟)经过上电或者唤醒或者初始化后开始自由运行状态,自由运行状态是指Slave端未接收到Master端的报文,即Master端报文丢失,Slave端的时钟依据自己的RTC时间运行。自由状态可以基于gPTP协议中获取Master信息而实现信息交互而进入同步状态。
同步状态:同步状态是指上电、唤醒或者Master端从丢失到回复,如基于gPTP协议中Master信息丢失,后基于gPTP协议中获取Master信息而实现信息交互。当时间偏差较大的时候,快速同步时间相位,达到时间在相位上的同步。即同步状态基于gPTP协议中Master信息丢失回到自由运行状态,或基于出现相位较大的调整而进入跟踪状态。
正常工作跟踪状态:跟踪是指主从时钟在进行时间相位和频率的微步调整,在跟踪状态时,可能出现时间不连续、相位较大的调整或者基于gPTP协议中Master信息丢失。即出现时间不连续时进入同步状态,或者基于gPTP协议中Master信息丢失而进入自由运行状态。或者快速同步时间相位和频率微调后而进入锁定状态。
锁定:是指Slave端与Master端时钟频率同步好后进入锁定。也可能基于gPTP协议的Master信息丢失而进入自由运行状态。
实施例二:
本实施例主要对实施例1中的步骤四进行进一步展开说明,在步骤四中,从时钟端与主时钟端在第n秒内交互m次,获取到m个偏差值获取到m个offset偏差值进行分析处理,其分析方法有多种,因为在数据发送时,可能会受到环境以及其他因素的影响,有些时间偏差值会偏离真实值,这时需要进行处理,将这些数值进行过滤掉。
本实施例中n=1,m=8,即获得offset_1,offset_2,offset_3,offset_4,offset_5,offset_6,offset_7,offset_8,通过对8个偏差值数据进行处理,得到滤波后的时间偏差offset_filter。
例如,实施例1中,m=8时,如可以直接计算8个偏差的平均值作为最终的时间偏差offset_filter。
或者,获取到m个offset偏差值按照数值的大小,从小到大进行排列成一组数据,然后去掉最大值和最小值,如果m为奇数,则取这组数据中的中间值作为最终的时间偏差offset_filter=offset(m+1)/2。如果m为偶数,则取这组数据中第m/2和第m/2+1个offset的和,然后在除以2后所得数值为最终的时间偏差。
offset_filter=(offsetm/2+offfset(m/2+1))/2 公式(3)
或者,采一组队列去掉最大值和最小值后取平均值,连续采样N个数据,去掉一个最大值和一个最小值,然后计算N-2个数据的算术平均值。
例如:对获得8个offset_1,offset_2,offset_3,offset_4,offset_5,offset_6,offset_7,offset_8,这组数据中,我们去掉一个最大值和一个最小值,然后对剩余的6个offset取算术平均值,并以该算术平均值作为最终的时间偏差offset_filter。
实施例三:
本实施例主要对实施例1中的步骤七作进一步展开说明,在步骤七中,Slave端依据闭环控制方法对RTC时钟进行快速相位和频率微调,微调调整方法PID闭环控制方法。其中,RTC时钟的相位和频率微调都是通过PID闭环控制方法进行了,其PID闭环控制方法具体如下,参见附图2。
PID闭环控制方法应用PID控制器对RTC时钟进行调节,是一种线性调节器,PID控制器将给定的r(t)的值与实际输出的c(t)的偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进行控制,PID控制器主要包含比例单元、积分单元、微分单元三部分。
其函数表达式为:
Figure BDA0002032154100000141
式中:u(t)表示控制器输出;e(t)表示系统误差;Kp是对系统误差信号的加权值,也成为比例因子;Ti表示积分时间常数;T d表示微分时间常数。
e(t)表示系统误差:此处定义为输入与输出的差值,本实施中此处为时间偏差。
(1)比例环节:成比例地反映控制系统的偏差信号error(t),偏差一旦产生,控制器立即产生控制作用,以减少偏差。
(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数Ti,Ti越大,积分作用越弱,反之则越强。
(3)微分环节:反映偏差信号的变化趋势(变化速率),并能在偏差信号变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减少调节时间。
在整定PID控制器参数时,可以根据控制器的参数与系统动态性能和稳态性能之间的定性关系,用实验的方法来调节控制器的参数。首先可以采用PI控制器。为了保证系统的安全,在调试开始时应设置比较保守的参数,例如比例系数不要太大,积分时间不要太小,以避免出现系统不稳定或超调量过大的异常情况。给出一个阶跃给定信号,根据被控量的输出波形可以获得系统性能的信息,例如超调量和调节时间。应根据PID参数与系统性能的关系,反复调节PID的参数。如果阶跃响应的超调量太大,经过多次振荡才能稳定或者根本不稳定,应减小比例系数、增大积分时间。如果阶跃响应没有超调量,但是被控量上升过于缓慢,过渡过程时间太长,应按相反的方向调整参数。如果消除误差的速度较慢,可以适当减小积分时间,增强积分作用。反复调节比例系数和积分时间,如果超调量仍然较大,可以加入微分控制,微分时间从0逐渐增大,反复调节控制器的比例、积分和微分部分的参数。
具体的,参见附图2所示,首先根据gpTP协议计算主从时钟的偏差获得offset,然后利用实施例3的方法进行滤波并获得最终的时间偏差offset_filter,根据offset_filter的数值,通过公式(4)不断计算调整PID中的Kp比例因子、Ti积分时间常数和T d微分时间常数并获取Kp、Ti、T d合适数值,以获得Kp、Ti、T d数值来调整RTC的数值并将调整后的RTC数值反馈给输入,如此不断的循环,实现动态调整。
具体地,需要说明的是,在PID调节的过程中,可以根据情况调整Kp、Ti、T d的数值。如可以只采用P调节器,即Ti=0,Td=0。或采用PI调节器,此时Td=0,或采用PI调节器,即此时Td=0进行调节或采用PD调节器,即此时Ti=0进行调节。
实施例四:
本实施同实施例三,其区别在于,本实施例中,对PID中的参数Kp、Ti、T d参数调节还运用了遗传算法对Kp、Ti、T d参数进行修正,实现自适应修正从时钟时间误差的目的,具体如附图3所示:
为了使系统具有较快的响应速度,本实施例中选取时间乘平方误差积分准则(ITSE)为PID控制系统目标函数,如公式(5)所示:
Figure BDA0002032154100000151
Figure BDA0002032154100000161
式中:t表示时间;e(t)表示PID控制的系统误差,即offset_fliter。
遗传算法对PID参数优化主要通过以下步骤:
(1)进行种群的初始化。设种群中的个体为一个三维向量,Kp、Ti、Td为这个三维向量的三个分量。
(2)设定适应度函数。适应度函数用于表征遗传个体对环境的适应程度。本实施例的优化目标本质上是求误差的最小值,故遗传算法的适应度函数可以设为PID系统目标函数的倒数,结合公式(5)可得:
Figure BDA0002032154100000162
(3)进行选择操作。采用比例选择法,即每个个体被选中的概率和其适应度成正比。个体bestf被被选中的概率如公式(7)所示。
Figure BDA0002032154100000163
式中:P is表示个体被选中的概率;Fi表示个体i的适应度;M表示PID参数的种群规模。
(4)进行交叉操作。设第k条染色体为gk,第1条染色体为gl。gk、gl在j位的交叉操作可以用公式(8)表示:
gkj=(1-λ)gkj+λglj
glj=(1-λ)glj+λgkj
,公式(8)
公式(8)中,λ是[0,1]区间的随机数。
(5)进行变异操作。对第i个个体的第j个基因进行变异操作可以用公式(9)表示。
Figure BDA0002032154100000171
公式(9)中:r是[0~1]区间的随机数,gmax是基因gij的上界;gmin基因gij的下界;f(n)=r1(1-n/Nmax),r1是一个随机数,n是当前遗传次数,Nmax是最大遗传次数。
具体地,在遗传算法优化PID参数过程中,例如:设种群规模为30,遗传代数设定为300,时钟同步周期为1s。设定主从时钟间的初始时间累积误差为100μs等来进行PID参数的优化。
实施例五:
如附图4所示,本发明提出了一种基于gPTP协议的RTC时钟同步调整装置,其至少包括:时钟状态预设模块、所述时钟状态预设模块:首先将RTC时钟状态至少分为:自由运行、同步、正常工作跟踪,保持对Master端的跟踪锁定四种状态,如下将具体阐述四种状态的具体形态:
所述自由运行状态是指Slave端未接收到Master端的报文,即Master端报文丢失,Slave端的时钟依据自己的RTC时间运行;
所述同步状态是指上电、唤醒或者Master端从丢失到回复,时间偏差较大的时候,快速同步时间相位,达到时间在相位上的同步;
所述正常工作跟踪状态是指时钟在进行时间相位和频率的微步调整;
所述保持对Master端的跟踪锁定状态是指Slave端与Master端时钟频率进入锁定。
基于上述时钟状态预设装置中所述RTC时钟状态的分类设定,本发明基于gPTP协议的RTC时钟同步方法的同步装置的实施例2的具体实现如下:
报文发送模块:默认配置gPTP协议Master端initialLogSyncInterval即初始sync报文发送间隔为-3,保证sync报文和follow_up报文每秒发送8个。
报文消息交互模块:系统上电后,RTC时钟默认进入自由运行状态,通过gPTP协议交互,Slave计算线路时延和与Master端的时间偏差,通过报文消息交互,Slave获取到时间戳t1,t2,t3,t4,t5,t6;继续的,线路时延计算方法为:
Figure BDA0002032154100000181
Master和Slave时间偏差计算方法:
offset=(t2-t1)-Δdelay 公式(2)
Slave端与Master端完成一次报文信息交互,RTC状态进入到同步状态。
步骤四:Slave与Master在第一秒内交互8次,获取到8个偏差值:
offset_1,offset_2,offset_3,offset_4,offset_5,offset_6,offset_7,offset_8,继续的,通过滤波算法对8个偏差值数据进行滤波,得到滤波后的时间偏差offset_filter;
步骤五:使用上述滤波后的时间偏差offset_filter对本地RTC时钟相位进行较大调整,使Master端和Slave端在相位上偏差处于μs级;
步骤六:Slave端完成RTC相位较大调整后,RTC状态切换为跟踪状态;
步骤七:Slave端依据闭环控制方法对RTC时钟进行快速相位和频率微调,所述微调调整方法采用PID的调整方法,具体参见实施例三和实施例四。
步骤八,经过多次闭环控制,Slave端频率基本调节完成,达到锁定要求,Slave端进入锁定状态。具体地,如可以根据情况调整,如20~1000次的次数,接近设定的误差目标即可。
步骤九,进入锁定状态后,Slave端发送signal报文给Master端,通知Master端降低Sync报文频率发送,LogSyncInterval:sync报文发送间隔为0,即sync报文和follow_up报文每1秒发送1个。
步骤十,锁定状态下,Slave端时间相位偏差超过限额时,进行相位微调。
实施例六
本发明提出了一种基于gPTP协议的RTC时钟同步调整装置,参见附图5所示,其至少包括:时钟状态预设装置、报文发送装置、报文消息交互装置、获取装置、计算装置、调整装置,
其中时钟状态预设装置,其将RTC时钟状态至少分为:自由运行、同步、正常工作跟踪、保持对Master端的跟踪锁定四种状态,预设装置负责根据接收到的主时钟的相关信息来调整从时间的运行状态。
报文发送模块,负责对主、从时钟之间进行报文传送,例如;配置gPTP协议Master端initialLogSyncInterval即初始sync报文发送间隔为1/8,保证sync报文和follow_up报文每秒发送8个。
报文消息交互模块,负责对来自报文发送模块的报文进行处理分析并记录主时钟或者从时钟之间发送或者接受到报文的时间戳等信息。
获取模块,负责获取时间状态预设模块、报文发送模块、报文消息交互模块进行收集整理并将收集整理的信息传送给计算模块,如将收到报文的时间戳信息t1、t2、t3、t4、t5、t6等发送给计算模块。或者PID闭环控制的信息
根据来自获取模块的信息进行计算,其计算包括offset,offset_filter以及PID闭环控制的Kp、Ti、Td等计算,并将计算结果发送给调整模块。
调整模块,根据接收来自计算模块的信息对RTC的相位和频率进行实时调整。
需要说明的是,本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或模型的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、WD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本发明虽然已以较佳实施例公开如上,但其并不是用来限定本发明,任何本领域技术人员在不脱离本发明的精神和范围内,都可以利用上述揭示的方法和技术内容对本发明技术方案做出可能的变动和修改,因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化及修饰,均属于本发明技术方案的保护范围。

Claims (11)

1.一种RTC时钟同步调整方法,其特征在于,基于gPTP协议使主时钟端和从时钟端完成信息交互并计算主时钟端和从时钟端的时延计算和时间偏差,根据时延计算和时间偏差调整RTC时钟,使RTC时钟与主时钟保持同步,其中,RTC时钟运行的状态包括自由运行、同步、正常工作跟踪、保持对主时钟端的跟踪锁;
自由运行状态是指从时钟端未接收到主时钟端的报文,即主时钟端报文丢失,从时钟端的时钟依据自己的RTC时间运行;
同步运行状态是指上电、唤醒或者主时钟端的报文从丢失到回复,当大的时间偏差出现时,RTC能够快速同步时间相位,达到时间在相位上的同步;
正常工作跟踪运行状态是指时钟在进行时间相位和频率的微步调整;
保持对主时钟端的跟踪锁定运行状态是指从时钟端与主时钟端时钟频率进入锁定。
2.如权利要求1所述一种RTC时钟同步调整方法,其特征在于,还包括如下步骤:
默认配置gPTP协议主时钟端初始同步报文发送间隔为j,保证同步报文和跟随报文每秒发送1/2j个;
系统上电后,RTC时钟默认进入自由运行状态,通过gPTP协议交互,从时钟端计算线路时延和与主时钟端的时间偏差。
3.如权利要求2所述一种RTC时钟同步调整方法,其特征在于,主时钟端和从时钟端的交互过程如下:
主时钟向从时钟发送同步报文,并记录发送时间t1;时钟收到该报文后,记录接收时间t2;
主时钟发送同步报文之后,接着发送携带有t1的跟随报文;
从时钟向主时钟发送延时请求报文,用于发起反向传输延时的计算,并记录发送时间t3;主时钟收到该报文后,记录接收时间t4;
主时钟收到延时请求报文之后,回复携带有t4的延时响应报文,并记录发送时间t5;从时钟收到该报文后,记录接收时间t6;
主时钟回复延时响应报文之后,接着发送携带有t5的延时响应跟随报文;
通过报文消息交互,从时钟端获取到时间戳t1,t2,t3,t4,t5,t6;
线路时延计算方法为:
Figure FDA0003002845280000021
时间偏差计算方法为:offset=(t2-t1)-Δdelay。
4.如权利要求3所述一种RTC时钟同步调整方法,其特征在于,在根据时延计算和时间偏差的结果调整RTC时钟前,还包括对时间偏差的结果进行滤波处理并获取最终时间偏差。
5.如权利要求4所述一种RTC时钟同步调整方法,其特征在于,还包括对时间偏差的滤波处理结果进行分析处理,其包括:从时钟端与主时钟端在第n(n≥1)秒内交互m次,获取到m个时间偏差值,通过对m(m≥2)个偏差值进行分析处理并获得处理后的最终时间偏差offset_filter;
所述m个时间偏差值的处理包括直接计算8个偏差的平均值作为最终的时间偏差offset_filter;或根据m个offset时间偏差值按照数值的大小,从小到大进行排列成一组数据,然后去掉最大值和最小值,如果m为奇数,则取这组数据中的中间值作为最终的时间偏差offset_filter=offset(m+1)/2;如果m为偶数,则取这组数据中第m/2和第m/2+1个offset的和,然后在除以2后所得数值为最终的时间偏差offset_filter,
即:offset_filter=(offsetm/2+offset(m/2+1))/2;或采一组队列去掉最大值和最小值后取平均值,即连续采样N个数据组成队列,去掉一个最大值和一个最小值,然后计算N-2个数据的算术平均值。
6.如权利要求5所述一种RTC时钟同步调整方法,其特征在于,根据滤波后的最终时间偏差offset_filter对本地RTC时钟相位进行较大调整,使主时钟端和从时钟端在相位上偏差处于μs级。
7.如权利要求1所述一种RTC时钟同步调整方法,其特征在于,RTC时钟与主时钟的相位和频率保持同步的微调调整方法为PID闭环控制方法。
8.如权利要求7所述一种RTC时钟同步调整方法,其特征在于,所述PID闭环控制方法包括:根据gpTP协议计算主从时钟的偏差获得offset,然后offset进行滤波并获得最终的时间偏差offset_filter,根据offset_filter不断计算调整PID中的Kp比例因子、Ti积分时间常数和Td微分时间常数以获得Kp、Ti、Td数值来调整RTC的数值并将调整后的RTC数值反馈给输入,决定下一次对RTC的调整量,循环实现RTC的数值动态调整;
RTC时钟调整过程中,将每次调整时钟后的RTC结果通过反馈,决定下一次对RTC的调整量,根据上一次调整的结果的反馈,调整下一次调整的值。
9.如权利要求8所述一种RTC时钟同步调整方法,其特征在于,所述调整PID中的Kp比例因子、Ti积分时间常数和Td微分时间常数包括只采用P调节器,即Ti=0,Td=0或只采用PI调节器,Td=0或只采用PD调节器,即Ti=0。
10.如权利要求7所述一种RTC时钟同步调整方法,其特征在于,所述PID闭环控制方法包括遗传算法对PID中的参数进行修正。
11.一种RTC时钟同步调整装置,其特征在于,包括:
时钟状态预设装置,对RTC时钟状态进行预设,所述RTC时钟状态包括:自由运行、同步、正常工作跟踪、保持对主时钟端的跟踪锁定四种状态;自由运行状态是指从时钟端未接收到主时钟端的报文,即主时钟端报文丢失,从时钟端的时钟依据自己的RTC时间运行;同步运行状态是指上电、唤醒或者主时钟端的报文从丢失到回复,当大的时间偏差出现时,RTC能够快速同步时间相位,达到时间在相位上的同步;正常工作跟踪运行状态是指时钟在进行时间相位和频率的微步调整;保持对主时钟端的跟踪锁定运行状态是指从时钟端与主时钟端时钟频率进入锁定;报文发送模块,传送主、从时钟之间的报文;
报文消息交互模块,对报文发送模块的报文进行处理分析并记录主时钟或从时钟之间发送或者接受到报文的信息;
获取模块,获取时间状态预设模块、报文发送模块、报文消息交互模块过程中产生的信息进行收集整理并将收集整理的信息传送给计算模块;
计算模块,计算获取模块的信息,并将计算结果发送给调整模块;
调整模块,根据计算模块的信息对RTC的相位和频率进行实时调整。
CN201910313061.6A 2019-04-18 2019-04-18 Rtc时钟同步调整方法及装置 Active CN110138489B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910313061.6A CN110138489B (zh) 2019-04-18 2019-04-18 Rtc时钟同步调整方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910313061.6A CN110138489B (zh) 2019-04-18 2019-04-18 Rtc时钟同步调整方法及装置

Publications (2)

Publication Number Publication Date
CN110138489A CN110138489A (zh) 2019-08-16
CN110138489B true CN110138489B (zh) 2021-08-20

Family

ID=67570159

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910313061.6A Active CN110138489B (zh) 2019-04-18 2019-04-18 Rtc时钟同步调整方法及装置

Country Status (1)

Country Link
CN (1) CN110138489B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111917709A (zh) * 2020-06-09 2020-11-10 上海黑默丁格智能科技有限公司 车载时序同步系统
CN112702105B (zh) * 2020-12-09 2022-10-21 成都天奥信息科技有限公司 一种地空通信电台时频校准系统及方法
CN114089258B (zh) * 2021-11-10 2023-12-26 河南源网荷储电气研究院有限公司 一种智能电能表时钟加速模拟运行方法及系统
CN114389786A (zh) * 2022-03-22 2022-04-22 国仪量子(合肥)技术有限公司 时钟相位调节装置、方法及同步系统、电子设备
CN115022204B (zh) * 2022-05-26 2023-12-05 阿里巴巴(中国)有限公司 Rtc的传输时延检测方法、装置以及设备
CN115866453B (zh) * 2022-11-30 2023-10-20 宁夏隆基宁光仪表股份有限公司 基于集中器的电表的时钟同步方法及时钟同步系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807965A (zh) * 2009-02-13 2010-08-18 大唐移动通信设备有限公司 通信系统中时钟同步装置及方法
CN104158616A (zh) * 2014-07-28 2014-11-19 京信通信系统(中国)有限公司 一种光纤传输系统中时钟同步的方法及装置
WO2016004644A1 (zh) * 2014-07-09 2016-01-14 北京东土科技股份有限公司 一种监控以太网时钟同步的方法及装置
CN106034004A (zh) * 2014-11-13 2016-10-19 现代摩比斯株式会社 在车辆avb环境时间同步化方法及利用其的系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105376043B (zh) * 2015-11-04 2018-05-25 国网电力科学研究院武汉南瑞有限责任公司 一种双板卡系统的时间同步方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101807965A (zh) * 2009-02-13 2010-08-18 大唐移动通信设备有限公司 通信系统中时钟同步装置及方法
WO2016004644A1 (zh) * 2014-07-09 2016-01-14 北京东土科技股份有限公司 一种监控以太网时钟同步的方法及装置
CN104158616A (zh) * 2014-07-28 2014-11-19 京信通信系统(中国)有限公司 一种光纤传输系统中时钟同步的方法及装置
CN106034004A (zh) * 2014-11-13 2016-10-19 现代摩比斯株式会社 在车辆avb环境时间同步化方法及利用其的系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于IEEE802.1AS的低延迟时间感知系统的设计与实现;郑昊;《西安电子科技大学硕士学位论文》;20190215;第二章 *
郑昊.基于IEEE802.1AS的低延迟时间感知系统的设计与实现.《西安电子科技大学硕士学位论文》.2019,第二章. *

Also Published As

Publication number Publication date
CN110138489A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110138489B (zh) Rtc时钟同步调整方法及装置
Mills Precision synchronization of computer network clocks
US7904184B2 (en) Motion control timing models
Johannessen Time synchronization in a local area network
US20080031283A1 (en) Time synchronization for network aware devices
CN101359238B (zh) 一种多核系统的时间同步方法及系统
EP3005276B1 (en) Apparatus, system, and method of elastically processing message information from multiple sources
DE102009047199A1 (de) Eine Datenübertragungsvorrichtung und ein Verfahren zum Aktivieren einer Datenübertragung
EP2512048A2 (en) System and method to overcome wander accumulation to achieve precision clock distribution over large networks
US20140029633A1 (en) Communication apparatus, communication system, synchronous processing method, and program
CN107402534B (zh) 调节方法、EtherCAT主站及计算机可读存储介质
CN103842917A (zh) 时间控制装置、时间控制方法和程序
CN111142942A (zh) 窗口数据的处理方法、装置、服务器及存储介质
CN114285515A (zh) 实现任意tsn时窗周期的方法和装置
CN106647672B (zh) 基于CANopen的伺服驱动器位置控制同步方法
Wu et al. Synchronizing device clocks using IEEE 1588 and Blackfin embedded processors
CN110968119B (zh) 双轴同步的控制方法和装置
US20230236624A1 (en) Clock error-bound tracker
DE10327116A1 (de) Verfahren zur Zeitsynchronisation von mindestens zwei in einem Mikroprozessorsystem enthaltenden Uhren
CN115333660A (zh) 精确时间戳校正
JP6951019B2 (ja) カウンタ装置、時刻算出装置、情報処理装置、制御方法、時刻の算出方法及びプログラム
CN103227707A (zh) 同步处理装置、同步处理方法和程序
DE102011003738B4 (de) Verfahren und Vorrichtung zur Verringerung von Signalflankenjitter in einem Ausgangssignal eines numerisch kontrollierten Oszillators
CN108833356B (zh) 一种多路队列共享资源访问控制装置及控制方法
Antunes et al. Adapting the sampling period of a real-time adaptive distributed controller to the bus load

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant