基于ieee1588精确时钟同步协议系统及其同步方法

文档序号:7765125阅读:748来源:国知局
专利名称:基于ieee1588精确时钟同步协议系统及其同步方法
技术领域
本发明涉及的是一种网络信息传输技术领域的系统及其同步方法,具体是一种不 带跟随报文的基于IEEE 1588精确时钟同步协议系统及其同步方法。
背景技术
近年来,以太网由于其开放性、技术成熟、高的传输速率、应用广泛以及价格低廉 等特点,已受到越来越多的关注,且有进一步应用到工业现场的趋势。但是,由于其MAC层 协议采用CSMA/CD,具有排队延迟不确定的缺陷,使之无法在工业控制中得到有效使用。响 应时间的“不确定性”(即实时性差)和系统内各模块的“不同步性”成为了阻碍以太网技 术“一网到底”的瓶颈。其中有些工业现场要求极高的时钟同步精度是以太网广泛应用于 工业现场的关键障碍之一。常用于以太网TCP/IP网络的同步协议有网络时间协议NTP (Network Time Protocol)和简单网络时间协议 SNTP (Simple Network Time Protocol)。NTP 是用于互联 网中时间同步的标准互联网协议。NTP的用途是把计算机的时间同步到某些时间标准。目 前采用的时间标准是世界协调时UTC (Universal Time Coordinated)。NTP协议的时钟同 步主要是在主从工作方式下实现的。由于NTP采用的是应用层同步方法,其时间同步精度 不高,一般在10ms到100ms之间,不能满足高速高精的多轴运动控制系统的要求。SNTP则 是一个简化了的NTP服务器和NTP客户策略,其时间精度依赖于客户端和服务端网络的情 况。但由于其采用的是与NTP相同的时钟同步机制,因此时钟同步精度也不高。和NTP,SNTP相比,IEEE 1588协议是以太网中一种较为精确的时钟同步解决方 案,其基本功能是使分布式网络内的其他时钟与最精确时钟保持同步。IEEE 1588协议中定 义了一种精确时间协议(PTP,Precision Time Protocol),用于对标准以太网或其他采用 多播技术的分布式总线系统中的传感器、执行器以及其他终端设备中的时钟进行亚微秒级 同步。经过对现有技术文献的检索发现,中国发明专利申请号为200810059859,公开号 为CN101232457A,名称为“一种基于IEEE 1588协议的高精度实时同步方法”的专利,给出 了一种基于IEEE 1588的PTP精确时钟同步协议的硬件实现方式。中国发明专利申请号为 200810187676. 0,公开号为CN 101447861A,名称为“ IEEE 1588时间同步系统及其实现方 法”的专利,给出了一种IEEE 1588时间同步系统,通过增设时间戳处理模块,再结合交换机 模块、物理层模块以及实时时钟模块等外围部件形成一个具备时钟同步的硬件系统。但上述技术虽然时钟同步技术采用的都是硬件的实现方式,但由于数据链路层采 用的都是商用集成芯片,时间戳处理模块没有和数据链路层集成在一起,所以每次同步过 程主节点都需要发送一个跟随报文(FollowUp),里面包含发送同步报文(Sync)时的精确 时间戳信息,从而增加了网络的通信量;当不发送跟随报文,传统的同步系统只能在Sync 报文中包含一个估计的发送时间戳信息,这样就会使同步精度降低。再者,上述技术中实现 时钟同步的方法仅仅是周期性的校正从时钟,使校正瞬时时刻主从时钟的偏差为零,而没有进行频率补偿,导致从时钟和主时钟的偏差随时间的变化逐渐增加,这种漂移在高精度 同步的情况下是不能容许的。

发明内容
本发明针对现有技术存在的上述不足,提供一种基于IEEE 1588精确时钟同步协 议系统及其同步方法,使得主时钟在发送同步报文时就带有本次发送的精确时间戳,无需 再发送跟随报文,极大减小了实现时钟同步所需的通信带宽。同时,构建一个频率可调的时 钟计数器,再配合时钟同步算法,实现频率补偿的功能,达到高精度时钟同步的要求。本发明是通过以下技术方案实现的本发明涉及一种基于IEEE 1588精确时钟同步协议系统,包括CPU管理和控制 模块、带时间戳管理的以太网媒体访问控制器模块、本地参考时钟模块以及物理层收发器 模块,其中CPU管理和控制模块通过总线与带时间戳管理的以太网媒体访问控制器模块 相连,用于管理所述时间同步系统并实现PTP协议和时钟同步,带时间戳管理的以太网媒 体访问控制器模块用于实现PTP消息的解析、时间戳的获取并根据通信标准IEEE 802. 3 完成带时间戳数据包的发送和接收,本地参考时钟模块与CPU管理和控制模块相连以在 传输报文时提供本地时钟的基准,物理层收发器模块通过标准的独立媒体接口(media independent interface,Mil)与带时间戳管理的以太网媒体访问控制器模块相连,为设备 之间的数据通信提供传输媒体及互连设备,提供可靠的数据传输环境。所述的CPU管理和控制模块包括通信接口单元和PTP协议栈;其中通信接口单 元分别接收来自PTP协议栈的数据并打包后通过总线发送至带时间戳管理的以太网媒体 访问控制器模块,并通过事件中断的方式读取带时间戳管理的以太网媒体访问控制器模块 中的数据包,PTP协议栈判断当前节点在网络中所处的主时钟或者从时钟状态并发送报文 至带时间戳管理的以太网媒体访问控制器模块。所述的发送报文是指当PTP协议栈判断本节点为主时钟,则周期的发送同步 (Sync)报文,并在接收到从时钟发送过来的延迟请求(DelayReq)报文后,发送延迟响应 (DelayResp)报文;当PTP协议栈判断本节点为从时钟,则在接收到从时钟发送过来的Sync 报文后,启动时钟同步算法将计算出的频率补偿值传输至本地参考时钟模块,同时从时钟 向主时钟发送DelayReq报文。所述的时钟同步算法是指根据同步过程中的时间戳信息和测量得到的从时钟和 主时钟之间的时间偏移量计算出相应的从时钟频率补偿值。所述的带时间戳管理的以太网媒体访问控制器模块包括MII接口单元、收发 FIFO单元、地址缓冲器、地址过滤器、CRC校验单元、数据包探测器、时间戳寄存器以及MAC 传输控制器,其中MII接口单元与物理层收发器模块相连并传输与数据包相关的数据、 时钟和控制信息,收发FIFO单元与CPU管理和控制模块以及MAC传输控制器相连并传输 PTP数据包信息,实现待发送数据包和已接收到的数据包的存储,地址缓冲器和地址过滤 器分别与MAC传输控制器相连并传输地址信息,实现存储目标节点的地址信息和对接收 到的除广播包外数据包进行地址过滤,CRC校验单元与MAC传输控制器相连并传输循环冗 余码信息,实现产生CRC校验码和进行CRC校验,提高传输的可靠性,数据包探测器与时 间戳寄存器相连并传输捕获到的时间戳信息,实现探测Mil接口上数据包的帧起始标示(start-of-frame delimiter, SFD)标志,当探测到有数据包正在发送或者接收,则将当前 时间锁存至时间戳寄存器中,从而获取到高精度的时间戳信息,时间戳寄存器与数据包探 测器和MAC传输控制器相连并传输时间戳信息,实现记录发送和接收报文的时间戳,MAC传 输控制器与带时间戳管理的以太网媒体访问控制器模块中的其它单元相连并传输PTP数 据包、地址、循环冗余码、时间戳等信息,实现数据链路层(基于标准IEEE 802.3)的功能以 及判断PTP数据包类型,控制所有PTP数据包的发送和接收过程,并在线的将捕获到的时间 戳信息添加至正在发送的Sync数据包末端,一并发送出去,从而使整个同步过程无需再发 送FollowUp报文,减小了实现时钟同步所需的通信带宽。所述的本地参考时钟模块内置晶体振荡器以及频率补偿电路以生成工作时钟,当 对应设备为主时钟且本地参考时钟模块被触发时,则本地参考时钟模块对应输出的系统时 间增加一个时钟周期的数值;当对应设备为从时钟且本地参考时钟模块被触发时,该本地 参考时钟模块启动内部的频率补偿电路,实现了频率补偿功能,克服了晶振漂移,使得普通 的廉价晶振也能用于精确的时钟同步。所述的频率补偿电路包括p位时钟计数器、q位累加器和r位加数寄存器,其中加数寄存器与CPU管理和控制模块相连并传输频率补偿信息,实现对时钟同步算 法计算出的频率补偿值进行锁存,累加器与加数寄存器相连,实现对加数寄存器锁存的频 率补偿值进行累加操作并产生进位标志位,时钟计数器与累加器相连,实现本地系统时间 的输出,当累加器产生进位标志位,时钟计数器将系统时间增加一个时钟周期的数值。当从时钟的本地参考时钟模块被触发时,累加器将自身的值与存储在加数寄存器 中的值相力口,结果存储在累加器中,同时产生一个进位标志位表示这次的加法操作是否溢 出,当发生溢出,系统时间需要增加一个时钟周期的数值。单位时间内时钟计数器数值增加 的次数是由加数寄存器的值和晶振频率共同决定的,改变存储在加数寄存器中的加数,就 改变了累加器进行加法操作时发生溢出的频率,从而改变了时钟计数器增加的频率,实现 了对晶振频率的补偿。本发明涉及上述系统的同步方法,包括以下步骤第一步、主设备通过自身内置的CPU管理和控制模块以组播的形式,周期发送 Sync同步报文,该同步报文带有精确的发送时间戳tM1[k],所述从设备接收该Sync报文并 记录接收时间戳tsl[k],其中k代表第k次时钟同步过程;从设备利用最近测量的线路时延 值Delayjatest,并按照预设的时间偏移量计算公式和频率补偿计算公式算出从设备与主 设备之间的时间偏移量Offset [k]和频率补偿值FreqCompValue [k],然后利用所述频率补 偿值对从设备的本地参考时钟模块进行校正;第二步、从设备向所述主设备发送DelayReq报文,记录发送时间戳tS2[k],主设 备接收并解析该DelayReq报文,并向所述从设备回复DelayResp报文,所述从设备在收到 DelayResp报文后,记录该报文所带有的时间戳信息tM2[k];然后依据相应公式得到新测量 出的线路时延值Delay_new。所述的最近测量的线路时延值Delayjew = ((tsl [k]-tM1 [k]) + (tS2 [k]-tM2 [k])) / 2,其中k为第k次时钟同步过程,且在该时钟同步过程中进行了线路时延测量。所述的预设的时间偏移量Offset [k] = tsl [k]-tM1 [k] -Delay_latest,其中 Delay_latest = Delay_neW,初始值为0,k为第k次时钟同步过程,不论该时钟同步过程中
6是否进行线路时延测量。所述的频率补偿值FreqCompValue [k]通过以下方式获得
FreqCompValue[k] = aWreqCompValue\k -1]
< (m-r[k-\-\)-Offsem;
(Χ —-
、(y[k]-y[k-i])其中r[k]为从时钟第k次收到同步报文时所对应的主时钟系统时间,从时钟根 据测量的线路时延值对其值进行估计,估计值为r[k] = tM1[k]+Delay_latest ;y[k]为从 时钟第k次收到同步报文时的从时钟系统时间,其值为y[k] = tsl[k];频率补偿值初始值 FreqCompValue
的取值取决于频率补偿时钟中q和r的取值以及PLL的配置。假设从时 钟内置晶体振荡器经PLL后的频率为fPa,而从时钟和主时钟系统时间的标称频率为fnOT, 记Ratio = fPLL/fnorm,频率补偿精度为C0mpPrecisi0n(比如IX 10_9),主时钟发送同步 报文的周期为 Tsyn。,则有如下关系式FreqCompValue
= 2q/Ratio, CompPrecision ( 1/ (Tsync □ fnorm), 2q 彡 Ratio/CompPrecision,2r 彡 2q/Ratio 和 2P 彡 2\本发明具有以下优点本发明通过采用硬件形式的时间戳管理,并使用带时间戳管理的以太网媒体访问 控制器模块,使数据链路层和时钟同步的时间戳处理模块集成在一起,从而主时钟在发送 同步报文(Sync)时就带有本次发送的精确时间戳,无需再发送跟随报文,极大减小了实现 时钟同步所需的通信带宽。另外,本发明系统中采用数字电路,构建一个频率可调的时钟计数器,再结合一种 实时性好、容易在嵌入式系统中实现的时钟同步算法,实现频率补偿的功能,达到高精度时 钟同步的要求既保证本地时刻与标准时刻的相位同步,又保证频率同步。


图1为实施例中IEEE 1588时间同步系统的结构示意图。图2为实施例中带时间戳管理的以太网媒体访问控制器模块示意图。图3为实施例主时钟的本地参考时钟模块示意图。图4为实施例从时钟的本地参考时钟模块示意图。图5为实施例IEEE 1588时间同步方法的实现过程示意图。
具体实施例方式下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行 实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施 例。如图1所示,本实施例包括CPU管理和控制模块10、带时间戳管理的以太网媒体 访问控制器模块11、本地参考时钟模块12以及物理层收发器(PHY)模块13 ;其中所述CPU 管理和控制模块10还包括通信接口单元100和PTP协议栈101。通信接口单元100,用于实现PTP数据包的打包发送和接收,完成CPU管理和控制 模块10与带时间戳管理的以太网媒体访问控制器模块11之间的数据交互工作;其通过事
7件中断的方式读取带时间戳管理的以太网媒体访问控制器模块中的数据包,并接收PTP协 议栈的数据,打包后通过总线发送至带时间戳管理的以太网媒体访问控制器模块。PTP协议栈101,用于实现IEEE 1588协议,完成同步过程和线路时延测量,通过通 信接口单元100从带时间戳管理的以太网媒体访问控制器模块11中读取所需的时间戳信 息,再将这些时间戳信息交由时钟同步算法处理。所述时钟同步算法,用于实现线路时延值、从时钟相对于主时钟的时间偏移量和 频率补偿值的计算公式,再将计算得到的频率补偿值,经由通信接口单元100传输给本地 参考时钟模块12处理。带时间戳管理的以太网媒体访问控制器模块11,用于实现PTP消息的解析、时间 戳的获取,并根据通信标准IEEE 802. 3完成带时间戳数据包的发送和接收。本地参考时钟模块12,与CPU管理和控制模块10相连以在传输报文时提供本地时 钟的基准,其主要结构为时钟计数器,而采用IEEE 1588的目的就是使从时钟的本地参考 时钟模块12和主时钟的本地参考时钟模块12保持同步。 物理层收发器模块13,通过标准的独立媒体接口(media independent interface, Mil)与带时间戳管理的以太网媒体访问控制器模块11相连,为设备之间的数 据通信提供传输媒体及互连设备,提供可靠的数据传输环境。本实施例的物理层收发器模块13采用Intel公司的LXT973芯片,负责实现以太 网总线的物理层协议,该芯片带有2个通信端口,且支持双绞线和光纤通信两种通信媒介。本实施例的带时间戳管理的以太网媒体访问控制器模块11和本地参考时钟 模块12,都为在FPGA中实现,FPGA采用Altera公司的Cyclone III系列芯片,型号为 EP3C10E144C8N。FPGA负责实施通信卡的逻辑电路设计,包括通信接口单元,实现与DSP模 块交互的内存映射机制和译码电路;完成多时钟信号产生的锁相环电路(PLL);带时间戳 管理的以太网数据链路层;实施本地参考时钟的数字电路。扩展的串行配置芯片EPCS16作 为FPGA模块的程序存储空间。本实施例的CPU管理和控制模块10在DSP上实现,DSP采用Texas Instruments 公司的TMS320F2812芯片,负责对FPGA芯片的初始化、访问和通信,完成所述时间同步系统 的管理和控制,实施PTP协议栈和时钟同步算法等功能;芯片自带的FLASH存储器运行DSP 模块的系统程序;扩展的SRAM-IS61LV51216作为DSP模块运行的数据存储区,存放时钟同 步精度测试所需的数据。如图2所示,所述的带时间戳管理的以太网媒体访问控制器模块11的具体实施包 括以下模块MII接口单元110,发送FIFO单元111,接收FIFO单元112,地址缓冲器113,地 址过滤器114,CRC校验单元115,数据包探测器116,时间戳寄存器117,MAC发送控制器118 以及MAC接收控制器119。MII接口单元110与物理层收发器模块13相连并传输与数据包 相关的数据、时钟和控制信息,收发FIFO单元111和112与CPU管理和控制模块10以及MAC 传输控制器118和119相连并传输PTP数据包信息,实现待发送数据包和已接收到的数据 包的存储,地址缓冲器113和地址过滤器114分别与MAC传输控制器118和119相连并传输 地址信息,实现存储目标节点的地址信息和对接收到的除广播包外数据包进行地址过滤, CRC校验单元115与MAC传输控制器118和119相连并传输循环冗余码信息,实现产生CRC 校验码和进行CRC校验,提高传输的可靠性,数据包探测器116与时间戳寄存器117相连
8并传输捕获到的时间戳信息,实现探测MII接口上数据包的帧起始标示(start-of-frame delimiter, SFD)标志,当探测到有数据包正在发送或者接收,则将当前时间锁存至时间戳 寄存器中,从而获取到高精度的时间戳信息,时间戳寄存器117与数据包探测器116和MAC 传输控制器118、119相连并传输时间戳信息,实现记录发送和接收报文的时间戳,MAC传输 控制器118和119与带时间戳管理的以太网媒体访问控制器模块中的其它单元相连并传输 PTP数据包、地址、循环冗余码、时间戳等信息,实现数据链路层(基于标准IEEE 802.3)的 功能以及判断PTP数据包类型,控制所有PTP数据包的发送和接收过程,并在线的将捕获到 的时间戳信息添加至正在发送的Sync数据包末端,一并发送出去,从而使整个同步过程无 需再发送FollowUp报文,减小了实现时钟同步所需的通信带宽。PTP消息的发送过程可以概括为首先PTP协议栈通过通信接口单元将PTP消息 数据包写入发送FIFO 111中,写入完毕后通知MAC发送控制器118开始启动发送状态机进 行数据包的发送,发送顺序依次为以太网前导符,数据帧的起始定界符,地址缓冲器113中 的目标地址,发送FIFO 111中的源地址、以太网帧类型和其他有效数据,最后发送由CRC校 验单元115产生32位的CRC值。在数据包发送的过程当中,数据包探测器116探测到MII 接口上数据包的SFD标志,并将当前时间锁存至时间戳寄存器117中,从而获取到精确的发 送时间戳信息。MAC发送控制器118通过判断PTP数据包类型,在线的将捕获到的时间戳信 息添加至正在发送的Sync报文有效数据的后面,一并发送出去,从而使整个同步过程无需 再发送FollowUp报文,减小了实现时钟同步所需的通信带宽。报文数据流经由MII接口单 元110发送至物理层收发器模块13。PTP消息的接收过程可以概括为首先物理层收发器模块13经由MII接口单元将 报文数据流传输至MAC接收控制器119,经过地址过滤器114和CRC校验115通过后,启动 接收状态机进行PTP数据包的接收,并将其有效数据保存至接收FIF0112中。在数据包接 收的过程当中,数据包探测器116探测到MII接口上数据包的SFD标志,并将当前时间锁存 至时间戳寄存器117中,从而获取到精确的接收时间戳信息。如图3所示,本发明方法针对主时钟本地参考时钟模块12的具体实施方式
详细描 述为当模块被触发时,在原有的系统时间基础上增加一个时钟周期的数值,此时钟周期取 决于本地晶振和对锁相环电路(PLL)的配置,在本实施例中,本地晶振采用50MHz的有源晶 振,而时钟周期配置为20ns。如图4所示,本发明方法针对从时钟本地参考时钟模块12的具体实施方式
详细描 述为对于从时钟,除了要完成系统时间计数功能以外,还有进行频率补偿,以期达到和主 时钟相位同步和频率同步。在本实施例中,从时钟的本地参考时钟模块实质为一个频率补 偿时钟,主要由一个64位时钟计数器、一个32位累加器和一个32位加数寄存器构成。本 地晶振和与主时钟相同,为50MHz,再经过PLL倍频成100MHz的时钟信号提供给频率补偿时 钟模块。当模块被触发时,累加器将自身的值与存储在加数寄存器中的值相加,结果存储在 累加器中,同时产生一个进位标志位表示这次的加法操作是否溢出,当发生溢出,系统时间 需要增加一个时钟周期的数值。单位时间内时钟计数器数值增加的次数是由加数寄存器的 值和时钟信号共同决定的,通过时钟同步算法得到的频率补偿值改变存储在加数寄存器中 的加数,相当于调整了累加器进行加法操作时发生溢出的频率,从而改变时钟计数器增加 的频率,实现了对晶振频率的补偿。
9
图5为实施例中IEEE 1588时间同步方法的实现过程示意图,如图5所示,具体实 施方式包括以下步骤A、主时钟以组播方式每隔2秒周期性的向从时钟发送Sync同步报文,由于本发 明提出了一种数据链路层和时钟同步的时间戳处理模块集成在一起的硬件实现方式,因此 Sync同步报文中包含精确的发送时间戳信息(即Sync同步报文发送时的主时钟本地时 间),记为tM1 [k],其中k代表第k次同步过程;B、从时钟收到Sync同步报文,记录接收时的本地时间tsl[k],并从Sync同步报 文中提取出Sync同步报文的发送时间tM1[k],然后通过调用时钟同步算法,得到从时钟 相对于主时钟的时间偏移量Offset [k]和频率补偿值FreqCompValue [k]。时间偏移量 Offset [k]的计算公式为Offset [k] = tsl[k]-tM1[k]-Delay_latest ;其中=DelayJatest为最近一次的线路时延测量值。频率补偿值 FreqCompValue [k]的计算公式为
FreqCompValue[k] = aWreqCompValue\k -1]
< cc_(m-r[k-\-\)-Offsem;
、— (y[k]-y[k-i])其中r[k]为从时钟第k次收到同步报文时所对应的主时钟系统时间,从时钟根 据测量的线路时延值对其值进行估计,估计值为r[k] = tM1[k]+Delay_latest ;y[k]为 从时钟第k次收到同步报文时的从时钟系统时间,其值为y[k] = tsl[k];频率补偿值初 始值FreqCompValue
的取值取决于频率补偿时钟中q和r的取值以及PLL的配置。在 本实施例中,FreqCompValuetO] = 0x80000000。每个同步过程计算得到的频率补偿值 FreqCompValuetk],将直接作用于所述的频率补偿时钟模块12。C、从时钟并不需要在每个同步过程都进行线路时延测量,相邻两次测量之间的时 间间隔为随机的,从而避免子网中的多个从时钟同时向主时钟请求发送DelayReq报文, 造成主时钟接收时发生拥塞。当本次同步过程允许进行线路时延测量时,从时钟在时钟同 步算法结束后,发送DelayReq请求报文,并记录下该报文的发送时间戳信息tS2[k]。主时 钟在接收DelayReq请求报文时,记录接收时间戳信息tM2[k]以及该从时钟的地址信息,然 后以单播形式向相应的从时钟发送DelayResp响应报文。从时钟在接收到DelayResp响应 报文后,提出出时间戳信息tM2 [k],然后依据相应公式得到新测量出的线路时延值Delay_ new ο该计算公式为Delay_new = ((tsl [k] _tM1 [k]) + (tS2 [k]-t^ [k])) /2 ;Delay_latest = Delay_new ;其中k为第k次时钟同步过程,且在该时钟同步过程中进行了线路时延测量。经过所述的IEEE 1588时间同步方法的三个步骤后,就能保证从时钟和主时钟之 间的相位同步和频率同步。
10
权利要求
一种基于IEEE 1588精确时钟同步协议系统,其特征在于,包括CPU管理和控制模块、带时间戳管理的以太网媒体访问控制器模块、本地参考时钟模块以及物理层收发器模块,其中CPU管理和控制模块通过总线与带时间戳管理的以太网媒体访问控制器模块相连,用于管理所述时间同步系统并实现PTP协议和时钟同步,带时间戳管理的以太网媒体访问控制器模块用于实现PTP消息的解析、时间戳的获取并根据通信标准IEEE 802.3完成带时间戳数据包的发送和接收,本地参考时钟模块与CPU管理和控制模块相连并传输报文以提供本地时钟的基准,物理层收发器模块通过标准的独立媒体接口与带时间戳管理的以太网媒体访问控制器模块相连,为设备之间的数据通信提供传输媒体及互连设备,提供可靠的数据传输环境。
2.根据权利要求1所述的基于IEEE1588精确时钟同步协议系统,其特征是,所述的 CPU管理和控制模块包括通信接口单元和PTP协议栈;其中通信接口单元分别接收来自 PTP协议栈的数据并通过事件中断的方式读取带时间戳管理的以太网媒体访问控制器模块 中的数据包并打包后通过总线发送至带时间戳管理的以太网媒体访问控制器模块,PTP协 议栈判断当前节点在网络中所处的主时钟或者从时钟状态并发送报文至本地参考时钟模 块。
3.根据权利要求1所述的基于IEEE1588精确时钟同步协议系统,其特征是,所述的发 送报文是指当PTP协议栈判断本节点为主时钟,则周期的发送同步报文,并在接收到从时 钟发送过来的延迟请求报文后,发送延迟响应报文;当PTP协议栈判断本节点为从时钟,则 在接收到从时钟发送过来的Sync报文后,启动时钟同步算法将计算出的频率补偿值传输 至本地参考时钟模块,同时从时钟向主时钟发送DelayReq报文。
4.根据权利要求3所述的基于IEEE1588精确时钟同步协议系统,其特征是,所述的时 钟同步算法是指根据同步过程中的时间戳信息和测量得到的从时钟和主时钟之间的时间 偏移量计算出相应的从时钟频率补偿值。
5.根据权利要求1所述的基于IEEE1588精确时钟同步协议系统,其特征是,所述的 带时间戳管理的以太网媒体访问控制器模块包括MII接口单元、收发FIFO单元、地址缓冲 器、地址过滤器、CRC校验单元、数据包探测器、时间戳寄存器以及MAC传输控制器,其中 Mil接口单元与物理层收发器模块相连并传输与数据包相关的数据、时钟和控制信息,收发 FIFO单元与CPU管理和控制模块以及MAC传输控制器相连并传输PTP数据包信息,实现待 发送数据包和已接收到的数据包的存储,地址缓冲器和地址过滤器分别与MAC传输控制器 相连并传输地址信息,实现存储目标节点的地址信息和对接收到的除广播包外数据包进行 地址过滤,CRC校验单元与MAC传输控制器相连并传输循环冗余码信息,实现产生CRC校验 码和进行CRC校验,提高传输的可靠性,数据包探测器与时间戳寄存器相连并传输捕获到 的时间戳信息,实现探测Mil接口上数据包的帧起始标示标志,当探测到有数据包正在发 送或者接收,则将当前时间锁存至时间戳寄存器中,从而获取到高精度的时间戳信息,时间 戳寄存器与数据包探测器和MAC传输控制器相连并传输时间戳信息,实现记录发送和接收 报文的时间戳,MAC传输控制器与带时间戳管理的以太网媒体访问控制器模块中的其它单 元相连并传输PTP数据包、地址、循环冗余码、时间戳等信息,实现基于标准IEEE 802. 3的 数据链路层的功能以及判断PTP数据包类型,控制所有PTP数据包的发送和接收过程,并在 线的将捕获到的时间戳信息添加至正在发送的Sync数据包末端,一并发送出去,从而使整个同步过程无需再发送FollowUp报文,减小了实现时钟同步所需的通信带宽。
6.根据权利要求1所述的基于IEEE1588精确时钟同步协议系统,其特征是,所述的本 地参考时钟模块内置晶体振荡器以及频率补偿电路以生成工作时钟,当对应设备为主时钟 且本地参考时钟模块被触发时,则本地参考时钟模块对应输出的系统时间增加一个时钟周 期的数值;当对应设备为从时钟且本地参考时钟模块被触发时,该本地参考时钟模块启动 内部的频率补偿电路。
7.根据权利要求6所述的基于IEEE1588精确时钟同步协议系统,其特征是,所述的频 率补偿电路包括P位时钟计数器、q位累加器和r位加数寄存器,其中加数寄存器与CPU 管理和控制模块相连并传输频率补偿信息,实现对时钟同步算法计算出的频率补偿值进行 锁存,累加器与加数寄存器相连,实现对加数寄存器锁存的频率补偿值进行累加操作并产 生进位标志位,时钟计数器与累加器相连,实现本地系统时间的输出,当累加器产生进位标 志位,时钟计数器将系统时间增加一个时钟周期的数值。
8.一种根据权利要求1所述系统的同步方法,其特征在于,包括以下步骤第一步、主设备通过自身内置的CPU管理和控制模块以组播的形式,周期发送Sync同 步报文,该同步报文带有精确的发送时间戳tM1[k],所述从设备接收该Sync报文并记录 接收时间戳tsl [k],其中k代表第k次时钟同步过程;从设备利用最近测量的线路时延值 Delayjatest,并按照预设的时间偏移量计算公式和频率补偿计算公式算出从设备与主设 备之间的时间偏移量Offset [k]和频率补偿值FreqCompValue [k],然后利用所述频率补偿 值对从设备的本地参考时钟模块进行校正;第二步、从设备向所述主设备发送DelayReq报文,记录发送时间戳tS2[k],主设备 接收并解析该DelayReq报文,并向所述从设备回复DelayResp报文,所述从设备在收到 DelayResp报文后,记录该报文所带有的时间戳信息tM2[k];然后依据相应公式得到新测量 出的线路时延值Delay_new。
9.根据权利要求8所述的同步方法,其特征是,第一步中所述的最近测量的线路时 延值 Delay_new = ((tsl [k] _tM1 [k]) + (tS2 [k] [k])) /2,其中k 为第 k 次时钟同步过 程,且在该时钟同步过程中进行了线路时延测量;所述的预设的时间偏移量0ffset[k] =tsl [k] -tM1 [k] -Delay_latest,其中:Delay_latest = Delay_new,初始值为 0, k 为第 k次时钟同步过程,不论该时钟同步过程中是否进行线路时延测量;所述的频率补偿值 FreqCompValue [k]通过以下方式获得FreqCompValue[k] = aWreqCompValue\k -1]< (m-r[k-\-\)-Offsem‘(X —-、(y[k]-y[k-i])其中r[k]为从时钟第k次收到同步报文时所对应的主时钟系统时间,从时钟根据测 量的线路时延值对其值进行估计,估计值为r[k] = tM1[k]+Delay_latest ;y[k]为从时 钟第k次收到同步报文时的从时钟系统时间,其值为y[k] =tsl[k];频率补偿值初始值 FreqComp Value
的取值取决于频率补偿时钟中q和r的取值以及PLL的配置。
全文摘要
一种网络信息传输技术领域的基于IEEE 1588精确时钟同步协议系统及其同步方法,使得主时钟在发送同步报文时就带有本次发送的精确时间戳,无需再发送跟随报文,极大减小了实现时钟同步所需的通信带宽。同时,构建一个频率可调的时钟计数器,再配合时钟同步算法,实现频率补偿的功能,达到高精度时钟同步的要求。
文档编号H04L12/40GK101977104SQ20101054298
公开日2011年2月16日 申请日期2010年11月13日 优先权日2010年11月13日
发明者丁懋卿, 朱向阳, 熊振华, 盛鑫军, 许雄 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1