DSP

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

2019-07-13 20:13发布

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

基本概念

  • 嵌入式计算机系统:任何包括一个可编程计算机的设备,但本身并不是一台通用计算机.
  • 微处理器:包括 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
    • 被动数据->主动信息
    • 嵌入式的设计:面向对象->面向角 {MOD} ​ ——即:要软硬件协同设计
  6. 性能

    •在通用目的的计算机系统中,性能通常指平均情况下,不是好的情况下. •在实时嵌入式中,性能意味着满足时限(deadlines).
    从不同抽象层次分析理解: –CPU:影响系统的行为 –平台:总线和I/O设备 –程序:考虑程序的整体结构,以确定整体的行为 –任务:任务之间的交互对性能产生深远的影响 –多处理器:处理器之间的交互使得分析整体性能更复杂

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

  • 需要多少硬件? –多大的CPU、多大的内存?
  • 如何满足时限? –是快速的硬件还是优化的软件?
  • 如何减少功耗? –是关闭不必要的逻辑?还是减少内存的访问?
  • 能否正常工作? –规范正确吗? –实现满足规范吗? –为实时特性如何测试? –如何测试真实的数据?
  • 系统上如何工作? –可观察性、可控性? –受限的开发环境(软件可发、硬件开发工具)

嵌入式系统设计

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

    •理解设计方法有助于不丢失任何东西. •编译器, 软件工程工具, 计算机辅助设计工具(CAD) 等: ​ –有助于自动化; ​ –能够跟踪方法本身.
  2. 设计目标

    性能 –速度、时限. •功能和用户界面.制造成本.功耗.其它性能 (物理尺寸、重量等.)
  3. 设计方法

    Top-down 设计: ​ –开始于最抽象的描述; ​ –直到最细节. •Bottom-up 设计: 开始于小组件,到大系统
  4. 初步精化

    –分析 设计目前的设计状态下确定的特性; –精化 增加细节的设计

需求

•用自然语言来描述用户想做什么. •通过几种方式: ​ –直接与用户交流; ​ –了解市场; ​ –为用户提供带注释的原型.
  1. 功能与非功能性需求

    • 功能需求: ​ –系统对所做工作的更加详细的描述.
    • 非功能性需求: ​ –计算输出需要的时间; ​ –大小、重量; ​ –功耗; ​ –可靠性; ​ 等.
  2. 需求表

  3. 规格说明

    • 对系统更精确的描述: ​ –不应隐含具体的功能; ​ –提供输入给结构设计过程.
    • 包括功能和非功能元素.
    • 通过可执行或数学的形式来描述.

结构设计

什么主要的组件满足规格说明? 硬件组件是: ​ –CPUs, 外设等. 软件组件是: ​ –主要的程序和它们的操作. 必须考虑功能和非功能性的需求.
  1. 硬件和软件组件的设计

    在开始写代码之前要构造系统. ​ –一些组件是已经构造好的; ​ –一些可以对已经存在的设计进行修改; ​ –其它的得从头设计。
  2. 系统集成 把组件组成在一起. ​ –在这个阶段会出现很多bugs. 有一个平台能尽早发现这些bugs. ​