一种PTP报文的处理方法及SOC与流程

文档序号:12490583阅读:来源:国知局

技术特征:

1.一种精确时钟同步协议PTP报文的处理方法,其特征在于,应用于片上系统SOC,用于对PTP报文进行处理,并完成所述PTP报文的发送端与接收端之间的时钟同步,所述处理方法包括:

物理层在接收到报文的情况下,基于当前时间,为所述报文添加接收时间戳,并在确定所述报文是PTP报文的情况下,获取所述PTP报文携带的发送时间戳以及将所述PTP报文发送至驱动层;

驱动层在存储所述PTP报文后,为所述PTP报文申请存储标识,并将所述存储标识加入至PTP报文存储队列,以及在确定满足预设的时钟同步触发条件的情况下,触发应用层基于所述PTP报文存储队列记录的存储标识,获取所述PTP报文;

应用层在确定所述PTP报文的发送端后,基于所述PTP报文的接收时间戳和发送时间戳,完成与所述发送端的时钟同步。

2.如权利要求1所述的处理方法,其特征在于,在物理层获取所述PTP报文的发送时间戳以及将所述PTP报文发送至驱动层之后,在驱动层存储所述PTP报文之前,进一步包括:

物理层将所述PTP报文的接收时间戳和发送时间戳存储至第一指定区域。

3.如权利要求1所述的处理方法,其特征在于,驱动层存储所述PTP报文后,为所述PTP报文申请存储标识,并将所述存储标识加入至PTP报文存储队列,包括:

驱动层将所述PTP报文存储至第二指定区域后,为所述PTP报文申请一个表征所述PTP报文起始存储地址的存储标识;

驱动层判断所述PTP报文是否为接收到的第一个PTP报文;

若是,则驱动层在预设的所述PTP报文存储队列的头部标识后面,插入所述PTP报文的存储标识;否则,驱动层在所述PTP报文存储队列当前记录的最后一个存储标识后面,插入所述PTP报文的存储标识。

4.如权利要求1-3任一项所述的处理方法,其特征在于,若驱动层接收到应用层发起的PTP报文访问请求,则在确定所述PTP报文存储队列为空的情况下,将访问PTP报文的进程加入进程等待队列。

5.如权利要求4所述的处理方法,其特征在于,驱动层在确定满足预设的时钟同步触发条件的情况下,触发应用层基于所述PTP报文存储队列记录的存储标识,获取所述PTP报文,包括:

驱动层在确定所述进程等待队列中存在访问PTP报文的进程且所述PTP报文存储队列为非空的情况下,认定满足所述时钟同步触发条件,并唤醒所述进程,触发所述进程基于所述PTP报文存储队列记录的存储标识获取所述PTP报文。

6.如权利要求2所述的处理方法,其特征在于,应用层在确定所述PTP报文的发送端后,基于所述PTP报文的接收时间戳和发送时间戳,完成与所述发送端的时钟同步,包括:

应用层基于所述PTP报文携带的虚拟局域网VLAN标识,确定所述PTP报文的发送端,并从所述第一指定区域中,获取所述PTP报文的接收时间戳和发送时间戳,以及基于获取到的所述PTP报文的接收时间戳和发送时间戳,采用预设的时钟同步算法,完成与所述发送端的时间同步和频率同步。

7.一种片上系统SOC,其特征在于,用于处理精确时钟同步协议PTP报文,并完成所述PTP报文的发送端与接收端之间的时钟同步,所述SOC包括:逻辑处理模块、网卡驱动模块和应用处理模块,其中,

所述逻辑处理模块,用于在接收到报文的情况下,基于当前时间,为所述报文添加接收时间戳,并在确定所述报文是PTP报文的情况下,获取所述PTP报文携带的发送时间戳以及将所述PTP报文发送至所述网卡驱动模块;

所述网卡驱动模块,用于在存储所述PTP报文后,为所述PTP报文申请存储标识,并将所述存储标识加入至PTP报文存储队列,以及在确定满足预设的时钟同步触发条件的情况下,触发所述应用处理模块基于所述PTP报文存储队列记录的存储标识,获取所述PTP报文;

所述应用处理模块,用于在确定所述PTP报文的发送端后,基于所述PTP报文的接收时间戳和发送时间戳,完成与所述发送端的时钟同步。

8.如权利要求7所述的SOC,其特征在于,在所述逻辑处理模块获取所述PTP报文的发送时间戳以及将所述PTP报文发送至所述网卡驱动模块之后,在所述网卡驱动模块存储所述PTP报文之前,所述逻辑处理模块还用于:将所述PTP报文的接收时间戳和发送时间戳存储至第一指定区域。

9.如权利要求7所述的SOC,其特征在于,在存储所述PTP报文后,为所述PTP报文申请存储标识,并将所述存储标识加入至PTP报文存储队列时,所述网卡驱动模块具体用于:

将所述PTP报文存储至第二指定区域后,为所述PTP报文申请一个表征所述PTP报文起始存储地址的存储标识;

判断所述PTP报文是否为接收到的第一个PTP报文;

若是,则在预设的所述PTP报文存储队列的头部标识后面,插入所述PTP报文的存储标识;否则,在所述PTP报文存储队列当前记录的最后一个存储标识后面,插入所述PTP报文的存储标识。

10.如权利要求7所述的SOC,其特征在于,还包括:接口驱动模块,其中,

所述接口驱动模块,用于若接收到所述应用处理模块发起的PTP报文访问请求,则在确定所述PTP报文存储队列为空的情况下,将访问PTP报文的进程加入进程等待队列。

11.如权利要求10所述的SOC,其特征在于,在确定满足预设的时钟同步触发条件的情况下,触发所述应用处理模块基于所述PTP报文存储队列记录的存储标识获取所述PTP报文时,所述网卡驱动模块具体用于:

确定所述进程等待队列中存在访问PTP报文的进程且所述PTP报文存储队列为非空的情况下,认定满足所述时钟同步触发条件,并唤醒所述进程,触发所述进程基于所述PTP报文存储队列记录的存储标识获取所述PTP报文。

12.如权利要求8所述的SOC,其特征在于,在确定所述PTP报文的发送端后,基于所述PTP报文的接收时间戳和发送时间戳,完成与所述发送端的时钟同步时,所述应用处理模块具体用于:

基于所述PTP报文携带的虚拟局域网VLAN标识,确定所述PTP报文的发送端,并从所述第一指定区域中,获取所述PTP报文的接收时间戳和发送时间戳,以及基于获取到的所述PTP报文的接收时间戳和发送时间戳,采用预设的时钟同步算法,完成与所述发送端的时间同步和频率同步。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1