一种基于SRIO的C6678分布式系统时间同步方法及系统技术方案

技术编号:20081159 阅读:186 留言:0更新日期:2019-01-15 02:38
本发明专利技术提供了一种基于SRIO的C6678分布式系统时间同步方法及系统,属于信息处理技术领域。本发明专利技术通过控制SRIO对各C6678处理器进行时间同步,该同步方法包括首先由任意C6678处理器发起时间同步请求,并对系统进行SRIO枚举,识别出多级SRIO交换网络下的所有C6678处理器,并为其分配广播ID;之后,由发起时间同步请求的C6678处理器向包括自己在内的所有C6678处理器进行广播中断,以及向各C6678处理器发送其计算的到达每一级SRIO交换网络的时间差,最后由各C6678处理器根据接收到广播中断的时间及时间差统一系统时间,所述系统包括用于实现上述功能的模块。本发明专利技术基于SRIO广播中断,传输速度快,不会对现有系统软件程序时序等方面产生影响,并且系统时间同步精确度更高。

A SRIO-based Time Synchronization Method and System for C6678 Distributed System

The invention provides a time synchronization method and system of CR678 distributed system based on RIO, belonging to the field of information processing technology. By controlling SRIO to synchronize the time of each C6678 processor, the synchronization method includes first initiating a time synchronization request from any C6678 processor and enumerating the SRIO of the system, identifying all C6678 processors under the multi-stage SRIO switching network and assigning broadcast IDs to them; then, the C6678 processor that initiates the time synchronization request sends all C6678 processors including itself. The processor performs broadcast interruption and sends the calculated time difference to each level of SRIO switching network to each C6678 processor. Finally, each C6678 processor unifies the system time according to the time and time difference of receiving broadcast interruption. The system includes modules for realizing the above functions. The invention is based on SRIO broadcasting interruption, has fast transmission speed, does not affect the timing of existing system software programs, and has higher accuracy of system time synchronization.

【技术实现步骤摘要】
一种基于SRIO的C6678分布式系统时间同步方法及系统
本专利技术涉及信息处理
,具体涉及一种基于SRIO的C6678分布式系统时间同步方法及系统。
技术介绍
RapidIO是一种主要应用于高性能嵌入式系统的互连通信技术,采用交换互连的方式进行数据传输,即不是采用传统的单一点对点的连接方式,增加了交换机制,增强了系统的灵活性。SerialRapidIO(SRIO)可以采用1X、4X等模式,传输速率可达几十吉比特。RapidIO技术对于路由、交换和容错纠错上有较完备的考虑,因此现在正在应用到越来越多的高性能可靠数据传输系统中。美国德州仪器(TexasInstruments,简称TI)公司的TMS320C6678(简称为C6678)是目前国内嵌入式高性能计算领域使用较广泛的多核数字信号处理器(DSP)芯片。TI提供多种C6678加载方式,可通过JTAG(调试用测试接口)、Ethernet(以太网,简称ETH)、PCIe(PCIExpress总线)、SRIO(高速串行总线)、SPI(串行外设接口)、I2C(两线式串行总线)等接口来加载软件。TI公司在C6678中集成了RBL(ROMBootLoader,内置加载核),可以根据外部的输入选择进入相应的加载模式,接收并执行应用软件代码。在分布式实时系统中,每个结点处理器都拥有自己独立的硬件时钟,C6678中有两个计数寄存器TSCH和TSCL,与CPU同频,共同表示一个64bit数,CPU运行一个cycle,寄存器加1,来记录DSP运行或事件发生的时间。然而采用ETH、PCIe、JTAG等加载方式的分布式系统普遍存在各DSP加载时间先后不一致的现象,这会导致各DSP的时间无法同步,给数据观测和调试带来了困难。例如:两片DSP同时响应某个中断,由于加载时间不一致,导致记录的DSP时间不一致,中断看上去不是同时响应的。因此需要让这些分布的相互独立的处理器拥有一个全局公认的系统时间。
技术实现思路
针对上述问题,本专利技术提供一种基于SRIO的C6678分布式系统时间同步方法,使得各片C6678在加载时间不一致导致的各自分系统时间无法同步的情况下,拥有一个全局公认的系统时间。本专利技术首先提供了一种基于SRIO的C6678分布式系统时间同步方法,通过SRIO对各C6678处理器进行时间同步,主要包括以下步骤:步骤一、任意C6678处理器发起时间同步请求;步骤二、发起时间同步请求的C6678处理器对系统进行SRIO枚举,识别出多级SRIO交换网络下的所有C6678处理器,并为其分配广播ID;步骤三、发起时间同步请求的C6678处理器向包括自己在内的所有C6678处理器进行广播中断,由各C6678处理器记录接收到所述中断的时间;步骤四、发起时间同步请求的C6678处理器计算其到达每一级SRIO交换网络的时间差,并发送给各C6678处理器;步骤五、由各C6678处理器根据步骤三记载的时间及步骤四接收的时间差统一系统时间。优选的是,所述步骤二中,对系统进行SRIO枚举包括按照宽度优先搜索原则确定发起时间同步请求的C6678处理器到各级SRIO交换机的最短路径。优选的是,所述步骤五中,统一系统时间包括:由步骤三记载的时间减去步骤四接收的时间差作为当前基准时间0,从而得到共同的系统时间。本专利技术另一方面提供了一种基于SRIO的C6678分布式系统时间同步系统,所述任一C6678处理器包括:枚举模块,用于对系统进行SRIO枚举,识别出多级SRIO交换网络下的所有C6678处理器,并为其分配广播ID;误差处理模块,用于计算发起时间同步请求的C6678处理器到达每一级SRIO交换网络的时间差;发送模块,用于向所有C6678处理器发送广播中断,以及用于将所述误差处理模块计算的时间差发送给各C6678处理器;接收模块,用于接收所述广播中断,以及接收所述时间差;同步模块,用于根据接收到所述广播中断的时间及所述时间差统一系统时间。优选的是,所述枚举模块包括搜索单元,所述搜索单元根据宽度优先搜索原则确定发起时间同步请求的C6678处理器到各级SRIO交换机的最短路径。本专利技术的优点:(1)轻量级,系统开销小,基于SRIO广播中断,传输速度快,不会对现有系统软件程序时序等方面产生影响。(2)适用于多级SRIO交换复杂网络下的多DSP分布式系统。(3)系统级别时间同步,方便软件开发人员进行系统级别的软件程序时序观测和调试。本专利技术可适用于使用TMS320C6678DSP的嵌入式信息处理系统中,如航空、航天、船舶、通信、软件无线电、人工智能等领域。附图说明图1为按照本专利技术基于SRIO的C6678分布式系统时间同步方法的一优选实施例的流程图。图2为按照本专利技术基于SRIO的C6678分布式系统时间同步系统的一优选实施例的系统架构示意图。具体实施方式为使本专利技术实施的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行更加详细的描述。在附图中,自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。下面通过参考附图描述的实施例是示例性的,旨在用于解释本专利技术,而不能理解为对本专利技术的限制。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面结合附图对本专利技术的实施例进行详细说明。SRIO互联体系结构共分为三层,分别为逻辑层、传输层和物理层。逻辑层规范处于最高层,定义了全部操作协议和包格式,为端点器件发起和完成事务提供必要的信息;传输层规范处于协议层次的中间层,该层定义了SRIO的地址空间、寻址机制和用于包交换的路由信息;物理层规范处于最底层,内容包括器件级接口的细节,如包传输机制、流量控制、电气参数以及低级错误管理。基于上述原因,本专利技术通过SRIO广播中断对系统时间进行同步,传输速度快,不会对现有系统软件程序时序等方面产生影响。需要说明的是,本专利技术所述C6678处理器为使用较广泛的多核数字信号处理器(DSP)芯片中的一种,本领域技术人员可以理解,以下采用“DSP”的描述等同于描述“C6678处理器”。本专利技术对系统进行时间同步,通常情况下,“系统”可以包含多个板卡,每个板卡具有SRIO交换机,并通过该SRIO交换机连接有多个DSP芯片。图1给出了本专利技术基于SRIO的多片C6678加载系统时间同步方法,具体工作过程如下:步骤1、基于SRIO交换网络系统上电运行,各DSP做初始化工作。步骤2、系统中任意终端DSP发起同步请求。步骤3、发起同步DSP对系统进行SRIO枚举,为所有终端DSP端口分配同一广播ID。步骤4、发起同步DSP向所有终端DSP发送SRIO中断。步骤5、各DSP记录自己接收中断的系统时间tISR。步骤6、发起时间同步请求的DSP(交换层级为0)根据其他DSP所处的交换层级n,测算出交换层级0到层级n的中断延迟tn(t0=0)。步骤7、各DSP记录tISR-tn,将其当做基准时间0,得到共同的系统时间。本实施例中,所述步骤3中SRIO枚举方法,由系统中任意DSP发起,采用维护数据包的方法,访问各级交换机。枚举过程中系统架构可以看做无本文档来自技高网
...

【技术保护点】
1.一种基于SRIO的C6678分布式系统时间同步方法,用于将多个C6678处理器的时间进行同步,其特征在于,通过SRIO对各C6678处理器进行时间同步。

【技术特征摘要】
1.一种基于SRIO的C6678分布式系统时间同步方法,用于将多个C6678处理器的时间进行同步,其特征在于,通过SRIO对各C6678处理器进行时间同步。2.如权利要求1所述的基于SRIO的C6678分布式系统时间同步方法,其特征在于,通过SRIO对各C6678处理器进行时间同步包括:步骤一、任意C6678处理器发起时间同步请求;步骤二、发起时间同步请求的C6678处理器对系统进行SRIO枚举,识别出多级SRIO交换网络下的所有C6678处理器,并为其分配广播ID;步骤三、发起时间同步请求的C6678处理器向包括自己在内的所有C6678处理器进行广播中断,由各C6678处理器记录接收到所述中断的时间;步骤四、发起时间同步请求的C6678处理器计算其到达每一级SRIO交换网络的时间差,并发送给各C6678处理器;步骤五、由各C6678处理器根据步骤三记载的时间及步骤四接收的时间差统一系统时间。3.如权利要求2所述的基于SRIO的C6678分布式系统时间同步方法,其特征在于,所述步骤二中,对系统进行SRIO枚举包括按照宽度优先搜索原则确定发起时间同步请求的C6678...

【专利技术属性】
技术研发人员:吴彬张象羽李正东
申请(专利权)人:中国航空工业集团公司雷华电子技术研究所
类型:发明
国别省市:江苏,32

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

1