—嵌入式系统设计方法

上传人:艾力 文档编号:56936622 上传时间:2018-10-17 格式:PPT 页数:73 大小:525.50KB
返回 下载 相关 举报
—嵌入式系统设计方法_第1页
第1页 / 共73页
—嵌入式系统设计方法_第2页
第2页 / 共73页
—嵌入式系统设计方法_第3页
第3页 / 共73页
—嵌入式系统设计方法_第4页
第4页 / 共73页
—嵌入式系统设计方法_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《—嵌入式系统设计方法》由会员分享,可在线阅读,更多相关《—嵌入式系统设计方法(73页珍藏版)》请在金锄头文库上搜索。

1、 嵌入式系统设计方法,2006年4月21日,嵌入式系统,主要内容,嵌入式系统面临的挑战 嵌入式系统的设计 嵌入式系统软硬件协同设计 嵌入式系统节能设计,IEEE/ACM 课程大纲关于计算机学科主领域的划分,嵌入式系统,嵌入式系统: 以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗诸方面严格要求的专用计算机系统。,嵌入式系统特点,嵌入式系统特点: 软件硬件协同并行开发 多种多样的微处理器 实时操作系统的多样性 (RTOS) 与台式机相比,可利用系统资源不足 应用支持很少 要求特殊的开发工具 调试很困难 软件硬件的鲁棒性(健壮性,Robust),嵌入式

2、系统要解决的主要问题,需要用什么样的系统结构来实现? 如何满足时限要求,如何处理多项功能在时间上的协调一致关系? 如何保证系统可靠地工作? 如何满足系统接口要求,嵌入式应用直接和系统接口输入输出信息? 如何降低系统的功耗? 如何使系统可升级?,嵌入式系统设计的挑战性问题,软硬件协同设计 功耗的优化设计 嵌入式操作系统 开发环境 成本和开发周期 代码优化 高效的输入和输出 测试环境,嵌入式系统软件技术面临的几大问题,嵌入式软件全生命周期开发工具链 硬件与软件的Co-Design: Verilog + C = ? 驱动程序的设计和生成技术(嵌入式软件开发中最令人头疼的问题) 嵌入式软件的可靠性问题

3、: 正确性验证技术、测试技术、调试技术等(可靠性问题是嵌入式软件开发的基本问题) 可重构计算(Reconfigurable Computing)技术 可构件化的嵌入式实时操作系统及其开发环境,嵌入式系统的设计,方法,工具,设计流程自顶向下或自底向上设计,自顶向下设计,自底向上设计,需求分析,作用 使用户和设计者有效交流、沟通,明确设计目标 设计者 设计什么?有哪些要求? 用户 将得到的系统是什么样的? 目标 形成需求文档 内容 功能性需求 做什么? 输入,输出,功能, 非功能性需求 其他属性 可靠性,速度,功耗, 成本,大小,重量,设计时间, ,评价标准,正确性 无二义性 完整性 可检验性 一

4、致性 可修改性 可追踪性,需求分析的描述,自然语言 需求说明书 需求分析表 形式化描述 用例图等 DOORS,例:GPS移动地图的需求,规格说明,规格说明与需求的比较 需求的提炼 是可用来创建体系结构的关于系统的更详尽、更精确、更一致的描述 目标 形成规格说明书 内容 包含系统体系结构设计的足够信息,规格说明书的描述,自然语言 形式化描述 UML RSML SDL,规格说明,需求的精确描述 描述明确,可理解 UML (Unified Modeling Language) 统一建模语言是可视化的设计说明语言 统一描述系统的硬件和软件 UML 可对系统的功能建模 可自动产生实际设计的HDL 或C+

5、 代码,UML的应用,I-Logix公司的Rhapsody系列产品 基于统一建模语言UML的可视化编程环境 把UML各类视图映射为具体目标机程序语言 用于复杂实时嵌入式应用软件从分析、设计一直到代码实现和软件测试的开发过程 NASA的火星探路者航天器就是运用Rhapsody在VxWorks上开发应用程序。,系统结构设计,系统如何实现设计说明书描述的功能 基于组件的系统结构 软件/硬件划分 嵌入式系统中软件和硬件协同完成系统的功能 软件硬件划分通常由速度、灵活性以及开销来决策,硬件 单片机, X86, PowerPC, ARM, MIPS,板级支持程序,嵌入式操作系统,应用软件,监控程序,嵌入式

6、计算机系统基本结构,嵌入式系统组成,系统结构设计,系统结构设计,作用 实现系统的蓝图,系统整体结构的一个计划 目标 形成结构设计文档 内容 系统分析 系统软硬件整体结构的设计 软硬件划分 标准构件和自行设计构件的确定,评价标准,有弹性 简单 可实现 层次清晰 功能分布平衡 平衡技术和经济约束 满足功能需求和非功能需求 可重用,系统结构的描述,非形式化方式 自然语言 结构框图 形式化方法 UML建模,系统结构的设计过程及方法,结构化设计方法 以算法为中心,从处理到处理的数据流 从输入、输出入手,根据操作和数据流,形成比较粗的系统大框架; 然后逐步细化框架内的每个部分,进一步确定内部模块的及模块之

7、间的关系 设计过程应该是逐步细化和逐步完善的过程 面向对象的方法 以类及交互模式为中心,系统软件结构的设计,结构化方法(SA/SD) 面向对象的方法(OOA/OOD) UML建模,结构设计的验证,结构设计的正确性非常关键 详细设计和实现的基础,对开发周期、成本有很大影响 验证所关心的问题 结构设计是否满足功能、性能要求 能否实现 验证方法 形式化方法 仿真 系统结构 软件结构 硬件结构 其他方法 如基于开发板的原型系统,系统引入错误和修改错误开销分布,引入错误数目,修改错误开销,开发周期,系统结构 设计,软硬件 详细设计,软硬件 实现,软硬件的划分,嵌入式系统的设计涉及硬件与软件部件,设计中必

8、须决定什么功能由硬件实现,什么功能由软件实现。 硬件和软件具有双重性 软硬件变动对系统的决策造成影响 划分和选择需要考虑多种因素 硬件和软件的双重性是划分决策的前提,通常由软件实现的部分,操作系统功能 任务调度 资源管理 设备驱动 协议栈 TCPIP 应用软件框架 除基本系统、物理接口、基本逻辑电路,许多由硬件实现的功能都可以由软件实现。,双重性部分,算法 加密解密 编码解码 压缩解压 数学运算 浮点运算, FFT, ,标准构件和自行设计构件,构件的实现 选择标准 自行设计 标准构件 ?现成构件 已经产品化 形成规模生产 标准构件 自行设计构件 用户系统 构件包括了硬件构件和软件构件 构件本身

9、可以是层次性的,可以由子构件组成,标准硬构件,硬构件的形式: IC:集成电路 PCB:印刷电路板 IP:Intellectual Property 标准 IC CPU, DSP, RAM, ROM, 接口控制器, ASIC, 标准 IP CPU核, 标准模块 GPRS模块,GSM模块,蓝牙模块, 显示模块, 标准计算平台 基于PC104的嵌入式计算机 基于Compact PCI的嵌入式计算机 SOC,标准软构件,OS / RTOS 协议栈 TCP/IP 路由协议 H.323 图形开发包 VxWorks的ZINK 驱动程序,自研硬构件,内容 逻辑电路,专用加速器, 实现方式 PCB: IC:PL

10、D FPGA ASIC, EDA设计工具 板级: 原理图设计工具 PCB设计工具 IC 硬件描述语言: VHDL,Verilog 原理图描述工具 综合仿真工具 布线器, ,自研软构件,BSP 驱动程序 应用程序 ,软硬件技术对系统结构的影响,硬软件设计的趋势融合、渗透 硬件设计的软件化 VHDL, Verilog HANDL-C 软件实现的硬件化 各种算法的ASIC 对系统设计的影响协同设计 增加灵活性 增加了风险,嵌入式系统设计者要求,懂得系统的整个构架 详细了解硬件的细节 软件设计满足: 实时要求 低功耗 代码量小 详细了解领域知识,嵌入式系统软硬件协同设计,软硬件协同设计,软硬件协同设计

11、,硬件设计工具(EDA工具) 系统级设计工具 Cadence的SPW System View 模拟电路系统仿真工具 Pspice EWB PCB设计工具 Protel PADs 的Power PCB & Tool Kit Mentor的Expedition & Tool Kit 可编程逻辑器件设计工具 Mentor FPGA Advantage & ModelSim Xilinx Foundation ISE & Tool Kit 各种综合和仿真第三方工具,软硬件协同设计定义与主要概念,软硬件协同设计定义 The meeting of system-level objectives by ex

12、ploiting the trade-offs between hardware and software in a system through their concurrent design 主要概念 Concurrent(并发): hardware and software developed at the same time on parallel paths Integrated(一体化): interaction between hardware and software developments to produce designs that meet performance c

13、riteria and functional specifications,嵌入式系统快速原型设计过程,嵌入式系统快速原型开发的基本要素,系统定义(需求分析) 软硬件划分 结构规划 处理器类型, 软硬件之间的接口类型, 等. 划分目的 满足系统速度,延迟, 体积,成本等方面的要求. 划分策略 - high level partitioning by hand, automated partitioning using various techniques, etc. 调度 Operation scheduling in hardware Instruction scheduling in co

14、mpilers Process scheduling in operating systems 软硬件设计过程中的建模,传统的嵌入式系统设计模型,传统的嵌入式系统设计过程,传统软硬件设计过程的基本特征: 系统在一开始就被划分为软件和硬件两大部分 软件和硬件独立进行开发设计 “Hardware first” approach often adopted 隐含的一些问题: 软硬件之间的交互受到很大限制 软硬件之间的相互性能影响很难评估 系统集成相对滞后,NRE较大 因此: Poor quality designs(设计质量差) Costly modifications(设计修改难) Schedul

15、e slippages(研制周期不能有效保障),传统设计过程中的尖锐矛盾,随着设计复杂程度的提高,软硬件设计中的一些错误将使开发过程付出昂贵的代价 “Hardware first” approach often compounds(混合) software cost because software must compensate for(补偿) hardware inadequacies(不充分),软硬件设计过程发展方向协同设计,Franke91,Integrated Modeling Substrate(一体化建模底层), IEEE 1991,嵌入式软件的开发过程(瀑布模型),Requir

16、ement Analysis,Software Design,Coding,Testing,Release,软硬件协同设计的基本需求,统一的软硬件描述方式 软硬件支持统一的设计和分析工具(技术) 允许在一个集成环境中仿真(评估)系统软硬件设计 支持系统任务在软件和硬件设计之间的相互移植 交互式软硬件划分技术 允许多个不同的软硬件划分设计进行仿真和比较 辅助最优系统实现方式决策 将软硬件划分应用到模块设计,以便最佳地实现系统的设计指标。Partitioning applied to modules to best meet design criteria (功能和性能目标),软硬件协同设计的基本需求 (续),完整的软硬件模型基础 支持在设计过程中的几个阶段的综合评价 支持软硬件逐步的开发和集成 正确的验证方法 确保系统设计达到的目标要求,典型的软硬件协同设计过程,经典的软硬件协同设计方法,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号