第6章汽车嵌入式系统开发的方法、体系和流程(汽车电子技术)ppt课件.ppt

上传人:小飞机 文档编号:1354398 上传时间:2022-11-13 格式:PPT 页数:79 大小:11.42MB
返回 下载 相关 举报
第6章汽车嵌入式系统开发的方法、体系和流程(汽车电子技术)ppt课件.ppt_第1页
第1页 / 共79页
第6章汽车嵌入式系统开发的方法、体系和流程(汽车电子技术)ppt课件.ppt_第2页
第2页 / 共79页
第6章汽车嵌入式系统开发的方法、体系和流程(汽车电子技术)ppt课件.ppt_第3页
第3页 / 共79页
第6章汽车嵌入式系统开发的方法、体系和流程(汽车电子技术)ppt课件.ppt_第4页
第4页 / 共79页
第6章汽车嵌入式系统开发的方法、体系和流程(汽车电子技术)ppt课件.ppt_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《第6章汽车嵌入式系统开发的方法、体系和流程(汽车电子技术)ppt课件.ppt》由会员分享,可在线阅读,更多相关《第6章汽车嵌入式系统开发的方法、体系和流程(汽车电子技术)ppt课件.ppt(79页珍藏版)》请在三一办公上搜索。

1、2022/11/13,1,现代汽车电子技术,信号与信息处理研究所 丁 山,第6章 汽车嵌入式系统开发的方法、体系和流程,6.1 汽车嵌入式系统的开发趋势,汽车电子系统具有如下特点,异构性:汽车电子系统的异构性表现在两个方面。首先,结构的异构性,其次,是计算模型的异构性。,网络化:分布式的电子控制系统成为汽车电子系统发展的必然,因此系统中的各个控制器则需要采用网络连接。,可靠性高:汽车电子控制系统属于安全关键的系统,其中的许多功能都具有安全可靠要求。,灵活性高:一种汽车电子系统通常应用在一系列产品中,要求软硬件具有较强的灵活性。,其他非功能约束:作为一种典型的嵌入式系统,汽车电子控制系统对于非功

2、能属性有严格的要求。例如,强实时性要求、移动的嵌入式系统、功耗问题等等。,汽车嵌入式系统开发出现下述趋势: (1)算法与实现相分离:将算法设计与软件实现分离,才能保证控制算法的专业性。,(2)系统设计模型化:模型是系统设计的核心创造的代表,软件人员需要通过模型进行交流、优化设计、管理代码、系统测试以及管理文档。,(3) 系统实现自动化:代码与文档一致性保证提供了可能。,(4)应用与平台独立;为了开发集成应用,需要一套全新的软件架构和开发方法,以支持控制系统软件与控制硬件平台相分开。,(5)系统架构标准化:车用操作系统的软件标准-OSEK/VDX规范,汽车电子软件架构标准AUTOSAR软件架构。

3、,(6)基于验证和可靠性保障:正确性、安全性是汽车电子软件最重要的目标。在系统设计的每一阶段都要对系统的设计进行验证。,图5-1示出了各开发趋势发展过程中对应的技术、体系和标准。,6.2 基于模型的开发方法,随着计算机辅助工程(Computer-Aided Engineering, CAE)工具的出现,新的设计方法采用虚拟产品设计来预评估系统,并用于系统设计过程中不同协作单元之间的信息交流,并作为系统实现的基础。,6.2.1 基于模型的开发方法体系的定义,在汽车嵌入式系统开发的过程中,很多开发模式促进MBD(Model-based Development)的发展,其中主要包括:,基于模型的控制

4、设计(Model-based Control Design);建立被控系统来模型来进行控制设计模型驱动设计(Model-driven Design); 强调对系统概念、模型及转化、软件进行图形化的描述基于模型的信息管理(Model-based information Management);模型被用来关联和组织信息; 基于模式的测试(Model-based Testing),利用模型进行如硬件在环等测试,针对于MBD的不同使用目的,可以对模型、建模语言和相关的方法体系进行分类,主要包括:,形式模型(Formal Model):通常叫数学模型或分析模型;,概念模型(Conceptual Mode

5、l):通常被表示成图形形式,用于复杂软件开发等。,构造模型(Constructive Model):关注系统开发层面的技术并成为系统设计的基础。,6.2.2 MBD方法的优势,1. MBD在汽车嵌入式系统开发中描述的角色,MBD通过一些诸如抽象、形式化、预测和自动化等手段,可以从以下四个方面提供支持:技术交流、文档管理、分析和设计综合。,(1)概念和设计的交流(Communicating Ideas and Designs):以图形化建模来描述软件和系统开始流行,随着系统的复杂,该方法也显得更为重要。,(2)设计信息及文档管理(Documenting and Management Design

6、 Information) ;现在汽车嵌入式系统的设计强调全生命周期的质量管理,因此,文档在产品开发设计、生产、维护和回收的各个阶段都起到及其重要的作用。,(3) 系统分析支持(Supporting Analysis of the System to be Designed)车载系统中一些重要的性质如逻辑判断、系统逻辑判断、系统时序功能、错误及诊断等传统的人工分析方法很难进行检验。,(4)综合(Synthesizing):利用工具来辅助生成设计的系统和相关文档。,MBD的方法与手段,(1)抽象(abstraction):将特定的系统通过如失效模式、虚拟结构、传递函数和状态机等方式形成简化的但可

7、以描述真实的复杂系统特性的模型。,(2)形式化、参数和结构化(Formalization, Parameterization and Structuring)模型一般遵循特定的语义、语法,这就是建模语言与工具,形式化指不同模型间的对应关系,参数化有助于模型的重复使用。,(3)预测(Prediction):通过多种模型分析技术可以分析确定系统的特性。这些特性可以通过模型属性或模型输入、输出关系进行计算得到。,(4)可视化(Visualization):更好地对系统进行理解。,(5)细化(Refinement):通过层层抽象、形式化、结构化和预测支持,可以使用一系列的模型来不断细化和增加新的内容;

8、,3. MBD的优势,基于MBD设计方法具有如下优势:,(1)节约上市时间(Time-to-market);,(6)可追溯(Traceability):通过抽象、形式化和结构化,提供了对系统设计的追溯。,(7)自动化(Automation):结合计算机的支持,上述几部分通过自动化完成。,(2)降低成本(Cost Reduction);,(3)提高产品质量(Quality Assurance and Enhancement);,(4) 丰富产品功能(Increase of Functional Content),(5) 创新(Innovativeness),6.2.3 MBD的技术体系,MBD的

9、技术体系包括:建模技术(Modeling Technologies):包括建模语言、模型以及它们之间的关系;分析技术(Analysis Technologies):如模型仿真与静态分析;综合技术(Synthesis Technologies):包括模型生成和支持;相关工具(Tools):用于可以支持设计的相应建模、分析和综合技术的工具。,MBD技术体系中的核心内容之间的关系如图5-2所示。,1. 建模语言:抽象、关系和行为,建模语言(包括编程语言)通过语法和语义来进行定义并进行相应的解释。基于这个概念,产生了统一的建模语言UML。,(1)抽象类型:嵌入式系统建模语言中存在多种抽象类别,典型的抽

10、象类别包括功能、软件平台、数据、通信。系统等。其中,功能指对系统功能或其他与逻辑无关的实现。软件平台指软件运行的硬件环境、中间件和操作系统等;数据是指信息单元,如信号、标志量和事件等;通信指两个抽象描述之间信息交换的机制和物理媒介;系统指包括配属属性的完整系统。,(2)抽象属性:抽象的属性主要包括结构接口、行为语义和约束。接口属性用于描述抽象的尺寸、形式和I/O。行为语义表示不同类型的模型,如连续时间模型或离散时间模型。约束模型主要用于边界条件的定义。,(3)行为描述:抽象的行为属性、关系和它们的语义一起定义了模型的行为。常用如下:,目前,在嵌入式系统的开发过程中,有很多种类的编程和建模语言被

11、广泛使用,如图5-3所示。,抽象的行为属性、关系和它们的语义一起定义了模型的行为。常用的嵌入式系统模型包括:,离散时间模型(Discrete-time Models):这种模型常用于模拟控制器或信号处理算法的离散化过程,一般使用差分方程描述;,连续时间模型(Continuous-time Models):这种模型主要针对嵌入式系统环境中描述物理系统的动态特性而建立,一般是他微分方程描述;,离散事件模型(Discrete-event Models):主要指那些逻辑功能以及计算机的软硬件实现;,多任务模式(Multitask Models):这类模型以对平台的触发、同步和调度抽象为表征,优先级和执

12、行时间是其主要特点。,(4) 抽象间的关系,分解:指通过某种规定的方式将多个抽象合并成一个整体的抽象,从而形成一种部分-整体的等级关系。这种部分-整体关系可以被用于面向行为和面向结构的抽象中,主要体现信息的隐藏和模块化;,通信:指通过规定的方式连接不同的抽象来进行信息交换或物理交互,这种连接必须定义好行为语义,包括协议和时序,主要体现在下面同步中;,同步:指抽象之间的顺序或时序关系,抽象之间的同步往往通过抽象之间的通信实现的,但同时其他相关的技术也可以被使用,例如任务之间的在运行前的调度(Pre-runtime Scheduling)等。,共性/通用性:指不同抽象之间的共同特征,这种通用性可以

13、通过以下几个部分实现:,通过属性的继承;通过统一类抽象的相同配置;基于某一抽象生成另一抽象,并保留其中的一部分属性;,细化:指同一现实系统的不同抽象之间的关系,某个函数将原函数细化。细化关系主要体现在设计过程中,因为设计过程中的实现环节是逐步添加的。,分配:指将特定的功能或软件抽象映射到硬件/平台抽象中,这个一种在抽象以及他们的硬件抽象之间的特殊关系。,(5) UML简介 UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。,UML由图和元模型组成,图式语法。元模型是语义。UML主要包括三个基本构成;事物(Things)、关系(Relationships)和图(Diagrams)。事

14、物:实体抽象化的最终结果,是模型中的基本成员;关系:将事物联系在一起的方式;图:是事物集合的分类。,UML包括一些可以相互组合为图表的图形元素。由于UML是一种语言,所以UML具有组合这些元素的法则。用多个视图来展示一个系统,这组视图被视为一个模型。,UML的基本构造块包括:事物、图和关系。,UML的事物包括结构事物、行为事物、分组事物和注释事物。,结构事物是模型中的静态部分,共有七种。分别为类(class)、接口(Interface)、协作(collaboration)、用例(Use Case)、活动类(Active class)、组件(Component)和节点(Node);,行为事物指的

15、是UML模型中的动态部分,包含两类,即交互(Interaction)和状态机(State Machine);,分组事物可以看做一个“盒子”,模型可以在其中分解,注释事物是UML模型的解释部分。,UML中定义四种关系,即依赖(Dependencies)、关联(Association)、泛化(Generalization)及实现(Realization)。依赖是指两个事物之间的语义关系,其中一个事物发生影响另一个事物的语义;关联是一种描述一组对象之间连接的结构关系,如聚合关系。泛化是一种从一般化到特殊化的关系;实现是类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。,UML中包含多种图

16、,它们有类图(Class Diagram)、对象图(Objective Diagram)、包图(Package Diagram)、组件图(Componment Diagram)、部署图(Deployment Diagram)、用例图(Use case Diagram)、顺序图(Sequence Diagram)、协作图(Collaboration Diagram)、状态图(State chart Diagram)和活动图(Activity Diagram)。,类图描述系统所包含的类、类的内部结构及类之间的关系;,对象图是类图的一个具体实例;,包图表明包及其之间的依赖类图;,组件图描述代码部件的

17、物理结构以及各部件之间的依赖关系;,部署图定义系统中软硬件的物理体系结构;,用例图从用户的角度出发描述系统的功能、需求,展示系统外部的各类角色与系统内部的各种用例之间的关系;,顺序图表示对象之间动态合作的关系;,协作图描述对象之间的协作关系;,状态图描述一类对象的所有可能的状态以及事件发生时状态的转移条件;,活动图描述系统中各种活动的执行顺序。,3. 综合技术,综合技术的使用案例包括模型的生成、系统定义或参数以及支持文档生成等。这些综合过程可能包括一些优化以及模型的转化。模型的转化的目的是将某一工具建立的模型转化为另一个所理解的模型,从而为工具之间提供信息交换,一个简单的例子就是将Matlab

18、/Simulink模型转化为C代码以用于嵌入式微处理器的开发;,在一般的模型转化过程中,除了简单的模型直接映射外,还需要其他的一些技术。例如,从设计模型转化为用于验证的分析模型需要做些简化原来的模型结构。,4.相关工具,(1)模型管理:对于汽车嵌入式系统来说,软件开发一般采用软件配置管理(Software Configuration Management, SCM)工具,而硬件开发采用数据管理(Product Data Management,PDM)工具。,(2)模型转化和自动化:在汽车嵌入式系统中,采用MBD方法一般需要利用多种工具来提供不同的功能支持。包括组件对象模型(Component

19、Object Model,COM),公用对象请求代管体系结构(Common Object Request Broker Architecture, CORBA)等形成API提供的工具。,(3)格式转化和数据转化:一般来说,这些标准定义了不同工具、不同模型之间数据交换的格式。对象管理组(Object Management Group)等等。,(4) Matlab/Simulink,作为MBD技术体系中的一部分,Matlab/Simulink在汽车嵌入式系统中得到了广泛的应用。,在Matlab体系中,Simulink用来建模、分析和仿真各种动态系统的交互环境,包括连续系统、离散系统和混合系统,如图

20、5-4所示。,Simulink也是从实时代码生成工具Real-Time Workshop的支持平台,利用上述工具,可以支持从概念建模自动得到嵌入式的代码实现,是工作人员在很大程度上摆脱对电子工程师软件实现上的依赖。,Simulink的特点包括:,丰富的可扩充的预定义模块库;交互式的图形编辑器;模型分割实现复杂模型的管理;通过Model Explorer导航、配置、搜索模型中的任意信号、参数、属性;支持M语言和C语言方式的功能模块扩展;进行系统交互式或批处理式仿真;支持交互式定义输入和浏览输出;,图形化调试工具检查核诊断模型行为;通过Matlab进行数据分析和可视化数据,开发图形用户界面,以及创

21、建模型数据、参数;提供模型分析和诊断工具等。,Simulink是层次化建模工具,数据管理工具,定制子系统工具。Simulink包括超过1000个模块以实现对构建系统常用的应用函数的描述,如图5-5所示,它们包括:,连续、离散动态系统模块,例如积分和单位延迟模块;算法模块,例如加法、乘法和查表模块;结构模块,例如mux,switch和信号和总线选择;,特定领域的应用,例如航空航天、通信、信号处理、机械、电力等;采用Matlab、FORTRAN、Ada和C代码生成的自定义模块;基于模型和单个模块的完善的CallBack机制,允许用户对模型的仿真过程进行定制;Simulink模型中可以包括用M语言写

22、的模块、并且支持代码生成。,Simulink提供了诸多工具可以分析模型、测试验证系统、可视化结果以及模型的文档生成,并支持系统的综合功能。,测试验证模型:Simulink包括于创建仿真试用例的模块;,可视化结果:用户可以通过Simulink提供的Display模块和Scope模块观察信号;,模型的文档生成:添加文档到Simulink模型非常容易。,自动代码生成:Simulink模型可以通过Real-time Workshop生成实时的标准C代码,用于半物理仿真、快速原型,通过embedded coder还可以生成产品代码,使用户可以完成从系统级仿真到工程实现的无缝过渡。,6.2.4 MBD在汽

23、车嵌入式系统开发中的应用现状,目前,MBD在汽车嵌入式系统中的应用是一个研究热点。MBD的应用领域主要包括以下几种:,(1) 基于模型的跨企业沟通与整合(Model-based Cross-Enterprise Communication and Integration) 可以使用Simulink或其他建模工具来解决信息交换的问题。,(2) 基于模型的信息管理(Model-based Information Management) 文本编辑来进行功能定义。,(3) 基于模型的车辆运动控制工程(Model-based Vehicle Motion Control Engineering) CAE

24、工具支持下的MBD方法为高级控制功能的设计,(5) 基于模型的测试(Model-based Testing),针对MBD, 目前的主要研究热点包括以下几个部分: 用于嵌入式系统的建模语言; 嵌入式系统的模型整合和管理;,(6) 基于模型的安全工程(Model-based Safety Engineering),(7) 研究和相关的标准,(4) 基于模型的功能和软件设计(Model-based Functionality and Software Design),如图5-6所示。,目前这方面的一些研究工作主要包括:,支持MBD的方法体系。,a) GeneralStore,b) ToolNet;,

25、c) Model Integrated Computing.,6.3 AUTOSAR体系,汽车电子领域的软件主要属于嵌入式软件。为了实现对复杂系统的高效管理,必须在软件技术上实现突破,才能满足更高层次的需求和法律要求。 因此,整车厂和零部件厂就联合建立了AUTOSAR(Automotive Open System Architecture)架构系统。,6.3.1 传统软件结构的缺点,随着汽车应用要求的不断提高,软件总量也随之迅速增长,这导致系统复杂性和成本的剧增,而在非标准化的开发过程中,这个问题已变得越来越尖锐。,此外,第三方软件的加入也使得汽车厂商之间的合作变得更加复杂。,从根本上讲,电子

26、系统中的各种功能是由若干个ECU实现的,一般而言,这些ECU是采用分布式的方式连接的。,6.3.2 AUTOSAR的产生及发展,汽车工业界从原来的硬件设计和组件驱动为主的设计方式向以需求设计和功能驱动为主的系统开发方法转变。,EASE-EEA项目:是ITEA(Innternational Test and Evaluation Association)资助的面向汽车领域嵌入式系统架构的研究项目,其目标是通过建立面向汽车工业的通用嵌入式系统架构,实现标准的接口、高质量的无缝集成、高效的开发以及通过新模型来管理复杂的系统。,EAST-EEA的目标是为汽车制造商、配件供应商、工具供应商以及软件中间件

27、供应商提供一个统一的软件架构标准,以增强技术和标准的竞争力、减少开发时间和产品上市时间、提高汽车嵌入式系统软件的质量。,在EAST-EEA项目研究成果的基础上成立AUTOSAR组织。,AUTOSAR汽车开放系统架构联盟是由全球汽车制造商、部件供应商以及其他电子、半导体和软件系统公司联合建立的,各成员保持开发伙伴关系。,AUTOSAR架构有利于车辆电子系统软件的交换与更新,并为高效管理越来越复杂的车辆电子、软件系统提供了一个基础。,宝马(BMW)集团自2001年在BMW Standard Core的框架下,在ECU电子控制单元中运用标准化基础软件。,6.3.3 AUTOSAR的功能及作用领域,A

28、UTOSAR的根本宗旨是要建立汽车电气/电子架构的开放标准,使其成为汽车嵌入式应用功能的基础架构。为实现这个目标,AUTOSAR的主要功能应包括(见图5-7所示):,解决汽车功能的可用性和安全性需求;,保持汽车电子系统一定的冗余;,可以移植到不同汽车的不同平台上;,实现标准的基本系统功能作为汽车供应商的标准软件基础;,通过网络共享软件功能;,集成多个开发商提供软件模块;,进行汽车电子软件的更新和升级。,在产品生命期内更好的进行软件维护;,更充分的利用硬件平台的处理能力;,AUTOSAR是针对汽车电子这一特定领域提出的一套开放软件结构,这些领域包括Powertrain、Chassis、Safet

29、y、Multimedia/Telematics、Body/Comfot and Man Machine Interface等。 如图5-8所示;AUTOSAR中的模块如图5-9所示。,6.3.4 AUTOSAR的核心思想,AUTOSAR开发协会提出“在标准上合作,在实现上竞争”的原则。,AUTOSAR的核心思想是“统一标准,分散实现,集中配置”,一个汽车电子应用系统可以包含多个互相关联的AUTOSAR组件。这些组件通过虚拟功能(Virtual Functional Bus, VFB)提供的标准通信机制与服务,实现平台的无关性。,6.3.5 AUTOSAR相关技术,1.体系结构: AUTOSAR

30、采用分层的体系架构,从上至下依次为应用层、AUTOSAR运行环境层(Runtime Environment, RTE)、系统服务层、ECU抽象层、微控制器抽象层以及复杂驱动模块。一般情况下,每一层只能使用下一层的应用接口,并向上一层提供服务接口。,图:体系架构,(1)应用层AUTOSAR软件组件,包括应用软件组件、传感器和执行器软件组件,都位于此。该层的软件组件不管是内部通讯还是访问ECU资源,都是通过RTE完成的。应用层的软件实现与微控制器、ECU和硬件都是独立的。,(2)AUTOSAR运行环境层RTE层的目的就是使得应用层的软件实现与具体硬件无关,它为应用层提供通讯服务。RTE层之下,软件

31、架构是层次型,之上变成组件型。,(3) 系统服务层 服务层包含通讯、服务、操作系统等模块。它为应用和基础软件模块提供基本服务。服务层位于提供的包括:操作系统服务、车载网络通讯和管理服务、存储服务、诊断服务和ECU状态管理。服务层的实现部分与微控制器、ECU硬件和具体应用相关。,(4) ECU抽象层ECU抽象层提供统一的接口来访问外设,为上层屏蔽该设备是芯片内部还是外部的。它包含外部设备的驱动。ECU抽象层的实现与ECU硬件相关,与微控制器无关。,(5)微控制器抽象层微控制器抽象层是与实际硬件直接接触的一层,位于基础软件的最底层。它包含驱动,用于访问微控制器内的外设或者内存映射到微控制器内的设备

32、。很显然,微控制器抽象层为上层屏蔽了具体的微控制器硬件,它的实现与微控制器是相关的。,(6)复杂驱动复杂驱动与其他各层不同,它无法被归入某一层中,因此被单独列出。它包含处理复杂的传感器和执行器的驱动模块,它们有特殊的功能和时闻要求。复杂驱动的实现与微控制器、ECU和具体应用是密切相关的。,2 软件架构,AUTOSAR软件架构主要是通过软件系统的严格分层、软件接口的严格定义以及软件模块的精确功能描述来实现的。,整体系统包括AUTOSAR SW-Component(SW-C)、AUTOSAR RTE和Basic Software三大模块;,AUTOSAR SW-Compnent给出应用层软件的标准定义;AUTOSAR RTE指的是AUTOSAR运行环境,给出应用层和基础层的接口;Basic Software指的是基础软件,主要包括硬件驱动、网络通信、实时任务调度等底层服务程序。,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号