[嵌入式系统设计]嵌入式相关概念
基本概念
嵌入式计算机系统:任何包括一个可编程计算机的设备,但本身并不是一台通用计算机.
微处理器:包括 I/O设备, 板上存储
数字信号处理(DSP): 微处理器在数字信号处理能力上的优化.
-
典型的嵌入式字的大小: 8-bit, 16-bit, 32-bit.
考点:(选择题)
嵌入式设备对应的嵌入式微处理器字的可能大小。
eg:–4-bit 微处理器用例检查安全带是否系上;
–16/32-bit 微处理器控制引擎.
防抱死制动系统(ABS): 反复制动减少打滑.
-
自动稳定控制系统(ASC+T): 控制引擎以改善其稳定性.
–2个微处理器
–一个逻辑相关组件,一个具体的执行组件
嵌入式系统的特点
复杂的功能
实时操作
多速率操作:(例如多媒体数据流包括视频和音频)
–运行多个实时动作
–以不同的速率执行
- 成本特点:–制造成本
–功率和能源
-
实时操作:在deadlines时间内完成操作
–硬实时(Hardreal time): 错过deadline会造成失败.
–软实时(Softreal time): 错过deadline会导致性能的降低.
-
非功能性需求:受市场约束需要低的制造成本.
–低内存, 低端处理器,低功耗(大功耗将增加系统成本)等.
为什么使用微处理器?
可选: 现场可编程门电路(FPGAs), 定制逻辑等.
微处理器是有效的:可以通过相同的逻辑完成不同的功能.
微处理器简化的产品系列的设计.
微处理器比定制的使用更多地逻辑电路.
-
但微处理器的执行更快:
–流水技术
–强大的设计团队
–CPU进行高度优化
-
功耗
-
定制逻辑使用低功耗,但CPU:
–提供特性来帮助控制功耗.
–软件设计技术减少功耗.
异构系统: 通过定制逻辑、CPU和软件提供良好的功能.
-
-
平台 (嵌入式计算系统: 硬件结构+ 相关软件)
阻止PC作为嵌入式计算系统的原因:
–实时性能
–低功率和低成本
-
物理设备的Computation
物理设备的嵌入式,使其具有Computation
被动数据->主动信息
-
嵌入式的设计:面向对象->面向角色
——即:要软硬件协同设计
-
性能
•在通用目的的计算机系统中,性能通常指平均情况下,不是好的情况下.
•在实时嵌入式中,性能意味着满足时限(deadlines).
从不同抽象层次分析理解:
–CPU:影响系统的行为
–平台:总线和I/O设备
–程序:考虑程序的整体结构,以确定整体的行为
–任务:任务之间的交互对性能产生深远的影响
–多处理器:处理器之间的交互使得分析整体性能更复杂
嵌入式系统设计面临的挑战
-
需要多少硬件?
–多大的CPU、多大的内存?
-
如何满足时限?
–是快速的硬件还是优化的软件?
-
如何减少功耗?
–是关闭不必要的逻辑?还是减少内存的访问?
-
能否正常工作?
–规范正确吗?
–实现满足规范吗?
–为实时特性如何测试?
–如何测试真实的数据?
-
系统上如何工作?
–可观察性、可控性?
–受限的开发环境(软件可发、硬件开发工具)
嵌入式系统设计
-
设计方法:设计一个系统的过程.
•理解设计方法有助于不丢失任何东西.
•编译器, 软件工程工具, 计算机辅助设计工具(CAD) 等:
–有助于自动化;
–能够跟踪方法本身.
-
设计目标
•性能 –速度、时限.
•功能和用户界面.
•制造成本.
•功耗.
•其它性能 (物理尺寸、重量等.)
-
设计方法
•Top-down 设计:
–开始于最抽象的描述;
–直到最细节.
•Bottom-up 设计: 开始于小组件,到大系统
-
初步精化
–分析 设计目前的设计状态下确定的特性;
–精化 增加细节的设计
需求
•用自然语言来描述用户想做什么.
•通过几种方式:
–直接与用户交流;
–了解市场;
–为用户提供带注释的原型.
-
功能与非功能性需求
-
功能需求:
–系统对所做工作的更加详细的描述.
-
非功能性需求:
–计算输出需要的时间;
–大小、重量;
–功耗;
–可靠性;
等.
-
需求表
-
规格说明
-
对系统更精确的描述:
–不应隐含具体的功能;
–提供输入给结构设计过程.
包括功能和非功能元素.
通过可执行或数学的形式来描述.
-
结构设计
什么主要的组件满足规格说明?
硬件组件是:
–CPUs, 外设等.
软件组件是:
–主要的程序和它们的操作.
必须考虑功能和非功能性的需求.
-
硬件和软件组件的设计
在开始写代码之前要构造系统.
–一些组件是已经构造好的;
–一些可以对已经存在的设计进行修改;
–其它的得从头设计。
-
系统集成
把组件组成在一起.
–在这个阶段会出现很多bugs.
有一个平台能尽早发现这些bugs.