CN111726188B - Airt-ros实时系统与非实时系统时钟同步方法及装置 - Google Patents
Airt-ros实时系统与非实时系统时钟同步方法及装置 Download PDFInfo
- Publication number
- CN111726188B CN111726188B CN202010546620.0A CN202010546620A CN111726188B CN 111726188 B CN111726188 B CN 111726188B CN 202010546620 A CN202010546620 A CN 202010546620A CN 111726188 B CN111726188 B CN 111726188B
- Authority
- CN
- China
- Prior art keywords
- clock
- time
- memory
- real
- message
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000015654 memory Effects 0.000 claims abstract description 144
- 239000000872 buffer Substances 0.000 claims description 28
- 230000001360 synchronised effect Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 13
- 239000013078 crystal Substances 0.000 claims description 6
- 230000010355 oscillation Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims description 2
- 239000003642 reactive oxygen metabolite Substances 0.000 claims 1
- 230000009977 dual effect Effects 0.000 abstract description 4
- 230000006872 improvement Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/0667—Bidirectional timestamps, e.g. NTP or PTP for compensation of clock drift and for compensation of propagation delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0658—Clock or time synchronisation among packet nodes
- H04J3/0661—Clock or time synchronisation among packet nodes using timestamps
- H04J3/067—Details of the timestamp structure
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开了AIRT‑ROS实时系统与非实时系统时钟同步方法及装置,所述方法包括:AIRT‑ROS包括实时系统和非实时系统,在实时系统中设置一个主时钟,在非实时系统中设置一个从时钟,通过主时钟发送包含时间戳的消息,在从时钟接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差,从而完成双核双系统的时钟同步,非实时系统预先申请两段内存,其中一个内存作为实时系统的发送地址,非实时系统的接收地址,该内存命名为第一内存;另外一个内存作为非实时系统的发送地址,实时系统的接收地址,该内存命名为第二内存;本发明的优点在于:完成主从时钟同步,解决双核双系统时钟同步问题。
Description
技术领域
本发明涉及AIRT-ROS实时系统和非实时系统时钟同步领域,更具体涉及AIRT-ROS实时系统与非实时系统时钟同步方法及装置。
背景技术
目前,多数时钟同步算法的应用场景为以太网环境下的时钟同步,例如中国专利公开号CN103067112A,公开了一种时钟同步方法、装置及网络设备,装置包括:至少一个硬件芯片、CPU和逻辑控制芯片;硬件芯片用于接收对端装置发送的第一PTP事件报文,记录第一时间戳,将第一PTP事件报文的CF域中的校正值减去第一时间戳,然后发送给CPU;CPU用于将第一PTP事件报文发送给逻辑控制芯片;逻辑控制芯片用于记录第一PTP事件报文到达逻辑控制芯片的PTP时间戳,根据第一PTP事件报文和PTP时间戳计算出逻辑控制芯片的第一PTP系统时间与对端装置的第二PTP系统时间之间的第一时间偏差,根据第一时间偏差与对端装置进行时钟同步。采用该发明可以提高时钟同步的精度,降低对系统效率的影响并降低硬件上的实现代价。但是该发明是在以太网网络中同步时钟,是多台电脑之间的时钟同步。
以太网环境下网络延迟是时钟同步算法需要考虑的主要因素之一,由于以太网的时延可能达到50ms,对于时钟同步的精度影响非常大,并且时延会因为网络中负载的不同而产生较大的抖动。因此在以太网中的时钟同步算法不适用于双核双系统的时钟同步。
发明内容
本发明所要解决的技术问题在于如何提供适用于双核双系统的时钟同步方法及装置。
本发明通过以下技术手段实现解决上述技术问题的:AIRT-ROS实时系统与非实时系统时钟同步方法,所述方法包括:AIRT-ROS包括实时系统和非实时系统,在所述实时系统中设置一个主时钟,在非实时系统中设置一个从时钟,通过主时钟发送包含时间戳的消息,在从时钟接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差,从而完成双核双系统的时钟同步;
所述非实时系统预先申请两段内存,其中一个内存作为实时系统的发送地址,非实时系统的接收地址,该内存命名为第一内存;另外一个内存作为非实时系统的发送地址,实时系统的接收地址,该内存命名为第二内存。
本发明通过在实时系统中设置一个主时钟,在非实时系统中设置一个从时钟,非实时系统预先申请两段内存,主时钟和从时钟发送的消息写到各自的内存上,主时钟和从时钟分别从对方的内存读取对端发送消息中的时间戳,从时钟基于主时钟的时间戳调整自身时钟,完成主从时钟同步,解决双核双系统时钟同步问题。
作为进一步改进的方案,所述主时钟发送包含时间戳的消息并写到第一内存上,从时钟从第一内存接收消息并从中提取时间戳,所述从时钟发送包含时间戳的消息并写到第二内存上,主时钟从第二内存接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差。
作为更进一步改进的方案,所述第一内存和第二内存均为数组型的环形缓冲区。
作为上述方案进一步改进的方案,所述主时钟将包含时间戳的放入第一内存的尾端,而从时钟从第一内存的头部移走数据,当达到第一内存的尾部时,主时钟绕回到第一内存的头部,从时钟将包含时间戳的消息放入第二内存的尾端,而主时钟从第二内存的头部移走数据,当达到第二内存的尾部时,从时钟绕回到第二内存的头部。
作为进一步改进的方案,所述主时钟与从时钟在时钟同步过程中需要的消息类型包括同步类型、跟随类型、延时请求类型以及延时回复类型,主时钟周期性地发送同步类型消息,并将发送时刻t1发给从时钟,从时钟收到同步类型消息,并记录收到同步类型消息的时刻t2;在主时钟晶振频率高,精度高的条件下,主时钟将时刻t1放入同步类型消息,如果主时钟的精度不高,将时刻t1放入跟随类型消息中,从时钟给主时钟发送延时请求类型消息,并记录发送时刻t3,主时钟收到延时请求类型消息,并记录收到的时刻t4,主时钟将时刻t4放入延时回复类型消息,并传给从时钟,经过上述过程后,可得到主时钟与从时钟的时间偏差为从时钟补偿该时间偏差。
本发明还提供AIRT-ROS实时系统与非实时系统时钟同步装置,所述装置包括:时钟设置单元,用于AIRT-ROS包括实时系统和非实时系统,在所述实时系统中设置一个主时钟,在非实时系统中设置一个从时钟,时钟同步单元,用于通过主时钟发送包含时间戳的消息,在从时钟接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差,从而完成双核双系统的时钟同步;所述非实时系统预先申请两段内存,其中一个内存作为实时系统的发送地址,非实时系统的接收地址,该内存命名为第一内存;另外一个内存作为非实时系统的发送地址,实时系统的接收地址,该内存命名为第二内存。
作为进一步改进的方案,所述主时钟发送包含时间戳的消息并写到第一内存上,从时钟从第一内存接收消息并从中提取时间戳,所述从时钟发送包含时间戳的消息并写到第二内存上,主时钟从第二内存接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差。
作为更进一步改进的方案,所述第一内存和第二内存均为数组型的环形缓冲区。
作为更进一步改进的方案,所述主时钟将包含时间戳的消息放入第一内存的尾端,而从时钟从第一内存的头部移走数据,当达到第一内存的尾部时,主时钟绕回到第一内存的头部,从时钟将包含时间戳的消息放入第二内存的尾端,而主时钟从第二内存的头部移走数据,当达到第二内存的尾部时,从时钟绕回到第二内存的头部。
作为更进一步改进的方案,所述主时钟与从时钟在时钟同步过程中需要的消息类型包括同步类型、跟随类型、延时请求类型以及延时回复类型,主时钟周期性地发送同步类型消息,并将发送时刻t1发给从时钟,从时钟收到同步类型消息,并记录收到同步类型消息的时刻t2;在主时钟晶振频率高,精度高的条件下,主时钟将时刻t1放入同步类型消息,如果主时钟的精度不高,将时刻t1放入跟随类型消息中,从时钟给主时钟发送延时请求类型消息,并记录发送时刻t3,主时钟收到延时请求类型消息,并记录收到的时刻t4,主时钟将时刻t4放入延时回复类型消息,并传给从时钟,经过上述过程后,可得到主时钟与从时钟的时间偏差为从时钟补偿该时间偏差。
本发明的优点在于:本发明通过在实时系统中设置一个主时钟,在非实时系统中设置一个从时钟,主时钟和从时钟发送的消息写到各自的内存上,非实时系统预先申请两段内存,主时钟和从时钟分别从对方的内存读取对端发送消息中的时间戳,从时钟基于主时钟的时间戳调整自身时钟,完成主从时钟同步,解决双核双系统时钟同步问题。
附图说明
图1为本发明实施例所公开的AIRT-ROS实时系统与非实时系统时钟同步方法的原理图;
图2为本发明实施例所公开的AIRT-ROS实时系统与非实时系统时钟同步方法中主从时钟同步示意图;
图3为本发明实施例所公开的AIRT-ROS实时系统与非实时系统时钟同步方法中时钟同步状态机示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
如图1所示,为本发明实施例1所公开的AIRT-ROS实时系统与非实时系统时钟同步方法的原理图,图中,Ring buffer表示环形缓冲区,本发明实施例1提供AIRT-ROS实时系统与非实时系统时钟同步方法,所述方法包括:AIRT-ROS包括实时系统和非实时系统,在所述实时系统中设置一个主时钟,在非实时系统中设置一个从时钟,通过主时钟发送包含时间戳的消息,在从时钟接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差,从而完成双核双系统的时钟同步。
时钟同步过程中,主要由所述非实时系统预先申请两段内存,其中一个内存作为实时系统的发送地址,非实时系统的接收地址,该内存命名为第一内存;另外一个内存作为非实时系统的发送地址,实时系统的接收地址,该内存命名为第二内存。所述主时钟发送包含时间戳的消息并写到第一内存上,从时钟从第一内存接收消息并从中提取时间戳,所述从时钟发送包含时间戳的消息并写到第二内存上,主时钟从第二内存接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差。
本发明实施例1中,所述时间戳封装在TCP头里,TCP头外面又封装了IP头。所述第一内存和第二内存均为数组型的环形缓冲区,即Ring buffer。基于内存上开辟的Ringbuffer结构快速的读取主从时钟发送的消息是AIRT-ROS实时系统与非实时系统时钟同步的关键。Ring buffer是环形的buffer,首先,Ring buffer是数组,要比链表快,而且有一个容易预测的访问模式。Ring buffer内元素的内存地址的连续性存储的。对CPU缓存友好,Ring buffer中只要一个元素被加载到缓存行,其他相邻的几个元素也会被加载进同一个缓存行。非实时操作系统为Ring buffer预先分配内存,使得数组对象一直存在。不需要花大量的时间用于垃圾回收。此外,不像链表那样,需要为每一个添加到其上面的对象创造一一对应的节点对象,当删除节点时,需要执行相应的内存清理操作。非实时操作系统申请两个Ring buffer,其中一个供主时钟放入消息,从时钟获取消息:主时钟将消息放入Ringbuffer的尾端,而从时钟从Ring buffer的另一端移走数据,当达到Ring buffer的尾部时,主时钟绕回到Ring buffer的头部。另外一个供从时钟放入消息,主时钟获取消息:从时钟将消息放入Ring buffer的尾端,而主时钟从Ring buffer的另一端移走数据,当达到Ringbuffer的尾部时,从时钟绕回到Ring buffer的头部。针对上述原理,可知,所述主时钟将包含时间戳的消息放入第一内存的尾端,而从时钟从第一内存的头部移走数据,当达到第一内存的尾部时,主时钟绕回到第一内存的头部,从时钟将包含时间戳的消息放入第二内存的尾端,而主时钟从第二内存的头部移走数据,当达到第二内存的尾部时,从时钟绕回到第二内存的头部。
所述主时钟与从时钟在时钟同步过程中需要的消息类型包括同步类型(Sync)、跟随类型(Follow_up)、延时请求类型(Delay_Req)以及延时回复类型(Delay_Resp),报文有一般报文和事件报文两种类型。跟随类型(Follow_up)和延时回复类型(Delay_Resp)属于一般报文,一般报文本身不进行时戳处理,它可以携带事件报文的准确发送或接收时刻值信息。同步类型(Sync)和延时请求类型(Delay_Req)属于事件报文,事件报文是时间敏感消息,需要加盖精确的时间戳,其中同步类型是从主时钟周期性发出的(一般为每两秒一次),它包含了主时钟算法所需的时钟属性,同步类型时间戳由后续的跟随类型发送。Sync:同步消息,由主设备发送给从设备,消息中可以包含Sync发送时间标签,也可以在后续的FollowUP消息中包含;Delay Req:请求对端返回接收到Delay Req消息时的时间标签,时间标签嵌入在响应消息Delay Resp;Follow Up:用于传送Sync消息的发送时间;Delay Resp:对Delay req的响应,带发送时间标签。定义消息的头部,包括版本,作用域,消息类型,标识符,序列号,控制字等,头部消息定义如表1所示。定义同步类型及延时请求类型,包括时间戳,与世界标准时间的偏差,通信协议,主时钟端口,主时钟等级,待选主时钟等,同步及延迟请求消息定义如表2所示。跟随类型携带Syn报文的时间戳,如表3所示。延时回复类型消息定义如表4所示,
表1头部消息定义
表2同步及延迟请求
表3跟随报文
表4延迟应答报文
如图2所示,依据消息类型的定义,时钟同步过程进一步细化为:主时钟周期性地发送同步类型消息,并将发送时刻t1发给从时钟,从时钟收到同步类型消息,并记录收到同步类型消息的时刻t2;在主时钟晶振频率高,精度高的条件下,主时钟将时刻t1放入同步类型消息,如果主时钟的精度不高,将时刻t1放入跟随类型消息中,从时钟给主时钟发送延时请求类型消息,并记录发送时刻t3,主时钟收到延时请求类型消息,并记录收到的时刻t4,主时钟将时刻t4放入延时回复类型消息,并传给从时钟,经过上述过程后,可得到主时钟与从时钟的时间偏差为从时钟补偿该时间偏差。由于主从时钟内部调度机制的差别,消息发送/接收延迟存在差异,会导致确定主时钟和从时钟之间的差异,即从主时钟到从时钟的延迟与从时钟到主时钟的延迟存在差异。当非实时操作系统完成正在执行的操作,获取时间戳被迫延迟,在某些情况下,延迟可能相当长,很多微秒甚至毫秒。所以,需要经过多次计算偏移时间来同步主从时钟。其中,时间戳生成的几个标志位为:将数据包传递到Ring buffer之前在设备驱动程序中生成SOF_TIMESTAMPING_TX_SOFTWARE,表示发包的软件时间戳。收到的包到达内核栈的时间戳SOF_TIMESTAMPING_RX_SOFTWARE,时间戳报告的几个标志位为:控制时间戳生成控制消息,发包和收包的软件时间戳SOF_TIMESTAMPING_SOFTWARE,当有时间戳到达,通知时钟同步程序。
如图3所示,本发明的时钟同步的主要状态包括:初始化、(预备)主时钟、主时钟、从时钟、未校准、监听状态,主从时钟从任意状态开始,根据当前操作系统类型,自举为主时钟或从时钟(如果实时操作系统主时钟,非实时操作系统为从时钟),进入初始化状态;当遇到错误,或者主时钟主动发起去使能指令,进入去使能状态(非工作状态)。从去使能状态发出使能指令,表示主从时钟需要重新回到初始状态;如果实时系统重启,主时钟首先进入初始化状态,然后自举为主时钟,进入预备主时钟状态,然后分配好ring buffer进入预备主时钟状态,准备发送、接收消息;主时钟状态:主时钟开始发送sync、FollowUp报文并准备接受从时钟的DelayReq(延时请求)。状态决策事件指:Sync(同步)、FollowUp(Sync的跟随信息)、DelayReq(延时请求)、DelayResp(对延时请求的响应)。从时钟的未校准,监听状态表示从时钟的时钟未与主时钟同步,还需要继续同步。从时钟同步成功表示主从时钟已经同步。
通过以上技术方案,本发明通过在实时系统中设置一个主时钟,在非实时系统中设置一个从时钟,主时钟和从时钟发送的消息写到各自的内存上,主时钟和从时钟分别从对方的内存读取对端发送消息中的时间戳,从时钟基于主时钟的时间戳调整自身时钟,完成主从时钟同步,解决双核双系统时钟同步问题。
实施例2
与本发明实施例1相对应的,本发明实施例2还提供AIRT-ROS实时系统与非实时系统时钟同步装置,所述装置包括:时钟设置单元,用于AIRT-ROS包括实时系统和非实时系统,在所述实时系统中设置一个主时钟,在非实时系统中设置一个从时钟,时钟同步单元,用于通过主时钟发送包含时间戳的消息,在从时钟接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差,从而完成双核双系统的时钟同步;所述非实时系统预先申请两段内存,其中一个内存作为实时系统的发送地址,非实时系统的接收地址,该内存命名为第一内存;另外一个内存作为非实时系统的发送地址,实时系统的接收地址,该内存命名为第二内存。
作为进一步改进的方案,所述主时钟发送包含时间戳的消息并写到第一内存上,从时钟从第一内存接收消息并从中提取时间戳,所述从时钟发送包含时间戳的消息并写到第二内存上,主时钟从第二内存接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差。
作为更进一步改进的方案,所述第一内存和第二内存均为数组型的环形缓冲区。
作为更进一步改进的方案,所述主时钟将包含时间戳的消息放入第一内存的尾端,而从时钟从第一内存的头部移走数据,当达到第一内存的尾部时,主时钟绕回到第一内存的头部,从时钟将包含时间戳的消息放入第二内存的尾端,而主时钟从第二内存的头部移走数据,当达到第二内存的尾部时,从时钟绕回到第二内存的头部。
作为更进一步改进的方案,所述主时钟与从时钟在时钟同步过程中需要的消息类型包括同步类型、跟随类型、延时请求类型以及延时回复类型,主时钟周期性地发送同步类型消息,并将发送时刻t1发给从时钟,从时钟收到同步类型消息,并记录收到同步类型消息的时刻t2;在主时钟晶振频率高,精度高的条件下,主时钟将时刻t1放入同步类型消息,如果主时钟的精度不高,将时刻t1放入跟随类型消息中,从时钟给主时钟发送延时请求类型消息,并记录发送时刻t3,主时钟收到延时请求类型消息,并记录收到的时刻t4,主时钟将时刻t4放入延时回复类型消息,并传给从时钟,经过上述过程后,可得到主时钟与从时钟的时间偏差为从时钟补偿该时间偏差。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种AIRT-ROS实时系统与非实时系统时钟同步方法,其特征在于,所述方法包括:AIRT-ROS包括实时系统和非实时系统,在所述实时系统中设置一个主时钟,在非实时系统中设置一个从时钟,从时钟收到同步类型消息,并记录收到同步类型消息的时刻t2,从时钟给主时钟发送延时请求类型消息,并记录发送时刻t3,通过主时钟发送包含时间戳的消息,在从时钟接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差,从而完成双核双系统的时钟同步;所述非实时系统预先申请两段内存,其中一个内存作为实时系统的发送地址,非实时系统的接收地址,该内存命名为第一内存;另外一个内存作为非实时系统的发送地址,实时系统的接收地址,该内存命名为第二内存;
所述主时钟发送包含时间戳的消息并写到第一内存上,从时钟从第一内存接收消息并从中提取时间戳,所述从时钟发送包含时间戳的消息并写到第二内存上,主时钟从第二内存接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差;
所述主时钟将包含时间戳的放入第一内存的尾端,而从时钟从第一内存的头部移走数据,当达到第一内存的尾部时,主时钟绕回到第一内存的头部,从时钟将包含时间戳的消息放入第二内存的尾端,而主时钟从第二内存的头部移走数据,当达到第二内存的尾部时,从时钟绕回到第二内存的头部。
2.根据权利要求1所述的AIRT-ROS实时系统与非实时系统时钟同步方法,其特征在于,所述第一内存和第二内存均为数组型的环形缓冲区。
3.根据权利要求1所述的AIRT-ROS实时系统与非实时系统时钟同步方法,其特征在于,所述主时钟与从时钟在时钟同步过程中需要的消息类型包括同步类型、跟随类型、延时请求类型以及延时回复类型,主时钟周期性地发送同步类型消息,并将发送时刻t1发给从时钟,从时钟收到同步类型消息,并记录收到同步类型消息的时刻t2;在主时钟晶振频率高,精度高的条件下,主时钟将时刻t1放入同步类型消息,如果主时钟的精度不高,将时刻t1放入跟随类型消息中,从时钟给主时钟发送延时请求类型消息,并记录发送时刻t3,主时钟收到延时请求类型消息,并记录收到的时刻t4,主时钟将时刻t4放入延时回复类型消息,并传给从时钟,经过上述过程后,可得到主时钟与从时钟的时间偏差为从时钟补偿该时间偏差。
4.一种AIRT-ROS实时系统与非实时系统时钟同步装置,其特征在于,所述装置包括:时钟设置单元,用于AIRT-ROS包括实时系统和非实时系统,在所述实时系统中设置一个主时钟,在非实时系统中设置一个从时钟,从时钟收到同步类型消息,并记录收到同步类型消息的时刻t2,从时钟给主时钟发送延时请求类型消息,并记录发送时刻t3,时钟同步单元,用于通过主时钟发送包含时间戳的消息,在从时钟接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差,从而完成双核双系统的时钟同步;所述非实时系统预先申请两段内存,其中一个内存作为实时系统的发送地址,非实时系统的接收地址,该内存命名为第一内存;另外一个内存作为非实时系统的发送地址,实时系统的接收地址,该内存命名为第二内存;
所述主时钟发送包含时间戳的消息并写到第一内存上,从时钟从第一内存接收消息并从中提取时间戳,所述从时钟发送包含时间戳的消息并写到第二内存上,主时钟从第二内存接收消息并从中提取时间戳,从时钟根据时间戳计算出主时钟与从时钟的时间偏差并调整补偿该时间偏差;
所述主时钟将包含时间戳的放入第一内存的尾端,而从时钟从第一内存的头部移走数据,当达到第一内存的尾部时,主时钟绕回到第一内存的头部,从时钟将包含时间戳的消息放入第二内存的尾端,而主时钟从第二内存的头部移走数据,当达到第二内存的尾部时,从时钟绕回到第二内存的头部。
5.根据权利要求4所述的AIRT-ROS实时系统与非实时系统时钟同步装置,其特征在于,所述第一内存和第二内存均为数组型的环形缓冲区。
6.根据权利要求5所述的AIRT-ROS实时系统与非实时系统时钟同步装置,其特征在于,所述主时钟与从时钟在时钟同步过程中需要的消息类型包括同步类型、跟随类型、延时请求类型以及延时回复类型,主时钟周期性地发送同步类型消息,并将发送时刻t1发给从时钟,从时钟收到同步类型消息,并记录收到同步类型消息的时刻t2;在主时钟晶振频率高,精度高的条件下,主时钟将时刻t1放入同步类型消息,如果主时钟的精度不高,将时刻t1放入跟随类型消息中,从时钟给主时钟发送延时请求类型消息,并记录发送时刻t3,主时钟收到延时请求类型消息,并记录收到的时刻t4,主时钟将时刻t4放入延时回复类型消息,并传给从时钟,经过上述过程后,可得到主时钟与从时钟的时间偏差为从时钟补偿该时间偏差。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010546620.0A CN111726188B (zh) | 2020-06-15 | 2020-06-15 | Airt-ros实时系统与非实时系统时钟同步方法及装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010546620.0A CN111726188B (zh) | 2020-06-15 | 2020-06-15 | Airt-ros实时系统与非实时系统时钟同步方法及装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111726188A CN111726188A (zh) | 2020-09-29 |
| CN111726188B true CN111726188B (zh) | 2022-11-04 |
Family
ID=72566752
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010546620.0A Active CN111726188B (zh) | 2020-06-15 | 2020-06-15 | Airt-ros实时系统与非实时系统时钟同步方法及装置 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111726188B (zh) |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112416051A (zh) * | 2020-12-07 | 2021-02-26 | 哈尔滨工业大学 | 一种调时方法、装置、电子设备和计算机存储介质 |
| CN112947678B (zh) * | 2021-02-09 | 2025-01-10 | 南方电网科学研究院有限责任公司 | 一种SoC双核系统时钟同步方法及装置 |
| US11671278B2 (en) * | 2021-09-02 | 2023-06-06 | Rivian Ip Holdings, Llc | Automotive embedded system timekeeping |
| CN115361317B (zh) * | 2022-07-26 | 2024-06-07 | 西安羚控电子科技有限公司 | 时钟监控方法、调节方法、时钟系统及存储介质 |
| CN116938378B (zh) * | 2023-09-14 | 2024-01-09 | 西安羚控电子科技有限公司 | 基于反射内存网络的时钟同步精度测量方法及装置 |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105577349A (zh) * | 2014-10-31 | 2016-05-11 | 中国飞行试验研究院 | 一种机载网络ieee1588协议主从时钟端口同步方法 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006195602A (ja) * | 2005-01-12 | 2006-07-27 | Fujitsu Ltd | システムクロック分配装置、システムクロック分配方法 |
| CN104378193A (zh) * | 2013-08-16 | 2015-02-25 | 北京卓越信通电子股份有限公司 | 时间同步系统及方法、交换机、嵌入式接口板 |
| CN106921456B (zh) * | 2015-12-24 | 2018-06-19 | 中国科学院沈阳自动化研究所 | 基于ptp协议的多跳无线回程网络时间同步误差补偿方法 |
| CN109818702A (zh) * | 2019-03-04 | 2019-05-28 | 西安电子科技大学 | 一种ieee802.1as时钟同步功能实现系统以及实现方法 |
-
2020
- 2020-06-15 CN CN202010546620.0A patent/CN111726188B/zh active Active
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN105577349A (zh) * | 2014-10-31 | 2016-05-11 | 中国飞行试验研究院 | 一种机载网络ieee1588协议主从时钟端口同步方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111726188A (zh) | 2020-09-29 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111726188B (zh) | Airt-ros实时系统与非实时系统时钟同步方法及装置 | |
| CN111726189B (zh) | 基于时间戳标记电路的双核系统时钟同步方法及装置 | |
| CN112838903B (zh) | 一种时钟同步方法、设备及存储介质 | |
| US11050501B2 (en) | Performing PHY-level hardware timestamping and time synchronization in cost-sensitive environments | |
| EP2817902B1 (en) | Method and network node for processing a precision time protocol | |
| EP3163786B1 (en) | Clock synchronization method and apparatus | |
| CN110572230A (zh) | 一种用于实现时间同步的修正方法及装置 | |
| JP5127482B2 (ja) | タイミング同期方法、同期装置、同期システム及び同期プログラム | |
| EP4145729A1 (en) | Port state configuration method, apparatus, system, and storage medium | |
| CN110266422B (zh) | 中间时钟设备报文驻留时间处理方法、装置、设备及介质 | |
| US11907754B2 (en) | System to trigger time-dependent action | |
| US8036202B2 (en) | Physical layer transceiver with integrated time synchronization | |
| CN112312537B (zh) | 时钟的同步方法和装置、存储介质、电子装置 | |
| Akpinar et al. | Improved clock synchronization algorithms for the controller area network (CAN) | |
| CN117614580A (zh) | 一种自适应主从切换时间同步方法及其系统 | |
| US20250007637A1 (en) | Time synchronization apparatus, system, and method | |
| CN117176285A (zh) | 基于fpga的ptp时间同步方法及装置 | |
| CN111934804A (zh) | 一种通信设备同步的方法、装置及系统 | |
| CN214627000U (zh) | 一种兼容可定义确定性通信以太网的网卡设备 | |
| JP2016184811A (ja) | 同期メッセージ送出装置、時刻同期システム、同期メッセージ送出方法およびプログラム | |
| CN106170937B (zh) | 用于同步发送报文的通信装置、通信系统和方法 | |
| JP5845771B2 (ja) | 情報伝達システムおよび情報伝達方法 | |
| KR102761073B1 (ko) | 시간 보정 방법, 통신장비 및 컴퓨터 판독 가능 매체 | |
| CN214480655U (zh) | 一种兼容可定义确定性通信以太网的嵌入式设备 | |
| CN115801176A (zh) | 基于ptp协议的跨平台时钟同步方法、装置及存储介质 |
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 | ||
| TA01 | Transfer of patent application right | ||
| TA01 | Transfer of patent application right |
Effective date of registration: 20220919 Address after: 236000 room 316, building 3, Zone C, intelligent technology park, No. 3963 Susong Road, Hefei Economic and Technological Development Zone, Anhui Province Applicant after: Hefei Hagong Xuanyuan Intelligent Technology Co.,Ltd. Address before: Room 6012, Haiheng building, No.6 Cuiwei Road, Hefei Economic and Technological Development Zone, Anhui Province Applicant before: HRG INTERNATIONAL INSTITUTE FOR RESEARCH & INNOVATION |
|
| GR01 | Patent grant | ||
| GR01 | Patent grant |