CN105099650A - 同步客户端及其同步方法和系统 - Google Patents
同步客户端及其同步方法和系统 Download PDFInfo
- Publication number
- CN105099650A CN105099650A CN201510543226.0A CN201510543226A CN105099650A CN 105099650 A CN105099650 A CN 105099650A CN 201510543226 A CN201510543226 A CN 201510543226A CN 105099650 A CN105099650 A CN 105099650A
- Authority
- CN
- China
- Prior art keywords
- time
- message
- module
- event
- reception
- 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.)
- Granted
Links
Landscapes
- Electric Clocks (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明涉及一种同步客户端及其同步方法和系统,同步客户端包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块,报文处理模块生成与时间戳模块发送的所述发送时间戳事件和所述接收时间戳事件对应的时间偏差、对应所述时间偏差对本地晶振频率进行频率同步调整、并向同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间;同步脉冲模块对应所述本地时间从所述参考脉冲模块发送的本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。实施本发明,可实时快速的生成时间同步脉冲,同步脉冲模块可置于报文处理模块之后,成本低、灵活性高且网络拓扑扩展性强。
Description
技术领域
本发明涉及通信技术领域,特别是涉及一种同步客户端及其同步方法和系统。
背景技术
通信设备常用的时间同步方法有GPS(GlobalPositioningSystem,全球定位系统)、空口同步、NTP(NetworkTimeProtocol,网络时间协议)和1588V2时钟(采用IEEE1588V2协议的高精度时钟)等。GPS受限于室外GPS信号,空口同步受限于邻近存在宏基站,NTP受限于同步精度,而1588V2时钟只需要网络支持即可,因此具有更广泛的使用前景。
1588V2时钟通过硬件时间戳和1588协议栈实现客户端与服务端的高精度时间同步。目前的同步实现方法为:FPGA(Field-ProgrammableGateArray,现场可编程门阵列)负责1588报文识别,打硬件时间戳,产生秒脉冲,CPU负责1588协议处理。
但是,上述同步实现方法的FPGA必须放在CPU前端,CPU网口依赖于FPGA,网络拓扑复杂、适用性差。
发明内容
基于此,有必要针对上述同步实现方法网络拓扑复杂、适用性差的问题,提供一种同步客户端及其同步方法和系统。
一种同步客户端,包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块;所述参考脉冲模块用于生成本地参考脉冲并向所述同步脉冲模块发送;所述时间戳模块用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件、并向所述报文处理模块发送所述接收时间戳事件和所述发送时间戳事件;所述报文处理模块用于生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差、对应所述时间偏差对本地晶振频率进行频率同步调整、并向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间;所述同步脉冲模块用于对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
上述同步客户端,包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块,报文处理模块生成与时间戳模块发送的所述发送时间戳事件和所述接收时间戳事件对应的时间偏差、对应所述时间偏差对本地晶振频率进行频率同步调整、并向同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间;同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整,可实时快速的生成时间同步脉冲,同步脉冲模块可置于报文处理模块之后,成本低、灵活性高且网络拓扑扩展性强。
一种同步客户端的同步方法,同步客户端包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块;同步方法包括以下步骤:
将所述参考脉冲模块生成的本地参考脉冲向所述同步脉冲模块发送;
接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,其中,所述时间戳模块用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件;
生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差;
对应所述时间偏差对本地晶振频率进行频率同步调整;
向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
一种同步客户端的同步系统,同步客户端包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块;同步系统包括:
脉冲通信模块,用于将所述参考脉冲模块生成的本地参考脉冲向所述同步脉冲模块发送;
时间戳通信模块,用于接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,其中,所述时间戳模块用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件;
时间偏差模块,用于生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差;
频率调整模块,用于对应所述时间偏差对本地晶振频率进行频率同步调整;
时间同步模块,用于向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
上述同步客户端的同步方法和系统,通过接收时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差,对应所述时间偏差对本地晶振频率进行频率同步调整,向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。可实时快速的生成时间同步脉冲,同步脉冲模块可置于报文处理模块之后,成本低、灵活性高且网络拓扑扩展性强。
附图说明
图1是本发明同步客户端第一实施方式的结构示意图;
图2是本发明同步客户端第二实施方式的结构示意图;
图3是本发明同步客户端第二实施方式中报文协议栈的报文状态机的状态示意图;
图4是本发明同步客户端的同步方法第一实施方式的流程示意图;
图5是本发明同步客户端的同步系统第一实施方式的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
请参阅图1,图1是本发明的同步客户端第一实施方式的结构示意图。
本实施方式的所述同步客户端,可包括报文处理模块100、同步脉冲模块200以及同频同相的参考脉冲模块300和时间戳模块400;参考脉冲模块300用于生成本地参考脉冲并向同步脉冲模块200发送;时间戳模块400用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件、并向报文处理模块100发送所述接收时间戳事件和所述发送时间戳事件;报文处理模块100用于生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差、对应所述时间偏差对本地晶振频率进行频率同步调整、并向同步脉冲模块200发送所述时间偏差和频率同步调整后的本地时间;同步脉冲模块200对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
本实施方式,包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块,报文处理模块生成与时间戳模块发送的所述发送时间戳事件和所述接收时间戳事件对应的时间偏差、对应所述时间偏差对本地晶振频率进行频率同步调整、并向同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间;同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整,可实时快速的生成时间同步脉冲,同步脉冲模块可置于报文处理模块之后,成本低、灵活性高且网络拓扑扩展性强。
其中,对于参考脉冲模块300,可生成时间间隔相同的本地参考脉冲或时间间隔在预设间隔范围内的本地参考脉冲。优选地参考脉冲模块300与时间戳模块400同时启动,可与时间戳模块400的参考时钟来自同一时钟源,且计数的初始时刻一致。可每秒输出一个秒脉冲。
优选地,所述参考脉冲模块包括为定时器,用于生成时间间隔相同的本地参考秒脉冲。所述定时器可为本领域技术人员通用的硬件定时器。
进一步地,参考脉冲模块300可为内置于报文处理模块100的通用定时器。
对于时间戳模块400,所述接收报文可为同步客户端接收的来自时钟服务端的报文,如sync报文。所述发送报文可为同步客户端向时钟服务端发送的报文,如delay_req报文。
优选地,所述发送时间戳或所述接收时间戳可为所述接收报文或所述发送报文的起始字节位的时间戳。
在一个实施例中,时间戳模块400可包括计时模块和控制模块;所述计时模块分别记录所述接收报文和所述发送报文的各字节位对应的时间戳,所述控制模块用于分别将记录的所述接收报文和所述发送报文的起始字节位的时间戳生成所述接收时间戳和所述发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件、并向报文处理模块100发送所述接收时间戳事件和所述发送时间戳事件。
优选地,所述计时模块可为64位计数器。所述时间戳模块可为同步客户端的通信模块(如网卡)中用于打时间戳的模块。
在另一个实施例中,时间戳模块400还可包括识别模块和缓存模块,其中,
所述识别模块用于分别识别所述接收报文和所述发送报文对应的报文类型和报文序号;
所述控制模块用于在所述接收报文对应的报文类型为1588V2报文类型时,将记录的所述接收报文的起始字节位的时间戳生成所述接收时间戳、生成包括所述接收时间戳、所述接收报文对应的报文类型和报文序号的接收时间戳事件、并将所述接收时间戳事件向所述报文处理模块发送;
所述控制模块还用于在所述发送报文对应的报文类型为1588V2报文类型时,将记录的所述发送报文的起始字节位的时间戳生成所述发送时间戳、生成包括所述发送时间戳、所述发送报文对应的报文类型和报文序号的发送时间戳事件、并将所述发送时间戳事件向所述报文处理模块发送;
所述缓存模块用于缓存所述接收报文和所述发送报文的各字节位对应的时间戳、所述接收时间戳事件、所述发送时间戳事件以及所述接收报文和所述发送报文对应的报文类型和报文序号。
优选地,所述缓存模块可为硬件FIFO(FirstInFirstOut,先入先出队列)存储器,缓存所述接收时间戳事件或所述发送时间戳事件后,产生中断信号并向报文处理模块100发送中断信号。所述报文序号为报文的身份标识。
在其他实施例中,当接收报文或发送报文的数目为两个以上,为了区分各个接收报文的接收时间戳事件或各个发送报文的发送时间戳事件,根据同步客户端接收到各个接收报文的先后顺序,向所述报文处理模块100发送接收时间戳事件,以及各接收报文与其接收时间戳事件对应。根据同步客户端发送各个发送报文的先后顺序,向所述报文处理模块100发送所述发送时间戳事件,以及各发送报文与其发送时间戳事件对应。本领域技术人员还可以通过其他惯用技术手段区分各个接收报文的接收时间戳事件或各个发送报文的发送时间戳事件。
对于报文处理模块100,优选地可为本领域技术人员惯用的CPU。可预先生成所述时间偏差与本地晶振频率调整量之间的对应关系,通过与所述时间偏差对应的调整量,对本地晶振频率进行频率同步调整。
在一个实施例中,报文处理模块100可包括事件处理模块、报文协议栈和时钟伺服器,其中:
所述事件处理模块用于在所述接收时间戳事件中的报文类型、报文序号与所述接收报文的报文类型、报文序号匹配时,将所述接收时间戳事件向所述报文协议栈发送;
所述事件处理模块还用于在所述发送时间戳事件中的报文类型、报文序号与所述发送报文的skb文件匹配时,将所述发送时间出事件向所述协议栈发送;
所述报文协议栈用于从所述接收时间戳事件和所述发送时间戳事件中提取所述发送时间和所述接收时间、生成与所述发送时间和所述接收时间对应的时间偏差并向所述时钟伺服器发送;
所述时钟伺服器用于对所述时间偏差滤波、将滤波后的时间偏差转换为频差、并根据所述频差对本地晶振频率进行频率同步调整。
优选地,所述报文协议栈可为1588V2协议栈。所述接收时间戳事件中的报文类型、报文序号与所述接收报文的报文类型、报文序号分别一致时,判定匹配。所述发送时间戳事件中的报文类型、报文序号与所述发送报文的skb文件中记录的报文类型、报文序号分别一致时,判定匹配。
优选地,可预先设置所述发送时间和所述接收时间与所述时间偏差见的对应关系,也可通过本领域技术人员惯用的技术手段将所述发送时间和所述接收时间转换为对应的时间偏差。可根据本领域技术人员惯用的技术手段将时间偏差转换为频差。
进一步地,所述报文协议栈还用于生成与所述发送时间和所述接收时间对应的线路延时、并将所述线路延时向所述时钟伺服器(时钟服务端)发送,所述时钟伺服器还用于根据所述线路延时对所述报文协议栈进行线路延时更新。
其中,根据所述线路延时对所述协议栈进行的线路延时更新,可使所述报文协议栈处于空闲状态,在发送报文定时器到期后发送报文,进入等待发送时间戳事件的状态。
在一个实施例中,报文处理模块根据1588V2报文、时间戳事件到达次序可能不固定,新增软件FIFO,用于使两者信息同步,信息同步后,将1588V2报文和接收时间戳一起发送到报文协议栈处理;报文协议栈接收到后,发送delay_req报文,等待delay_rep报文对应的发送时间戳事件、delay_resp报文,如果在规定时间内等待超时,那么重新发送delay_req报文,实现1588V2报文的可靠传输。
对于同步脉冲模块200,可为现场可编程门阵列。
优选地,同步脉冲模块200从所述本地参考脉冲中查找所述本地时间之后的下一个脉冲为查找的对应脉冲,然后将所述时间偏差(可正可负)与所述对应脉冲进行求和,完成时间同步调整,恢复出时间同步脉冲。
在一个实施例中,在查找对应脉冲前,可检测所述本地参考脉冲是否频率同步,若频率同步,则对应所述本地时间从所述本地参考脉冲中查找对应脉冲,并对应所述时间偏差对所述对应脉冲进行时间同步调整。
优选地,可通过比较所述本地参考脉冲中两个相邻脉冲的频率抖动范围是否在预设范围内,判断所述本地参考脉冲是否频率同步,若在,则频率同步。
本实施方式的同步客户端具有低成本,兼具实时处理与灵活性,并具有良好的网络拓扑,可保证1588V2报文可靠传输、使同步精度在200~300ns之内,频偏0.05ppm,可满足LTE基站的时间同步要求。
请参阅图2,图2是本发明的同步客户端第二实施方式的结构示意图。
本实施方式所述同步客户端与第一实施方式的区别在于:报文处理模块为CPU2010、参考脉冲模块为定时器2020、时间戳模块2030与定时器2020集成在CPU2010内,CPU2010还包括用于接收和发送报文的网口与网口驱动,网卡驱动设置在网卡与1588V2协议栈(报文协议栈)2011之间,同步脉冲模块设置在CPU2010之后。
本实施方式的同步客户端可用于实现基站同步,其具体工作流程如下:
步骤101,基站上电启动后配置时钟子系统,时间戳模块2030与定时器2020的参考时钟(1588_ref_clk)为31.25MHz,同步脉冲模块的工作时钟(fpga_clk)为122.88MHz。
步骤102,基站上电启动后加载1588驱动,配置定时器2020每秒输出一个秒脉冲,配置时间戳模块2030识别1588V2报文(接收报文和发送报文)、生成包括相应时间戳(接收时间戳、发送时间戳)的相应时间戳事件(发送时间戳事件、接收时间戳事件),同时使能定时器2020和时间戳模块2030。
步骤103:基站上电启动后加载网口驱动,配置网口IP,配置网口接收1588V2二层组播包;
步骤104:CPU2010初始化报文协议栈,根据1588V2报文以及时间戳事件计算出时间偏差以及线路延时,根据时间偏差频计算出频偏,并根据频偏本地晶振频率进行频率同步调整,达到与时钟子系统同步,并向同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
在一个实施例中,上述步骤104可具体包括如下步骤:
步骤201:网卡接收时钟服务端发来的announce报文,根据announce报文提取时钟服务端的时钟质量与时钟标识,以确定基站需要同步的时钟服务端。
步骤202:网卡接收到来自时钟服务端的接收报文时,时间戳模块2030的计时单元在报文起始位记录时间戳生成接收时间戳t1,当识别到该接收报文为sync报文后,控制模块将接收时间戳t1、识别的报文类型和报文序号一起存入硬件FIFO中,触发时间戳事件中断,控制模块将接收时间戳事件缓存。
步骤203:网卡收到sync报文后,触发收包中断,网卡驱动中检查sync报文内报文序号、类型是否匹配缓存的接收时间戳事件,如果匹配,则将接收时间戳事件通过程序接口送入1588V2协议栈2011。
步骤204:如果时间戳模块2030在运行时出现计数溢出,那么触发中断,告之CPU的时钟伺服器,时钟伺服器更新时间信息。
步骤205:1588V2协议栈2011从程序接口接收sync报文后,从接收时间戳事件中提取出接收时间戳t1,并从程序辅助信息中提出1588V2协议栈2011接收所述sync报文所对应的时间戳t2。
步骤206:1588V2协议栈2011在接收sync报文后,并得到t1和t2后,触发delay_req报文的发送。
步骤207:1588V2协议栈2011通过程序接口发送delay_req报文,网卡驱动将delay_req报文发给网卡,delay_req报文发给网卡后,触发发包完成中断,时间戳模块2030在网卡接收delay_req报文的起始的时时间戳记录为发送时间戳,时间戳模块2030的控制模块将发送时间戳t3、delay_req报文的报文类型、报文序号一起存入硬件FIFO,触发发送时间戳事件中断。
步骤208:网卡驱动处理发包完成中断,将缓存所述delay_req报文的skb文件,将skb文件与发送时间戳事件的匹配工作交给一个工作队列,通过异步方式,实现网口驱动高效处理。
步骤209:时间戳模块2030的控制模块处理时间戳事件中断,从硬件FIFO中提取delay_req报文的发送时间戳以及报文类型,报文序号生成发送时间戳事件并缓存,通知CPU2010执行工作队列,该工作队列匹配skb文件与发送时间戳事件,将发送时间戳t3存入sh_hw_tstamps,并将skb存入msg_errqueue。
步骤210:1588V2协议栈2011从msg_errqueue中提取t3,并等待接收delay_resp报文,从delay_resp报文中提取t4;1588V2协议栈2011通过t1~t4得到时间偏差以及线路延时,并将其输送给时钟伺服器,时钟伺服器通过滤波算法过滤出合适的时间偏差和线路延时,并由此算出频差,根据PI算法调整晶振,从而调整频率,直到频差满足PI控制器要求,达到频率同步。
步骤211:定时器2020在每秒输出参考秒脉冲时的同时产生1pps中断,CPU2010此时将本地时间ToD以及时间偏差ΔT1发送给脉冲同步模块。
在另一个实施例中,上述步骤206的delay_req报文的报文处理状态机如图3所示。可包括如下状态流程:
步骤301:状态机首先处于空闲状态,在req定时器到期后发送delay_req报文,进入等待发送时间戳事件的状态;。
步骤302:如果状态机等待发送时间戳事件超时,那么再次进入空闲状态;否则进入下一个状态等待delay_resp报文;
步骤303:如果状态机等待delay_resp报文超时,那么进入空闲状态;否则进入下一个状态等待更新;
步骤304:状态机处于等待更新状态时,判断delay_resp报文与状态delay_req报文的序号seq是否一致,如果不一致,进入空闲状态;否则,等待时钟伺服器更新线路延时,当线路延时更新后,状态机进入空闲状态。
请参阅图4,图4是本发明的同步客户端的同步方法第一实施方式的流程示意图。
本实施方式涉及的同步客户端包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块,与图1至图3所对应的实施方式中所述的同步客户端相应,本实施方式所述的同步客户端的同步方法可包括以下步骤:
步骤S401,将所述参考脉冲模块生成的本地参考脉冲向所述同步脉冲模块发送。
步骤S402,接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,其中,所述时间戳模块用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件。
步骤S403,生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差。
步骤S404,对应所述时间偏差对本地晶振频率进行频率同步调整。
步骤S405,向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
本实施方式,通过接收时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差,对应所述时间偏差对本地晶振频率进行频率同步调整,向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。可实时快速的生成时间同步脉冲,同步脉冲模块可置于报文处理模块之后,成本低、灵活性高且网络拓扑扩展性强。
本实施方式中所述的本地参考脉冲、接收报文、发送报文、接收时间戳、发送时间戳、接收时间戳事件、发送时间戳事件、时间偏差等技术特征与图1至图3相应的实施方式所述同步客户端中的技术特征相应。
在一个实施例中,接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块的步骤包括以下步骤:
接收所述时间戳模块生成的所述同步客户端接收的sync报文的接收时间戳事件到所述报文处理模块,从所述接收时间戳事件中提取所述同步客户端接收所述sync报文的接收时间戳t1;
获取所述时间戳模块内的报文协议栈接收所述sync报文所对应的时间戳t2;
接收所述时间戳模块生成的所述同步客户端响应所述sync报文向时钟服务端发送的delay_req报文的发送时间戳事件,从所述发送时间戳事件中提取所述同步客户端向所述时钟服务端发送所述delay_req报文的发送时间戳t3;
从所述同步客户端接收的delay_resp消息中提取时间戳t4;
生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差的步骤包括以下步骤:
将所述接收时间戳t1、所述时间戳t2、所述发送时间戳t3和所述时间戳t4转换为所述同步客户端与所述时钟服务端之间的时间偏差。
本实施例的操作步骤可通过图2所示的同步客户端实现。
在另一个实施例中,接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块的步骤之后,还包括以下步骤:
将所述接收时间戳t1、所述时间戳t2、所述发送时间戳t3和所述时间戳t4转换为所述同步客户端与所述时钟服务端之间的线路延时;
将所述线路延时向所述报文处理模块的时钟伺服器发送,以使所述时钟伺服器根据所述线路延时对所述报文协议栈进行线路延时更新。
本实施例的操作步骤可通过图2所示的同步客户端实现。
请参阅图5,图5是本发明的同步客户端的同步系统第一实施方式的结构示意图。
本实施方式涉及的同步客户端包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块,与图1至图3所对应的实施方式中所述的同步客户端相应,本实施方式所述的同步客户端的同步系统可包括脉冲通信模块5010、时间戳通信模块5020、时间偏差模块5030、频率调整模块5040、时间同步模块5050,其中:
脉冲通信模块5010,用于将所述参考脉冲模块生成的本地参考脉冲向所述同步脉冲模块发送。
时间戳通信模块5020,用于接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,其中,所述时间戳模块用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件。
时间偏差模块5030,用于生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差。
频率调整模块5040,用于对应所述时间偏差对本地晶振频率进行频率同步调整。
时间同步模块5050,用于向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
本实施方式,通过接收时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差,对应所述时间偏差对本地晶振频率进行频率同步调整,向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。可实时快速的生成时间同步脉冲,同步脉冲模块可置于报文处理模块之后,成本低、灵活性高且网络拓扑扩展性强。
本实施方式中所述的本地参考脉冲、接收报文、发送报文、接收时间戳、发送时间戳、接收时间戳事件、发送时间戳事件、时间偏差等技术特征与图1至图3相应的实施方式所述同步客户端中的技术特征相应。
在一个实施例中,时间戳通信模块5020还可包括第一接收模块、获取模块、第二接收模块和提取模块,其中:
所述第一接收模块用于接收所述时间戳模块生成的所述同步客户端接收的sync报文的接收时间戳事件到所述报文处理模块,从所述接收时间戳事件中提取所述同步客户端接收所述sync报文的接收时间戳t1;
所述获取模块用于获取所述时间戳模块内的报文协议栈接收所述sync报文所对应的时间戳t2;
所述第二接收模块用于接收所述时间戳模块生成的所述同步客户端响应所述sync报文向时钟服务端发送的delay_req报文的发送时间戳事件,从所述发送时间戳事件中提取所述同步客户端向所述时钟服务端发送所述delay_req报文的发送时间戳t3;
所述提取模块用于从所述同步客户端接收的delay_resp消息中提取时间戳t4;
时间偏差模块5030还可用于将所述接收时间戳t1、所述时间戳t2、所述发送时间戳t3和所述时间戳t4转换为所述同步客户端与所述时钟服务端之间的时间偏差。
本实施例的操作步骤可通过图2所示的同步客户端实现。
在另一个实施例中,本实施方式所述的同步客户端的同步系统还可包括线路延时获取模块和线路延时更新模块,其中:
所述线路延时获取模块用于将所述接收时间戳t1、所述时间戳t2、所述发送时间戳t3和所述时间戳t4转换为所述同步客户端与所述时钟服务端之间的线路延时。
所述线路延时更新模块用于将所述线路延时向所述报文处理模块的时钟伺服器发送,以使所述时钟伺服器根据所述线路延时对所述报文协议栈进行线路延时更新。
本实施例的操作步骤可通过图2所示的同步客户端实现。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (12)
1.一种同步客户端,其特征在于,包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块;所述参考脉冲模块用于生成本地参考脉冲并向所述同步脉冲模块发送;所述时间戳模块用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件、并向所述报文处理模块发送所述接收时间戳事件和所述发送时间戳事件;所述报文处理模块用于生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差、对应所述时间偏差对本地晶振频率进行频率同步调整、并向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间;所述同步脉冲模块用于对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
2.根据权利要求1所述的同步客户端,其特征在于,所述参考脉冲模块包括定时器,用于生成时间间隔相同的本地参考秒脉冲。
3.根据权利要求1所述的同步客户端,其特征在于,所述时间戳模块包括计时模块和控制模块;所述计时模块分别记录所述接收报文和所述发送报文的各字节位对应的时间戳,所述控制模块用于分别将记录的所述接收报文和所述发送报文的起始字节位的时间戳生成所述接收时间戳和所述发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件、并向所述报文处理模块发送所述接收时间戳事件和所述发送时间戳事件。
4.根据权利要求3所述的同步客户端,其特征在于,所述时间戳模块还包括识别模块和缓存模块,其中:
所述识别模块用于分别识别所述接收报文和所述发送报文对应的报文类型和报文序号;
所述控制模块用于在所述接收报文对应的报文类型为1588V2报文类型时,将记录的所述接收报文的起始字节位的时间戳生成所述接收时间戳、生成包括所述接收时间戳、所述接收报文对应的报文类型和报文序号的接收时间戳事件、并将所述接收时间戳事件向所述报文处理模块发送;
所述控制模块还用于在所述发送报文对应的报文类型为1588V2报文类型时,将记录的所述发送报文的起始字节位的时间戳生成所述发送时间戳、生成包括所述发送时间戳、所述发送报文对应的报文类型和报文序号的发送时间戳事件、并将所述发送时间戳事件向所述报文处理模块发送;
所述缓存模块用于缓存所述接收报文和所述发送报文的各字节位对应的时间戳、所述接收时间戳事件、所述发送时间戳事件以及所述接收报文和所述发送报文对应的报文类型和报文序号。
5.根据权利要求4所述的同步客户端,其特征在于,所述报文处理模块包括事件处理模块、报文协议栈和时钟伺服器,其中:
所述事件处理模块用于在所述接收时间戳事件中的报文类型、报文序号与所述接收报文的报文类型、报文序号匹配时,将所述接收时间戳事件向所述报文协议栈发送;
所述事件处理模块还用于在所述发送时间戳事件中的报文类型、报文序号与所述发送报文的skb文件匹配时,将所述发送时间出事件向所述协议栈发送;
所述报文协议栈用于从所述接收时间戳事件和所述发送时间戳事件中提取所述发送时间和所述接收时间、生成与所述发送时间和所述接收时间对应的时间偏差并向所述时钟伺服器发送;
所述时钟伺服器用于对所述时间偏差滤波、将滤波后的时间偏差转换为频差、并根据所述频差对本地晶振频率进行频率同步调整。
6.根据权利要求5所述的同步客户端,其特征在于,所述报文协议栈还用于生成与所述发送时间和所述接收时间对应的线路延时、并将所述线路延时向所述时钟伺服器发送,所述时钟伺服器还用于根据所述线路延时对所述报文协议栈进行线路延时更新。
7.根据权利要求1至6中任意一项所述的同步客户端,其特征在于,所述同步脉冲模块为现场可编程门阵列。
8.一种同步客户端的同步方法,其特征在于,同步客户端包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块;同步方法包括以下步骤:
将所述参考脉冲模块生成的本地参考脉冲向所述同步脉冲模块发送;
接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,其中,所述时间戳模块用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件;
生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差;
对应所述时间偏差对本地晶振频率进行频率同步调整;
向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
9.根据权利要求8所述的同步客户端的同步方法,其特征在于,接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块的步骤包括以下步骤:
接收所述时间戳模块生成的所述同步客户端接收的sync报文的接收时间戳事件到所述报文处理模块,从所述接收时间戳事件中提取所述同步客户端接收所述sync报文的接收时间戳t1;
获取所述时间戳模块内的报文协议栈接收所述sync报文所对应的时间戳t2;
接收所述时间戳模块生成的所述同步客户端响应所述sync报文向时钟服务端发送的delay_req报文的发送时间戳事件,从所述发送时间戳事件中提取所述同步客户端向所述时钟服务端发送所述delay_req报文的发送时间戳t3;
从所述同步客户端接收的delay_resp消息中提取时间戳t4;
生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差的步骤包括以下步骤:
将所述接收时间戳t1、所述时间戳t2、所述发送时间戳t3和所述时间戳t4转换为所述同步客户端与所述时钟服务端之间的时间偏差。
10.根据权利要求9所述的同步客户端的同步方法,其特征在于,接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块的步骤之后,还包括以下步骤:
将所述接收时间戳t1、所述时间戳t2、所述发送时间戳t3和所述时间戳t4转换为所述同步客户端与所述时钟服务端之间的线路延时;
将所述线路延时向所述报文处理模块的时钟伺服器发送,以使所述时钟伺服器根据所述线路延时对所述报文协议栈进行线路延时更新。
11.一种同步客户端的同步系统,其特征在于,同步客户端包括报文处理模块、同步脉冲模块以及同频同相的参考脉冲模块和时间戳模块;同步系统包括:
脉冲通信模块,用于将所述参考脉冲模块生成的本地参考脉冲向所述同步脉冲模块发送;
时间戳通信模块,用于接收所述时间戳模块生成的接收时间戳事件和发送时间戳事件到所述报文处理模块,其中,所述时间戳模块用于获取接收报文对应的接收时间戳和发送报文对应的发送时间戳、生成包括所述接收时间戳的接收时间戳事件以及包括所述发送时间戳的发送时间戳事件;
时间偏差模块,用于生成与所述发送时间戳事件和所述接收时间戳事件对应的时间偏差;
频率调整模块,用于对应所述时间偏差对本地晶振频率进行频率同步调整;
时间同步模块,用于向所述同步脉冲模块发送所述时间偏差和频率同步调整后的本地时间,以使所述同步脉冲模块对应所述本地时间从所述本地参考脉冲中查找对应脉冲、并对应所述时间偏差对所述对应脉冲进行时间同步调整。
12.根据权利要求11所述的同步客户端的同步系统,其特征在于,所述时间戳通信模块还包括第一接收模块、获取模块、第二接收模块和提取模块,其中:
所述第一接收模块用于接收所述时间戳模块生成的所述同步客户端接收的sync报文的接收时间戳事件到所述报文处理模块,从所述接收时间戳事件中提取所述同步客户端接收所述sync报文的接收时间戳t1;
所述获取模块用于获取所述时间戳模块内的报文协议栈接收所述sync报文所对应的时间戳t2;
所述第二接收模块用于接收所述时间戳模块生成的所述同步客户端响应所述sync报文向时钟服务端发送的delay_req报文的发送时间戳事件,从所述发送时间戳事件中提取所述同步客户端向所述时钟服务端发送所述delay_req报文的发送时间戳t3;
所述提取模块用于从所述同步客户端接收的delay_resp消息中提取时间戳t4;
所述时间偏差模块还用于将所述接收时间戳t1、所述时间戳t2、所述发送时间戳t3和所述时间戳t4转换为所述同步客户端与所述时钟服务端之间的时间偏差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510543226.0A CN105099650B (zh) | 2015-08-27 | 2015-08-27 | 同步客户端及其同步方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510543226.0A CN105099650B (zh) | 2015-08-27 | 2015-08-27 | 同步客户端及其同步方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105099650A true CN105099650A (zh) | 2015-11-25 |
CN105099650B CN105099650B (zh) | 2018-06-22 |
Family
ID=54579297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510543226.0A Active CN105099650B (zh) | 2015-08-27 | 2015-08-27 | 同步客户端及其同步方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105099650B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108718286A (zh) * | 2018-05-24 | 2018-10-30 | 北京无线电测量研究所 | 数据通信方法、系统及存储介质 |
WO2018210277A1 (zh) * | 2017-05-16 | 2018-11-22 | 中兴通讯股份有限公司 | 时钟同步的方法和装置、计算机存储介质 |
CN110191506A (zh) * | 2018-12-06 | 2019-08-30 | 杭州微萤科技有限公司 | 一种单区域定位基站与定位终端的同步方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101242231A (zh) * | 2008-03-03 | 2008-08-13 | 电子科技大学 | 面向电力系统同步相量测量的时钟同步装置 |
CN101771487A (zh) * | 2008-12-31 | 2010-07-07 | 郑州威科姆科技股份有限公司 | 一种网络授时精度的检测设备及使用该设备的检测方法 |
CN101083523B (zh) * | 2007-07-27 | 2010-08-11 | 华南理工大学 | 一种实现集成时间戳时钟同步锁相环的方法及装置 |
WO2010145284A1 (zh) * | 2009-06-18 | 2010-12-23 | 中兴通讯股份有限公司 | 一种同步的方法和系统 |
CN102195768A (zh) * | 2011-05-30 | 2011-09-21 | 神州数码网络(北京)有限公司 | 一种纳秒级精度ptp实现方法 |
CN102394715A (zh) * | 2011-06-30 | 2012-03-28 | 中兴通讯股份有限公司 | 时钟同步方法和装置 |
CN102546071A (zh) * | 2011-12-23 | 2012-07-04 | 北京北方烽火科技有限公司 | 一种时钟同步方法与系统 |
CN103546273A (zh) * | 2013-10-31 | 2014-01-29 | 烽火通信科技股份有限公司 | 基于ptp帧的频率同步装置及方法 |
-
2015
- 2015-08-27 CN CN201510543226.0A patent/CN105099650B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101083523B (zh) * | 2007-07-27 | 2010-08-11 | 华南理工大学 | 一种实现集成时间戳时钟同步锁相环的方法及装置 |
CN101242231A (zh) * | 2008-03-03 | 2008-08-13 | 电子科技大学 | 面向电力系统同步相量测量的时钟同步装置 |
CN101771487A (zh) * | 2008-12-31 | 2010-07-07 | 郑州威科姆科技股份有限公司 | 一种网络授时精度的检测设备及使用该设备的检测方法 |
WO2010145284A1 (zh) * | 2009-06-18 | 2010-12-23 | 中兴通讯股份有限公司 | 一种同步的方法和系统 |
CN102195768A (zh) * | 2011-05-30 | 2011-09-21 | 神州数码网络(北京)有限公司 | 一种纳秒级精度ptp实现方法 |
CN102394715A (zh) * | 2011-06-30 | 2012-03-28 | 中兴通讯股份有限公司 | 时钟同步方法和装置 |
CN102546071A (zh) * | 2011-12-23 | 2012-07-04 | 北京北方烽火科技有限公司 | 一种时钟同步方法与系统 |
CN103546273A (zh) * | 2013-10-31 | 2014-01-29 | 烽火通信科技股份有限公司 | 基于ptp帧的频率同步装置及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018210277A1 (zh) * | 2017-05-16 | 2018-11-22 | 中兴通讯股份有限公司 | 时钟同步的方法和装置、计算机存储介质 |
CN108718286A (zh) * | 2018-05-24 | 2018-10-30 | 北京无线电测量研究所 | 数据通信方法、系统及存储介质 |
CN108718286B (zh) * | 2018-05-24 | 2022-05-03 | 北京无线电测量研究所 | 数据通信方法、系统及存储介质 |
CN110191506A (zh) * | 2018-12-06 | 2019-08-30 | 杭州微萤科技有限公司 | 一种单区域定位基站与定位终端的同步方法 |
CN110191506B (zh) * | 2018-12-06 | 2022-02-22 | 杭州微萤科技有限公司 | 一种单区域定位基站与定位终端的同步方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105099650B (zh) | 2018-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9154292B2 (en) | Communication apparatus, communication system, and time synchronization method | |
CN106992830B (zh) | 一种fc-ae-1553网络中的时钟同步方法 | |
CN100581164C (zh) | 面向测量与控制的精确时间同步方法与系统 | |
US9876596B2 (en) | Method and device for detecting fault in synchronization link | |
CN101882990B (zh) | 基于ptp及链路质量选取主时钟的方法、从时钟及系统 | |
CN104918319B (zh) | 一种应用于无线传感器网络的时钟同步精简信息交互方法 | |
CN101364863B (zh) | 同步网中主、从时钟侧的时间同步方法 | |
CN108650051B (zh) | 通用全硬件一步式1588的时钟同步装置及方法 | |
CN102013931B (zh) | 时间同步方法及系统、从属定时设备及主定时设备 | |
US8689035B2 (en) | Communication system, communication interface, and synchronization method | |
EP2101439A1 (en) | Synchronization system and method of time information and related equipment | |
CN101895384A (zh) | 一种实现边界时钟的方法和装置 | |
CN106357362B (zh) | 一种时间同步方法、装置及ptp系统 | |
JP2013106329A (ja) | 通信装置 | |
CN102932083B (zh) | 一种微波同步对时的方法和装置 | |
CN109150351A (zh) | 一种应用于变电站的utc时间实现方法及系统 | |
CN103475461B (zh) | 一种1588时钟同步功能实现方法 | |
CN105577349A (zh) | 一种机载网络ieee1588协议主从时钟端口同步方法 | |
WO2017071276A1 (zh) | 中继系统的空口时间同步方法、设备 | |
CN105262555A (zh) | 一种时间同步方法、可编程逻辑器件、单板及网元 | |
CN101399655A (zh) | 穿通时钟设备同步端口的确定方法及装置 | |
CN105099650A (zh) | 同步客户端及其同步方法和系统 | |
CN103647614A (zh) | 基于ieee1588协议的可靠提高时间同步精度方法 | |
CN107786293A (zh) | 时间同步方法、主时钟设备、从时钟设备及时间同步系统 | |
CN106559157A (zh) | 一种时钟同步方法、装置及通信设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 510663 No. 10 Shenzhou Road, Science City, Luogang District, Guangzhou City, Guangdong Province Patentee after: Jingxin Network System Co.,Ltd. Address before: 510663 No. 10 Shenzhou Road, Science City, Luogang District, Guangzhou City, Guangdong Province Patentee before: Comba Telecom System (China) Ltd. |
|
CP01 | Change in the name or title of a patent holder |