[嵌入式系统设计]嵌入式相关概念

xiaoxiao2021-02-27  604

[嵌入式系统设计]嵌入式相关概念

基本概念

嵌入式计算机系统:任何包括一个可编程计算机的设备,但本身并不是一台通用计算机.

微处理器:包括 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.

转载请注明原文地址: https://www.6miu.com/read-138.html

最新回复(0)