当前位置:文档之家› 嵌入式系统设计过程

嵌入式系统设计过程


基于上述讨论,让我们为移动地图
系统编写一份需求表格,如表1-3:
名称
CPS移动地图
目的
为驾驶个控制按钮
输出
逆光LCD,显示400×600像素分辨率
功能
使用5种接收器的GPS系统;三种用户 可选的分辨率总是显示当前的经纬度
性能 生产成本 功耗 物理尺寸和重量
示例1.1 GPS移动地图的需求分析, 移动地图是一种手持设备,该设备为用 户显示他当前所处位置周围的地形的一 张地图;地图的内容随着用户以及该设 备所处的位置的改变而改变。
移动地图从GPS上得到其位置信息, GPS是一个卫星导航系统。
移动地图的显示如图1-4所示。
针对GPS移动地图我们有什 么需求?下面是一些最初的清单:
1.功能性 本系统主要针对高速公路上开车的用户或类 似用户,而不是需要使用更专用的数据库和功能的航 海或航空人员。系统应展示可在标准地形图数据库中 得到的主要道路和其他陆地标志。 2.用户界面 屏幕至少应该有400×600像素分辨率。 该设备的控制按钮不应多于三个。按下按钮时菜单系 统应在屏幕上弹出,允许用户系统控制做出选择。 3.性能 地图应该平滑滚动。加电后,显示在1秒钟内 出现,系统应可以核查其位置并在15秒内显示当前地 图。
如输入输出信号,操作方式等;非功能性需求 包括系统性能,成本,功耗,体积,重量
等因素。
2.体系结构设计
描述系统如何实现所述的功能和非功能需求, 包括对硬件,软件和执行装置的功能划分.
以及系统的软件,硬件选型等。一个好的体系 结构是设计成功与否的关键。
3.硬件/软件设计 基于体系结构,对系统的软件,硬件进 行详细设计。为了缩短产品开发周期,设计 往往 并行的。应该说嵌入式系统设计的工作 大部分都集中在软件设计上,采用采用面向 对象技术,软件组件技术,模块化设计是现 代软件工程经常采用的方法。 4.系统集成
➢ 从GPS卫星接收到的数据。 ➢ 地图数据。 ➢ 用户界面。 ➢ 必须执行的满足客户需求的操作。 ➢ 保持系统运行所需的后备动作,如操纵
GPS接收机。
1.3.3 体系结构设计
规格说明不讲系统如何做,而只是讲系 统做什么。
描述系统如何实现那些功能是体系结构 的目的。
体系结构是系统整体结构的一个计划, 而后用于设计搭建整个体系结构的构件。
1.3.2 规格说明
规格说明更精确一些,它起到客 户和生产者之间的合同的作用。
正因为如此,规格说明必须小心 编写,以便精确地反映客户的需求 并且作为设计时必须明确遵循的要 求。
规格说明应该足够明晰,以便别人可以验 证它是否符合系统需求并且完全满足客户的期 望。它亦不能有歧义,设计者应知道什么是他 们需要构造的。
表格内容包括:
(1) 名称
这一项十分简单,但却十分有用。给该项 工程取一个名字不仅在和别人讨论这个工程 时更加方便,也可以使设计的目的更加明确。
(2) 目的
这一项可以是简单的一到两行的关于系统 将要满足的需求的描述,如果你不能用一两 句话来描述你所设计的系统的主要特性的话, 说明你还不是十分了解它。
(4)成本 单个设备售价(零售价)不高于500美元。
(5)设备物理尺寸和重量应非常适于放在手掌中。
(6)功耗 四节AA电池至少可以连续运行8小时。
注意:上述许多需求并不是按工程单位规定的, 例如,物理尺寸是相对于手而不是用厘米标出 的。虽然这些需求必须最终转换成可以被设计 者使用的某种东西,但是保持某种顾客想要的 记录将有助于解决设计期间后期出现的有关规 格说明的问题。
设计者可能碰到各种不同类型的由于不明 确的规格说明而导致的问题。
如果在某个特定的状况下的某些特性的行 为在规格说明中不明确,那么设计者可能实现 错误的功能。
如果规格说明的全局特征是错的或者是不 完整的,那么由该规格说明建造的整个系统体 系结构可能就不符合实现的要求。
GPS系统的规格说明包括下列构件:
例如,可以清楚地看到需要搜索地形图数据 库、绘制显示的结果。我们已经选择分离那些 功能以便可能并行地完成这些工作,比如从搜 索数据库分离出绘制功能可以有助于更平滑地 更新屏幕。
只有在设计了一个并未偏向于太多实现细节的
初始体系结构之后,才可能把系统框图细分成两部 分框图:一部分针对硬件,另一部分针对软件。这 两部分细化过的框图如图1-6所示。
(8) 物理尺寸和重量
对系统的物理尺寸和重量有一定的了解有 助于对系统体系结构的设计。一台台式机在 对构件的选择上比那些佩带式录音机要宽松 得多。
对一个大系统进行更加深入的需求分 析可以使用与表1-2类似的表格作为更长 的需求文档的总结。
在介绍完关于这个表格的章节之后, 更长的需求文档包括上面提到的每一项 的细节。
系统内部的详细构造要在开发系统的体系结构时才能 展现出来,这一阶段以大的构件为单位给出了系统的 结构。
一旦知道了需要的构件,就可以设计这些构件,包括 软件模块和任何所需要的专用硬件模块。在这些构件 的基础上,可以构造出所需要的完整的系统。
如图1-3所示,首先从系统需求开始。然 后是规格说明,在这一步对想要的进行更加 细致地描述,但是规格说明只对系统如何工 作进行了描述,这些描述并不涉及它的组成。
体系结构的创建是许多设计者认为的设 计的第一阶段。
为了理解体系结构描述是什么,让我们来看 一下示例1.1的移动地图样例的体系结构。
图1-5以框图形式展示了样例系统体系结构, 这些框图展示了它的主要操作和其间的数据流.
框图仍很抽象,还没有规定运行在CPU上 的软件执行什么操作,专用硬件完成什么等等. 不过,为描述如何实现在规格说明中规定的功能 框图还要做许多事情。
0.25s内即可更新一次屏幕 100美元 100mW 不大于2×16m2,12盎司(约340g)
表1-3加上了设计人员所要使用的 某些用工程术语表述的需求。
例如,它提供了设备的实际尺寸。
生产成本与销售价格有关,通过 使用简单的经验法则可以得到:销 售价4~5倍于所售商品的成本(所有 构件的成本之和)。
1. 需求与规格说明
区分需求和规格说明是必要的,因为在客户关于 所需系统的描述和体系结构系统设计师所需的信息之 间存在极大的距离。
嵌入式系统的客户通常不是嵌入式系统的设计人 员,甚至也不是最终产品的设计人员,他们对嵌入式 系统的理解是建立在他们想象的与系统之间的交互的 基础上的,对系统可能有一些不切实际的期望,或者 是使用他们自己的话而不是专业术语来表达其需求。
系统内部的详细构造要在开发系统的体系 结构时才能展现出来,这一阶段以大的构件 为单位给出了系统的结构。
一旦知道了需要的构件,就可以设计这些 构件,包括软件模块和任何所需要的专用硬 件模块。在这些构件的基础上,可以构造出 所需要的完整的系统。
1.系统需求分析
确定设计任务和设计目标,并提炼出设计规格 说明书,作为正式设计指导和验收的标准。系统的 需求一般分功能性需求和非功能性需求两方面。功 能性需求是系统的基本功能,
(3) 输入和输出
这两项内容比较复杂,对系统的输入和输 出包含了大量细节:
① 数据类型:模拟电信号?数字数据?机械 输入?
② 数据特性:周期性到达的数据,比如数字 音频信号?或者是用户的输入?每个数据元素 多少位?
③ 输入/输出设备的类型:按键?模/数转 换器?视频显示器?
(4) 功能
这一项是关于系统所做的工作的 更加详细的描述。从输入到输出进 行分析是提出功能的一种好方法: 当系统接收到输入时,它执行哪些 动作?用户通过界面输入的数据如何 对该功能产生影响?不同功能之间是 如何相互作用的?
(5) 性能
许多嵌入式系统都要花费一定的 时间来控制物理设备,或是处理从 外界输入的数据。
在大部分情况下,这些计算必须 在一定的时间内处理完,对性能的 要求必须尽早地明确,因为这些要 求在执行过程中得认真加以考虑, 以便随时检查我们的系统是否达到 了这些要求。
(6) 生产成本
这中间主要包含了硬件构件的花费。 如果你不能确定将要花费在硬件构件上 的费用的确切数目,那么你起码得对最 终产品的价格有一个粗略的了解。
(2) 价格
产品最终的成本或者销售价格也是一个主 要的考虑因素。产品的成本包含两个主要部 分:生产成本,包括购买构件以及组装它们 的花费;不可再生的工程成本(NRE), 包括 人力成本以及设计系统的其他花费。
(3) 系统的尺寸和重量
最终产品的物理特性会因为使用的领域不 同而大不相同。一台控制装配线的工业控制 系统通常装配在一个标准尺寸的柜子里,它 对重量没有什么约束,但是手持设备对系统 的尺寸和重量就有很严格的限制。
1.3.1 需求分析
显然,在设计一个系统之前,必须清楚在 设计什么。在设计的最初阶段,截取这些信 息,以此来设计系统的体系结构和构件。这 一阶段的任务通常通过两种过程来实现:
首先,从客户那里收集系统的非形式描述 (这叫做需求);
然后,对需求进行提炼,得到系统的规格 说明,这些规格说明里包含了进行系统体系 结构设计所需要的足够信息。
(4) 功耗
对于那些靠电池来供电的系统以及其 他一些电器来说,电源是十分重要的, 电源问题在需求阶段以电池寿命的方式 提出。因为顾客通常不能够以瓦为单位 描述允许的功率。
2. 确认需求
确认这一系列的需求不仅需要理解什么是用户需 要的,而且需要理解他们是如何表达这些需求的。
精炼系统需求的好方法,至少是精炼用户界面部 分的方法是建立一个模型。这个模型可以使用已存 数据来模拟功能,并且可以在个人电脑或工作站上 运行。
把系统的软件,硬件和执行装置集成 在一起,进行调试,发现并改进单元设计过 程中的错误。
5.系统测试 对设计好的系统进行测试,看其是否满足 规格说明书中给定的功能要求。 针对系统的不同的复杂程度,目前有一些 常用的系统设计方法,如瀑布设计方法,自顶 向下设计的方法,自下向上的设计方法,螺旋 设计方法,逐步细化设计方法和并行设计方法 等,根据设计对象复杂程度的不同,可以灵活 的选择不同的系统设计方法。
相关主题