嵌入式系统的设计方法(具体设计).ppt_第1页
嵌入式系统的设计方法(具体设计).ppt_第2页
嵌入式系统的设计方法(具体设计).ppt_第3页
嵌入式系统的设计方法(具体设计).ppt_第4页
嵌入式系统的设计方法(具体设计).ppt_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章 嵌入式系统的设计方法,讲授: 韩洁琼 J,第2章 嵌入式系统的设计方法,1 设计准则 2 设计步骤 3 开发平台 4 测试技术 5 主要性能 6 设计素材,设计准则(1),1.1 工程意识 嵌入式系统设计是一个实际的工程问题,它需要以简洁、可靠和低成本的方式实现指定的目标,即完成预先确定的性能指标。 工程项目则必须在指定的时间内取得成功,不允许失败,因此在实施过程中应尽可能地采用成熟的技术(技术可行性)。 科学研究以发现事物内在规律为主要任务,是一种探索过程,它允许有失败、也允许有较长的研究时间。,设计准则(2),1.2 目标意识 嵌入式系统通常是面向特定应用的,只要完成指定的任务即可。在完成任务的前提下,多余的硬件、软件应该删除。,设计准则(3),1.3 成本意识 设计者需要考虑产品的开发、生产和使用等环节中的综合成本; 在开发阶段,需要考虑开发成本,如人力、时间、工具投入等费用; 作为产品,它的生产成本应该控制在应用场合所允许的范围之内,否则即使完成了指定功能,也难以实际推广应用(性价比); 在使用过程中,维护、使用年限等潜在的成本应该在设计和开发阶段进行考虑。,设计准则(4),1.4 方案的合理性 嵌入式系统的设计可以看作工程问题的解决方案,通常不可能达到最优的方案,但可以使解决方案是合理的、趋于最优的。 方案的合理性可以从所设计的系统是否能以简洁、可靠而较少的代价来完成指定功能的角度来衡量。,设计准则(5),1.5 平台意识 嵌入式系统开发的平台资源包括各种开发工具(如仿真器、半成品用户板等) 、已被验证的设计方案、功能模块和子程序等。 平台意识是指技术人员在嵌入式系统设计和开发的过程中,尽可能地使用平台资源,以提高工作效率和所开发的嵌入式系统的质量;同时不断积累和发展平台资源。,设计准则(6),1.6 单片意识 能用一个芯片完成的事,最好不要用多个芯片去做。 如在设计系统时,有效地选择高集成度的微处理器等。,第二讲 嵌入式系统的设计方法,1 设计准则 2 设计步骤 3 开发平台 4 测试技术 5 主要性能 6 设计素材,用户需求分析,编写任务说明书,方案设计,硬件电路制作,软件程序编制,资料总结,软硬件联调,性能测试合格?,维护和改进,现场试运行正常?,设计步骤(1),嵌入式系统开发的流程图,No,No,2.1 需求分析 1) 主要了解用户对嵌入式系统功能的要求、使用场合,最好让用户能够提供详细的文档; 2) 同时需要了解用户对成本、所允许的开发时间,能提供的费用及相关开发条件(资料、人力、设备、场所)等相关信息。,设计步骤(1),用户需求分析,编写任务说明书,方案设计,硬件电路制作,软件程序编制,资料总结,软硬件联调,性能测试合格?,维护和改进,现场试运行正常?,设计步骤(2),嵌入式系统开发的流程图,No,No,2.2 编写设计任务书 1)如果用户已提供详细的任务说明书,这一步可 以省略。 2)通常需要设计人员与用户协商,重新编写。要明确所需达到的功能、相应的指标以及测试、 验收方法等。,设计步骤(2),用户需求分析,编写任务说明书,方案设计,硬件电路制作,软件程序编制,资料总结,软硬件联调,性能测试合格?,维护和改进,现场试运行正常?,设计步骤(3),嵌入式系统开发的流程图,No,No,2.3 方案设计 1)根据任务书的要求,考虑限制条件,初步提出 几种可行的方案; 2)对方案进行初步论证,如理论分析、计算,或 部分电路的模拟实验;选择一种进行实施; 3)微处理器的选择是最关键的一步,需要考虑的 方面:处理能力、开发环境、芯片的价格和货 源、设计者的熟悉程度等;,设计步骤(3),2.3 方案设计 4)功能分配 把目标功能进行划分,部分让硬件完成,其余 部分用软件来完成,并尽可能用软件代替硬件。 5)设计方案的表达 可用文字、结构示意图、数据表格等形式来描 述硬件和软件两个方面的内容,按功能分层、 逐步细化的方式进行表达,力求系统而详尽。 ( 方案设计是知识含量最高的环节。依赖于 设计者的知识积累程度和技术水平的高低),设计步骤(3),用户需求分析,编写任务说明书,方案设计,硬件电路制作,软件程序编制,资料总结,软硬件联调,性能测试合格?,维护和改进,现场试运行正常?,设计步骤(4),嵌入式系统开发的流程图,No,No,2.4 硬件电路制作 1)绘制原理图:Protel99(DXP),Orcard, Pads2000 2)绘制制版图:要已知元件的封装 3)线路板加工:目前外加工一般710天 4)元器件采购:本地电子市场、外地邮购 5)线路板焊接:需要掌握多种焊接方式 6)初步测试: 如电源电路、独立的模拟 电路等 (硬件制作与软件编程可同时进行),设计步骤(4),用户需求分析,编写任务说明书,方案设计,硬件电路制作,软件程序编制,资料总结,软硬件联调,性能测试合格?,维护和改进,现场试运行正常?,设计步骤(5),嵌入式系统开发的流程图,No,No,2.5 软件编程 1)选择编程语言:如汇编或C语言等,根据实际情 况进行; 2)选择操作系统:根据所设计的嵌入式系统的复杂 的程度来确定; 3)按层次分解任务(软件系统分析):通常用框图 把任务逐层分解成模块、子程序,先文字或C语 言或其它辅助工具进行初步描述; 4)按框图编程:这是一个翻译过程; 5)尽可能采用已被验证的软件模块(平台资源); 6)软件模块最好一边写一边调,及时纠正错误,提 高效率。,设计步骤(5),用户需求分析,编写任务说明书,方案设计,硬件电路制作,软件程序编制,资料总结,软硬件联调,性能测试合格?,维护和改进,现场试运行正常?,设计步骤(6),嵌入式系统开发的流程图,No,No,2.6 软硬件调试 1)需要采用仿真器(开发平台),通常对子程序、 模块逐个调试,调试好的程序块可加入调试程 序中运行; 2)合理的调试顺序为:显示驱动程序、按键响应 程序、参数设置程序、其它功能程序(如计算 程序、输出控制、通信程序等); 3)联调的实质就是纠正设计者在软硬件开发过程 中产生的各种错误(语法、逻辑错误)。,设计步骤(6),用户需求分析,编写任务说明书,方案设计,硬件电路制作,软件程序编制,资料总结,软硬件联调,性能测试合格?,维护和改进,现场试运行正常?,设计步骤(7),嵌入式系统开发的流程图,No,No,2.7 性能测试 1)性能测试是一个重要环节,开发是否成功由这 环节来验证。如果未达到预定的性能指标,就 要不同程度的修改或返工; 2)测试人员需要根据设计任务书,先确定测试的 具体内容、方法、步骤及工具等,编写项目的测 试任务书; 3)通常开发和测试的人数比为 1:1.52,设计步骤(7),用户需求分析,编写任务说明书,方案设计,硬件电路制作,软件程序编制,资料总结,软硬件联调,性能测试合格?,维护和改进,现场试运行正常?,设计步骤(8),嵌入式系统开发的流程图,No,No,2.8 资料总结 1)技术文档包括用于描述原理样机的结构、 功能、操作等信息; 2)总结开发过程中的经验和教训,积累自己 的平台资源,包括被验证的硬件模块和软 件模块,以及在软硬件联调时,出现的故 障现象、故障原因及解决办法等经验; 3)这是设计者总结开发过程,提高技术水准 的有效环节,应加以重视。,设计步骤(8),用户需求分析,编写任务说明书,方案设计,硬件电路制作,软件程序编制,资料总结,软硬件联调,性能测试合格?,维护和改进,现场试运行正常?,设计步骤(9),嵌入式系统开发的流程图,No,No,2.9 现场试运行 1)原理样机在实验室或生产厂家完成开发测试后,还需要进行现场测试。有些设计缺陷、样机的环境适用性等必须在现场运行后才能发现; 2)发现问题后还需要不同程度的改进或返工; 3)样机只有通过实际应用场合的长时间考验,才算真正的开发成功,才能称为产品。,设计步骤(9),用户需求分析,编写任务说明书,方案设计,硬件电路制作,软件程序编制,资料总结,软硬件联调,性能测试合格?,维护和改进,现场试运行正常?,设计步骤(10),嵌入式系统开发的流程图,No,No,2.10 维护和改进 1)产品维护通常由生产厂家来完成,但有时 较为深入的技术问题需要产品的开发者协 助解决; 2)产品有一个生命周期,当他的功能不能满 足使用者的需要时,就需要改进或研制同 类新产品; 3)研发人员对产品的维护和改进责任通常在 开发合同中约定。,设计步骤(10),第二讲 嵌入式系统的设计方法,1 设计准则 2 设计步骤 3 开发平台 4 测试技术 5 主要性能 6 设计素材,3.1开发平台的组成 1)开发平台:由开发工具和应用资源组成; 2)开发工具:包括仿真环境(仿真器、计算机、开发软件)、烧写器以及其它辅助调试的工具等,其中最重的是仿真器和软件开发环境IDE; 3)应用资源:包括单片机厂家提供的子程序库、部件的应用实例等资料,以及设计者在开发过程中不断积累的软件模块、硬件方案(被实践验证是正确的资料)。,开发平台(1),3.3 仿真工具 1)功能:仿真器与计算机、配套的软件集成开发环境(IDE)一起协调工作,相当于一个运行状态可以人为控制的单片机,实现断点设置、变量观察修改;应用程序的编辑、编译、连接、下载等功能 2)仿真器技术: Bondout 、HOOKS 、JTAG技术 3)JTAG的优点:结构简单、成本低、通用性好; 4)JTAG的实现:芯片中嵌入JTAG调试模块,配合 JTAG仿真器和IDE来实现仿真调试; 5)JTAG仿真器种类:并口下载头、并口仿真器、 USB 接口的仿真器等。,开发平台(2),3.3 开发平台组建 1) 在计算机上安装ADS1.2:在计算机上安装ARM公司开发的集成调试环境ADS1.2; 2)设置相应的工程模板:启动ADS1.2,参照ARM嵌入式系统实验教程一 3)安装EasyJTAG-H仿真器的驱动程序:具体安装步骤参见光盘中文件“EasyJTAG-H仿真器的安装与应用.pdf”的提示,驱动程序在光盘“ARM嵌入式系统实验教程(一)第2章H-JTAG”。,开发平台(3),3.3 开发平台组建 4)EasyJTAG-H一端接计算机并口,另一端接嵌入式开发实验箱,给发评估板加上稳压电源; 5)启动ADS1.2,调入光盘上“ARM嵌入式系统实验教程一”目录下的某个实验代码的工程文件,进行调试; 6)提示:由于H-JTAG驱动程序的缺陷,目录名称用全英文,目录级数不要太长。,开发平台(3),集成开发平台 ADS1.2,集成开发平台 ADS1.2,ARM汇编编译器选项:CPU-ARM920T,小端对齐,ARM指令格式,无浮点运算,第二讲 嵌入式系统的设计方法,1 设计准则 2 设计步骤 3 开发平台 4 测试技术 5 主要性能 6 设计素材,4.1 测试原因 1)纠正软件错误 寻找软件中的错误,实现预定的功能; 2)减少风险 有缺陷的产品流入市场,当缺陷暴露的时候, 修复的代价会非常高; 3)提高性能 找到并清除无效代码,帮助确认软件是否已经 完全挖掘出硬件潜力,从而优化应用软件。,测试技术(1),4.2 测试内容 1)功能测试 是否到达设计任务书中的规定内容。 2)覆盖测试 测试软件中的每一个子程序或功能模块,发现 并纠正错误。 3)可靠性测试 在各种可能出现的干扰环境下(模拟环境或现 场环境),如电磁干扰、电源波动等,考察样 机能否正常运行。,测试技术(2),4.3 测试方法 1)开发过程中的测试 简单、效果好,设计者采用; 2)黑盒测试 不考虑内部细节,在输入端加激励,分析输出 端响应,用于功能测试,用户或设计者采用。 3)灰盒测试 需要知道与测试相关的部分程序,有时需要插 入供测试用的指令,测试完毕后清除。用于覆 盖测试或功能测试,一般设计者采用。,测试技术(3),测试阶段,1 嵌入式软件测试方法 2 嵌入式软件测试工具 3 嵌入式软件测试过程 4 cross-test测试策略,嵌入式软件测试方法,嵌入式软件测试也可叫做交叉测试,具体的软件测试过程如图,嵌入式软件测试方法,软件测试方法有不同的划分方法。 从软件开发过程中测试所处的不同阶段可分为模块测试、集成测试和系统测试。 根据是否需要运行目标代码分为动态测试和静态测试。 根据目标代码的可见性可分为白盒测试(结构测试)、黑盒测试(功能测试)。,嵌入式软件测试方法,测试方法 白盒测试或基本代码的测试检查程序的内部设计。根据源代码的组织结构查找软件缺陷,一般要求测试人员对软件的结构和作用有详细的了解。 黑盒测试在某些情况下也称为功能测试。这类测试方法根据软件的用途和外部特征查找软件缺陷,不需要了解程序的内部结构。,嵌入式软件测试方法,灰盒测试,是介于白盒测试与黑盒测试之间的, 灰盒测试关注输出对于输入的正确性,同时也关注内部表现,但这种关注不象白盒那样详细、完整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态,有时候输出是正确的,但内部其实已经错误了,这种情况非常多,如果每次都通过白盒测试来操作,效率会很低,因此需要采取这样的一种灰盒的方法。,嵌入式软件测试方法,目标环境测试和宿主环境测试 在嵌入式软件测试中,常常要在基于目标的测试和基于宿主的测试之间作出折衷。基于目标的测试消耗较多的经费和时间,而基于宿主的测试代价较小。 在宿主环境中,可以进行逻辑界面的测试、与硬件无关的测试。 在模拟或宿主环境中的测试消耗时间通常相对较少,用调试工具可以更快地完成调试和测试任务。 与定时问题有关的白盒测试、中断测试、硬件接口测试只能在目标环境中进行。,嵌入式软件测试工具,比较有用的有关嵌入式软件测试工具 内存分析工具:用来处理在动态内存分配中存在的缺陷。 性能分析工具:会提供有关的数据,说明执行时间是如何消耗的,是什么时候消耗的,以及每个例程所用的时间。 GUI测试工具:可以作为脚本工具在开发环境中运行测试用例 ,其功能包括对操作的记录和回放、抓取屏幕显示供以后分析和比较、设置和管理测试过程。 覆盖分析工具 :使用代码覆盖分析工具追踪哪些代码被执行过。,嵌入式软件测试过程,软件测试分为7个基本阶段 单元或模块测试 集成测试 外部功能测试 回归测试 系统测试 验收测试 安装测试。,嵌入式软件测试过程,嵌入式软件测试主要在4个阶段上进行,即模块测试、集成测试、系统测试、硬件/软件集成测试。 前3个阶段适用于任何软件的测试,而硬件/软件集成测试阶段是嵌入式软件所特有的,目的是验证嵌入式软件与其所控制的硬件设备能否正确地交互。,cross-test 测试策略,进行Cross-test测试时应该注意的策略: (1)使用测试工具的插装功能(主机环境)执行静态测试分析,并且为动态覆盖测试准备好一插装好的软件代码。 (2)使用源码在主机环境执行功能测试,修正软件的错误和测试脚本中的错误。 (3)使用插装后的软件代码执行覆盖率测试,添加测试用例或修正软件的错误,保证达到所要求的覆盖率目标。 (4)在目标环境下重复,确认软件在目标环境中执行测试的正确性。 (5)若测试需要达到极端的完整性,最好在目标系统上重复(3),确定软件的覆盖率没有改变。,第二讲 嵌入式系统的设计方法,1 设计准则 2 设计步骤 3 开发平台 4 测试技术 5 主要性能 6 设计素材,5.1 精度指标 1)在实现指定功能后,对于计量设备,就有精 度的要求; 2)精度用相对百分比误差来表示,并规定若干 个精度等级,如 0.5, 1.0 等; 3)模拟仪表的高精度通过深度负反馈来实现; 4)数字式仪表的高精度通常采用高精度元器件 和软件参比补偿的办法来实现。,主要性能(1),5.2.1 可靠性的定义 1)嵌入式系统在规定的环境条件下(气候、机械及 电磁环境等)和规定时间内完成规定功能的能力 在不同的场合可用不同的指标表示: 2)平均故障间隔时间(MTBF) 硬件MTBF由厂家或设计者提供,可以计算; 软件MTBF用FITS(一亿小时中发生故障的总数) 3)平均修复时间(MTTR) 4)有效性:MTBF/(MTBF+MTTR) 5)故障时间:每年的故障时间是一个理解可用性 的直观方法。,主要性能(2),5.2.2失效模式 1)硬件失效:引起原因有设计失误、初期失效率、随即故障、疲劳故障等; 2)软件失效: 通过追踪软件在系统中的缺陷密度来确定,用每千行代码的缺陷数来衡量; 相关因素有软件编写过程、软件大小、设计者的经验、重复使用稳定代码的比例、发货前的测试次数等; 3)运行异常:受到干扰后,硬件或软件都有可能产生不稳定,表现为系统功能的异常。,主要性能(2),5.2.3提高可靠性的有效方法 1)提高硬件可靠性 采用优质元件、元器件的降额使用、元器件 的冗余。 2)提高软件可靠性 软件的在线自检、软件容错技术(如恢复模 块设计、N个模块的冗余设计)。 3)提高抗干扰能力 硬件设计阶段就要考虑干扰侵入的途径,并 采取措施,如隔离、屏蔽等;软件措施有重 复刷新寄存器的数值、端口的数值;数值滤 波、平均、限幅;人工智能识别技术等。,主要性能(2),5.3 性价比 1)高性价比是成功的产品重要指标; 2)三类产品对性价比的不同要求: 民用:在保证性能的前提下,重点控制价格 工业:以性能为主,适当考虑价格; 军用:性能第一,价格因素不是很重要;,主要性能(3),第二讲 嵌入式系统的设计方法,1 设计准则 2 设计步骤 3 开发平台 测试技术 5 主要性能 6 设计素材,6 设计素材,分立元件 模拟器件 数字器件 转换芯片 电源器件 其它元件 软件模块,6.1.1 电阻,1)电阻 2)电容 3)电感 4)二极管 5)三极管 6)场效应管 7)晶振,功能:限流、分压、运算参量 种类: 按材料:碳膜、金属膜、线绕、水泥 按功率:1/16,1/8,1/4,1/2,1,2,3W 常见种类:贴片电阻、普通电阻,精密电阻,功率电阻 精度等级:0.01%,0.05%、1%、5% 选用方法:从材料、阻值、功率、精度等参数选择。,6.1 分立元件,6.1 .2 电容,1)电阻 2)电容 3)电感 4)二极管 5)三极管 6)场效应管 7)晶振,功能:滤波、储能、运算参量 种类: 陶瓷、电解、独石、钽电 容、可调电容等 常见容量: 1P,5P,15P,. 0.01U,0.1U. 1U,4.7U,.4700U,6.1 分立元件,6.1 .3 电感,1)电阻 2)电容 3)电感 4)二极管 5)三极管 6)场效应管 7)晶振,功能: 储能、滤波、运算参量 常见数值 10uH,47uH 等,6.1 分立元件,6.1 .4 二极管,1)电阻 2)电容 3)电感 4)二极管 5)三极管 6)场效应管 7)晶振,主要功能 整流、开关、稳压、发光 常见种类 整流二极管、齐纳二极管 发光二极管等,6.1 分立元件,6.1 .5 三极管,1)电阻 2)电容 3)电感 4)二极管 5)三极管 6)场效应管 7)晶振,主要功能: 电流放大、开关控制 常见种类: PNP、NPN 硅管、锗管 小功率、中小功率、大功率 常用型号: 9013,8050,6

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论