文章目录
嵌入式系统定义
- IEEE:
Devices used to control, monitor, or assist the
operation of equipment, machinery or plants. - Microsoft:
An embedded system is any computer system or computing device that performs a dedicated function or is designed for use with a specific embedded software application - Marilyn Wolf:
any device that includes a programmable computer but is not itself a general-purpose computer.
任何包括一个可编程计算机的设备,但本身并不是一台通用计算机
- 共同点:
操控物理设备且区别于通用型计算机,具有专用性。
通用计算机系统资源充足,有丰富的编译器、集成开发环境、调试器等,开发平台和运行平台都是通用计算机
嵌入式计算机结构
发展历程
- 20世纪40年代到50年代:Whirlwind
- MIT设计的 Whirlwind是第一台支持实时操作的计算机
- 从构件到系统的完整设计上是适应实时嵌入式计算的需求
- 20世纪70年代末:Intel 4004
- 用于计算器中
- 1972年:HP-35
- 第一种手持计算器
- 使用多块芯片完成中央处理器的功能,而不是采用集成在单一芯片上的微处理器。
- 汽车基于微处理器的引擎控制系统的设计
开始于70年代 - 典型的嵌入式字的大小: 8-bit, 16-bit, 32-bit,
64-bit
微处理器的字长:一次性能处理数据的位数
- 采用可编程中央处理器来取代硬件的原因
- 可编程处理器的使用简化了系统的设计和调试
- 用户可以对中央处理器进行升级,也可以将它们用于其他目的。
嵌入式计算应用的特点
提供精细的功能
- 运行复杂的算法
- 提供复杂的用户界面
处理时限问题
实时
- 在规定的时限内数据没有准备好,将中断
- 硬实时:硬实时系统有一个刚性的、不可改变的时间限制,它不允许任何超出时限的错误。因此 ,一旦硬实时系统出现超时错误,会带来损害甚至导致系统失败、或者导致系统不能实现它的预期目标。
- 软实时:对于软实时系统而言,违反其实时行造成的损失是当事人可以忍受或者承担的。
- 硬实时与软实时之间最关键的差别在于,软实时只能提供统计意义上的实时。例如,有的应用要求系统在95%的情况下都会确保在规定的时间内完成某个动作,而不一定要求100%。
- 在规定的时限内没有获得数据,将会不安全
多速率
- 对各种变化的速率能够实现操作,可能需要同步完成。例如多媒体数据流包括视频和音频
成本特点
- 制造成本:通常取决于处理器的类型,内存数量和I/O设备类型。
- 功率和能源:大耗电会影响到硬件的费用。
为什么要使用微处理器
- 可以用许多方法来设计一个数字系统:现场可编程门电路(FPGAs), 定制逻辑(如ASIC)等
- 微处理器使设计在不同价位上提供不同特性的产品系列变得容易,并且能够扩充新特性
- 基于微处理器的设计实现应用程序更快
- 微处理器执行程序十分高效。可以通过对CPU并行处理使解释指令的开销不太明显。
- 微处理器制造商投入巨大以使他们设计的CPU高速运行。
- 微处理器是十分高效的逻辑电路的利用者
- 异构系统: 通过定制逻辑、微处理器和软件提供良好的功能
PC一般不作为嵌入式计算系统平台
1、对实时性能的需求使得我们不得不使用不同的架构来实现系统,而多处理器可以最好地实现实时性能。
2、PC架构的高功率与高成本也使得我们放弃它而选择多处理器作为嵌入式计算平台。
信息物理系统 Cyber-Physical System (CPS)
Cyber-Physical Systems (CPS) are integrations of computation and physical processes.
(Edward A. Lee, UC Berkeley)
- CPS系统是计算过程和物理过程的融合系统
- 计算与物理成分融合。
- 连续过程与离散事件交织。
- 规模大小、时空跨度各异。
- 系统通信和交互方式多变。
防危性和安全性
安全性(security)
- 是指系统防止恶意攻击的能力
- 相关概念:
- 完整性(integeity):数据值的维护,不应被恶意攻击者随意篡改
- 隐私(privacy):不可以访问或发布未经授权的数据
- 通常跟信息技术(IT)系统有关。
防危性(safety)
- 释放能量或控制能量的方式
- 安全漏洞会使嵌入式计算机不当的操作物理设备,产生危险
嵌入式计算系统的性能
- 在实时系统中,性能意味着满足时限(deadline)。
- 错失时限,导致失败;过早的完成,对系统的运行也不能带来优点
- 从不同抽象层次分析理解:
- CPU:影响系统的行为
- 平台:总线和I/O设备
- 程序:考虑程序的整体结构,以确定整体行为
- 任务:任务之间的交互对性能产生深远的影响
- 多处理器:处理器之间的交互使得分析整体性
能更复杂
嵌入式系统设计过程
主要步骤
- 自顶向下(Top-down):从系统最抽象的描述开始,再逐步完善它的细节内容
- 自底向上(Bottom-up):从组件开始,直到建立一个完整的体系。
设计目标
- 性能.
- 速度、时限.
- 功能和用户界面.
- 制造成本.
- 功耗.
- 其它性能 (物理尺寸、重量等.)
需求
- 向客户收集他们需要实现的目标,并形成非正式描述的文档
- 通过几种方式:
- 直接与用户交流;
- 了解市场;
- 为用户提供带注释的原型.
- 功能性需求:系统对所做工作的详细描述
- 非功能性需求
- 性能:速度、计算时间
- 成本
- 物理尺寸、重量
- 功耗
- 可靠性
规格说明
- 对系统更精确的描述
- 不应隐含具体的功能
- 为结构设计过程提供输入
- 包括功能和非功能元素
- 可用执行或数学的形式来描述
体系结构设计
- 描述系统如何实现功能
- 硬件组件是:CPUs, 外设等.
- 必须考虑功能和非功能性的需求
- 用框图(block diagram)表示
设计硬件与软件组件
- 确保组件符合体系结构与规格说明的要求。
- 在开始写代码之前要构造系统.
- 有些组件是已经构造好的;
- 有些可以对已经存在的设计进行修改;
- 其它的需要从头设计。
系统集成
- 把组件组成在一起,得到可运行的系统
- 发现bugs——非常困难
- 调试工具少
- 有些不正确的工作很难修复