




已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统设计方法 1 嵌入式系统的设计 2 设计要解决的主要问题 需要用什么样的系统结构来实现 如何满足时限要求 如何处理多项功能在时间上的协调一致关系 如何保证系统可靠地工作 如何满足系统接口要求 如何设计美观且有效的UI 如何降低系统的功耗 如何使系统可升级 3 挑战性的设计问题 成本省和开发周期短软硬件协同设计代码优化嵌入式操作系统优化功耗的优化设计如何进行测试 4 设计流程 自顶向下或自底向上设计 5 需求分析 作用使用户和设计者有效交流 沟通 明确设计目标设计者 设计什么 有哪些要求 用户 将得到的系统是什么样的 目标形成需求文档内容功能性需求做什么 输入 输出 功能 非功能性需求其他属性可靠性 速度 功耗 成本 大小 重量 设计时间 6 评价标准 正确性无二义性完整性可检验性一致性可修改性可追踪性 7 需求分析的描述 自然语言需求说明书需求分析表形式化描述用例图等需求管理工具DOORS 8 例 GPS移动地图的需求 9 规格说明 规格说明与需求的比较需求的提炼是可用来创建体系结构的关于系统的更详尽 更精确 更一致的描述目标形成规格说明书内容包含系统体系结构设计的足够信息 10 规格说明 需求的精确描述描述明确 可理解UML UnifiedModelingLanguage 统一建模语言是可视化的设计说明语言统一描述系统的硬件和软件UML可对系统的功能建模可自动产生实际设计的HDL或C 代码 11 系统结构设计 目的 系统如何实现规格说明书描述的功能目标 形成结构设计文档内容 系统分析与功能模块确定软硬件划分系统软硬件整体结构的设计标准构件和自行设计构件的确定 12 系统结构设计 13 系统结构设计过程及方法 结构化设计方法以算法为中心 从处理到处理的数据流从输入 输出入手 根据操作和数据流 形成比较粗的系统大框架 然后逐步细化框架内的每个部分 进一步确定内部模块的及模块之间的关系设计过程应该是逐步细化和逐步完善的过程面向对象的方法以类及交互模式为中心 14 系统软件结构的设计 结构化方法 SC SD 70 80年代占优势结构化设计方法给出一组帮助设计人员在模块层次上区分设计质量的原理与技术 重视数据结构和处理数据结构的过程 概要设计工具 结构图 SC StructureChart 结构化设计方法 SD StructuredDesign 过程设计语言 PDL 面向对象的方法 OOA OOD 90年代开始流行OOA Object OrientedAnalysis 主要原则包括 抽象 封装 继承 分类 聚合 关联等OOD Object OrientedDesign 过程和数据结构都被对象隐藏起来 两者几乎是互不相关的UML建模 15 结构设计的验证 结构设计的正确性非常关键详细设计和实现的基础 对开发周期 成本有很大影响验证所关心的问题结构设计是否满足功能 性能要求能否实现验证方法形式化方法仿真系统结构软件结构硬件结构其他方法如基于开发板的原型系统 16 系统引入错误和修改错误开销分布 引入错误数目 修改错误开销 开发周期 系统结构设计 软硬件详细设计 软硬件实现 17 软硬件的划分 嵌入式系统的设计涉及硬件与软件部件 设计中必须决定什么功能由硬件实现 什么功能由软件实现 硬件和软件具有双重性软硬件变动对系统的决策造成影响划分和选择需要考虑多种因素硬件和软件的双重性是划分决策的前提 18 软硬件技术对系统结构的影响 硬软件设计的趋势 融合 渗透硬件设计的软件化 VHDL VerilogHANDL C软件实现的硬件化 各种算法的ASIC对系统设计的影响 协同设计增加灵活性增加了风险 19 一个简单的方案设计例子 设计实例要求设计一个系统 完成图像颜色空间变换的实时处理 输入图像大小为VGA分辨率 640 480 图像的彩色空间变换公式 20 系统数据处理流程 输入接口 输出接口 处理器 21 算法分析 每次运算只涉及1个像素每个像素的运算量是 9次乘法 6次加法 22 根据每次运算只涉及到1个pixel 可以采用两种可能的输入方式读入整幅图像数据 然后再进行处理 简称Frame In模式读取一个图像点 就处理一个图像点 简称Pixel In模式数据的输出也有方式 整幅图像数据处理完成后 一次性的存储到外部缓存中 简称Frame Out模式逐个像素点的存储 每处理完一个点就输出处理结果 简称Pixel Out模式 23 输入 输出性能分析 无论哪种方式 pixel Frame模式 对IO接口的最低要求是 每个像素有3bytes的数据输入 RGB 3bytes输出 YUV 输入输出基本对称1pixel 3次读操作 3次写操作每帧图像 640 480 1pixel每秒种 PAL制 625线 25 25 640 480 1pixelNTSC制 525线 29 97 30 640 480 1pixel 24 算法运算量估计 核心算法的计算量估算试计算每个像素处理需要的计算量 1pixel 9次乘法 6次乘加处理一幅图像需要的计算量 1frame 640 480 1pixel每秒中处理30帧 frame N制 需要的计算能力 1秒30帧 30 1frame 核心算法处理能力要求 1秒30帧 9216000 1pixel 25 两种可能的方案 1 方案1 Pixel方案Pixel方案 Pixel in Pixel Out 26 方案2 Frame模式Frame方案 Frame in Frame Out 27 核心算法处理能力要求Compute 9216000 1pixel计算 总的IO性能要求1个像素3次取 3次存IO 9216000 1pixel存取 两种方案对数据处理单元的性能要求 如果采用ARM处理器实现 则处理器的性能需求最少满足上述要求 9216000 9 6 3 3 193 536 0009216000 9 6 30 30 691 200 000 28 两种架构的对比Pixel方案 数据流程简单缺点是 这种IO接口形式 对前后级造成很大压力 对于ARM系统来说 处理器的效率较低 处理器访问外存的性能较差 Frame方案数据流程中加入缓存 尽管增加了实现的复杂性 但有利于保证数据的连续性可利用DMA功能进行IO传输 从而提高处理器的利用率 两种架构的最大区别在于对IO接口的性能要求上 Pixel方案对接口的性能要求高很多 29 经过不同架构的比较 最终确定系统的设计方案Pixel方案 适合FPGA实现Frame方案 适合处理器来实现 30 嵌入式系统设计工具 明确了系统的体系架构和开发流程以后 接下来就要进行开发 调试与测试 包括选择适当的开发环境和开发工具 例如编译器 链接器 定位器 或者直接使用集成开发环境 IDE 随后将编译好的程序转为映像 Image 下载到目标平台上 与开发平台连接后进行调试和测试 31 编译器 编译器 Compiler 是将一种语言翻译成另一种语言的计算机程序 它将源程序作为输入 产生目标语言 通常 源程序采用高级语言编写 如C C 或者是汇编语言 而目标语言则是目标机器的目标代码 ObjectCode 有时也称为机器代码 MachineCode 使用编译器可以使我们不必直接编写麻烦的机器代码 而直接使用便于理解的高级语言或插入了助记符的汇编语言 提高了编程的效率 常见的编译器有VisualC BorlandC 以及Linux下的GCC等 32 链接器 编译完程序后会产生目标代码 但要执行程序还需要对目标代码进行链接 这就要用到链接器 链接器将所有的目标代码文件 o或者 obj以及lib中的数据段区 包括text data bss区段的数据进行合并 并且将尚未决定的函数和变量调用对应起来 在嵌入式系统中 要链接出一个可以放到ROM中执行的程序 开发人员还必须对启动代码进行链接 并且制定链接关系地址 33 集成开发环境 集成开发环境 IntergratedDevelopmentEnviroment IDE 是用于程序开发的应用程序 一般包括代码编辑器 编译器 调试器和图形用户界面工具 该程序可以独立运行 也可以和其他程序并用 最典型的例子就是VisualC 许多的开发环境都将其作为模板 并得到了广泛的应用 集成开发环境的好处就是可以方便地管理各种工程项目和函数库 特别是当整个系统越来越大的时候 可以省去很多管理和设置上的麻烦 减轻了开发人员的负担 实际上 软件开发环境正是朝着IDE的方向发展 34 交叉开发环境 嵌入式系统通常是一个资源受限的系统 直接在嵌入式系统的目标硬件平台上编写软件是很困难甚至是不可能的 因此 在嵌入式系统的开发中往往用到一个交叉开发环境 CrossDevelopmentEnvironment 所谓交叉开发 就是在通用计算机 比如PC 上编辑 编译程序 生成可以在目标平台上运行的二进制代码指令 然后再下载到目标平台上进行调试的开发方式 通用计算机一般称为宿主机 目标平台称为目标机 交叉开发环境一般由运行于宿主机上的交叉开发软件和系统仿真器组成 交叉开发软件一般为一个集成开发环境 35 在线仿真器 在线仿真器 In CircuitEmulator ICE 是一种模拟CPU的设备 能执行CPU的全部动作 采用该方式调试时 利用仿真头代替目标板上的CPU 可以完全仿真CPU的行为 并且提供了丰富的调试功能 但缺点是结构复杂 价格昂贵 通常用于硬件开发中 36 在线调试器 在线调试器 In CircuitDebug ICD 是将CPU的除错 调试 功能的引脚引出来 让外部的硬件直接连接到这些引脚上去监控整个CPU的动作 这样开发人员就可以很容易地利用比较便宜的除错 调试 工具和CPU的除错 调试 模块进行沟通 一般这些CPU上的除错模块都提供读出写入内存 读出写入CPU寄存器 单步执行 中断以及触发等功能设置 目前 比较流行的是ARM公司开发板上使用的JTAG JointTestActionGroup 调试端口 ICD调试方式比ICE便宜得多 因此现在越来越多的开发人员开始采用这种方式 37 传统的嵌入式系统设计过程 传统软硬件设计过程的基本特征 系统在一开始就被划分为软件和硬件两大部分软件和硬件独立进行开发设计 Hardwarefirst approachoftenadopted隐含的一些问题 软硬件之间的交互受到很大限制软硬件之间的相互性能影响很难评估系统集成相对滞后 NRE较大因此 Poorqualitydesigns 设计质量差 Costlymodifications 设计修改难 Scheduleslippages 研制周期不能有效保障 38 软硬件协同快速原型设计过程 39 软硬件协同设计的基本需求 统一的软硬件描述方式软硬件支持统一的设计和分析工具 技术 允许在一个集成环境中仿真 评估 系统软硬件设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- LUM管理会计学专业毕业论文
- 教务管理系统毕业论文
- 2024年江苏“安全生产月”知识培训测试试题附参考答案
- 数媒专业的毕业论文
- 老旧小区消防安全设施改造方案
- 2025年注安《安全生产法律法规》真题及解析(含多选题)
- 车辆系毕业论文
- 医疗健康管理硕士课程总结
- 专业学生毕业论文
- 城镇燃气知识竞赛安全生产管理人员考试题及答案
- 服务器存储网络设备巡检报告
- 河北2023年邯郸银行内部审计人员招聘考试参考题库含答案详解
- 简思plc状态帧使用说明书
- 世界范围内社区支持农业CSA(下)
- GB/T 29256.5-2012纺织品机织物结构分析方法第5部分:织物中拆下纱线线密度的测定
- GB/T 27021.1-2017合格评定管理体系审核认证机构要求第1部分:要求
- GB/T 1410-2006固体绝缘材料体积电阻率和表面电阻率试验方法
- FZ/T 07010-2021绿色设计产品评价技术规范针织服装
- 科幻小说《三体》内容简介读书分享会ppt图文课件
- 校园文化施工组织设计范本
- 大地的耳朵-阅读答案
评论
0/150
提交评论