当前位置首页 > 计算机 > 嵌入式开发
搜柄,搜必应! 快速导航 | 使用教程

嵌入式系统设计方法

文档格式:PPT| 73 页|大小 468KB|2024-12-09 发布|举报 | 版权申诉
第1页
第2页
第3页
下载文档到电脑,查找使用更方便 还剩页未读,继续阅读>>
1 / 73
此文档下载收益归作者所有 下载文档
  • 版权提示
  • 文本预览
  • 常见问题
  • 单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,*,,,,,,,,单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,*,—,嵌入式系统设计方法,,2006年4月21日,,嵌入式系统,,,主要内容,嵌入式系统面临的挑战,,嵌入式系统的设计,,嵌入式系统软硬件协同设计,,嵌入式系统节能设计,,CC1991(9+2个主领域),CC2001(14个主领域),,离散数学(预备知识),离散结构,(DS),程序设计语言引论,程序设计基础(PF),算法与数据结构,算法与复杂性(AL),计算机系统结构,系统结构(AR),操作系统,操作系统(OS),,网络计算(NC),程序设计语言,程序设计语言(PL),人-机通信,人机交互(HC),,图形学和可视化计算(GV),人工智能与机器人学,智能系统(IS),数据库与信息检索,信息管理(IM),软件方法学与工程,软件工程(SE),社会、道德和职业的问题,社会和职业的问题(SP),数值与符号计算,科学计算(SC),IEEE/ACM 课程大纲关于计算机学科主领域的划分,,,,嵌入式系统,嵌入式系统:,,,以应用为中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗诸方面严格要求的专用计算机系统。

    嵌入式系统特点,,嵌入式系统特点:,,,软件硬件协同并行开发,,,多种多样的微处理器,,,实时操作系统的多样性 (RTOS),,,与台式机相比,可利用系统资源不足,,,应用支持很少,,,要求特殊的开发工具,,,调试很困难,,,软件硬件的鲁棒性(健壮性,Robust),,,嵌入式系统要解决的主要问题,,需要用什么样的系统结构来实现?,,如何满足时限要求,如何处理多项功能在时间上的协调一致关系?,,如何保证系统可靠地工作?,,如何满足系统接口要求,嵌入式应用直接和系统接口输入输出信息?,,如何降低系统的功耗?,,如何使系统可升级?,,嵌入式系统设计的挑战性问题,,软硬件协同设计,,功耗的优化设计,,嵌入式操作系统,,开发环境,,成本和开发周期,,代码优化,,高效的输入和输出,,测试环境,,嵌入式系统软件技术面临的几大问题,嵌入式软件全生命周期开发工具链,,硬件与软件的Co-Design: Verilog + C = ?,,驱动程序的设计和生成技术(嵌入式软件开发中最令人头疼的问题),,嵌入式软件的可靠性问题: 正确性验证技术、测试技术、调试技术等(可靠性问题是嵌入式软件开发的基本问题),,可重构计算(Reconfigurable Computing)技术,,可构件化的嵌入式实时操作系统及其开发环境,,问题,:,,功能、性能要求,,价格、开发周期等约束,设计:,,,选择,,折衷,,分析比较,,计算,,评价,嵌入式系统,嵌入式系统的设计,方法,工具,,设计流程—自顶向下或自底向上设计,需求,设计说明,体系结构,构件设计,系统集成,自顶向下设计,自底向上设计,,需求分析,作用,,使用户和设计者有效交流、沟通,明确设计目标,,设计者 - 设计什么?有哪些要求?,,用户 - 将得到的系统是什么样的?,,目标,,形成需求文档,,内容,,功能性需求,做什么?,,输入,输出,功能,……,,非功能性需求,其他属性,,可靠性,速度,功耗,……,,成本,大小,重量,设计时间, ……,,评价标准,正确性,,无二义性,,完整性,,可检验性,,一致性,,可修改性,,可追踪性,,需求分析的描述,自然语言,,需求说明书,,需求分析表,,,形式化描述,,用例图等,,DOORS,,,例:,GPS移动地图的需求,,规格说明,规格说明与需求的比较,,需求的提炼,,是可用来创建体系结构的关于系统的更详尽、更精确、更一致的描述,,目标,,形成规格说明书,,内容,,包含系统体系结构设计的足够信息,,,,规格说明书的描述,自然语言,,,形式化描述,,UML,,RSML,,SDL,,规格,说明,,需求的精确描述,,,描述明确,可理解,,,UML (Unified Modeling Language),,统一建模语言是可视化的设计说明语言,,统一描述系统的硬件和软件,,,UML 可对系统的功能建模,,,可自动产生实际设计的HDL 或C++ 代码,,,UML的应用,I-Logix公司的Rhapsody系列产品,,基于统一建模语言UML的可视化编程环境,,把UML各类视图映射为具体目标机程序语言,,用于复杂实时嵌入式应用软件从分析、设计一直到代码实现和软件测试的开发过程,,NASA的火星探路者航天器就是运用Rhapsody在VxWorks上开发应用程序。

    系统结构设计,,,系统如何实现设计说明书描述的功能,,,基于组件的系统结构,,,软件/硬件划分,,,嵌入式系统中软件和硬件协同完成系统的功能,,软件硬件划分通常由速度、灵活性以及开销来决策,,,,,,硬件,,单片机, X86, PowerPC, ARM, MIPS,……,板级支持程序,嵌入式操作系统,应用软件,监控程序,嵌入式计算机系统基本结构,,嵌入式系统组成,,,,系统结构设计,,,系统结构设计,作用,,实现系统的蓝图,系统整体结构的一个计划,,目标,,形成结构设计文档,,内容,,系统分析,,系统软硬件整体结构的设计,,软硬件划分,,标准构件和自行设计构件的确定,,评价标准,,有弹性,,简单,,可实现,,层次清晰,,功能分布平衡,,平衡技术和经济约束,,满足功能需求和非功能需求,,可重用,,系统结构的描述,,非形式化方式,,自然语言,,结构框图,,形式化方法,,UML建模,,,系统结构的设计过程及方法,,结构化设计方法,以算法为中心,从处理到处理的数据流,,从输入、输出入手,根据操作和数据流,形成比较粗的系统大框架;,,然后逐步细化框架内的每个部分,进一步确定内部模块的及模块之间的关系,,设计过程应该是逐步细化和逐步完善的过程,,面向对象的方法,以类及交互模式为中心,,系统软件结构的设计,,结构化方法(SA/SD),,面向对象的方法(OOA/OOD),,UML建模,,结构设计的验证,,结构设计的正确性非常关键,,详细设计和实现的基础,对开发周期、成本有很大影响,,验证所关心的问题,,结构设计是否满足功能、性能要求,,能否实现,,验证方法,,形式化方法,,仿真,,系统结构,,软件结构,,硬件结构,,其他方法,,如基于开发板的原型系统,,系统引入错误和修改错误开销分布,,引入错误数目,修改错误开销,开发周期,系统结构,,设计,软硬件,,详细设计,软硬件,,实现,,软硬件的划分,,,嵌入式系统的设计涉及硬件与软件部件,设计中必须决定什么功能由硬件实现,什么功能由软件实现。

    硬件和软件具有双重性,,软硬件变动对系统的决策造成影响,,划分和选择需要考虑多种因素,,硬件和软件的双重性是划分决策的前提,,通常由软件实现的部分,,,操作系统功能,,任务调度,,资源管理,,设备驱动,,协议栈,,TCP/IP,,应用软件框架,,除基本系统、物理接口、基本逻辑电路,许多由硬件实现的功能都可以由软件实现双重性部分,,,算法,,加密/解密,,编码/解码,,压缩/解压,,……,,数学运算,,浮点运算, FFT, ……,,……,,,标准构件和自行设计构件,,构件的实现,,选择标准,,自行设计,,标准构件 = ?现成构件,,已经产品化,,形成规模生产,,标准构件 + 自行设计构件 = 用户系统,,构件包括了硬件构件和软件构件,,构件本身可以是层次性的,可以由子构件组成,,标准硬构件,,硬构件的形式:,,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:PLD FPGA ASIC,……,,EDA设计工具,,板级:,,原理图设计工具,,PCB设计工具,,IC,,硬件描述语言: VHDL,Verilog,,原理图描述工具,,综合仿真工具,,布线器, …………,,自研软构件,,BSP,,驱动程序,,应用程序,,……,,,软硬件技术对系统结构的影响,,硬软件设计的趋势——融合、渗透,,硬件设计的软件化,,VHDL, Verilog,,HANDL-C,,软件实现的硬件化,,各种算法的ASIC,,对系统设计的影响——协同设计,,增加灵活性,,增加了风险,,嵌入式系统设计者要求,,,懂得系统的整个构架,,,详细了解硬件的细节,,,软件设计满足:,,,实时要求,,,低功耗,,,代码量小,,,详细了解领域知识,,,嵌入式系统软硬件协同设计,,,,,软硬件协同设计,,软硬件协同设计,硬件设计工具(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 exploiting 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 criteria,,and functional specifications,,嵌入式系统,快速原型,设计过程,SYSTEM,DEF.,SW,DESIGN,VIRTUAL PROTOTYPE,REUSE DESIGN LIBRARIES AND DATABASE,Primarily,software,Primarily,hardware,SW,CODE,FUNCTION,DESIGN,HW &,SW,PART.,HW,DESIGN,HW,FAB,INTEG.,&,TEST,HW & SW,CODESIGN,HW & SW Partitioning & Codesign,,,嵌入式系统快速原型开发的基本要素,系统定义(需求分析),,软硬件划分,,结构规划,–,处理器类型,,,软硬件之间的接口类型,,,等,.,,划分目的,–,满足系统速度,,,延迟,,,体积,,,成本等方面的要求,.,,划分策略,- high level partitioning by hand, automated partitioning using various techniques, etc.,,调度,,Operation scheduling in hardware,,Instruction scheduling in compilers,,Process scheduling in operating systems,,软硬件设计过程中的建模,,传统的嵌入式系统设计模型,System,,Concepts,Sys/HW,,Require.,,Analysis,Sys/SW,,Require.,,Analysis,Operation.,,Testing and,,Eval.,Software,,Require.,,Analysis,Prelim.,,Design,Detailed,,Design,Coding,,,Unit test.,,,Integ. test,SW Development,HWCI,,Testing,CSCI,,Testing,System,,Integ. and,,test,Hardware,,Require.,,Analysis,Prelim.,,Design,Detailed,,Design,Fabric.,HW Development,DOD-STD-2167A,,传统的嵌入式系统设计过程,传统软硬件设计过程的基本特征,:,,系统在一开始就被划分为软件和硬件两大部分,,软件和硬件独立进行开发设计,,“Hardware first” approach often adopted,,隐含的一些问题,:,,软硬件之间的交互受到很大限制,,软硬件之间的相互性能影响很难评估,,系统集成相对滞后,NRE较大,,因此,:,,Poor quality designs,(设计质量差),,Costly modifications,(设计修改难),,Schedule slippages,(研制周期不能有效保障),,传统设计过程中的尖锐矛盾,,随着设计复杂程度的提高,软硬件设计中的一些错误将使开发过程付出昂贵的代价,,,“,Hardware first,” approach often compounds,(混合),software cost because software must compensate for,(补偿),hardware inadequacies,(不充分),,软硬件设计过程发展方向-协同设计,System,,Concepts,Sys/HW,,Require.,,Analysis,Sys/SW,,Require.,,Analysis,Hardware,,Require.,,Analysis,Software,,Require.,,Analysis,Operation.,,Testing and,,Evaluation,SW Development,HW Development,System,,Integ. and,,test,HWCI,,Testing,CSCI,,Testing,[,Franke91],,Integrated Modeling Substrate,Integrated Modeling Substrate,(一体化建模底层),Prelim.,,Design,Prelim.,,Design,Detailed,,Design,Detailed,,Design,Fabric.,Coding,,,Unit test.,,,Integ. test,©,IEEE 1991,,嵌入式软件的开发过程(瀑布模型),Requirement Analysis,Software Design,Coding,Testing,Release,,软硬件协同设计的基本需求,统一的软硬件描述方式,,软硬件支持统一的设计和分析工具(技术),,允许在一个集成环境中仿真(评估)系统软硬件设计,,支持系统任务在软件和硬件设计之间的相互移植,,交互式软硬件划分技术,,允许多个不同的软硬件划分设计进行仿真和比较,,辅助最优系统实现方式决策,,将软硬件划分应用到模块设计,以便最佳地实现系统的设计指标。

    Partitioning applied to modules to best meet design criteria (,功能和性能目标,),,软硬件协同设计的基本需求,(,续,),完整的软硬件模型基础,,支持在设计过程中的几个阶段的综合评价,,支持软硬件逐步的开发和集成,,正确的验证方法,,确保系统设计达到的目标要求,,典型的软硬件协同设计过程,,,System,,Integration,Instruction set level,,HW/SW evaluation,Unified representation,,(Data/control flow),,HW/SW,,Partitioning,,,Interface,,Synthesis,,Software,,Synthesis,SW,Hardware,,Synthesis,HW,,System,,Description,,(Functional),Concurrent processes,,Programming languages,,FSM-,,directed graphs,,Another,,HW/SW,,partition,,经典的软硬件协同设计方法,Analysis of Constraints,,and Requirements,System Specs..,HW/SW,,Partitioning,Hardware Descript.,Software Descript.,HW Synth. and,,Configuration,Interface Synthesis,Software Gen.,,& Parameterization,Configuration,,Modules,Hardware,,Components,HW/SW,,Interfaces,Software,,Modules,HW/SW Integration,,and Cosimulation,Integrated,,System,System Evaluation,Design Verification,[,Rozenblit94],©,IEEE 1994,,软硬件协同设计的优势,在设计初始阶段就可进行软硬件交互设计和调整,,Provides continual verification throughout the design cycle,(贯穿整个设计周期),,Separate HW/SW development paths,(开发路线),can lead to costly modifications and schedule slippages,(导致代价昂贵的纠错成本和开发进度的下降),,关键技术(如可编程逻辑综合技术、器件接口和功能模型描述)的进步使得软硬件交互设计变得简单起来,,软硬件协同设计技术的现状,主要问题,:,,缺乏标准化的表示方法,,缺乏好的验证和评价方法,,可能的解决方案,:,,扩展已有的硬件/软件语言工具并应用到不同种类情况,,扩展形式验证技术并应用到硬件/软件领域,,基于FPGA的嵌入式系统设计--SOPC设计,,软硬件协同设计基本步骤,HW-SW system involves,,Specification(设计描述),,modeling (设计建模),,design space exploration and partitioning,,synthesis and optimization(综合与优化),,Validation(设计验证),,implementation (设计实现),,软硬件协同设计基本步骤,Specification(设计描述),,List the functions of a system that describe the behavior of an abstraction clearly with out ambiguity.,,Modeling,(设计建模),,Process of conceptualizing and refining the specifications, and producing a hardware and software model.,,软硬件协同设计基本步骤,Validation:,,Process of achieving a reasonable level of confidence(置信度) that the system will work as designed.,,Takes different flavors per application domain(根据应用领域而不同): cosimulation for performance and correctness(性能与功能的协同仿真),,软硬件协同设计基本步骤,Implementation:,,Physical realization of the hardware (through synthesis),,and of executable software (through compilation).,,协同设计中的软硬件划分与调度,(where and when),A hardware/software,partitioning,represents a physical partition of system functionality into application-specific hardware and software.,,Scheduling,is to assign an execution start time to each task in a set, where tasks are linked by some relations.,,,嵌入式系统的节能设计,(硬件节能、软件节能),,,,嵌入式系统的节能设计,节能计算成为嵌入式系统设计、系统软件重点考虑的基本方面:,,节能计算包括:,,硬件体系结构支持,,在小巧外形尺寸下,如何实现所需电源性能的工艺和技术,,热管理、降噪、电池管理和功能整合,,软件支持,,节能编译,,操作系统,,节能策略,,现状,电源管理策略,,面向PC、笔记本电脑、服务器、通信设备的刀片服务器,,APM:高级电源管理方案,,ACPI:高级配置和电源接口,,根据嵌入式系统模型定制节能技术非常缺乏,甚至在某些方面是空白,,手持设备电源管理,电池寿命不等同于电源管理的成效,,性能、多媒体系统、数码摄像,,新增功能增加系统的耗电量,,缩短电池寿命,,影响因素,,CPU 功能,,系统软件,,中间件,,管理策略,,传统手持设备管理策略,处理器时钟变慢,,操作系统转入待机、睡眠状态,,动态电源管理 (DPM),,调整内核电压和频率,,高性能存储器,,彩色显示器,,无线接口,,固化为通用电源管理IC,,软件节能策略,预测什么时候设备的未来使用状况或者使用率,,“time-out”策略预测特定的时间长度,,基于GSPN网络和HMM的技术,,Montavista,,基于linux,,通用性强,但是嵌入式系统定制性强,效果不佳,,能耗测试,测试出每条指令的能耗,估计测试程序运行完的总能耗,,测试出每个函数的能耗,然后利用这些函数作为标准去估计其他函数运行的能耗,,节能操作系统,目的,,保证操作系统实时性的前提下,完成能耗计算,,调度算法的节能优化,,中断处理优化,,低功耗文件系统,,CPU 电压和频率调节会给实时性能带来了严峻挑战,,可能造成不稳定,,“重新锁定”锁相环路和其它动态时钟机制需要时间,造成了很长的等待时间(有时是毫秒级别),,锁定期间 CPU 既不能执行计算操作,又不能响应外部事件(中断),,每一软件,,相应的手机最低电压,,CPU频率,,相应设备,,通过动态的调节CPU的内核频率与内核电压,以及动态的关闭系统的某些设备和调整某些设备的状态,,外设驱动,针对不同功能部件的能耗,进行合理的功耗优化,,从电池开始,严格和精确地电量测量,,根据外设特征研究不同的电源管理策略下的驱动,,现有情况,,硬件产品有几种状态定义,,状态提供不同的服务质量和消耗的能量,,提供各种状态之间的转换接口,,算法目标,,实现状态转换的节能策略,,减少待机能耗,,人工智能技术的应用,,通过软件来动态的预测和控制某些部件的开关,,节能通讯协议栈,连接干预,,节能的传输调度算法,,缓冲区技术,,局部性原理与预取,,低功耗压缩算法,,节能编译,对每条指令的能耗进行测试,,对函数编译结果的能耗进行估计,,错误处理代码的能耗设计,,基于ICE进行函数执行代码统计,,。

    点击阅读更多内容
    卖家[上传人]:wuyoufeng
    资质:实名认证
    相关文档
    正为您匹配相似的精品文档