一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构技术方案

技术编号:8271238 阅读:231 留言:0更新日期:2013-01-31 03:23
本发明专利技术提供的是一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构。由软件部分、硬件部分以及Avalon总线组成;软件部分包括应用程序代码、操作系统内核以及硬件描述层,操作系统内核通过硬件描述层完成与底层Avalon总线的通信,应用程序代码调用操作系统内核完成用户所需功能;硬件部分通过FPGA上硬件单元实现,包括硬核任务模块、硬核消息模块以及系统加速模块,硬核任务模块、硬核消息模块以及系统加速模块都通过Avalon总线实现与软件部分的双向数据通信,硬核任务模块与硬核消息模块间双向数据通信。本发明专利技术既可以保证通用嵌入式实时操作系统的应用灵活性,又可以在单一处理器下实现真正的多任务并行处理。

【技术实现步骤摘要】
本专利技术涉及的是一种基于FPGA的嵌入式处理装置。
技术介绍
在基于FPGA的系统应用中,加入嵌入式处理器可以极大的增加系统灵活性,同时为避免不必要的延迟,一般应用于此类处理器上的操作系统皆为嵌入式实时操作系统。为实现多个任务的并行执行,传统方法是通过操作系统时间分片机制实现多个任务的伪并行处理,但其串行执行程序的本质使实时性受限。为提高操作系统并行处理实时性,目前已有的解决办法是一种纯硬件结构的操作系统(示意结构如图I所示),操作系统的全部功能都通过FPGA硬件单元实现,处理器仅用于配置操作系统的功能寄存器,基于FPGA的并行性实现真正的多任务并行处理,这种操作系统的弊端是只能实现特定任务,无法实现通用嵌入 式操作系统的复杂功能,使得操作系统应用灵活性受限。
技术实现思路
本专利技术的目的在于提供一种可以提升操作系统多任务同步以及任务切换的速度,并可实现真正的多任务并行处理的提高嵌入式操作系统并行处理实时性的软硬件混合式结构。本专利技术的目的是这样实现的由软件部分、硬件部分以及Avalon总线组成;所述软件部分包括应用程序代码、操作系统内核以及硬件描述层三个部分,操作系统内核通过硬件描述层完成与底层Avalon总线的通信,应用程序代码调用操作系统内核完成用户所需功能;所述硬件部分通过FPGA上硬件单元实现,包括硬核任务模块、硬核消息模块以及系统加速模块,硬核任务模块、硬核消息模块以及系统加速模块都通过Avalon总线实现与软件部分的双向数据通信,同时硬核任务模块与硬核消息模块间双向数据通信。所述操作系统内核实现通用嵌入式实时操作系统功能,包括时间管理、核心调度、内存管理、标志管理、信号管理、消息管理及任务管理。所述硬核任务模块由任务管理函数控制,还包括专门的功能函数用于管理硬核消息模块以及系统加速模块。所述系统加速模块用于对核心调度、时间管理以及内存管理进行加速。所述硬核消息模块用于对标志管理、信号管理以及消息管理进行加速。本专利技术提出了一种新的提高嵌入式操作系统并行处理实时性的操作系统的软硬件混合式结构,应用在基于Altera FPGA的嵌入式处理器上,将传统嵌入式实时操作系统内核中的任务切换、消息传递等耗时C语言代码通过FPGA外部逻辑单元进行硬件加速,并用FPGA逻辑单元直接搭建硬核任务模块,这样就可以提升操作系统多任务同步以及任务切换的速度,并可实现真正的多任务并行处理。本专利技术的主要特征包括I、所述的混合式操作系统软件部分运行于Altera公司嵌入式软核处理器NiosII上。包括应用程序代码、操作系统内核以及硬件描述层三个部分。2、所述的硬件描述层用于通过Avalon总线完成与混合式操作系统硬件部分的通信功能。3、所述的操作系统内核用于完成通用嵌入式操作系统功能以及调用混合式操作系统硬件部分完成多任务并行处理等功能。4、所述的应用程序代码由用户自己定义,用于调用操作系统内核函数或者直接调用硬件描述层代码实现相应功能。5、所述的Avalon总线为Altera公司应用于其可编程逻辑器件上的一种总线规·范。6、所述的混合式操作系统硬件部分为通过FPGA上硬件单元实现,包括硬核任务模块、硬核消息模块和系统加速模块三部分。7、所述的硬核任务模块为通过FPGA上的硬件单元实现,完成用户特定任务功能需求。8、所述的硬核消息模块用于完成硬核任务与硬核任务之间、硬核任务与软件任务之间的信号消息传递。9、所述的系统加速模块用于对操作系统内核相应功能进行加速处理。本专利技术的有益效果是相对于传统嵌入式实时操作系统,纯硬件结构操作系统虽然在操作系统并行处理实时性方面有巨大优势,但是其纯硬件结构的本质使得它在处理复杂任务时有局限性,只能实现一些适合FPGA逻辑结构的简单任务。本专利技术提出的这种操作系统软硬件混合式结构,不但提高了操作系统并行处理的实时性,还能够通过软件部分实现通用嵌入式实时操作系统的功能,另外通过系统加速模块的设计,也提高了操作系统内核中软件程序执行的速度。既可以保证通用嵌入式实时操作系统的应用灵活性,又可以在单一处理器下实现真正的多任务并行处理。附图说明图I是纯硬件化操作系统实现多任务并行处理示意图;图2是软硬件混合式结构的操作系统并行处理示意图;图3是本专利技术的整体结构图;图4是本专利技术软件部分中操作系统内核结构图;图5是本专利技术硬件部分功能模块的通用结构图;图6是本专利技术的一种示例应用。具体实施例方式下面结合附图对本专利技术各个部分的构造和工作流程进行更详细的说明结合图3,基于Altera FPGA的软硬件混合式操作系统包括软件部分、硬件部分以及它们之间的通信桥梁Avalon总线。硬件描述层为支持Avalon总线的驱动程序,用于驱动硬件部分的功能模块;操作系统内核的主要作用为实现通用嵌入式实时操作系统功能;应用程序代码用于调用操作系统内核函数以及硬件描述层函数,完成用户特定功能需求。硬核任务模块由软件部分所控制,用于实现多任务并行处理;硬核消息模块与硬核任务模块、软件部分相连接,实现软件任务与硬核任务、硬核任务与硬核任务之间的消息通信;系统加速模块通过Avalon总线连接操作系统软件部分,实现对软件部分程序执行的加速功能。结合图4,为本专利技术软件部分中操作系统内核的结构图,该操作系统内核可实现通用嵌入式实时操作系统功能,包括时间管理、核心调度、内存管理、标志管理、信号管理、消息管理及任务管理等功能,硬核任务模块由任务管理函数控制,此外还包括专门的功能函数用于管理硬核消息模块以及系统加速模块。系统加速模块用于对核心调度、时间管理以及内存管理进行加速。硬核消息模块用于对标志管理、信号管理以及消息管理进行加速。结合图5,为本专利技术硬件部分功能模块的通用结构图,硬核任务模块、硬核消息模块以及系统加速模块都统一应用此结构。该结构包括接口部分、寄存器部分以及功能逻辑 部分。其中接口部分用于定义寄存器、功能逻辑与Avalon总线的接口关系;寄存器部分用于根据Avalon总线规范定义各种功能(如读、写、使能)的时序,完成软件部分与功能逻辑部分的信息交互;功能逻辑部分接收寄存器部分传递给它的信息,实现用户所需特定功能,将结果反馈给寄存器部分或直接通过接口部分传递到Avalon总线上,功能逻辑部分可与FPGA外部数字信号直接通信。结合图6,为本专利技术软硬件混合式结构操作系统的一种示例应用。在FPGA内部包括NiosII处理器(搭载混合式操作系统软件部分),混合式操作系统硬件部分用于多路数据采集,Altera公司的三速以太网控制器用于以太网络通信,SDRAM控制器用于管理FPGA外部SDRAM芯片实现操作系统程序的运行,NorFlash控制器用于管理FPGA外部Nor Flash芯片实现操作系统代码的存储,JTAG控制器用于连接JTAG仿真器完成对FPGA系统的调试。在该示例应用中,混合式操作系统硬件部分用于实现多路数据的并行采集,软件部分用于实现对SDRAM、NorFlash的控制以及通过以太网进行数据传输。本文档来自技高网...

【技术保护点】
一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构,其特征是:由软件部分、硬件部分以及Avalon总线组成;所述软件部分包括应用程序代码、操作系统内核以及硬件描述层三个部分,操作系统内核通过硬件描述层完成与底层Avalon总线的通信,应用程序代码调用操作系统内核完成用户所需功能;所述硬件部分通过FPGA上硬件单元实现,包括硬核任务模块、硬核消息模块以及系统加速模块,硬核任务模块、硬核消息模块以及系统加速模块都通过Avalon总线实现与软件部分的双向数据通信,硬核任务模块与硬核消息模块间双向数据通信。

【技术特征摘要】
1.一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构,其特征是由软件部分、硬件部分以及Avalon总线组成;所述软件部分包括应用程序代码、操作系统内核以及硬件描述层三个部分,操作系统内核通过硬件描述层完成与底层Avalon总线的通信,应用程序代码调用操作系统内核完成用户所需功能;所述硬件部分通过FPGA上硬件单元实现,包括硬核任务模块、硬核消息模块以及系统加速模块,硬核任务模块、硬核消息模块以及系统加速模块都通过Avalon总线实现与软件部分的双向数据通信,硬核任务模块与硬核消息模块间双向数据通信。2.根据权利要求I所述的一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构,其特征是所...

【专利技术属性】
技术研发人员:赵极远王逸林
申请(专利权)人:哈尔滨工程大学
类型:发明
国别省市:

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

1