嵌入式系统的组成

嵌入式系统通常由包含有嵌入式处理器、嵌入式操作系统、应用软件和外围设备接口的嵌入式计算机系统和执行装置(被控对象)组成。嵌入式计算机系统是整个嵌入式系统的核心,可以分为硬件层中间层系统软件层应用软件层。执行装置接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。

1.嵌入式计算机系统的硬件层

硬件层中包含嵌入式微处理器存储器(SDRAM、ROM、Flash等)通用设备接口I/O接口(A/D、D/A、I/O等)。硬件层通常是一个以嵌入式处理器为中心的,包含有电源电路、时钟电路和存储器电路的电路模块,其中操作系统和应用程序都固化在模块的ROM中。

(1)嵌入式微处理器

嵌入式微处理器是嵌入式系统硬件层的核心,嵌入式微处理器将通用CPU中许多由板卡完成的任务集成到芯片内部,从而有利于系统设计趋于小型化、高效率和高可靠性。
嵌入式微处理器的体系结构可以采用冯·诺依曼体系结构或哈佛体系结构,指令系统可以选用精简指令系统(Reduced Instruction Set Computer,RISC)复杂指令集系统CISC(Complex Instruction Set Computer, CISC)

(2)存储器

嵌入式系统的存储器包含Cache主存储器辅助存储器,用来存放和执行代码。

(3)通用设备接口和I/O接口

嵌入式系统通常具有与外界交互所需要的通用设备接口,如GPIO、A/D(模/数转换接口)、D/A(数/模转换接口)、RS-232接口(串行通信接口)、Ethernet(以太网接口)、USB(通用串行总线接口)、音频接口、VGA视频输出接口、I2C(现场总线)、SPI(串行外围设备接口)和IrDA(红外线接口)等。

2.中间层

中间层也称为硬件抽象层(Hardware Abstract Layer,HAL)或板级支持包(Board Support Package,BSP),位于硬件层和软件层之间,将系统上层软件与底层硬件分离开来。
BSP是一个介于操作系统和底层硬件之间的软件层次,包括了系统中大部分与硬件联系紧密的软件模块。BSP一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置等功能。

(1)嵌入式系统硬件初始化

系统初始化过程按照自底向上、从硬件到软件的次序依次可以分为片级初始化板级初始化系统级初始化3个主要环节。

(2)硬件相关的设备驱动程序

BSP中包含硬件相关的设备驱动程序,但是这些设备驱动程序通常不直接由BSP使用,而是在系统初始化过程中由BSP将他们与操作系统中通用的设备驱动程序关联起来,并在随后的应用中由通用的设备驱动程序调用,实现对硬件设备的操作。

3.系统软件层

系统软件层通常包含有实时多任务操作系统(Real-time Operation System,RTOS)、文件系统、图形用户接口(Graphic User Interface,GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。

(1)嵌入式操作系统(Embedded Operating System,EOS)

EOS负责嵌入式系统的软件、硬件的资源分配、任务调度,控制协调。具有以下特点:强实时性;支持开放性和可伸缩性的体系结构,具有可裁减性;提供统一的设备驱动接口;提供操作方便、简单、友好的图形GUI和图形界面;支持TCP/IP协议及其他协议,提供TCP/UDP/IP/PPP协议支持及统一的MAC访问层接口,提供强大的网络功能。

(2)文件系统

嵌入式文件系统与通用操作系统的文件系统不完全相同,主要提供文件存储、检索和更新等功能,一般不提供保护和加密等安全机制。

(3)图形用户接口(GUI)

GUI使用户可以通过窗口、菜单、按键等方式来方便地操作计算机或者嵌入式系统。嵌入式GUI与PC机上的GUI有着明显的不同,嵌入式系统的GUI要求具有轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。

4.应用软件层

应用软件层用来实现对被控对象的控制功能,由所开发的应用程序组成,面向被控对象和用户。为方便用户操作,通常需要提供一个友好的人机界面。

RTOS系统

RTOS(Real-time operating system)实时操作系统,是指能够在指定或者确定的时间内完成系统功能和对外部或内部、同步或异步时间做出响应的系统,系统能够处理和存储控制系统所需要的大量数据。

RTOS的特点

(1)约束性
RTOS任务的约束包括时间约束资源约束执行顺序约束性能约束
(2)可预测性
可预测性是指RTOS完成实时任务所需要的执行时间应是可知的。
(3)可靠性
大多数RTOS要求有较高的可靠性,要求系统在最坏情况下都能正常工作或避免损失。可靠性是RTOS的重要性能指标。
(4)交互性
外部环境是RTOS不可缺少的一个组成部分,外部环境往往是被控子系统,两者相互作用构成完整的实时系统。

RTOS调度

给定一组实时任务和系统资源,确定每个任务何时何地执行的整个过程就是调度。而RTOS中调度的目的则是要尽可能地保证每个任务满足它们的时间约束,及时对外部请求做出响应。实时调度技术常用的有以下两种:
(1)抢占式调度和非抢占式调度
(2)静态表驱动策略和优先级驱动策略

RTOS分类

RTOS主要分为强实时(Hard Real-Time)系统弱实时(Soft Real-Time)系统两类。

实时任务分类

实时任务的分类方法有多种,根据任务的周期划分,可以分为周期任务、偶发任务和非周期任务3类。根据是否允许任务超时,以及超时后对系统造成的影响,任务又分为强实时任务、准实时任务、弱实时任务和弱一强实时任务4类。

RTOS操作系统和内核

RTOS从单用途专用系统向多用途通用操作系统(如实时Linux等)发展。RTOS从只支持强实时及其应用发展到既支持强实时也支持弱实时及其应用方面。

最后修改:2019 年 09 月 21 日 06 : 11 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论