同步客户端及其同步方法和系统的制作方法
【技术领域】
[0001]本发明涉及通信技术领域,特别是涉及一种同步客户端及其同步方法和系统。
【背景技术】
[0002]通信设备常用的时间同步方法有GPS (Global Posit1ning System,全球定位系统)、空口同步、NTP(Network Time Protocol,网络时间协议)和1588V2时钟(采用IEEE1588V2协议的高精度时钟)等。GPS受限于室外GPS信号,空口同步受限于邻近存在宏基站,NTP受限于同步精度,而1588V2时钟只需要网络支持即可,因此具有更广泛的使用前景。
[0003]1588V2时钟通过硬件时间戳和1588协议栈实现客户端与服务端的高精度时间同步。目前的同步实现方法为:FPGA(Field — Programmable Gate Array,现场可编程门阵列)负责1588报文识别,打硬件时间戳,产生秒脉冲,CPU负责1588协议处理。
[0004]但是,上述同步实现方法的FPGA必须放在CPU前端,CPU网口依赖于FPGA,网络拓扑复杂、适用性差。
【发明内容】
[0005]基于此,有必要针对上述同步实现方法网络拓扑复杂、适用性差的问题,提供一种同步客户端及其同步方法和系统。
[0006]—种同步客户端,包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块;所述参考脉冲模块用于生成本地参考脉冲并向所述同步脉冲模块发送;所述时间戳模块用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件、并向所述报文处理模块发送所述接收时间戳事件和所述发送时间戳事件;所述报文处理模块用于生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差、对应所述时间偏差对本地晶振频率进行频率同步调整、并向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间;所述同步脉冲模块用于对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
[0007]上述同步客户端,包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块,报文处理模块生成与时间戳模块发送的所述发送时间戳事件和所述接收时间戳事件对应的时间偏差、对应所述时间偏差对本地晶振频率进行频率同步调整、并向同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间;同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整,可实时快速的生成时间同步脉冲,同步脉冲模块可置于报文处理模块之后,成本低、灵活性高且网络拓扑扩展性强。
[0008]—种同步客户端的同步方法,同步客户端包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块;同步方法包括以下步骤:
[0009]将所述参考脉冲模块生成的本地参考脉冲向所述同步脉冲模块发送;
[0010]接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,其中,所述时间戳模块用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件;
[0011]生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差;
[0012]对应所述时间偏差对本地晶振频率进行频率同步调整;
[0013]向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
[0014]—种同步客户端的同步系统,同步客户端包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块;同步系统包括:
[0015]脉冲通信模块,用于将所述参考脉冲模块生成的本地参考脉冲向所述同步脉冲模块发送;
[0016]时间戳通信模块,用于接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,其中,所述时间戳模块用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件;
[0017]时间偏差模块,用于生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差;
[0018]频率调整模块,用于对应所述时间偏差对本地晶振频率进行频率同步调整;
[0019]时间同步模块,用于向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
[0020]上述同步客户端的同步方法和系统,通过接收时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差,对应所述时间偏差对本地晶振频率进行频率同步调整,向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。可实时快速的生成时间同步脉冲,同步脉冲模块可置于报文处理模块之后,成本低、灵活性高且网络拓扑扩展性强。
【附图说明】
[0021]图1是本发明同步客户端第一实施方式的结构示意图;
[0022]图2是本发明同步客户端第二实施方式的结构示意图;
[0023]图3是本发明同步客户端第二实施方式中报文协议栈的报文状态机的状态示意图;
[0024]图4是本发明同步客户端的同步方法第一实施方式的流程示意图;
[0025]图5是本发明同步客户端的同步系统第一实施方式的结构示意图。
【具体实施方式】
[0026]为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
[0027]请参阅图1,图1是本发明的同步客户端第一实施方式的结构示意图。
[0028]本实施方式的所述同步客户端,可包括报文处理模块100、同步脉冲模块200以及同频同相的参考脉冲模块300和时间戳模块400 ;参考脉冲模块300用于生成本地参考脉冲并向同步脉冲模块200发送;时间戳模块400用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件、并向报文处理模块100发送所述接收时间戳事件和所述发送时间戳事件;报文处理模块100用于生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差、对应所述时间偏差对本地晶振频率进行频率同步调整、并向同步脉冲模块200发送所述时间偏差和频率同步调整后的本地时间;同步脉冲模块200对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
[0029]本实施方式,包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块,报文处理模块生成与时间戳模块发送的所述发送时间戳事件和所述接收时间戳事件对应的时间偏差、对应所述时间偏差对本地晶振频率进行频率同步调整、并向同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间;同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整,可实时快速的生成时间同步脉冲,同步脉冲模块可置于报文处理模块之后,成本低、灵活性高且网络拓扑扩展性强。
[0030]其中,对于参考脉冲模块300,可生成时间间隔相同的本地参考脉冲或时间间隔在预设间隔范围内的本地参考脉冲。优选地参考脉冲模块300与时间戳模块400同时启动,可与时间戳模块400的参考时钟来自同一时钟源,且计数的初始时刻一致。可每秒输出一个秒脉冲。
[0031]优选地,所述参考脉冲模块包括为定时器,用于生成时间间隔相同的本地参考秒脉冲。所述定时器可为本领域技术人员通用的硬件定时器。
[0032]进一步地,参考脉冲模块300可为内置于报文处理模块100的通用定时器。
[0033]对于时间戳模块400,所述接收报文可为同步客户端接收的来自时钟服务端的报文,如sync报文。所述发送报文可为同步客户端向时钟服务端发送的报文,如delay_req报文。
[0034]优选地,所述发送时间戳或所述接收时间戳可为所述接收报文或所述发送报文的起始字节位的时间戳。
[0035]在一个实施例中,时间戳模块400可包括计时模块和控制模块;所述计时模块分别记录所述接收报文和所述发送报文的各字节位对应的时间戳,所述控制模块用于分别将记录的所述接收报文和所述发送报文的起始字节位的时间戳生成所述接收时间戳和所述发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件、并向报文处理模块100发送所述接收时间戳事件和所述发送时间戳事件。
[0036]优选地,所述计时模块可为64位计数器。所述时间戳模块可为同步客户端的通信模块(如网卡)中用于打时间戳的模块。
[0037]在另一个实施例中,时间戳模块400还可包括识别模块和缓存模块,其中,
[0038]所述识别模块用于分别识别所述接收报文和所述发送报文对应的报文类型和报文序号;
[0039]所述控制模块用于在所述接收报文对应的报文类型为1588V2报文类型时,将记录的所述接收报文的起始字节位的时间戳生成所述接收时间戳、生成包括所述接收时间戳、