当前位置: 首页 > news >正文

软考-系统架构设计师-第二章 嵌入式基础知识

嵌入式基础知识

      • 2.1 嵌入式系统的组成和特点
      • 2.2 嵌入式系统的分类
      • 2.3 嵌入式软件的组成和特点
      • 2.4 嵌入式系统硬件体系结构

在这里插入图片描述

2.1 嵌入式系统的组成和特点

基础知识点
嵌入式系统(Embedded
System)是以特定应用为中心、以计算机技术为基础,并将可配置与可裁剪的软、硬件集成于一体的专用计算机系统。
嵌入式系统的组成结构是:
(1)嵌入式处理器,除满足低功耗、体积小等需求外,工艺可分为民用、工业和军用等三个档次,民用级器件的工作温度范围是0~70℃、工业级的是−40~85℃、
军用级的是−55~150℃。 其应用环境常常非常恶劣,比如有高温、寒冷、电磁、震动、烟尘等环境因素。
(2)相关支撑硬件,指除处理器以外的其他硬件,如存储器、定时器、总线等。
(3)嵌入式操作系统,与通用操作系统不同,嵌入式操作系统应具备实时性、可裁剪性和安全性等特征。
(4)支撑软件,其中的公共服务通常运行在操作系统之上,以库的方式被应用软件所引用。
(5)应用软件,是指为完成嵌入式系统的某一专用目标所开发的软件。
嵌入式系统的特点:
(1)专用性强,常常面向特定应用需求,配备多种传感器。
(2)技术融合,将先进的计算机技术、通信技术、半导体技术和电子技术与各个行业的具体 应用紧密结合难以拆分。
(3)软硬一体软件为主,在通用的嵌入式系统版本基础上裁剪冗余,高效设计。
(4)资源受限,由于低功耗、体积小和集成度高等要求,系统的资源非常少。
(5)程序代码固化在ROM中,以提高执行速度和系统可靠性。
(6)需专门开发工具和环境,见 2.3 节。
(7)体积小、价格低、工艺先进、性能价格比高、系统配置要求低、实时性强。
(8)对安全性和可靠性的要求高。

2.2 嵌入式系统的分类

根据不同用途可将嵌入式系统划分为嵌入式实时系统和嵌入式非实时系统两种。而实时系统又可分为强实时(Hard Real-Time)系统和弱实时(Weak
Real-Time) 系统。从安全性要求看,嵌入 式系统还可分为安全攸关(Safety-Critical 或 Life-Critical)系统和非安全攸关系统实时系统(Real-Time
System,RTS) 是指能够在规定的时间内完成系统功能和做出响应的系统。安全攸关系统(Safety-Critical
System)是指其不正确的功能或者失效会导致人员伤亡、财产损失等 严重后果的计算机系统。

2.3 嵌入式软件的组成和特点

  1. 基本概念
    大多数嵌入式系统都具备实时特征,这种嵌入式系统的典型架构可概括为两种模式,即层次化模式架构和递归模式架构。嵌入式系统的最大特点就是系统的运行和
    开发是在不同环境中进行的, 通常将运行环境称为“目标机”环境,称开发环境为“宿主机”环境,宿主机与目标机之间通过串口、网络或
    JTAG 接口连接。由于宿主机和
    目标机的指令往往是不同的,嵌入式系统的开发通常需 要交叉平台开发环境支持,基本开发工具是交叉编译器、交叉链接器和源代码调试器。还需要注意实时性、安全性
    和可靠性、代码规模、软/硬件协同工作的效率和稳定性、特定领域的需求等。

  2. 嵌入式系统的组成与特点
    组成
    (1)硬件层,包括处理器、存储器、总线、I/O 接口及电源、时钟等。
    (2)抽象层,包括硬件抽象层(HAL),为上层应用(操作系统)提供虚拟的硬件资源;板级支持包(BSP),是一种硬件驱动软件,为上层操作系统提供对硬件进行管理的支持。
    (3)操作系统层,由嵌入式操作系统、文件系统、图形用户接口、网络系统和通用组件等可 配置模块组成。
    (4)中间件层,是连接两个独立应用的桥梁,常用的有嵌入式数据库、OpenGL、消息中间件、 Java 中间件、虚拟机(VM)、DDS/CORBA 和Hadoop
    等。
    (5)应用层,包括不同的应用软件。
    主要特点:
    (1)可剪裁性:设计方法包括静态编译、动态库和控制函数流程实现功能控制等。
    (2)可配置性:设计方法包括数据驱动、静态编译和配置表等。
    (3)强实时性:设计方法包括表驱动、配置、静/动态结合、汇编语言等。
    (4)安全性(Safety):设计方法包括编码标准、安全保障机制、FMECA(故障模式、影响及 危害性分析)。
    (5)可靠性:设计方法包括容错技术、余度技术和鲁棒性设计等。
    (6)高确定性:设计方法包括静态分配资源、越界检查、状态机、静态任务调度等。

2.4 嵌入式系统硬件体系结构

1.组成结构
传统的嵌入式系统主要由嵌入式微处理器、存储器、总线逻辑、定时/计数器、看门狗电路、 I/O 接口和外部设备等部件组成。
2.嵌入式微处理器分类
(1)微处理器(Microprocessor Unit,MPU):微处理器+专门设计的电路板,集成度低、可靠性高,主要有:Am186/88、386EX、SC-400、PowerPC、68000、
MIPS、ARM 系列等。
(2)微控制器(Microcontroller Unit,MCU):又称单片机,把核心存储器和部分外设封装在片内。优点是单片化、体积小、功耗和成本下降,可靠性提高。包括
8501,P5IXA,MCS-251, MCS-96/196/296,C166/167,MC68HC05/11/12/16,68300 和数目众多的 ARM 系列。
(3)数字信号处理器(Digital Signal Processing,DSP):采用哈佛结构,对系统结构和指令进 行了特殊设计,适合执行大量数据处理。包括
TMS320 系列(含 C2000、C5000、C6000、C8000 系列)、DSP56000 系列、实时 DSP 处理器等。
(4)图形处理器(Graphics Processing Unit,GPU):与 CPU 相比大幅加强了浮点运算能力和 多核并行计算能力,因此常用于 AI
技术的深度学习的数据运算。
(5)片上系统(System on Chip,SoC):由多个具有特定功能的集成电路组合在一个芯片上 形成的系统或产品,其中包含完整的硬件系统,如处理器、IP(Intellectual
Property)核、存储器 等及其承载的嵌入式软件,如操作系统和定制的用户软件。
3.存储器分类
(1)随机存取存储器(Random Access Memory,RAM)。工作需要持续电力提供,可随机读写。
1)动态随机存取存储器(Dynamic RAM,DRAM),采用电容存储信息,优点是集成度高、 容量大、成本低,缺点是访问速度较慢、需要定期刷新。常作主存。
2)静态随机存取存储器(Static RAM,SRAM),采用多个晶体管自锁的方式保存状态,优点 是访问速度快、不需要刷新,缺点是集成度低、容量小、成本高。常用作高速缓存。

(2)只读存储器(Read Only Memory,ROM),存储的数据不会因掉电而丢失,读取的速度 比 RAM 快,常见的有以下几种:
1)掩膜型只读存储器(Mask Programmed ROM,MROM),优点是通过掩膜大批量制造、成 本低,缺点是同批数据全部一致且不可修改,只适合大批量生产。
2)可编程只读存储器(Programmable ROM,PROM),可以用专用编程设备一次性烧录数据, 适合少量制造。
3)可擦可编程只读存储器(Erasable Programmable ROM,EPROM),优点是写入的数据可以通过紫外线擦除重写。
4)电可擦可编程只读存储器(Electrically Erasable Programmable ROM,EEPROM),优点是 写入的数据可以通过电压来清除,但是清除的速度很慢。
5)快闪存储器(Flash Memory),优点是可以联机擦写数据且擦写的次数多、速度快,缺点是 读取的速度慢(相对其他 ROM 的速度而言)。

(3)内(外)总线逻辑。
1)根据传输的信息种类分类,可分为以下几种。
数据总线,用于传送需要处理或者需要存储的数据。
地址总线,用于指定在 RAM 之中存储的数据的地址。
控制总线,将微处理器控制单元的信号传送到周边设备。
2)根据连接部件分类,可分为以下几种。
①片内总线,连接芯片内部各元件。
②系统总线或板级总线,连接计算机系统的核心组件。
③局部总线,连接局部少数组件。
④通信总线,主机连接外设的总线。
在这里插入图片描述

3)按照数据传输的方向,总线可以分为单工总线和双工总线。单工总线只能从一端向另一端传输而不能反向;双工总线能在两个方向传输。双工总线又分为半双工总线
和全双工总线。半双工 总线只能轮流向两个方向传输;全双工总线可以同时在两个方向传输。
4)按照总线使用的信号类型,总线可以分为并行总线和串行总线。并行总线包含多位传输线, 在同一时刻可以传输多位数据,但一致性要求高,传输距离较近;
而串行总线只使用一位传输线, 同一时刻只传输一位数据,但距离可以较远。
(4)看门狗电路,是嵌入式系统必须具备的一种系统恢复能力,可防止程序出错或者死锁。 主要由输入端、寄存器、计数器和狗叫模块构成。通过寄存器对看门狗
进行基本设置,计数器计算 狗叫时间,狗叫模块决定看门狗超时后发出的中断或复位方式。程序正常运行时 MCU 会在输入端
定期“喂狗”,超时不“喂狗”就会触发
狗叫模块,一般是重启 MCU。

相关文章:

  • 计算机总线技术深度解析:从系统架构到前沿演进
  • 软考-系统架构设计师-第七章 软件工程基础知识
  • MySQL 8.0中的mysql.ibd文件
  • 6个月Python学习计划 Day 8 - Python 函数基础
  • PCIe走线注意事项
  • [250529] CrateDB 5.10.7 发布:一系列重要修复与升级注意事项
  • 红 黑 树
  • 在windows环境下安装Nmap并使用
  • MySQL 数据库调优指南:提升性能的全面策略
  • Android Studio 解决报错 not support JCEF 记录
  • 面向低端设备的移动网页调试策略:WebDebugX 在性能瓶颈分析中的应用
  • 数据库读写分离解决方案
  • dify 配置访问前缀
  • EasyVoice:开源的文本转语音工具,让文字“开口说话“
  • 初学python的我开始Leetcode题10-1
  • 【C/C++】chrono简单使用场景
  • c#与java的相同点和不同点
  • useRef、useForwardRef 和 useImperativeHandle
  • PyTorch中 torch.utils.data.DataLoader 的详细解析和读取点云数据示例
  • 信息学奥赛一本通 1551:维护序列
  • 十堰网站建设十堰/windows优化大师
  • 个人做网站需要注意什么/在线推广企业网站的方法
  • 宁志网站两学一做/山西seo排名厂家
  • 网站结构怎么做适合优化/西安百度公司官网
  • 怎样把网站做的好看/中国新闻网最新消息
  • 福清市住房和城乡建设局网站/小程序推广方案