CN108650051B - 通用全硬件一步式1588的时钟同步装置及方法 - Google Patents

通用全硬件一步式1588的时钟同步装置及方法 Download PDF

Info

Publication number
CN108650051B
CN108650051B CN201810442277.8A CN201810442277A CN108650051B CN 108650051 B CN108650051 B CN 108650051B CN 201810442277 A CN201810442277 A CN 201810442277A CN 108650051 B CN108650051 B CN 108650051B
Authority
CN
China
Prior art keywords
module
timestamp
clock
time
input
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
CN201810442277.8A
Other languages
English (en)
Other versions
CN108650051A (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.)
Xidian University
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN201810442277.8A priority Critical patent/CN108650051B/zh
Publication of CN108650051A publication Critical patent/CN108650051A/zh
Application granted granted Critical
Publication of CN108650051B publication Critical patent/CN108650051B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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

Landscapes

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

Abstract

一种通用全硬件一步式1588的时钟同步装置及方法,其装置包括组帧模块,MAC发送控制模块,MAC接收控制模块,解析模块,时间戳生成模块,先入先出队列时间戳FIFO模块,本地时钟模块,偏差计算模块和时间戳插入模块。本发明方法的步骤为:记录时间戳信息,识别同步报文,存入时间戳信息,识别同步广播报文Sync,插入时间戳信息,计算主从时钟时间偏差,校正从时钟时间。本发明采用纯硬件一步式的同步方法,利用数据链路层MAC与物理层PHY间的精简吉比特介质独立接口RGMII处数据有效信号ctrl,采集精确时间戳信息,提高了系统的通用性与同步精度。

Description

通用全硬件一步式1588的时钟同步装置及方法
技术领域
本发明属于通信技术领域,更进一步涉及以太网技术领域中的一种通用全硬件一步式的基于网络测量和控制系统的精密时钟同步协议标准IEEE 1588(Precision ClockSynchronization Protocol)的时钟同步装置及方法。本发明按照网络测量和控制系统的精密时钟同步协议标准IEEE 1588(Precision Clock Synchronization Protocol)对网络设备进行时钟校准,使得基于以太网的分布式系统达到精确同步,保障以太网环境中网络设备间的实时性通信。
背景技术
目前,随着以太网技术的快速发展,现代工业对时钟同步精度要求越来越高。由于现有的时钟同步方式都存在局限性,实现高精度、高可靠性、低成本的对时方式受到广泛关注。IEEE 1588标准,又称精确时间协议(Precision Time Protocol,通常简写为PTP),是一种基于以太网的较为精确的时钟同步解决方案,其功能为使分布式网络中的其他时钟与最精确时钟保持时钟同步,用于对标准以太网或其他采用多播技术的分布式总线系统中的传感器、执行器以及其他终端设备中的时钟进行时钟同步。
中兴通讯股份有限公司在其申请的专利文献“IEEE 1588时间同步系统及其实现方法”(申请号:200810187676.0,公开号:CN101447861A)中公开了一种时间同步装置和时间同步方法。其装置包括交换机(Switch)模块、物理芯片(PHY)模块、CPU管理模块、实时时钟(RTC)模块、时间戳处理模块。所述Switch模块,用于将来自多个PHY模块端口的IEEE1588时间戳消息过滤后,送到时间戳处理模块;所述PHY模块,用于识别所述IEEE 1588消息,并向所述时间戳处理模块提供时间戳消息接收指示信号及时间戳消息发送指示信号;所述CPU模块,用于管理所述时间同步系统;所述RTC模块,用于提供本地时钟,根据接收到同步时钟来动态校准RTC;所述时间戳处理模块,用于实现对IEEE 1588时间戳消息的解析,获得同步时间,以校正RTC本地实时时钟;还用于产生IEEE 1588消息,并向其他设备发送。该装置存在的不足之处是,PHY模块完成识别IEEE 1588消息并且给出消息发送、接收指示信号的功能,需要使用支持IEEE1588协议的专用PHY芯片,虽然同步精度大大提高,但该芯片会导致同步平台具有较差的通用性与移植性。
浙江大学在其申请的专利文献“一种基于IEEE 1588协议的高精度实时同步方法”(申请号:200810059859.4,公开号:CN101232457A)中公开了一种时间同步方法。该时间同步方法实施步骤是:第一,主时钟广播发送Sync消息至从时钟,并记录Sync消息发送点;第二,从时钟接收Sync消息,并记录Sync消息接收时间点;第三,主时钟把上一个Sync消息的发送时间点信息放入FollowUp消息,并发送给从时钟;第四,从时钟发送DelayReq消息给主时钟,同时记录DelayReq消息的发送时间点;第五,主时钟接收Delay_Req消息,并将该消息达到时间点放入DelayResp消息,发送给从时钟,每实施一次即完成一次同步过程。该方法存在的不足之处是,每次同步过程中,主节点都需要发送一个跟随消息(FollowUp),该跟随消息中包含发送同步消息Sync时的精确时间戳信息,增加了网络的通信量。
北京四方继保自动化股份有限公司在其申请的专利文献“一种基于CPU通用定时器来实现IEEE-1588协议中高精度时标的方法”(申请号:201310697514.2,公开号:CN103746789A)中公开了一种时间同步方法。该时间同步方法实施步骤是:第一,将以太网PHY芯片通过MII接口与CPU芯片相连接,并将MII接口中的发送使能信号和接收数据有效信号,接至CPU的通用定时器的输入信号捕获管脚上;第二,使用CPU的通用定时器维护一个TAI的时间轴,将通用定时器的每一个计数值都与TAI的时间值一一对应;第三,发送使能信号和接收数据有效信号的上升沿时刻即为以太网报文的发送和接收时刻,通过使用通用定时器的捕获功能,获取所述发送或接受时刻的通用定时器的计数值;第四,将以太网报文发送和接受时刻对应的通用定时器的计数值转换为TAI时间值,即可得到发送时标和接收时标;第五,根据获取的发送时标和接收时标在CPU上进行偏移量计算,根据偏移量对通用定时器进行补偿。该方法存在的不足之处是,系统内核和网卡软件驱动层在处理软件方式产生的时间戳的过程中,由于网卡的缓存效应和操作系统的进程调度具有不确定性,而导致CPU出现处理拥堵的问题,使该同步方法无法保证网络设备时钟同步的稳定性。
发明内容
本发明目的在于针对上述已有技术的不足,提供一种通用全硬件一步式1588的时钟同步装置及方法。利用数据链路层MAC与物理层PHY间的精简吉比特介质独立接口RGMII处数据有效信号ctrl,采集精确时间戳信息;主时钟在发送同步报文Sync时就带有本次发送的精确时间戳,无需再发送跟随报文。
为了实现上述目的,本发明的技术思路为:可编程逻辑芯片FPGA实现一套通用全硬件一步式1588的主从时钟同步设备,该设备主要用于分布式网络中设备的时间同步。主从时钟在纯硬件平台上采用一步式同步方法,在每次同步交互过程中,利用数据链路层MAC与物理层PHY间的精简吉比特介质独立接口RGMII处数据有效信号ctrl,主从时钟各采集2个时间戳,从时钟根据主从时钟采集的4个时间戳信息计算主从时钟偏差值,根据主从时钟偏差值对从时钟进行校准,完成通信网络系统中网络设备的时钟同步;通过采用硬件形式的时间戳管理,将数据链路层和时钟同步的时间戳生成模块集成在一起,主时钟设备在发送同步报文Sync时就带有本次发送的精确时间戳,无需再发送跟随报文。
本发明的装置包括组帧模块,MAC发送控制模块,MAC接收控制模块,解析模块,时间戳生成模块,先入先出队列时间戳FIFO模块,本地时钟模块,偏差计算模块,时间戳插入模块;
所述组帧模块输出端与MAC发送控制模块输入端相连;MAC发送控制模块输出端与解析模块输入端相连;解析模块输出端与时间戳生成模块输入端相连;时间戳生成模块输出端与先入先出队列时间戳FIFO模块输入端相连;先入先出队列时间戳FIFO模块输出端与偏差计算模块输入端相连;先入先出队列时间戳FIFO模块输出端与PTP时间戳插入模块输入端相连;偏差计算模块输出端与本地时钟模块输入端相连;本地时钟模块输出端与PTP时间戳生成模块输入端相连;其中,
时间戳生成模块包括采集时间戳模块和精简吉比特介质独立接口RGMII,其中,精简吉比特介质独立接口RGMII连接MAC发送、接收控制模块与PHY层;
所述PTP组帧模块,用于PTP同步事件帧的组帧工作,组帧模块下发送位宽为32比特的PTP帧数据供MAC发送控制模块处理;
所述MAC发送控制模块,用于将PTP组帧模块的数据封装成以太网帧,转换成适合RGMII接口的数据,并下发到PHY层进行传递;
所述MAC接收控制模块,用于接收PHY层传递过来的以太网帧,校验接收到的帧是否出错,将正确接收的以太网帧提交给上层;
所述时间戳生成模块,用于记录以太网帧到达产生的时间戳信息;
所述解析模块,用于判断过滤以太网帧的包头信息中类型域字段是否为“0x88f7”,若是,时间戳生成模块将以太网帧到达产生的时间戳信息写入先入先出队列时间戳FIFO模块中,否则,时间戳生成模块将以太网帧到达产生的时间戳信息丢弃;
所述先入先出队列时间戳FIFO模块,用于缓存时间戳生成模块送入的有效时间戳,便于偏差计算模块与时间戳插入模块读取时间戳信息;
所述本地时钟模块,用于向时间戳生成模块提供精确的纳秒级时间;
所述时间戳插入模块,用于将先入先出队列时间戳FIFO模块中时间戳信息,插入到同步广播报文Sync帧结构的时间戳字段中;
所述偏差计算模块,用于从时间戳FIFO模块读取4个同步报文时间戳,计算出主从时钟的时间偏差;然后,将时间偏差传递给本地时钟模块,完成从时钟校正功能。
本发明方法的具体步骤包括如下:
(1)记录时间戳信息:
(1a)以太网帧经过数据链路层MAC与物理层PHY间的精简吉比特介质独立接口RGMII时,时间戳生成模块中的精简吉比特介质独立接口RGMII拉高数据有效信号ctrl;
(1b)时间戳生成模块中的采集时间戳模块,检测到数据有效信号ctrl拉高后,采集本地时钟模块对应数据有效信号ctrl拉高的时间值,将该时间值作为以太网帧的到达时间戳信息,同时将该到达时间戳信息存入临时时间戳寄存器;
(2)解析模块判断过滤以太网帧的包头信息中类型域字段是否为“0x88f7”,若是,则执行步骤(3),否则,丢弃临时时间戳寄存器中的时间戳信息后执行步骤(1);
(3)存入时间戳信息:
时间戳生成模块将类型域字段为“0x88f7”的以太网帧到达产生的时间戳信息,写入先入先出队列时间戳FIFO模块中;
(4)解析模块判断过滤以太网帧的消息类型字段是否为“0x00”,若是,则执行步骤(5),否则,执行步骤(6);
(5)插入时间戳信息:
将当前传输同步报文确定为同步广播报文Sync,时间戳插入模块将先入先出队列时间戳FIFO模块中时间戳信息,采用字节计数方法,插入到同步广播报文Sync帧结构的时间戳字段中后执行步骤(6);
(6)先入先出队列时间戳FIFO模块判断其内部是否存储了4个时间戳,若是,则执行步骤(7),否则,执行步骤(1);
(7)利用时间偏差公式,计算主从时钟的时间偏差;
(8)校正从时钟时间:
用从时钟的本地时钟计数与偏差计算模块计算的时间偏差相加,将和值作为当前从时钟的本地时钟计数,完成主从时钟校正。
本发明与现有技术相比具有以下优点:
第一,由于本发明装置中的时间戳生成模块,采用在数据链路层MAC与物理层PHY间的精简吉比特介质独立接口RGMII处打时间戳的方式,能够直接获取同步报文到达数据链路层MAC与物理层PHY之间的时刻,消除了上层协议栈的延时不确定性,克服了现有技术由于使用支持IEEE 1588标准的专用PHY芯片,同步平台通用性与移植性差的问题,使得本发明具有对物理层硬件要求低,同步平台通用性、移植性强的优点。
第二,由于本发明装置中的先入先出队列时间戳FIFO模块,采用先入先出队列存储时间戳信息,保证了同步报文与自身到达时间戳的对应关系,克服了现有技术同步系统收到多个同步报文时,同步报文和到达时间戳不能正确对应的问题,使得本发明具有获得更准确到达时间戳的优点。
第三,由于本发明的方法采用硬件形式的时间戳管理,通过插入时间戳到同步广播报文Sync帧结构时间戳字段,实现一步式的同步方法,使得主时钟在发送同步报文Sync时就带有本次发送的精确时间戳,无需再发送跟随报文,克服了现有技术由于需要发送跟随报文,造成通信带宽浪费的问题,使本发明具有减小时钟同步所需的通信带宽的优点;
第四,由于本发明的方法在硬件FPGA上计算主从时钟的时间偏差值,克服了现有技术采用软件计算时间偏差值的方式中,网卡的缓存效应和操作系统的进程调度具有不确定性,而导致CPU出现处理拥堵的问题,使本发明具有快速稳定计算主从时间偏差值的优点。
附图说明
图1为本发明装置的方框图;
图2为本发明方法的流程图;
图3为本发明方法中采集时间戳的示意图。
具体实施方式
下面结合附图对本发明做进一步的描述。
参照附图1装置方框图,对本发明装置做进一步的描述。
本发明装置组帧模块1,MAC发送控制模块2,MAC接收控制模块3,解析模块4,时间戳生成模块5,先入先出队列时间戳FIFO模块6,本地时钟模块7,偏差计算模块8,时间戳插入模块9;所述组帧模块1输出端与MAC发送控制模块2输入端相连;MAC发送控制模块2输出端与解析模块4输入端相连;解析模块4输出端与时间戳生成模块5输入端相连;时间戳生成模块5输出端与先入先出队列时间戳FIFO模块6输入端相连;先入先出队列时间戳FIFO模块6输出端与偏差计算模块8输入端相连;先入先出队列时间戳FIFO模块6输出端与PTP时间戳插入模块9输入端相连;偏差计算模块8输出端与本地时钟模块7输入端相连;本地时钟模块7输出端与时间戳生成模块5输入端相连;MAC接收控制模块3与外部输入端相连。其中,
时间戳生成模块5包括采集时间戳模块10和精简吉比特介质独立接口RGMII,其中,精简吉比特介质独立接口RGMII连接MAC发送控制模块2、MAC接收控制模块3与PHY层。
所述组帧模块1,用于PTP同步事件帧的组帧工作,组帧模块下发送位宽为32比特的PTP帧数据供MAC发送控制模块处理。
所述MAC发送控制模块2,用于将PTP组帧模块的数据封装成以太网帧,转换成适合RGMII接口的数据,并下发到PHY层进行传递。
所述MAC接收控制模块3,用于接收PHY层传递过来的以太网帧,校验接收到的帧是否出错,将正确接收的以太网帧提交给上层。
所述时间戳生成模块5,用于记录以太网帧到达产生的时间戳信息。
所述解析模块4,用于判断过滤以太网帧的包头信息中类型域字段是否为“0x88f7”,若是,时间戳生成模块将以太网帧到达产生的时间戳信息写入先入先出队列时间戳FIFO模块中,否则,时间戳生成模块将以太网帧到达产生的时间戳信息丢弃。
所述先入先出队列时间戳FIFO模块6,用于缓存时间戳生成模块送入的有效时间戳,便于偏差计算模块与时间戳插入模块读取时间戳信息。
所述本地时钟模块7,用于向时间戳生成模块提供精确的纳秒级时间。
所述时间戳插入模块8,用于将先入先出队列时间戳FIFO模块中时间戳信息,插入到同步广播报文Sync帧结构的时间戳字段中。
所述偏差计算模块9,用于从时间戳FIFO模块读取4个同步报文时间戳,计算出主从时钟的时间偏差;然后,将时间偏差传递给本地时钟模块,完成从时钟校正功能。
参照附图2,对本发明的方法做进一步的描述。
使用通用全硬件一步式1588的时钟同步装置,对标准以太网或其他采用多播技术的分布式总线系统中的传感器、执行器以及其他终端设备中的时钟进行时钟同步,其具体步骤包括如下:
步骤1,记录时间戳信息。
以太网帧经过数据链路层MAC与物理层PHY间的精简吉比特介质独立接口RGMII时,时间戳生成模块中的精简吉比特介质独立接口RGMII拉高数据有效信号ctrl;
时间戳生成模块中的采集时间戳模块,检测到数据有效信号ctrl拉高后,采集本地时钟模块对应数据有效信号ctrl拉高的时间值,将该时间值作为以太网帧的到达时间戳信息,同时将该到达时间戳信息存入临时时间戳寄存器;
所述数据有效信号ctrl包括数据经由链路层MAC发送到物理层PHY的发送有效信号Tx_en、数据经由物理层PHY发送到链路层MAC的接收有效信号Rx_dv。
步骤2,识别同步报文。
解析模块判断过滤以太网帧的包头信息中类型域字段是否为“0x88f7”,若是,当前以太网帧为同步报文,执行步骤3,否则,丢弃临时时间戳寄存器中的时间戳信息后执行步骤1;
所述同步报文的类型域字段为“0x88f7”,包括同步广播报文Sync、同步请求报文DelayReq。
步骤3,存入时间戳信息。
时间戳生成模块将类型域字段为“0x88f7”的以太网帧到达产生的时间戳信息,写入先入先出队列时间戳FIFO模块中。
步骤4,识别同步广播报文Sync。
解析模块判断过滤以太网帧的消息类型字段是否为“0x00”,若是,则执行步骤5,否则,执行步骤6。
步骤5,插入时间戳信息。
将当前传输同步报文确定为同步广播报文Sync,时间戳插入模块将先入先出队列时间戳FIFO模块中时间戳信息,采用字节计数方法,插入到同步广播报文Sync帧结构的时间戳字段中后执行步骤6。
所述的字节计数方法的步骤如下:
第一步,数据链路层MAC与物理层PHY间的数据有效信号ctrl由低变高,说明当前正在发送以太网帧,此时启动一个计数器用于计算当前发送的字节相对于帧头的偏移;
第二步,解析模块判断过滤以太网帧的消息类型字段为“0x00”,说明当前发送帧为同步广播报文Sync;
第三步,时间戳插入模块读取先入先出队列时间戳FIFO模块中的时间戳信息;
第四步,当计数器计算的偏移量等于同步广播报文Sync帧结构时间戳字段的偏移量时,说明当前传输位置为同步广播报文Sync帧结构的时间戳字段,时间戳插入模块将读取的时间戳信息插入到同步广播报文Sync帧结构的时间戳字段,用插入的时间戳信息替换同步广播报文Sync帧结构时间戳字段中的当前帧内容。
步骤6,判断是否完成一次同步交互过程。
先入先出队列时间戳FIFO模块判断其内部是否存储了4个时间戳,若是,则执行步骤7,否则,执行步骤1;
参照附图3,对本发明方法中采集时间戳过程做进一步的描述。
第一步,主时钟按照同步周期每隔一定时间向从时钟发送同步广播报文Sync,同步广播报文Sync中含有该报文的发送时间戳t1
第二步,从时钟接收同步广播报文Sync,并记录下接收时间戳t2
第三步,从时钟每隔一段时间向主时钟发送同步请求报文DelayReq,并记录下同步请求报文DelayReq的发送时间戳t3
第四步,主时钟接收同步请求报文DelayReq,并记下同步请求报文DelayReq的接收时间戳t4,然后主时钟立即向从时钟回复一个同步应答报文DelayResp,将接收时间戳t4写进同步应答报文DelayResp中传递给从时钟。
步骤7,计算主从时钟时间偏差。
按照下式,偏差计算模块计算主从时钟的时间偏差:
其中,t表示主从时钟的时间偏差,t1表示先入先出队列时间戳FIFO模块第一次存入的同步广播报文Sync发送时间戳,t2表示先入先出队列时间戳FIFO模块第二次存入的同步广播报文Sync接收时间戳,t3表示先入先出队列时间戳FIFO模块第三次存入的同步请求报文DelayReq发送时间戳,t4表示先入先出队列时间戳FIFO第四次存入的同步请求报文DelayReq接收时间戳。
步骤8,校正从时钟时间。
用从时钟的本地时钟计数与偏差计算模块计算的时间偏差相加,将和值作为当前从时钟的本地时钟计数,完成主从时钟校正。

Claims (6)

1.一种通用全硬件一步式1588的时钟同步装置,其特征在于,包括组帧模块,MAC发送控制模块,MAC接收控制模块,解析模块,时间戳生成模块,先入先出队列时间戳FIFO模块,本地时钟模块,偏差计算模块,时间戳插入模块;
所述组帧模块输出端与MAC发送控制模块输入端相连;MAC发送控制模块输出端与解析模块输入端相连;解析模块输出端与时间戳生成模块输入端相连;时间戳生成模块输出端与先入先出队列时间戳FIFO模块输入端相连;先入先出队列时间戳FIFO模块输出端与偏差计算模块输入端相连;先入先出队列时间戳FIFO模块输出端与时间戳插入模块输入端相连;偏差计算模块输出端与本地时钟模块输入端相连;本地时钟模块输出端与PTP时间戳生成模块输入端相连;MAC接收控制模块与外部输入端相连;其中,
时间戳生成模块包括采集时间戳模块和精简吉比特介质独立接口RGMII,其中,精简吉比特介质独立接口RGMII连接MAC发送、接收控制模块与PHY层;
所述组帧模块,用于PTP同步事件帧的组帧工作,组帧模块下发送位宽为32比特的PTP帧数据供MAC发送控制模块处理;
所述MAC发送控制模块,用于将PTP组帧模块的数据封装成以太网帧,转换成适合RGMII接口的数据,并下发到PHY层进行传递;
所述MAC接收控制模块,用于接收PHY层传递过来的以太网帧,校验接收到的帧是否出错,将正确接收的以太网帧提交给上层;
所述时间戳生成模块,用于记录以太网帧到达产生的时间戳信息;
所述解析模块,用于判断过滤以太网帧的包头信息中类型域字段是否为“0x88f7”,若是,时间戳生成模块将以太网帧到达产生的时间戳信息写入先入先出队列时间戳FIFO模块中,否则,时间戳生成模块将以太网帧到达产生的时间戳信息丢弃;
所述先入先出队列时间戳FIFO模块,用于缓存时间戳生成模块送入的有效时间戳,便于偏差计算模块与时间戳插入模块读取时间戳信息;
所述本地时钟模块,用于向时间戳生成模块提供精确的纳秒级时间;
所述时间戳插入模块,用于将先入先出队列时间戳FIFO模块中时间戳信息,插入到同步广播报文Sync帧结构的时间戳字段中;
所述偏差计算模块,用于从时间戳FIFO模块读取4个同步报文时间戳,计算出主从时钟的时间偏差;然后,将时间偏差传递给本地时钟模块,完成从时钟校正功能。
2.一种通用全硬件一步式1588的时钟同步方法,其特征在于,主从时钟在纯硬件平台上采用一步式同步方法,在每次同步交互过程中,利用数据链路层MAC与物理层PHY间的精简吉比特介质独立接口RGMII处数据有效信号ctrl,主从时钟各采集2个时间戳,从时钟根据主从时钟采集的4个时间戳信息计算主从时钟偏差值,根据主从时钟偏差值对从时钟进行校准,完成通信网络系统中网络设备的时钟同步;该方法的具体步骤包括如下:
(1)记录时间戳信息:
(1a)以太网帧经过数据链路层MAC与物理层PHY间的精简吉比特介质独立接口RGMII时,时间戳生成模块中的精简吉比特介质独立接口RGMII拉高数据有效信号ctrl;
(1b)时间戳生成模块中的采集时间戳模块,检测到数据有效信号ctrl拉高后,采集本地时钟模块对应数据有效信号ctrl拉高的时间值,将该时间值作为以太网帧的到达时间戳信息,同时将该到达时间戳信息存入临时时间戳寄存器;
(2)解析模块判断过滤以太网帧的包头信息中类型域字段是否为“0x88f7”,若是,则执行步骤(3),否则,丢弃临时时间戳寄存器中的时间戳信息后执行步骤(1);
(3)存入时间戳信息:
时间戳生成模块将类型域字段为“0x88f7”的以太网帧到达产生的时间戳信息,写入先入先出队列时间戳FIFO模块中;
(4)解析模块判断过滤以太网帧的消息类型字段是否为“0x00”,若是,则执行步骤(5),否则,执行步骤(6);
(5)插入时间戳信息:
将当前传输同步报文确定为同步广播报文Sync,时间戳插入模块将先入先出队列时间戳FIFO模块中时间戳信息,采用字节计数方法,插入到同步广播报文Sync帧结构的时间戳字段中后执行步骤(6);
(6)先入先出队列时间戳FIFO模块判断其内部是否存储了4个时间戳,若是,则执行步骤(7),否则,执行步骤(1);
(7)利用时间偏差公式,计算主从时钟的时间偏差;
(8)校正从时钟时间:
用从时钟的本地时钟计数与偏差计算模块计算的时间偏差相加,将和值作为当前从时钟的本地时钟计数,完成主从时钟校正。
3.根据权利要求2所述的通用全硬件一步式1588的时钟同步方法,其特征在于,步骤(1a)中所述数据有效信号ctrl中包括数据经由链路层MAC发送到物理层PHY的发送有效信号Tx_en、数据经由物理层PHY发送到链路层MAC的接收有效信号Rx_dv。
4.根据权利要求2所述的通用全硬件一步式1588的时钟同步方法,其特征在于,步骤(5)中所述字节计数方法的步骤如下:
第一步,数据链路层MAC与物理层PHY间的数据有效信号ctrl由低变高,说明当前正在发送以太网帧,此时启动一个计数器用于计算当前发送的字节相对于帧头的偏移;
第二步,解析模块判断过滤以太网帧的消息类型字段为“0x00”,说明当前发送帧为同步广播报文Sync;
第三步,时间戳插入模块读取先入先出队列时间戳FIFO模块中的时间戳信息;
第四步,当计数器计算的偏移量等于同步广播报文Sync帧结构时间戳字段的偏移量时,说明当前传输位置为同步广播报文Sync帧结构的时间戳字段,时间戳插入模块将读取的时间戳信息插入到同步广播报文Sync帧结构的时间戳字段,用插入的时间戳信息替换同步广播报文Sync帧结构时间戳字段中的当前帧内容。
5.根据权利要求2所述的通用全硬件一步式1588的时钟同步方法,其特征在于,步骤(6)中所述4个时间戳包括同步广播报文Sync的发送时间戳、接收时间戳和同步请求报文DelayReq的发送时间戳、接收时间戳。
6.根据权利要求2所述的通用全硬件一步式1588的时钟同步方法,其特征在于,步骤(7)中所述时间偏差公式如下:
其中,t表示主从时钟的时间偏差,t1表示先入先出队列时间戳FIFO模块第一次存入的发送时间戳,t2表示先入先出队列时间戳FIFO模块第二次存入的接收时间戳,t3表示先入先出队列时间戳FIFO模块第三次存入的发送时间戳,t4表示先入先出队列时间戳FIFO第四次存入的接收时间戳。
CN201810442277.8A 2018-05-10 2018-05-10 通用全硬件一步式1588的时钟同步装置及方法 Active CN108650051B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810442277.8A CN108650051B (zh) 2018-05-10 2018-05-10 通用全硬件一步式1588的时钟同步装置及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810442277.8A CN108650051B (zh) 2018-05-10 2018-05-10 通用全硬件一步式1588的时钟同步装置及方法

Publications (2)

Publication Number Publication Date
CN108650051A CN108650051A (zh) 2018-10-12
CN108650051B true CN108650051B (zh) 2019-06-21

Family

ID=63754189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810442277.8A Active CN108650051B (zh) 2018-05-10 2018-05-10 通用全硬件一步式1588的时钟同步装置及方法

Country Status (1)

Country Link
CN (1) CN108650051B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111464252B (zh) * 2019-01-22 2023-01-06 华为技术有限公司 通信方法和光模块
US10797854B1 (en) * 2019-09-30 2020-10-06 Infineon Technologies Ag Synchronization system for controller area networks
CN112787739B (zh) * 2019-11-01 2022-04-12 烽火通信科技股份有限公司 一种高精度时间同步方法及系统
CN111147177B (zh) * 2019-12-16 2022-04-05 国家电网有限公司大数据中心 一种面向智能电网的移动网络授时方法和系统
CN111555834B (zh) * 2020-04-30 2021-10-01 北京邮电大学 基于ieee1588协议的无线网络的时钟同步方法及系统
CN114172604A (zh) * 2020-09-11 2022-03-11 华为技术有限公司 时延补偿方法、装置、设备及计算机可读存储介质
CN112511376B (zh) * 2020-11-12 2022-04-15 鹏城实验室 一种tsn网络转发时间特性的测量方法及终端
CN113110369B (zh) * 2021-03-09 2022-09-09 广东安朴电力技术有限公司 一种层级控制系统时间同步方法及通讯系统
CN114138054A (zh) * 2021-10-14 2022-03-04 北京国科天迅科技有限公司 一种时间戳获取方法、装置、电子设备及存储介质
CN114430304B (zh) * 2022-02-10 2023-07-07 芯河半导体科技(无锡)有限公司 高速以太网纳秒级精度1588一步法时间戳的实现方法
CN117908354A (zh) * 2022-10-11 2024-04-19 比亚迪股份有限公司 时间同步系统、域控制器和车辆

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1298238A (zh) * 1999-12-02 2001-06-06 深圳市中兴通讯股份有限公司 波分复用光传输系统中光监控通道装置、系统及实现方法
CN105846941A (zh) * 2016-05-23 2016-08-10 西安电子科技大学 基于ieee 1588标准的时钟透明传输装置及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030007724A1 (en) * 2001-07-05 2003-01-09 Broadcom Corporation System, method, and computer program product for optimizing video service in ethernet-based fiber optic TDMA networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1298238A (zh) * 1999-12-02 2001-06-06 深圳市中兴通讯股份有限公司 波分复用光传输系统中光监控通道装置、系统及实现方法
CN105846941A (zh) * 2016-05-23 2016-08-10 西安电子科技大学 基于ieee 1588标准的时钟透明传输装置及方法

Also Published As

Publication number Publication date
CN108650051A (zh) 2018-10-12

Similar Documents

Publication Publication Date Title
CN108650051B (zh) 通用全硬件一步式1588的时钟同步装置及方法
CN101977104B (zh) 基于ieee1588精确时钟同步协议系统及其同步方法
CN100581164C (zh) 面向测量与控制的精确时间同步方法与系统
US7206327B2 (en) Method and circuit for insertion of time stamp into real time data
CN104918319B (zh) 一种应用于无线传感器网络的时钟同步精简信息交互方法
US9667370B2 (en) Communication device with peer-to-peer assist to provide synchronization
US8355476B2 (en) Timestamping method and apparatus for precise network synchronization
CN101330374B (zh) 传输网中的时钟同步方法、系统和从时钟侧实体
CN105846941B (zh) 基于ieee 1588标准的时钟透明传输装置及方法
WO2012151808A1 (zh) 基于精确时钟协议提高同步精度的方法及系统
EP2595331A2 (en) Communication apparatus for performing time synchronization
CN103563287B (zh) 同步设备和同步方法
EP2288070A1 (en) Time synchronizing method, device and system of master clock side and slave clock side in synchronous network
CN110493744A (zh) 一种主从式无线传感器的数据同步采集方法与系统
CN109818702A (zh) 一种ieee802.1as时钟同步功能实现系统以及实现方法
CN103138887B (zh) 一种1588事件报文的处理方法及系统
CN103368137B (zh) 一种基于网络的自修复的多端数据同步差动保护方法
CN108880723A (zh) 一种时钟同步的方法和装置
CN112865901B (zh) 一种基于fpga纳秒时间戳的高速数据包采集系统及方法
WO2019036943A1 (zh) 一种报文处理的方法和网络设备
CN109039514A (zh) 一种提高ieee1588时间戳精度的方法
KR20230018469A (ko) 타임 스탬프 정보 전송 방법, 장치, 기기 및 저장 매체
CN103546273B (zh) 基于ptp帧的频率同步装置及方法
CN106100783B (zh) 一种智能变电站合并单元数据采集的同步方法及装置
CN103647614A (zh) 基于ieee1588协议的可靠提高时间同步精度方法

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