基于内嵌CPU的ToD消息处理方法及系统与流程

文档序号:23418266发布日期:2020-12-25 11:38阅读:368来源:国知局
基于内嵌CPU的ToD消息处理方法及系统与流程

本发明属于tod消息传输技术领域,具体涉及一种基于内嵌cpu的tod消息处理方法及系统。



背景技术:

现有技术中,芯片只能输出《中华人民共和国通信行业标准yd/t2375-2011高精度时间同步技术要求》第8章(高精度时间同步接口要求)定义的tod(timeofday)帧格式消息。

tod协议采用二进制方式进行编码,tod帧参图1所示,tod消息使用完整的8bit一个字节的数据进行传输,采用检验和保护,使用消息类型和消息id两级的方式对消息进行分类。对于超过一个字节的域,需遵循bigendian规范。bit0代表字节中的最低有效比特(lsb),每个字节发送时,bit0最先发送。

tod帧包括:

(1)帧头

由syncchar1和syncchar2两个字节组成。

syncchar1:一个字节固定数值0x43表示,表示ascii码中的“c”字符。

syncchar2:一个字节固定数值0x4d表示,表示ascii码中的“m”字符。

两个字符合起来标示“communication”的缩写,表示该tod消息应用在通信网络中授时。

(2)消息头

由消息类和消息id两个字节组成。

class:消息类规定了tod消息的基本分类,一字节长度。

id:消息id定义了具体tod消息的编号,一字节长度。

(3)消息长度域

由两个字节组成,消息长度字域计算的有效范围只包括消息的净载荷(payload),不包含帧头、消息头、消息长度和校验域。

(4)载荷域

消息内容,由若干字节组成。

(5)帧校验序列(fcs)域

帧校验序列的生成多项式为:g(x)=x8+x5+x4+1。

tod消息应支持tod时间信息消息,其格式如图2所示。

现有技术中的tod消息不支持其他格式,如itu-tg.8271/y.1366(08/2017)标准定义的其他几种格式,包括timeeventmessage、timeeventmessagepayload、timeannouncemessage、timeannouncemessagepayload、gnssstatusmessage、gnssstatusmessagepayload。

因此,针对上述技术问题,有必要提供一种基于内嵌cpu的tod消息处理方法及系统。



技术实现要素:

有鉴于此,本发明的目的在于提供一种基于内嵌cpu的tod消息处理方法及系统。

为了实现上述目的,本发明一实施例提供的技术方案如下:

一种基于内嵌cpu的tod消息处理方法,所述方法包括:

tsengine模块发出脉冲信号,并捕捉第一时间戳t1,产生中断通知内嵌cpu发送数据;

内嵌cpu获取第一时间戳t1,将第一时间戳t1封装入tod消息中,并通过串口发送封装后的tod消息。

一实施例中,所述脉冲信号为1pps脉冲信号。

一实施例中,所述方法还包括:

将tsengine模块捕捉的第一时间戳t1存储于fifo队列中;

内嵌cpu读取fifo队列,获取第一时间戳t1。

本发明另一实施例提供的技术方案如下:

一种基于内嵌cpu的tod消息处理方法,所述方法包括:

tsengine模块接收脉冲信号,并捕捉本地第二时间戳t2;

内嵌cpu在接收到串口中断后,通过串口接收tod消息,并解析出tod消息中的第一时间戳t1;

内嵌cpu获取第二时间戳t2,并结合第一时间戳t1获取偏移值offset=t2-t1,根据偏移值offset对本地时钟进行校正。

一实施例中,所述脉冲信号为1pps脉冲信号。

一实施例中,所述方法还包括:

将tsengine模块捕捉的第二时间戳t2存储于fifo队列中;

内嵌cpu读取fifo队列,获取第二时间戳t2。

本发明又一实施例提供的技术方案如下:

一种基于内嵌cpu的tod消息处理系统,所述系统包括:

tsengine模块,用于发出脉冲信号,并捕捉第一时间戳t1,产生中断;

内嵌cpu,用于获取第一时间戳t1,将第一时间戳t1封装入tod消息中,并通过串口发送封装后的tod消息。

一实施例中,所述脉冲信号为1pps脉冲信号。

本发明再一实施例提供的技术方案如下:

一种基于内嵌cpu的tod消息处理系统,所述系统包括:

tsengine模块,用于接收脉冲信号,并捕捉本地第二时间戳t2;

内嵌cpu,用于在接收到串口中断后通过串口接收tod消息,并解析出tod消息中的第一时间戳t1;获取第二时间戳t2,并结合第一时间戳t1获取偏移值offset=t2-t1,根据偏移值offset对本地时钟进行校正。

一实施例中,所述脉冲信号为1pps脉冲信号。

本发明具有以下有益效果:

本发明通过tsengine模块和内嵌cpu的交互,使tod消息封装更加灵活,使用内嵌cpu发送和接收tod消息,减少了tsengine模块和主cpu的负担。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为现有技术中tod帧结构的示意图;

图2为现有技术中tod时间信息消息的示意图;

图3为本发明第一实施例中基于内嵌cpu的tod消息处理方法的流程示意图;

图4为本发明第一实施例中基于内嵌cpu的tod消息处理系统的模块示意图;

图5为本发明第二实施例中基于内嵌cpu的tod消息处理方法的流程示意图;

图6为本发明第二实施例中基于内嵌cpu的tod消息处理系统的模块示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

参图4所示,本发明第一实施例公开了一种基于内嵌cpu的tod消息处理系统,包括:

tsengine模块,用于发出脉冲信号,并捕捉第一时间戳t1,产生中断;

内嵌cpu,用于获取第一时间戳t1,将第一时间戳t1封装入tod消息中,并通过串口发送封装后的tod消息。

参图3所示,本实施例中基于内嵌cpu的tod消息处理方法包括:

tsengine模块发出脉冲信号,并捕捉第一时间戳t1,产生中断通知内嵌cpu通过串口发送数据;

内嵌cpu获取第一时间戳t1,将第一时间戳t1封装入tod消息中,并通过串口发送封装后的tod消息。

具体地,本实施例中为asic芯片的输出端,tsengine为整个asic芯片的时间管理模块。

工作原理具体如下:

1、tsengine模块发出1pps(onepulsepersecond)脉冲信号,并捕捉第一时间戳t1存储于fifo(firstinfirstout)队列中,产生中断(intr)通知内嵌cpu发送数据。

2、内嵌cpu读取fifo队列,获取第一时间戳t1,将第一时间戳t1按需封装入tod消息中,并通过串口发送封装后的tod消息。

参图6所示,本发明第二实施例公开了一种基于内嵌cpu的tod消息处理系统,包括:

tsengine模块,用于接收脉冲信号,并捕捉本地第二时间戳t2;

内嵌cpu,用于在接收到串口中断后通过串口接收tod消息,并解析出tod消息中的第一时间戳t1;获取第二时间戳t2,并结合第一时间戳t1获取偏移值offset=t2-t1,根据偏移值offset对本地时钟进行校正。

参图5所示,本实施例中基于内嵌cpu的tod消息处理方法包括:

tsengine模块接收脉冲信号,并捕捉本地第二时间戳t2;

内嵌cpu在接收到串口中断后,通过串口接收tod消息,并解析出tod消息中的第一时间戳t1;

内嵌cpu获取第二时间戳t2,并结合第一时间戳t1获取偏移值offset=t2-t1,根据偏移值offset对本地时钟进行校正。

具体地,本实施例中为asic芯片的输入端,tsengine为整个asic芯片的时间管理模块。

工作原理具体如下:

1、tsengine模块接收1pps(onepulsepersecond)脉冲信号,并捕捉本地第二时间戳t2存储于fifo(firstinfirstout)队列中;

2、内嵌cpu接收到串口中断(intr)后,开始通过串口接收tod消息,接收完成后按照用户设置的格式解析出tod消息中的第一时间戳t1;

3、内嵌cpu读取fifo队列,获取第二时间戳t2,并结合第一时间戳t1获取偏移值offset=t2-t1,而后根据偏移值offset对本地时钟进行校正,实现时钟同步。

目前越来越多的asic芯片会集成内嵌cpu,使用内嵌cpu封装符合国际标准的1pps+tod接口的消息格式,甚至用户自定义格式,方式更加灵活,大大减轻了芯片和主cpu的压力。

应当理解的是,上述实施例中以asic芯片为例进行说明,在其他实施例中也可以适用于其他芯片。

由以上技术方案可以看出,本发明具有以下优点:

本发明通过tsengine模块和内嵌cpu的交互,使tod消息封装更加灵活,使用内嵌cpu发送和接收tod消息,减少了tsengine模块和主cpu的负担。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。

为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本说明书一个或多个实施例的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。

对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。

此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。

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