基于异构多核架构的通用化软硬件平台的制作方法

文档序号:13661275阅读:312来源:国知局
基于异构多核架构的通用化软硬件平台的制作方法

本发明涉及软件通信体系架构中的物理层的设计方法,特别是指软件通信体系架构中多核异构处理器的软硬件设计方法。



背景技术:

按照sca标准规范的定义,sca设备分为底层物理设备、设备驱动、操作系统、核心框架(cf)、corba中间件,波形应用等。通过corba中间件和核心框架,将波形应用相关和底层硬件设备相分离,从而实现软硬件的分离。然而,corba中间件只能运行于gpp中,无法运行在dsp和fpga中,需要设计与硬件无关的设备驱动mhal来达到与设备层通信的目的,从而给设计带来了一定的难度。硬件抽象层软件通过屏蔽硬件平台相关的底层通信机制、封装标准的通信接口,实现波形组件间通信方式与具体硬件平台的分离,保持波形组件底层通信访问接口的一致性,sca硬件抽象层设计涉及gpp、dsp以及fpga三个组件。其中,gpp(generalpurposeprocessor)表示可运行corba的通用处理器,dsp(digitalsignalprocessor)表示可运行c程序但不支持corba的处理器,fpga表示可运行hdl程序但不支持c程序和corba的处理器。

目前主流的硬件设计还是gpp+dsp+fpga的设计方法,这种设计方法具有其一定的弊端:

1、gpp、dsp和fpga开发相通性不统一,系统接口不一致,开发语言和硬件架构不同,需要分别对各个功能模块进行相应的开发,开发难度大、调试周期长,开发通用性差;

2、sca标准规范是通过corba中间件实现硬件之间异构的屏蔽,然而,dsp和fpga系统没有统一的接口,不能与gpp硬件接口实现通用,从而dsp和fpga无法运行corba中间件,因此需要花费额外时间和精力开发相应的硬件抽象层来屏蔽底层硬件设备,实现物理设备的逻辑化;

3、无法实现波形应用于数据处理的绝对分离,应用开发者依然需要对底层硬件驱动和数据交互的相关开发。



技术实现要素:

本发明的发明目的在于提供一种基于异构多核架构的通用化软硬件平台,可以运行corba中间件,用以解决现有corba中间件无法运行于dsp和fpga的设计难题,缩短软件系统的开发周期,实行软件系统之间设计的无差别区分。

本发明的发明目的通过以下技术方案实现:

一种基于异构多核架构的通用化软硬件平台,包含异构硬件平台、中间层corba模块和应用程序模块;

异构硬件平台包含由gpp组成的第一硬件平台、由arm与dsp组成的第二硬件平台、由arm与fpga组成的第三硬件平台;

应用程序模块分别运行在第一硬件平台、第二硬件平台和第三硬件平台,完成各自的波形数据处理;

中间层corba模块分别运行在第一硬件平台、第二硬件平台和第三硬件平台,形成通用的硬件驱动接口使波形数据在第一硬件平台、第二硬件平台和第三硬件之间的逻辑交互。

依据上述特征,在第二硬件平台上,应用程序模块运行在dsp上,中间层corba模块运行在arm上,dsp与arm之间通过内存映射与edma传输完成波形数据的内部交互,与第一硬件平台、第三硬件平台之间的波形数据交互通过arm来实现。

依据上述特征,在第三硬件平台上,应用程序模块运行在fpga上,中间层corba模块运行在arm上,fpga与arm之间通过挂载在fpga与arm的axi总线的dma共享内存来实现波形数据的内部交互,与第一硬件平台、第二硬件平台之间的波形数据交互通过arm来实现。

与现有技术相比较,本发明中的dsp,fpga组件通过arm平台对外交互波形数据,这样,dsp与fpga都统一封装成统一的gpp组件。整个平台都通用成一个统一的处理平台,通过对底层硬件驱动层的封装,调用统一的上层接口,完成波形应用组件的corba传输。同时,本发明波形的软件开发和硬件开发者都可以脱离平台的差异,而统一的调用相应的硬件驱动接口来完成波形数据的传输。再者,本发明可以使波形软件设计者更关注波形应用自身的传输,而无需关注波形底层设备的开发。平台开发无需关注波形接口的硬件细节,而更加关注硬件平台效率的提高与平台维护。因此,本发明不仅在时间上维护了设备平台的开发周期,更在空间上优化了波形软件应用的开发难题。

附图说明

图1为基于异构多核架构的通用化软硬件平台的结构示意图。

图2为dsp与arm组成的第二硬件平台的结构示意图。

图3为fpga与arm组成的第三硬件平台的结构示意图。

图4为基于异构多核架构的通用化软硬件平台的应用示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。

参见图1。根据软件设计思想,一种基于异构多核架构的通用化软硬件平台,包含异构硬件平台、中间层corba模块和应用程序模块;

异构硬件平台包含由gpp组成的第一硬件平台、由arm与dsp组成的第二硬件平台、由arm与fpga组成的第三硬件平台;

应用程序模块分别运行在第一硬件平台、第二硬件平台和第三硬件平台,完成各自的波形数据处理;

中间层corba模块分别运行在第一硬件平台、第二硬件平台和第三硬件平台,形成通用的硬件驱动接口使波形数据在第一硬件平台、第二硬件平台和第三硬件之间的逻辑交互。

参见图2。davinci架构处理器通过将arm与dsp整合,完成了异构多核架构处理器的设计思想。dsp运行应用程序模块,主要实现波形数据的处理功能,而arm运行中间层corba模块,实现波形数据的外部交互。这里dsp主要关注处理数据,而arm主要完成波形数据的交互,dsp和arm之间数据采用共享内存的方式进行数据通信,通过内存映射与edma传输,完成数据的交互。与外部数据交互通过arm来实现,arm完成gpp外部通信的功能,通过接收dsp共享的波形数据,完成波形数据的与外部数据通信的功能。

参见图3。zynq架构处理器通过将arm与fpga整合,完成了异构多核架构处理器的设计思想。fpga只需关注自身数据处理功能,与外部数据交互主要通过arm来完成。fpga和arm之间通过挂载在fpga与arm的axi总线的dma共享内存来实现。arm封装成gpp实现与外部通信的功能。

参见图4。通过将dsp与arm的封装,fpga与arm的封装,形成了gpp+gpp(dsp)+gpp(fpga)的层次封装结构。基于异构多核架构的通用化软硬件平台可以抽象成物理传输层、硬件抽象层、逻辑传输层、应用传输层4层。系统四层具有相互独立的工作环境,接口划分清晰,可以完成不同波形,不同组件,不同硬件环境,不同操作系统,不同物理传输之间平稳有效的运行。可以进一步通过以下步骤实现:

s1、在物理传输层上,通过对公用总线的调用(i2c,rapidio,can,网络)等,可以完成底层波形数据的交互。通过不同应用物理接口的底层交互,完成整个系统的数据交互。

s2、为实现硬件细节的一致性,通过封装不同的波形物理数据交互通道,设计通用的硬件抽象层来完成数据交互的一致性。硬件抽象层通过硬件驱动的封装打包,统一成通用的硬件驱动接口,操作系统和上层数据通道通过调用硬件抽象层的底层硬件接口,即可进行数据的通信。

s3、操作系统主要维持系统的各个功能层次的平稳运行,使系统具有统一的资源调度。操作系统可以使vxworks、linux、windows等。在操作系统之上,为保证逻辑传输层数据调用过程中稳定传输,需要sca核心框架(cf)的支持,sca核心框架cf运行于操作系统之上。

s4、在满足硬件抽象层设计的前提下,上层数据交互既可以通过统一的corba中间件实现数据的透明传输,corba中间件通过底层硬件抽象层软件封装接口,实现数据的转发。而上层波形应用软件的开发者,只需关注corba数据传输的透明性特点,不需要关注数据传输的具体细节。通过调用corba提供的应用封装接口,可以实时获取外部数据以及发送本应用所产生的波形应用数据。

s5、应用传输层主要完成波形组件的上层应用的实现,应用传输层主要有运行于接口控制的框架控制接口和描述环境配置的应用环境描述。波形应用组件通过框架控制接口和应用环境描述配置文件两个控制项,既可以完成波形以用组件的开发以及后期维护。

可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

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