CN102902513A - 一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构 - Google Patents
一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构 Download PDFInfo
- Publication number
- CN102902513A CN102902513A CN2012103212332A CN201210321233A CN102902513A CN 102902513 A CN102902513 A CN 102902513A CN 2012103212332 A CN2012103212332 A CN 2012103212332A CN 201210321233 A CN201210321233 A CN 201210321233A CN 102902513 A CN102902513 A CN 102902513A
- Authority
- CN
- China
- Prior art keywords
- module
- hardware
- software
- management
- operating system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Advance Control (AREA)
Abstract
本发明提供的是一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构。由软件部分、硬件部分以及Avalon总线组成;软件部分包括应用程序代码、操作系统内核以及硬件描述层,操作系统内核通过硬件描述层完成与底层Avalon总线的通信,应用程序代码调用操作系统内核完成用户所需功能;硬件部分通过FPGA上硬件单元实现,包括硬核任务模块、硬核消息模块以及系统加速模块,硬核任务模块、硬核消息模块以及系统加速模块都通过Avalon总线实现与软件部分的双向数据通信,硬核任务模块与硬核消息模块间双向数据通信。本发明既可以保证通用嵌入式实时操作系统的应用灵活性,又可以在单一处理器下实现真正的多任务并行处理。
Description
技术领域
本发明涉及的是一种基于FPGA的嵌入式处理装置。
背景技术
在基于FPGA的系统应用中,加入嵌入式处理器可以极大的增加系统灵活性,同时为避免不必要的延迟,一般应用于此类处理器上的操作系统皆为嵌入式实时操作系统。为实现多个任务的并行执行,传统方法是通过操作系统时间分片机制实现多个任务的伪并行处理,但其串行执行程序的本质使实时性受限。为提高操作系统并行处理实时性,目前已有的解决办法是一种纯硬件结构的操作系统(示意结构如图1所示),操作系统的全部功能都通过FPGA硬件单元实现,处理器仅用于配置操作系统的功能寄存器,基于FPGA的并行性实现真正的多任务并行处理,这种操作系统的弊端是只能实现特定任务,无法实现通用嵌入式操作系统的复杂功能,使得操作系统应用灵活性受限。
发明内容
本发明的目的在于提供一种可以提升操作系统多任务同步以及任务切换的速度,并可实现真正的多任务并行处理的提高嵌入式操作系统并行处理实时性的软硬件混合式结构。
本发明的目的是这样实现的:
由软件部分、硬件部分以及Avalon总线组成;所述软件部分包括应用程序代码、操作系统内核以及硬件描述层三个部分,操作系统内核通过硬件描述层完成与底层Avalon总线的通信,应用程序代码调用操作系统内核完成用户所需功能;所述硬件部分通过FPGA上硬件单元实现,包括硬核任务模块、硬核消息模块以及系统加速模块,硬核任务模块、硬核消息模块以及系统加速模块都通过Avalon总线实现与软件部分的双向数据通信,同时硬核任务模块与硬核消息模块间双向数据通信。
所述操作系统内核实现通用嵌入式实时操作系统功能,包括时间管理、核心调度、内存管理、标志管理、信号管理、消息管理及任务管理。
所述硬核任务模块由任务管理函数控制,还包括专门的功能函数用于管理硬核消息模块以及系统加速模块。
所述系统加速模块用于对核心调度、时间管理以及内存管理进行加速。
所述硬核消息模块用于对标志管理、信号管理以及消息管理进行加速。
本发明提出了一种新的提高嵌入式操作系统并行处理实时性的操作系统的软硬件混合式结构,应用在基于Altera FPGA的嵌入式处理器上,将传统嵌入式实时操作系统内核中的任务切换、消息传递等耗时C语言代码通过FPGA外部逻辑单元进行硬件加速,并用FPGA逻辑单元直接搭建硬核任务模块,这样就可以提升操作系统多任务同步以及任务切换的速度,并可实现真正的多任务并行处理。
本发明的主要特征包括:
1、所述的混合式操作系统软件部分运行于Altera公司嵌入式软核处理器Nios II上。包括应用程序代码、操作系统内核以及硬件描述层三个部分。
2、所述的硬件描述层用于通过Avalon总线完成与混合式操作系统硬件部分的通信功能。
3、所述的操作系统内核用于完成通用嵌入式操作系统功能以及调用混合式操作系统硬件部分完成多任务并行处理等功能。
4、所述的应用程序代码由用户自己定义,用于调用操作系统内核函数或者直接调用硬件描述层代码实现相应功能。
5、所述的Avalon总线为Altera公司应用于其可编程逻辑器件上的一种总线规范。
6、所述的混合式操作系统硬件部分为通过FPGA上硬件单元实现,包括硬核任务模块、硬核消息模块和系统加速模块三部分。
7、所述的硬核任务模块为通过FPGA上的硬件单元实现,完成用户特定任务功能需求。
8、所述的硬核消息模块用于完成硬核任务与硬核任务之间、硬核任务与软件任务之间的信号消息传递。
9、所述的系统加速模块用于对操作系统内核相应功能进行加速处理。
本发明的有益效果是:
相对于传统嵌入式实时操作系统,纯硬件结构操作系统虽然在操作系统并行处理实时性方面有巨大优势,但是其纯硬件结构的本质使得它在处理复杂任务时有局限性,只能实现一些适合FPGA逻辑结构的简单任务。
本发明提出的这种操作系统软硬件混合式结构,不但提高了操作系统并行处理的实时性,还能够通过软件部分实现通用嵌入式实时操作系统的功能,另外通过系统加速模块的设计,也提高了操作系统内核中软件程序执行的速度。既可以保证通用嵌入式实时操作系统的应用灵活性,又可以在单一处理器下实现真正的多任务并行处理。
附图说明
图1是纯硬件化操作系统实现多任务并行处理示意图;
图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的控制以及通过以太网进行数据传输。
Claims (5)
1.一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构,其特征是:由软件部分、硬件部分以及Avalon总线组成;所述软件部分包括应用程序代码、操作系统内核以及硬件描述层三个部分,操作系统内核通过硬件描述层完成与底层Avalon总线的通信,应用程序代码调用操作系统内核完成用户所需功能;所述硬件部分通过FPGA上硬件单元实现,包括硬核任务模块、硬核消息模块以及系统加速模块,硬核任务模块、硬核消息模块以及系统加速模块都通过Avalon总线实现与软件部分的双向数据通信,硬核任务模块与硬核消息模块间双向数据通信。
2.根据权利要求1所述的一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构,其特征是:所述操作系统内核实现通用嵌入式实时操作系统功能,包括时间管理、核心调度、内存管理、标志管理、信号管理、消息管理及任务管理。
3.根据权利要求2所述的一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构,其特征是:所述硬核任务模块由任务管理函数控制,还包括专门的功能函数用于管理硬核消息模块以及系统加速模块。
4.根据权利要求3所述的一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构,其特征是:所述系统加速模块用于对核心调度、时间管理以及内存管理进行加速。
5.根据权利要求4所述的一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构,其特征是:所述硬核消息模块用于对标志管理、信号管理以及消息管理进行加速。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210321233.2A CN102902513B (zh) | 2012-09-03 | 2012-09-03 | 一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210321233.2A CN102902513B (zh) | 2012-09-03 | 2012-09-03 | 一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102902513A true CN102902513A (zh) | 2013-01-30 |
CN102902513B CN102902513B (zh) | 2015-12-02 |
Family
ID=47574762
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210321233.2A Expired - Fee Related CN102902513B (zh) | 2012-09-03 | 2012-09-03 | 一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102902513B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880951A (zh) * | 2020-03-17 | 2020-11-03 | 谷歌有限责任公司 | 车辆制造商用户管理系统与汽车操作系统的集成 |
CN112084132A (zh) * | 2020-09-02 | 2020-12-15 | 洛阳驰诺科技有限公司 | 一种小型多功能通用信息处理单元 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1049372A (ja) * | 1996-08-02 | 1998-02-20 | Mitsubishi Electric Corp | リアルタイムコントローラ |
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
-
2012
- 2012-09-03 CN CN201210321233.2A patent/CN102902513B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH1049372A (ja) * | 1996-08-02 | 1998-02-20 | Mitsubishi Electric Corp | リアルタイムコントローラ |
CN101894045A (zh) * | 2010-06-18 | 2010-11-24 | 阳坚 | 一种实时Linux操作系统 |
Non-Patent Citations (3)
Title |
---|
JIANZHUANG WANG等: "System Structure for FPGA-Based SOPC Design Using Hard Tasks", 《THE IEEE INTERNATIONAL CONFERENCE ON INDUSTRIAL INFORMATICS》, 16 July 2008 (2008-07-16) * |
LI YAN等: "Hardware Implementation of μC/OS-II based on FPGA", 《EDUCATION TECHNOLOGY AND COMPUTER SCIENCE(ETCS), 2010 SECOND INTERNATIONAL WORKSHOP ON》, 7 March 2010 (2010-03-07), pages 825 - 826 * |
许芳等: "基于FPGA/Nios-II的矩阵运算硬件加速器设计", 《电子测量与仪器学报》, vol. 25, no. 4, 15 April 2011 (2011-04-15) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111880951A (zh) * | 2020-03-17 | 2020-11-03 | 谷歌有限责任公司 | 车辆制造商用户管理系统与汽车操作系统的集成 |
CN111880951B (zh) * | 2020-03-17 | 2024-01-23 | 谷歌有限责任公司 | 车辆制造商用户管理系统与汽车操作系统的集成 |
CN112084132A (zh) * | 2020-09-02 | 2020-12-15 | 洛阳驰诺科技有限公司 | 一种小型多功能通用信息处理单元 |
Also Published As
Publication number | Publication date |
---|---|
CN102902513B (zh) | 2015-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105183698B (zh) | 一种基于多核dsp的控制处理系统和方法 | |
CN103941650B (zh) | 逻辑与运动集成控制器 | |
US9251308B2 (en) | Simulation method, system, and program | |
CN104461503A (zh) | 动态组成软件界面的方法与系统 | |
CN103713948B (zh) | 一种优先级抢占时间片轮转操作系统中任务定时调度方法 | |
CN102902513A (zh) | 一种提高嵌入式操作系统并行处理实时性的软硬件混合式结构 | |
KR101635397B1 (ko) | 재구성 가능한 프로세서 코어를 사용하는 멀티코어 시스템의 시뮬레이터 및 시뮬레이션 방법 | |
CN107015840B (zh) | 一种解析器的快速执行方法及快速执行系统 | |
CN104750475A (zh) | 一种卫星在轨重构框架系统和方法 | |
CN102236332B (zh) | 一种激光加工设备混合控制方法及控制装置 | |
CN106896956B (zh) | 一种“道”系统下多点触控的实现方法 | |
CN103916336B (zh) | 一种用fpga实现的以太网驱动器 | |
WO2023138001A1 (zh) | 一种新型界面换肤系统及其方法 | |
Yang | FPGA in IoT edge computing and intelligence transportation applications | |
CN101866174B (zh) | 汽车真空助力器疲劳试验中防抱死刹车系统的电子通信控制系统 | |
CN106325259A (zh) | 一种多lru并行安全性测试方法 | |
CN114116554B (zh) | 一种基于fpga的雷达数据转发架构及转发方法 | |
CN103162973A (zh) | 单芯片多线程的汽车诊断系统及方法 | |
CN102567281B (zh) | 可重构调度算子阵列结构、集成电路阵列结构及控制模块 | |
CN201084005Y (zh) | 基于arm技术的嵌入式机床数控系统 | |
CN109918321B (zh) | 一种基于PCIe总线的在线重构方法 | |
CN111124034B (zh) | 一种使用时间处理单元的时序控制方法 | |
Pereira et al. | Co-designed FreeRTOS deployed on FPGA | |
CN202013576U (zh) | 一种视觉切割机器人图像采集处理器 | |
CN201724819U (zh) | 电控发动机匹配标定系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151202 Termination date: 20210903 |
|
CF01 | Termination of patent right due to non-payment of annual fee |