1. 嵌入式系统逻辑组成
嵌入式系统和通用计算机一样,也是由硬件和软件两部分组成。硬件的主体是中央处理器和存储器,他们通过I/O接口和输入/输出设备与外部世界联系,并借助总线相互连接,这些硬件联通嵌入式软件一同构成完整的嵌入式系统。
1.1处理器能按照指令的规定高速度完成二进制数据的算术和逻辑运算,它由运算器、控制器、寄存器、高速缓冲存储器(Cache)等部件组成,结构复杂。
有些嵌入式系统会包含多个处理器,各有其不同的任务,负责运行系统软件和应用软件的主处理器称为中央处理器(Central Processing Unit,CPU),其余都是协处理器,如数字信号处理器(Digital Signal Processor,DSP)、图形处理器、通信处理器等等,但CPU是不可或缺的核心部件。
CPU的字长有4位、8位、16位、32位、64位之分。字长指的是CPU中通用寄存器和定点运算器的二进位宽度。目前使用最多的还是8位和16位的CPU,但32位和64位CPU是技术发展的主流。通用计算机的CPU以64位为主。
嵌入式系统的性能很大程度上取决于CPU,而CPU的性能则和以下因素有关:
l 主频(CPU时钟频率)
指CPU中门电路的工作频率,它决定着CPU芯片内部数据传输与操作速度的快慢。一般而言,主频越高,执行一条指令的时间越短。
l 指令系统
指令的格式、类型和指令的数目、功能等都会影响程序的执行速度。
l 高速缓冲存储器的容量和结构
程序运行过程中高速缓冲存储器(Cache)有利于减少CPU访问内存的次数。通常,其容量越大、级数越多,其效果就越明显。
l 逻辑结构
CPU包含的定点运算器和浮点运算器数目、有无协处理器、流水线级数和条数、有无指令预测和数据预取功能等,都对指令执行的速度有影响。
1.2存储器存储器的功能是存储程序和数据。按照特性,存储器分为易失性存储器和非易失性存储器。前者掉电(关机)后,数据丢失;后者,能永久或半永久的保存信息,即使掉电(或关机)。如下图所示。
随机存储器RAM(Random Access Memory)属于易失性存储器,分为动态随机存储器(Dynamic RAM)和静态随机存储器(Static RAM)两种。
DRAM电路简单、集成度高、功耗低、成本低,通常用作存放正在运行的/处理的程序/数据的工作存储器;
SRAM电路复杂、集成度底、功耗较大,成本高、但速度特别快,往往与CPU内核集成在一起,用作程序和数据的高速缓冲存储器(Cache)。
非易失性存储器中的Flash存储器有两类:或非型(NOR Flash)和与非型(NAND Flash)。前者以字节为单位进行随机存取,存储在其中的程序(称为“固件”)可以直接被CPU执行;后者以页(行)为单位进行存取、读出速度稍慢,通常应将程序或数据预先读入到RAM中再使用,但他在容量、使用寿命和成本上有较大优势,所以大多做成存储卡或者U盘。
1.3 IO设备和IO接口IO设备可分为两大类:
1. 人机交互
如键盘、触摸屏、LED、麦克风、鼠标、操纵杆等等。
2. 机机交互
各类传感器及执行机构(继电器、电机等等)。
IO接口:
1. 通用串行总线式接口:USB2.0/USB3.0、IEEE1394、以太网接口等等;
2. 异步串行接口:RS-232、RS-485等等;
3. 视频信号接口:视频图形阵列(Video Graphics Array,VGA)接口、数字视频接口(Digital Video Interface,DVI)、高清晰度多媒体接口(High Definition Multimedia Interface,HDMI)等;
4. 工业总线接口:控制器局域网(Control Area Network,CAN)接口、1553B接口、局域互联网(Local Interconnect Network,LIN)接口等;
5. 无线接口:红外线(IrDA)接口、蓝牙(Bluetooth)接口、Zigbee接口、WiFi接口等等。
1.4 总线嵌入式系统的软件配置有多种情况。一些低端的嵌入式软件很简单,他们不需要操作系统,只需配置配置一个监控程序、若干设备驱动程序和事件处理程序即可。系统工作时,它不断地重复运行监控程序,若发现由外部事件发生,通过中断服务例程转去执行相应的事件处理程序,随后再返回继续运行监控程序。
高端嵌入式系统的软件配置则比较复杂。它通常由板级支持包(Board Support Packet,BSP)、设备驱动程序、实时操作系统、中间件以及嵌入式应用软件等组成。其中,BSP和驱动程序属于底层软件,它们在操作系统和硬件之间构成一个硬件抽象层,负责屏蔽具体硬件的差异和细节,向操作系统提供统一的标准接口。实时操作系统是整个嵌入式系统的核心,它负责管理系统中的各种软硬件资源,完成任务调度、存储分配、文件管理、人机交互等功能,是应用软件的运行平台。中间件位于操作系统与应用软件之间,为上层的应用软件提供开发和运行环境。由于它向应用软件提供了标准化接口,使应用软件的开发相对独立于硬件和操作系统,并使应用软件能在不同的系统上运行,降低了开发成本。
以安卓软件架构为例,Android软件主要由4层组成。最底层是各种驱动程序和Linux内核。第2层是系统库和Android的运行环境。第3层是应用软件框架,它包含了许多可重用和可替换的软件组件,它们是Android应用程序开发和运行的重要基础。第4层是应用程序。Android本身提供了若干应用程序,第三方软件开发商也开发了大量的应用程序。
lyyinhe_xi 2019-11-3 22:45