论文部分内容阅读
实时操作系统在整个嵌入式系统中扮演着重要的角色,控制着整个系统的工作与运转,实时操作系统一个性能的优劣将对整个系统的所有性能产生直接的影响。已有的实时操作系统内核是加在应用程序中的软件,它不仅增加了存储空间的用量,而且增加了应用程序的额外负荷。尤其在实时性较强的场合,在限定时间内响应处理任务已经成为了对实时操作系统的一个基本要求。针对实时操作系统的开销导致应用程序可执行性降低的问题,单纯依靠改进调度算法已不能使其实时性有显著的提高,所以提出将实时操作系统内核硬化到FPGA平台上的设计方案,作为独立的硬件模块与处理器并行执行。建立由中断控制器、输入/输出寄存器和实时任务管理模块组成的硬件实时操作系统总体结构。其主要工作过程:通过数据总线把相应的命令和参数发送到指定硬件逻辑单元的输入寄存器中,硬件逻辑单元作出相应的处理,并将处理结果送到相应的输出寄存器中,以供CPU进行读取。本文以嵌入式实时操作系统μC/OS-Ⅱ为研究对象,修改μC/OS-Ⅱ中由软件实现的数据结构,根据硬件逻辑电路的并行性特点,搭建各个功能模块的硬件逻辑结构,整个设计采用VHDL硬件描述语言描述各个功能模块,利用Xilinx公司的ISE 8.2软件环境进行系统调试分析,完成功能仿真验证。本文主要设计并实现了任务管理模块和信号量管理模块的硬件逻辑电路。任务管理模块中对μC/OS-Ⅱ的任务调度算法进行改进和硬化,在uC/OS-Ⅱ内核原有的基于优先级抢占式调度算法的基础上,扩展相同优先级任务的调度算法,去除了原系统对每个任务必须有不同优先级的要求,采用硬件逻辑实现实时操作系统中的任务管理模块,使其实时性和确定性显著提高,充分发挥了多任务潜在的并行性;分析并改进μC/OS-Ⅱ中对信号量的管理和应用,设计并实现信号量管理模块的硬件逻辑电路,降低了频繁查表和访问内存带来的系统开销。将实时操作系统的调度功能由原来的纯软件实现转变为硬件实现,将极大的提高实时操作系统的实时性以及处理能力。