嵌入式系统的定义、特点、分类、典型应用
定义
IEEE的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”
嵌⼊入式系统是软件和硬件的综合体,还可以涵盖机电等附属装置。
三要素
- 嵌入性:嵌入到对象体系中,有对象环境要求
- 专用性:软、硬件按对象要求设计、裁剪
- 计算机:实现对象的智能化功能
特点
- 嵌入式系统通常是形式多样、面向特定应用的
- 一般用于特定的任务,其硬件和软件都必须高效率地设计,量体裁衣、去除冗余,而通用计算机则是一个通用的计算平台
- 它通常具有低功耗、体积小、集成度高等特点,能把通用微处理器中许多由板卡完成的任务集成在芯片内部
- 嵌入式软件是应用程序和操作系统两种软件的一体化程序
- 嵌入式系统得到多种类型的处理器和处理器体系结构的支持(处理器和处理器体系结构类型多)
- 通用计算机采用少数的处理器类型和体系结构,而且主要掌握在少数大公司手里
- 嵌入式系统可采用多种类型的处理器和处理器体系结构,有上千种嵌入式微处理器和几十种嵌入式微处理器体系结构可以选择
- 在嵌入式微处理器产业链上,IP设计、面向应用的特定嵌入式微处理器的设计、芯片的制造已形成巨大的产业。分工协作,形成多赢模式
- 嵌入式系统通常极其关注成本
- 嵌入式系统通常需要注意的成本是系统成本,特别是量大的消费类数字化产品,其成本是产品竞争的关键因素之一。
- 嵌入式系统的成本包括
- 一次性的开发成本NRE成本
- 产品成本:硬件BOM、外壳包装和软件版税等
- 批量产品的总体成本=NRE成+每个产品成本*产品总量
- 每个产品的最后成本=总体成本/产品总量=NRE成本/产品总量+每个产品成本
- 嵌入式系统有实时性和可靠性的要求
- 一方面大多数实时系统都是嵌入式系统
- 另一方面嵌入式系统多数有实时性的要求,软件一般是固化运行或直接加载到内存中运行,具有快速启动的功能
- 嵌入式系统一般要求具有出错处理和自动复位功能,特别是对于一些在极端环境下运行的嵌入式系统而言,其可靠性设计尤其重要
- 在大多数嵌入式系统的软件中一般都包括一些机制,比如硬件的看门狗定时器,软件的内存保护和重启动机制
- 嵌入式系统使用的操作系统一般是适应多种处理器、可剪裁、轻量型、实时可靠、可固化的嵌入式操作系统
- 由于嵌入式系统应用的特点,像嵌入式微处理器一样,嵌入式操作系统也是多姿多彩的
- 大多数商业嵌入式操作系统可同时支持不同种类的嵌入式微处理器。可根据应用的情况进行裁剪、配置
- 嵌入式操作系统规模小,所需的资源有限如内核规模在几十KB,能与应用软件一样固化运行
- 一般包括一个实时内核,其调度算法一般采用基于优先级的可抢占的调度算法
- 高可靠嵌入式操作系统:时、空、数据隔离
- 嵌入式系统开发需要专门工具和特殊方法
- 由于嵌入式系统资源有限,一般不具备自主开发能力,产品发布后用户通常也不能对其中的软件进行修改,必须有一套专门的开发环境
- 该开发环境包括专门的开发工具(包括设计、编译、调试、测试等工具),采用交叉开发的方式进行
嵌入式系统的分类
- 按嵌入式处理器的位数来分类
- 4位嵌入式系统
- 8位
- 16位(上三种已大量应用)
- 32位(上两种正成为主流发展趋势)
- 64位(上两种高度复杂的、高速的嵌入式系统已开始采用)
- 按应用来分类
- 可穿戴设备、智能安防等
- 按速度来分类
- 强实时系统,其系统响应时间在毫秒或微妙级
- 一般实时系统,其系统响应时间在几秒的数量级上,其实时性的要求比强实时系统要差一些
- 弱实时系统,其系统响应时间约为数十秒或更长。这种系统的响应时间可能随系统负载的轻重而变化
- 按确定性来分类
- 按嵌入式系统软件复杂程度来分类
典型应用
工控设备、军用电子设备、航天航空、汽车电子、
信息家电、通信、智能玩具、可穿戴
VR/AR、可穿戴机器人、智能家居、智能音箱、无人机、服务机器人、仿人机器、仿生机器人、
2. 嵌入式系统、IOT、CPS的基本组成
2.1 嵌入式系统的组成
- 嵌入式系统一般由嵌入式硬件和软件组成
- 硬件以微处理器为核心集成存储器和系统专用的输入/输出设备
- 软件包括:初始化代码及驱动、嵌入式操作系统和应用程序等,这些程序有机地结合在一起,形成系统特定的一体化软件
2.2 IOT的基本组成
IOT:物联网(IoT)是物理设备、车辆(也称为“连接设备”和“智能设备”)、建筑物和嵌入电子设备、软件、传感器、执行器和网络连接的其他物理设备之间的互联网络,这些设备使这些对象能够收集和交换数据。
RFID:射频识别,其原理为阅读器与标签之间进行非接触式的数据通信,达到识别目标的目的。
M2M(machine to machine):主要是由通信行业提出的。最初M2M 主要是指:不具备信息 化能力的机械设备通过移动通信网络(无线网络)与其他设备或信息系统(IT 系统)进行 通信。
2.3 CPS 的基本组成
CPS:信息物理系统(Cyber-Physical Systems)信息物理系统作为计算进程和物理进程的统 一体,是集成计算、通信与控制于一体的下一代智能系统。
4. 嵌入式硬件系统基础
4.1 嵌入式微处理器基础
4.1.1 嵌入式微处理器体系结构
嵌入式微处理器体系结构:冯诺依曼体系结构和哈佛体系结构
- 冯诺依曼体系结构数据和程序放在同一个存储单元,统一编址,指令和数据通过同一个总线访问
- 哈佛体系结构的程序和数据不是放在同一个存储空间中,因此有两条总线,也就是说数据吞吐率是冯诺依曼结构的两倍
CISC和RISC
复杂指令集系统CISC(Complex Instruction Set Computer):CISC包括一个丰富的微指令集,这些微指令简化了在处理器上运行的程序的创建,设计策略是使用大量的指令,包括复杂的寻址模式和操作符
精简指令集系统RISC(Reduced Instruction Set Computer):RISC 的指令系统相对简单,它只要求硬件执行很有限且最常用的那部分指令,大部分复杂的操作则使用成熟的编译技术,由简单指令合成
| CISC | RISC | |
|---|---|---|
| 价格 | 由硬件完成部分软件功能,硬件复杂性增加,芯片成本高 | 由软件完成部分硬件功能,软件复杂性增加,芯片成本低 |
| 性能 | 减少代码尺寸,增加指令的执行周期数 | 使用流水线降低指令的执行周期数,增加代码尺寸 |
| 指令集 | 大量的混杂指令集,由简单快速的指令,也有复杂多周期指令 | 简单的短周期指令,在汇编指令方面由相应的CISC微代码指令 |
| 高级语言支持 | 硬件完成 | 软件完成 |
| 寻址模式 | 复杂的寻址模式,支持内存到内存寻址 | 简单的寻址模式,仅允许LOAD和STORE指令存取内存,其它所有的操作都基于寄存器到寄存器 |
| 寄存器数目 | 寄存器较少 | 寄存器较多 |
流水线技术
在CPU中由若干个不同功能的电路单元组成一条指令处理流水线,然后将一条指令分成若干步后再由这些电路单元分别执行,这样就能实现在一个CPU时钟周期完成一条指令,因此提高CPU的运算速度。(提高CPU利用率,并行计算)
信息存储的字节顺序(大端和小端)
分类*
按位
可分为4位、8位、16位、32位和64位
按功能
根据功能不同,嵌入式微处理器分为四种:
- 嵌入式微处理单元(MPU)
- 嵌入式微控制器(MCU)
- 嵌入式DSP处理器
- 嵌入式SoC
MPU:嵌入式微型计算机的中央处理器,控制整个微型计算机的工作,体积小、功耗少、成本低、可靠性高的特点;可提供工业级应用(ARM、Power、MIPS)
MCU:将整个计算机系统的主要硬件如ROM、RAM、总线、定时/计数器、IO设备等集成到一块芯片,形成芯片级的计算机。单片化、体积小、功耗低、成本低、可靠性高(通用8051d等)
DSP:专门用于信号处理方面的处理器,在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令执行速度(摩托罗拉、ADI、TI)
SoC:追求产品系统最大包容的集成器件,绝大多数系统构建都在一个系统芯片内部(高通骁龙、海思)
选型***
-
高效且经济地满足任务的计算需求
- 速度、ROM和RAM的数量、I/O端口和计时器的数量、大小、包装、功耗
- 易于升级
- 单位成本
- 软件开发工具的可用性
- 汇编程序、调试器、C编译器、模拟器、技术支持
- 微控制器的广泛可用性和可靠来源
选择步骤
- 列出所需硬件接口
- 检查软件架构
- 选择架构
- 确定内存需求
- 开始搜索微控制器
- 检查成本和功率限制
- 检查零件可用性
- 选择开发工具包
- 调查编译器和工具
- 开始实验
4.1.2 ARM
看门狗*
功能及工作原理
嵌入式控制系统运行时受到外部干扰或者系统错误,程序有时会出现“跑飞”(数据或信号不可预测的错误),导致整个系统瘫痪。为了防止这一现象的发生,在对系统稳定性要求较高的场合往往要加入看门狗(Watchdog)电路。看门狗电路的作用就是当系统“跑飞”而进入死循环时,恢复系统的运行。
看门狗电路的基本原理为:设本系统程序完整运行一周期的时间是tp,看门狗的定时周期为ti,且ti>tp,在程序运行一周期后就修改(再重新设定看门狗的定时周期)定时器的计数值(俗称“喂狗”),只要程序正常运行,定时器就不会溢出。若由于干扰等原因使系统不能在tp时刻修改定时器的计数值,定时器
4.2 嵌入式系统的存储体系
4.2.1 存储器系统:存储器系统的层次结构*
5. 嵌入式系统软件知识
5.1 嵌入式软件基础知识
5.1.1 嵌入式软件分类
系统软件是指控制和协调计算机及外部设备、支持应用软件开发和运行的系统
支撑软件是支持其他软件的编制和维护的软件
应用软件是用户可以使用的各种程序设计语言,以及各种程序设计语言编制的应用程序的集合
5.1.2 嵌入式软件体系结构**
硬件:组成计算机最基本的物理结构
固件(firmware):固件的所在是位于软件和硬件之间。一般是写入ROM中的程序
操作系统层:包括嵌入式内核、嵌入式TCP/IP网络系统、嵌入式文件系统、嵌入式GUI系统和电源管理部分
应用:应用层软件主要由多个相对独立的应用任务组成
5.2 嵌入式操作系统基础知识
5.2.1 RTOS概念、特点、选型原则*
RTOS:对外来事件能在限定的响应时间内做出预定质量处理的计算机系统
特点
可移植性、强调实时性能、内核精简、抢占式内核、使用可重入函数、可配置、可裁剪、高可靠性