PTP芯片时钟模块的实现方法和装置制造方法及图纸

技术编号:33449788 阅读:30 留言:0更新日期:2022-05-19 00:34
本发明专利技术提供PTP芯片时钟模块的实现方法和装置,该方法包括:根据本地晶振参考时钟的时钟周期确定纳秒固定累加值,纳秒计数器在每个时钟周期根据纳秒固定累加值进行相应加操作,并在纳秒计数器加满10^9=1000000000时向秒计数器进位;根据PTP协议报文计算时间偏移和频率偏移,并根据频率偏移计算出纳秒调整周期数,将时间偏移、纳秒调整周期数以及频率偏移的符号位发送到芯片时钟模块;芯片时钟模块将接收到的时间偏移设置到秒调整值和纳秒调整值,再根据频率偏移的符号位以及纳秒调整周期数N触发设置纳秒固定累加值加1或者减1;芯片时钟模块输出同步校正后的秒时间戳和纳秒时间戳。间戳。间戳。

【技术实现步骤摘要】
PTP芯片时钟模块的实现方法和装置


[0001]本专利技术涉及以太网时间同步领域,尤其涉及一种PTP芯片时钟模块的实现方法和装置。

技术介绍

[0002]IEEE1588定义的PTP(精确时间协议)是目前被广泛使用的时间同步技术方案,用于满足测量和控制应用的分布网络时间同步的需要。网络时钟同步主要包括频率同步和时间同步,PTP通过记录特定PTP协议报文进入和离开设备的时间戳,来计算恢复出本地时钟和频率。通过硬件辅助可以实现高精度的时间同步,随着软硬件技术的进步,目前PTP的时间同步精度可以达到几十纳秒级别。
[0003]PTP通过记录主从设备之间事件报文交换时产生的时间戳,计算出主从设备之间的路径延迟和时间偏移,从而实现主从设备之间的时间和频率同步。
[0004]以图1的同步方式为例,通过设备获取Sync和Delay_Req报文发送和接收的四个时间戳t1,t2,t3,t4计算出主从设备之间的平均路径延时为:
[0005]Delay=[(t2

t1)+(t4

t3)]/2=[(t4

t1)

(t3

t2)]/2
[0006]进而计算出主从设备的时间偏移为:
[0007]Offset=t2

t1

Delay=[(t2

t1)+(t3

t4)]/2
[0008]然后从设备利用这个时间偏移修正本地时钟,使得主从设备之间的时间实现同步。
[0009]如图2所示,频率同步是通过主设备定时向从节点发送Sync报文,比较多次Sync报文的发送时间间隔Δ1和到达从设备的时间间隔Δ2。
[0010]主从设备的频率偏移为:
[0011]Drift=(Δ2

Δ1)/Δ2
[0012]PTP软件协议栈计算出时间偏移Offset和频率偏移Drift配置到芯片的时钟模块。
[0013]目前芯片实现PTP高精度的时间和频率同步的时钟模块通常由秒计数器、纳秒计数器和子纳秒计数器组成。时钟模块有一个本地的晶振参考时钟,例如频率为F=125MHz的参考时钟,则每个时钟周期T=8纳秒,纳秒计数器在每个时钟周期内加period=8,纳秒计数器加满10^9=1000000000时向秒计数器进位,而子纳秒计数器则用于频率偏移Drift的校正。
[0014]子纳秒由CPU软件协议栈每个同步周期计算出的Drift值(ppb)换算后进行累加,Drift值代表每1秒的时间内slave与master时钟偏差的纳秒数,Drift>0代表slave的时钟偏快,Drift<0则代表slave的时钟偏慢,校正后新的时钟周期为:
[0015]Tnew=T+T*(

Drift)。
[0016]如图3所示,现有的芯片时钟模块需要同时维护三个计数器的实现比较复杂,特别是频率同步调整时候,需要计算每个时钟周期对子纳秒计数器的累加值或者递减值,会存在子纳秒加满10^9=1000000000时向纳秒计数器进位或者不够减的时候向纳秒计数器借
位等特殊处理。而且Drift参数单位一般是十亿分率ppb(partper billion),转为子纳秒调整值的计算需要使用浮点等复杂运算,会增加芯片的存储单元和运算时延,对芯片设计增加了难度和成本。

技术实现思路

[0017]针对上述技术问题,本专利技术公开了一种PTP芯片时钟模块的实现方法和装置,本专利技术通过优化PTP芯片的时钟模块,简化了芯片的时钟模块设计,特别是优化了时钟频率偏移Drift校正,节约了芯片的设计和硬件成本,降低了芯片运算时延。
[0018]为达到上述目的,本专利技术的技术方案提供了一种PTP芯片时钟模块的实现方法,所述芯片时钟模块包括秒计数器和纳秒计数器,其中,所述方法包括:根据本地晶振参考时钟的时钟周期确定纳秒固定累加值period,纳秒计数器在每个时钟周期根据纳秒固定累加值period进行相应加操作,并在纳秒计数器加满10^9=1000000000时向秒计数器进位;PTP软件协议栈根据PTP协议报文计算时间偏移Offset和频率偏移Drift,并根据频率偏移Drift计算出纳秒调整周期数N=10^9/period/Drift,将时间偏移Offset、纳秒调整周期数N以及频率偏移Drift的符号位发送到芯片时钟模块;芯片时钟模块将接收到的时间偏移Offset设置到秒调整值OffsetS和纳秒调整值OffsetNs,再根据频率偏移Drift的符号位以及纳秒调整周期数N触发设置纳秒固定累加值period加1或者减1;芯片时钟模块输出同步校正后的秒时间戳和纳秒时间戳。
[0019]在进一步的技术方案中,在频率偏移Drift<0时,则每隔N个时钟周期设置纳秒固定累加值period加1;在频率偏移Drift>0时,则每隔N个时钟周期设置纳秒固定累加值period减1。
[0020]在进一步的技术方案中,所计算的纳秒调整周期数N被存入到芯片时钟模块的寄存器中。
[0021]在进一步的技术方案中,所述芯片时钟模块在输出同步校正后的秒时间戳和纳秒时间戳时,还输出秒脉冲PPS信号。
[0022]在进一步的技术方案中,PTP软件协议栈根据PTP协议报文计算时间偏移Offset包括:
[0023]获取Sync报文和Delay_Req报文发送和接收的四个时间戳t1、t2、t3、t4,计算出主从设备之间的平均路径延时为:
[0024]Delay=[(t2

t1)+(t4

t3)]/2=[(t4

t1)

(t3

t2)]/2,
[0025]进而计算出主从设备的时间偏移为:
[0026]Offset=t2

t1

Delay=[(t2

t1)+(t3

t4)]/2。
[0027]在进一步的技术方案中,PTP软件协议栈根据PTP协议报文计算频率偏移Drift包括:
[0028]通过主设备定时向从节点发送Sync报文,比较多次Sync报文的发送时间间隔Δ1和到达从设备的时间间隔Δ2,从而获得主从设备的频率偏移为:
[0029]Drift=(Δ2

Δ1)/Δ2。
[0030]本专利技术还提供了一种PTP芯片时钟模块的实现装置,所述装置包括:芯片时钟模块,包括秒计数器和纳秒计数器;纳秒计数器加操作模块,用于根据本地晶振参考时钟的时
钟周期确定纳秒固定累加值period,纳秒计数器在每个时钟周期根据纳秒固定累加值period进行相应加操作,并在纳秒计数器加满10^9=1000000000时向秒计数器进位;纳秒调整周本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种PTP芯片时钟模块的实现方法,其特征在于,所述芯片时钟模块包括秒计数器和纳秒计数器,其中,所述方法包括:根据本地晶振参考时钟的时钟周期确定纳秒固定累加值period,纳秒计数器在每个时钟周期根据纳秒固定累加值period进行相应加操作,并在纳秒计数器加满10^9=1000000000时向秒计数器进位;PTP软件协议栈根据PTP协议报文计算时间偏移Offset和频率偏移Drift,并根据频率偏移Drift计算出纳秒调整周期数N=10^9/period/Drift,将时间偏移Offset、纳秒调整周期数N以及频率偏移Drift的符号位发送到芯片时钟模块;芯片时钟模块将接收到的时间偏移Offset设置到秒调整值OffsetS和纳秒调整值OffsetNs,再根据频率偏移Drift的符号位以及纳秒调整周期数N触发设置纳秒固定累加值period加1或者减1;芯片时钟模块输出同步校正后的秒时间戳和纳秒时间戳。2.根据权利要求1所述的方法,其特征在于,在频率偏移Drift<0时,则每隔N个时钟周期设置纳秒固定累加值period加1;在频率偏移Drift>0时,则每隔N个时钟周期设置纳秒固定累加值period减1。3.根据权利要求2所述的方法,其特征在于,所计算的纳秒调整周期数N被存入到芯片时钟模块的寄存器中。4.根据权利要求3所述的方法,其特征在于,所述芯片时钟模块在输出同步校正后的秒时间戳和纳秒时间戳时,还输出秒脉冲PPS信号。5.根据权利要求1所述的方法,其特征在于,PTP软件协议栈根据PTP协议报文计算时间偏移Offset包括:获取Sync报文和Delay_Req报文发送和接收的四个时间戳t1、t2、t3、t4,计算出主从设备之间的平均路径延时为:Delay=[(t2

t1)+(t4
–<...

【专利技术属性】
技术研发人员:蒋华廖继平
申请(专利权)人:昆高新芯微电子江苏有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1