基于多内核DSP的内核间时序同步方法和数据传输方法与流程

文档序号:16984397发布日期:2019-02-26 20:24阅读:258来源:国知局
基于多内核DSP的内核间时序同步方法和数据传输方法与流程

本发明涉及嵌入式系统开发领域,特别是涉及一种基于多内核dsp的内核间时序同步方法和数据传输方法。



背景技术:

与传统的嵌入式系统相比,目前在嵌入式系统市场上应用非常广泛的基于多内核dsp(digitalsignalprocessing,数字信号处理)系统,所述多内核dsp系统具有多个可靠性较高的内核,能够通过深度融合将多个独立数据处理设备合为一体,并以内核间接口代替了以前的传统低速通讯接口,既缩小了设备体积,又提高了可靠性,并缩短内部通讯的延时。

然而应用在导弹上的信息处理系统中,多内核dsp中多个内核各自的计算周期的时间不同,如何同步多内核间不同计算周期的时序成为多内核dsp噬待解决的关键问题。



技术实现要素:

为了解决上述问题至少之一,本发明第一方面提供一种基于多内核dsp的内核间时序同步方法,包括:

设置dsp的系统时钟,所述dsp按照预定义的定时周期发送定时中断;

设置所述dsp中的第一内核的第一计算周期,第二内核的第二计算周期,所述第一计算周期大于等于所述定时周期,所述第一计算周期小于所述第二计算周期;

所述第一内核根据接收的定时中断确定所述第一内核中第一计算周期的第一起点和第二计算周期的第二起点,并分别在所述第一起点发送第一中断至所述第二内核、在所述第二起点发送第二中断至所述第二内核;

所述第二内核接收所述第一中断和第二中断并分别作为所述第二内核中第一计算周期的第一起点和第二计算周期的第二起点。

进一步的,所述定时周期为所述第一计算周期的约数和所述第二计算周期的约数。

进一步的,所述第一计算周期为所述第二计算周期的约数。

进一步的,所述内核间时序同步方法还包括用于累计定时中断次数的第一计数器和第二计数器,

当所述第一内核第一次接收所述定时中断时所述第一计数器开始计数,根据所述定时周期与第一计算周期的倍数关系确定所述第一内核中所述第一计算周期的第一起点,所述第一计数器清零;

当所述第一内核第一次接收所述定时中断时所述第二计数器开始计数,根据所述定时周期与第二计算周期的倍数关系确定所述第一内核中所述第二计算周期的第二起点,所述第二计数器清零。

进一步的,所述第一内核使用的第一内核时钟和第二内核使用的第二内核时钟为同源时钟。

进一步的,所述第一中断和第二中断均为核间中断。

本发明第二方面提供一种利用第一方面所述的内核间时序同步方法进行数据传输的传输方法,包括:

同步所述第一内核和第二内核;

所述第一内核在每个第一计算周期的第一起点采集数据,在所述第二计算周期的第二起点将所述采集数据传输至所述第二内核并发送所述第二中断;

所述第二内核接收所述第二中断和所述采集数据,对所述采集数据进行数据处理。

进一步的,所述第一内核和第二内核采用核间总线进行数据传输。

本发明第三方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。

本发明第四方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第二方面所述的方法。

本发明的有益效果如下:

本发明提供的一种基于多内核dsp的内核间时序同步方法和数据传输方法,通过设置dsp的系统时钟和定时中断分别确定第一内核中第一计算周期和第二计算周期的起点,并通过第一内核发送的第一中断和第二终端分别确定所述第二内核中第一计算周期和第二计算周期的起点,从而实现多内核dsp中内核间时序同步问题,并有效提高内核间的数据传输效率。

附图说明

下面结合附图对本发明的具体实施方式作进一步详细的说明。

图1示出本发明的一个实施例中所述内核间时序同步方法的流程图;

图2示出本发明的一个实施例中所述内核间时序同步方法的示意图;

图3示出本发明的一个实施例中所述内核间时序同步方法的时序图;

图4示出本发明的一个实施例中所述数据传输方法的流程图。

具体实施方式

为了更清楚地说明本发明,下面结合优选实施例和附图对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。

如图1所示,本发明的一个实施例提供了一种基于多内核dsp的内核间时序同步方法,包括:设置dsp的系统时钟,所述dsp按照预定义的定时周期发送定时中断;设置所述dsp中的第一内核的第一计算周期,第二内核的第二计算周期,所述第一计算周期大于等于所述定时周期,所述第一计算周期小于所述第二计算周期;所述第一内核根据接收的定时中断确定所述第一内核中第一计算周期的第一起点和第二计算周期的第二起点,并分别在所述第一起点发送第一中断至所述第二内核、在所述第二起点发送第二中断至所述第二内核;所述第二内核接收所述第一中断和第二中断并分别作为所述第二内核中第一计算周期的第一起点和第二计算周期的第二起点。

在一个具体的示例中,如图2所示,设置所述dsp的系统时钟为50mhz,预定义定时周期为0.05ms,根据所述定时周期,dsp以20khz的频率发送定时中断。所述dsp的第一内核用于采集数据,以第一内核的第一计算周期循环采集;所述dsp的第二内核用于处理所述采集数据,以第二内核的第二计算周期循环计算、处理。为提高dsp对数据采集和处理的可靠性和稳定性,将所述定时周期设置为所述第一计算周期的约数和所述第二计算周期的约数,进一步的,所述第一计算周期为所述第二计算周期的约数,在本实施例中,将第一计算周期设置为0.25ms,将第二计算周期设置为5ms。所述第一内核接收所述定时中断并以此作为计时起点根据所述第一计算周期的时长确定所述第一内核中所述第一计算周期的第一起点,并发送第一中断至所述第二内核,所述第二内核根据接收的第一中断作为第二内核中第一计算周期的第一起点;相类似的,所述第一内核接收所述定时中断并以此作为计时起点根据所述第二计算周期的时长确定所述第一内核中所述第二计算周期的第二起点,并发送第二中断至所述第二内核,所述第二内核根据接收的第二中断作为第二内核中第二计算周期的第二起点。至此,所述第一内核和第二内核实现同步。

进一步的,为提高所述第一内核和第二内核同步的可靠性,所述内核间时序同步方法还包括用于累计定时中断次数的第一计数器和第二计数器,其中,所述第一计数器用于确定所述第一计算周期,当所述第一内核第一次接收所述定时中断时所述第一计数器开始计数,即所述第一内核每接收到一次定时中断所述第一计数器进行一次累加,根据所述定时周期与第一计算周期的倍数关系确定所述第一内核中所述第一计算周期的第一起点;如图3所示,在本实施例中,定时周期为t0=0.05ms,第一计算周期设置为t1=0.25ms,所述第一内核以第一次接收定时中断为计时起点t,则所述第一计数器累计5次定时中断为所述第一计算周期,所述第一内核根据所述第一计数器能够确定所述第一计算周期的第一起点t1,并向第二内核发送第一中断以确定所述第二内核中第一计算周期的第一起点t1,同时所述第一内核中的第一计数器清零,从下一个定时中断开始循环计数。相类似的,所述第二计数器用于确定所述第二计算周期,当所述第一内核第一次接收所述定时中断时,所述第二计数器也开始计数,根据所述定时周期与第二计算周期的倍数关系确定所述第一内核中所述第二计算周期的第二起点;在本实施例中,定时周期为t0=0.05ms,第二计算周期设置为t2=5ms,则所述第二计数器累计100次定时中断为所述第二计算周期,所述第一内核根据所述第二计数器能够确定所述第二计算周期的第二起点t2,并向第二内核发送第二中断以确定所述第二内核中第二计算周期的第二起点t2,同时所述第一内核中的第二计数器清零,从下一个定时中断开始循环计数。

值得说明的是,本发明中所述定时周期、第一计算周期、第二计算周期、第一计数器和第二计数器仅用于举例说明,本领域技术人员应当根据实际应用中所述dsp内核的计算周期的时长设置定时周期、计算周期和计数器的数值和数量,以能够实现具体应用需求为设计准则,在此不再赘述。

为进一步提高所述第一内核和第二内核同步的可靠性,所述第一内核使用的第一内核时钟和第二内核使用的第二内核时钟为同源时钟。在本实施例中,所述第一内核和第二内核使用同一外部时钟源,例如使用fpga作为外部时钟源,同时向第一内核和第二内核提供稳定的时钟信号;经过多次实际测量,所述第一内核和第二内核之间同一计算周期的误差在10ns左右,符合导弹上的信息处理系统的要求。

为了进一步降低导弹上的信息处理系统间的耦合和干扰,所述第一中断和第二中断采用dsp的核间中断,有效提高了第一内核和第二内核之间的同步信号的传输,在实现第一内核与第二内核之间的独立性的同时,避免了因中断故障带来的不必要的传输错误。

与上述实施例提供的内核间时序同步方法相对应,本申请的一个实施例还提供一种利用上述内核间时序同步方法进行数据传输的数据传输方法,如图4所示,包括:同步所述第一内核和第二内核;所述第一内核在每个第一计算周期的第一起点采集数据,在所述第二计算周期的第二起点将所述采集数据传输至所述第二内核并发送所述第二中断;所述第二内核接收所述第二中断和所述采集数据,对所述采集数据进行数据处理。如此在第一内核和第二内核同步的情况下,在第一内核和第二内核间传输数据,即利用第一中断和第二中断循环进行数据传输,能够有效提高数据传输的质量。

进一步的,为了提高所述第一内核和第二内核之间的数据传输的传输速率,所述第一内核和第二内核采用核间总线进行数据传输,所述传输速率可以达到10gbps,远高于使用串行总线485或422进行数据传输的传输速率。因此所述第一内核和第二内核使用核间总线进行数据传输,在大幅度提高通信效率的同时,还提高了通信可靠性。

本发明的一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:设置dsp的系统时钟,所述dsp按照预定义的定时周期发送定时中断;设置所述dsp中的第一内核的第一计算周期,第二内核的第二计算周期,所述第一计算周期大于等于所述定时周期,所述第一计算周期小于所述第二计算周期;所述第一内核根据接收的定时中断确定所述第一内核中第一计算周期的第一起点和第二计算周期的第二起点,并分别在所述第一起点发送第一中断至所述第二内核、在所述第二起点发送第二中断至所述第二内核;所述第二内核接收所述第一中断和第二中断并分别作为所述第二内核中第一计算周期的第一起点和第二计算周期的第二起点。

本发明的另一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现:同步所述第一内核和第二内核;所述第一内核在每个第一计算周期的第一起点采集数据,在所述第二计算周期的第二起点将所述采集数据传输至所述第二内核并发送所述第二中断;所述第二内核接收所述第二中断和所述采集数据,对所述采集数据进行数据处理。

在实际应用中,所述计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实时例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

本发明提供的一种基于多内核dsp的内核间时序同步方法和数据传输方法,通过设置dsp的系统时钟和定时中断分别确定第一内核中第一计算周期和第二计算周期的起点,并通过第一内核发送的第一中断和第二终端分别确定所述第二内核中第一计算周期和第二计算周期的起点,从而实现多内核dsp中内核间时序同步问题,并有效提高内核间的数据传输效率。

显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。

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