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

时间:2022-07-25 14:41:47

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

基本概念

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

  • 微处理器:包括 I/O设备, 板上存储

  • 数字信号处理(DSP): 微处理器在数字信号处理能力上的优化.

  • 典型的嵌入式字的大小: 8-bit, 16-bit, 32-bit.

    考点:(选择题)

    嵌入式设备对应的嵌入式微处理器字的可能大小。

    eg:–4-bit 微处理器用例检查安全带是否系上;

    ​ –16/32-bit 微处理器控制引擎.

  • 防抱死制动系统(ABS): 反复制动减少打滑.

  • 自动稳定控制系统(ASC+T): 控制引擎以改善其稳定性.

    –2个微处理器

    –一个逻辑相关组件,一个具体的执行组件


嵌入式系统的特点

  • 复杂的功能

  • 实时操作

  • 多速率操作:(例如多媒体数据流包括视频和音频)

​ –运行多个实时动作

​ –以不同的速率执行

  • 成本特点:–制造成本

​ –功率和能源

  1. 实时操作:在deadlines时间内完成操作

    硬实时(Hardreal time): 错过deadline会造成失败.

    软实时(Softreal time): 错过deadline会导致性能的降低.

  2. 非功能性需求:受市场约束需要低的制造成本.

    低内存, 低端处理器,低功耗(大功耗将增加系统成本)等.

    为什么使用微处理器?

    • 可选: 现场可编程门电路(FPGAs), 定制逻辑等.

    • 微处理器是有效的:可以通过相同的逻辑完成不同的功能.

    • 微处理器简化的产品系列的设计.

    • 微处理器比定制的使用更多地逻辑电路.

    • 但微处理器的执行更快:

      ​ –流水技术

      ​ –强大的设计团队

      ​ –CPU进行高度优化

  3. 功耗

    • 定制逻辑使用低功耗,但CPU:

      ​ –提供特性来帮助控制功耗.

      ​ –软件设计技术减少功耗.

    • 异构系统: 通过定制逻辑、CPU和软件提供良好的功能.

  4. 平台 (嵌入式计算系统: 硬件结构+ 相关软件)

    阻止PC作为嵌入式计算系统的原因:

    ​ –实时性能

    ​ –低功率和低成本

  5. 物理设备的Computation

    • 物理设备的嵌入式,使其具有Computation

    • 被动数据->主动信息

    • 嵌入式的设计:面向对象->面向角色

      ​ ——即:要软硬件协同设计

  6. 性能

    •在通用目的的计算机系统中,性能通常指平均情况下,不是好的情况下.

    •在实时嵌入式中,性能意味着满足时限(deadlines).

    从不同抽象层次分析理解:

    –CPU:影响系统的行为

    –平台:总线和I/O设备

    –程序:考虑程序的整体结构,以确定整体的行为

    –任务:任务之间的交互对性能产生深远的影响

    –多处理器:处理器之间的交互使得分析整体性能更复杂


嵌入式系统设计面临的挑战

  • 需要多少硬件?

    –多大的CPU、多大的内存?

  • 如何满足时限?

    –是快速的硬件还是优化的软件?

  • 如何减少功耗?

    –是关闭不必要的逻辑?还是减少内存的访问?

  • 能否正常工作?

    –规范正确吗?

    –实现满足规范吗?

    –为实时特性如何测试?

    –如何测试真实的数据?

  • 系统上如何工作?

    –可观察性、可控性?

    –受限的开发环境(软件可发、硬件开发工具)


嵌入式系统设计

  1. 设计方法:设计一个系统的过程.

    •理解设计方法有助于不丢失任何东西.

    编译器, 软件工程工具, 计算机辅助设计工具(CAD) 等:

    ​ –有助于自动化;

    ​ –能够跟踪方法本身.

  2. 设计目标

    性能 –速度、时限.

    功能和用户界面.

    制造成本.

    功耗.

    其它性能 (物理尺寸、重量等.)

  3. 设计方法

    Top-down 设计:

    ​ –开始于最抽象的描述;

    ​ –直到最细节.

    Bottom-up 设计: 开始于小组件,到大系统

  4. 初步精化

    –分析 设计目前的设计状态下确定的特性;

    –精化 增加细节的设计


需求

•用自然语言来描述用户想做什么.

•通过几种方式:

​ –直接与用户交流;

​ –了解市场;

​ –为用户提供带注释的原型.

  1. 功能与非功能性需求

    • 功能需求:

      ​ –系统对所做工作的更加详细的描述.

    • 非功能性需求:

      ​ –计算输出需要的时间;

      ​ –大小、重量;

      ​ –功耗;

      ​ –可靠性;

      ​ 等.

  2. 需求表

  3. 规格说明

    • 对系统更精确的描述:

      ​ –不应隐含具体的功能;

      ​ –提供输入给结构设计过程.

    • 包括功能和非功能元素.

    • 通过可执行或数学的形式来描述.


结构设计

什么主要的组件满足规格说明?

硬件组件是:

​ –CPUs, 外设等.

软件组件是:

​ –主要的程序和它们的操作.

必须考虑功能和非功能性的需求.

  1. 硬件和软件组件的设计

    在开始写代码之前要构造系统.

    ​ –一些组件是已经构造好的;

    ​ –一些可以对已经存在的设计进行修改;

    ​ –其它的得从头设计。

  2. 系统集成

    把组件组成在一起.

    ​ –在这个阶段会出现很多bugs.

    有一个平台能尽早发现这些bugs.