原创 NCRE三级嵌入式-----嵌入式系统的组成和分类

2019-7-3 21:57 3579 15 3 分类: MCU/ 嵌入式 文集: NCRE

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的性能则和以下因素有关:

主频(CPU时钟频率)

CPU中门电路的工作频率,它决定着CPU芯片内部数据传输与操作速度的快慢。一般而言,主频越高,执行一条指令的时间越短。

指令系统

指令的格式、类型和指令的数目、功能等都会影响程序的执行速度。

高速缓冲存储器的容量和结构

程序运行过程中高速缓冲存储器(Cache)有利于减少CPU访问内存的次数。通常,其容量越大、级数越多,其效果就越明显。

逻辑结构

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 总线
1.5 软件

嵌入式系统的软件配置有多种情况。一些低端的嵌入式软件很简单,他们不需要操作系统,只需配置配置一个监控程序、若干设备驱动程序和事件处理程序即可。系统工作时,它不断地重复运行监控程序,若发现由外部事件发生,通过中断服务例程转去执行相应的事件处理程序,随后再返回继续运行监控程序。

高端嵌入式系统的软件配置则比较复杂。它通常由板级支持包(Board Support Packet,BSP)、设备驱动程序、实时操作系统、中间件以及嵌入式应用软件等组成。其中,BSP和驱动程序属于底层软件,它们在操作系统和硬件之间构成一个硬件抽象层,负责屏蔽具体硬件的差异和细节,向操作系统提供统一的标准接口。实时操作系统是整个嵌入式系统的核心,它负责管理系统中的各种软硬件资源,完成任务调度、存储分配、文件管理、人机交互等功能,是应用软件的运行平台。中间件位于操作系统与应用软件之间,为上层的应用软件提供开发和运行环境。由于它向应用软件提供了标准化接口,使应用软件的开发相对独立于硬件和操作系统,并使应用软件能在不同的系统上运行,降低了开发成本。

以安卓软件架构为例,Android软件主要由4层组成。最底层是各种驱动程序和Linux内核。第2层是系统库和Android的运行环境。第3层是应用软件框架,它包含了许多可重用和可替换的软件组件,它们是Android应用程序开发和运行的重要基础。第4层是应用程序。Android本身提供了若干应用程序,第三方软件开发商也开发了大量的应用程序。


PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

lyyinhe_xi 2019-11-3 22:45

好文
相关推荐阅读
牛渔曦 2021-03-16 11:57
Verilog基础--亚稳态简介
在FPGA的系统中,如果数据传输不满足触发器的Tsu(建立时间)和Th(保持时间),或者复位过程中复位信号的释放不满足有效时钟沿的恢复时间(recovery time),就有可能产生亚稳态,此时触发器...
牛渔曦 2019-08-01 15:24
大小端的测试
在计算机系统中,存在大小端存储数据的问题,简言之,大端存储就是在高位地址存放低位数据,低位地址存放高位数据;小端存储就是在高位地址存放高位数据,在低位地址存放低位数据,测试代码如下:方法1:#incl...
牛渔曦 2019-07-04 14:51
高速电路设计/信号完整性的48个基本概念
本文转载自网络,版权归原作者,如果涉及侵权,请及时联系!1、信号完整性(Signal Integrity):就是指电路系统中信号的质量,如果在要求的时间内,信号能不失真地从源端传送到接收端,我们就称该...
牛渔曦 2019-07-04 14:49
理解阻抗匹配
本文转载自网络,版权归原作者,如果涉及侵权,请及时联系!阻抗匹配是指信号源或者传输线跟负载之间的一种合适的搭配方式。阻抗匹配分为低频和高频两种情况讨论。  我们先从直流电压源驱动一...
牛渔曦 2019-07-04 14:36
C程序到底是怎样运行在硬件设备上?
本文转载自网络,版权归原作者,如果涉及侵权,请及时联系!C语言的编译链接过程要把我们编写的一个c程序(源代码)转换成可以在硬件上运行的程序(可执行代码),需要进行编译和链接。编译就是把文本形式源代码翻...
我要评论
1
15
关闭 站长推荐上一条 /3 下一条