嵌入式系统设计过程(精)
表格内容包括:
(1) 名称
这一项十分简单,但却十分有用。给该项 工程取一个名字不仅在和别人讨论这个工程 时更加方便,也可以使设计的目的更加明确。
(2) 目的
这一项可以是简单的一到两行的关于系统 将要满足的需求的描述,如果你不能用一两 句话来描述你所设计的系统的主要特性的话, 说明你还不是十分了解它。
它应该让用户了解系统是如何使用的,以及用户 如何和它进行交互。
通常,设备的非功能模型可以让用户了解系统的 特性,比如系统的尺寸和重量。
3. 简单的需求表格
对一个大系统进行需求分析是一项复杂 而费时的工作,但是,取得相对少量的格 式清晰、简单的信息是理解系统需求的一 个好的开始。
表1-2展示了一个需求表格的样本,这个 表格在某项工程的开始时填写。在考虑系 统基本特征时可以将这个表格作为检查表。
系统内部的详细构造要在开发系统的体系 结构时才能展现出来,这一阶段以大的构件 为单位给出了系统的结构。
一旦知道了需要的构件,就可以设计这些 构件,包括软件模块和任何所需要的专用硬 件模块。在这些构件的基础上,可以构造出 所需要的完整的系统。
1.系统需求分析
确定设计任务和设计目标,并提炼出设计规格 说明书,作为正式设计指导和验收的标准。系统的 需求一般分功能性需求和非功能性需求两方面。功 能性需求是系统的基本功能,
(2) 价格
产品最终的成本或者销售价格也是一个主 要的考虑因素。产品的成本包含两个主要部 分:生产成本,包括购买构件以及组装它们 的花费;不可再生的工程成本(NRE), 包括 人力成本以及设计系统的其他花费。
(3) 系统的尺寸和重量
最终产品的物理特性会因为使用的领域不 同而大不相同。一台控制装配线的工业控制 系统通常装配在一个标准尺寸的柜子里,它 对重量没有什么约束,但是手持设备对系统 的尺寸和重量就有很严格的限制。
(4) 功耗
对于那些靠电池来供电的系统以及其 他一些电器来说,电源是十分重要的, 电源问题在需求阶段以电池寿命的方式 提出。因为顾客通常不能够以瓦为单位 描述允许的功率。
Hale Waihona Puke 2. 确认需求确认这一系列的需求不仅需要理解什么是用户需 要的,而且需要理解他们是如何表达这些需求的。
精炼系统需求的好方法,至少是精炼用户界面部 分的方法是建立一个模型。这个模型可以使用已存 数据来模拟功能,并且可以在个人电脑或工作站上 运行。
(3) 输入和输出
这两项内容比较复杂,对系统的输入和输 出包含了大量细节:
① 数据类型:模拟电信号?数字数据?机械 输入?
② 数据特性:周期性到达的数据,比如数字 音频信号?或者是用户的输入?每个数据元素 多少位?
③ 输入/输出设备的类型:按键?模/数转 换器?视频显示器?
如输入输出信号,操作方式等;非功能性需求 包括系统性能,成本,功耗,体积,重量
等因素。
2.体系结构设计
描述系统如何实现所述的功能和非功能需求, 包括对硬件,软件和执行装置的功能划分.
以及系统的软件,硬件选型等。一个好的体系 结构是设计成功与否的关键。
3.硬件/软件设计 基于体系结构,对系统的软件,硬件进 行详细设计。为了缩短产品开发周期,设计 往往 并行的。应该说嵌入式系统设计的工作 大部分都集中在软件设计上,采用采用面向 对象技术,软件组件技术,模块化设计是现 代软件工程经常采用的方法。 4.系统集成
1.3 嵌入式系统设计过程
本节,主要介绍嵌入式系统设计的 一般过程和嵌入式系统设计的主要步骤。
我们将采用自顶向下的方法,从对 系统最抽象的描述开始,一步一步地推 进到细节内容。
如图1-3所示, 首先从系统需求开始。
然后是规格说明,在这一步对想要的进行更加细致地 描述,但是规格说明只对系统如何工作(工作过程)进行 了描述,这些描述并不涉及它的组成。
把系统的软件,硬件和执行装置集成 在一起,进行调试,发现并改进单元设计过 程中的错误。
5.系统测试 对设计好的系统进行测试,看其是否满足 规格说明书中给定的功能要求。 针对系统的不同的复杂程度,目前有一些 常用的系统设计方法,如瀑布设计方法,自顶 向下设计的方法,自下向上的设计方法,螺旋 设计方法,逐步细化设计方法和并行设计方法 等,根据设计对象复杂程度的不同,可以灵活 的选择不同的系统设计方法。
1. 需求与规格说明
区分需求和规格说明是必要的,因为在客户关于 所需系统的描述和体系结构系统设计师所需的信息之 间存在极大的距离。
嵌入式系统的客户通常不是嵌入式系统的设计人 员,甚至也不是最终产品的设计人员,他们对嵌入式 系统的理解是建立在他们想象的与系统之间的交互的 基础上的,对系统可能有一些不切实际的期望,或者 是使用他们自己的话而不是专业术语来表达其需求。
系统内部的详细构造要在开发系统的体系结构时才能 展现出来,这一阶段以大的构件为单位给出了系统的 结构。
一旦知道了需要的构件,就可以设计这些构件,包括 软件模块和任何所需要的专用硬件模块。在这些构件 的基础上,可以构造出所需要的完整的系统。
如图1-3所示,首先从系统需求开始。然 后是规格说明,在这一步对想要的进行更加 细致地描述,但是规格说明只对系统如何工 作进行了描述,这些描述并不涉及它的组成。
将客户的描述转化为系统设计者的描述的结构化 方法就是从客户的需求中获取一组一致性的需求,然 后从中整理成正式的规格说明。
通常,需求包括功能部分和非功能部分。 当然,我们必须从中获取系统的基本功能, 但是,只有功能的描述是不够的。非功能需 求包括:
(1) 性能
系统的处理速度通常是该系统的实用性和 最终成本的主要决定因素。正如我们已经注 意到的,性能是软件性能度量(如执行一个用 户级函数的大致时间和必须完成的一个特定 操作的硬时限)的组合。
1.3.1 需求分析
显然,在设计一个系统之前,必须清楚在 设计什么。在设计的最初阶段,截取这些信 息,以此来设计系统的体系结构和构件。这 一阶段的任务通常通过两种过程来实现:
首先,从客户那里收集系统的非形式描述 (这叫做需求);
然后,对需求进行提炼,得到系统的规格 说明,这些规格说明里包含了进行系统体系 结构设计所需要的足够信息。