任务5.1 AutoSAR基础知识与应用-学生手册_第1页
任务5.1 AutoSAR基础知识与应用-学生手册_第2页
任务5.1 AutoSAR基础知识与应用-学生手册_第3页
任务5.1 AutoSAR基础知识与应用-学生手册_第4页
任务5.1 AutoSAR基础知识与应用-学生手册_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

任务5.1AutoSAR基础知识与应用学生手册任务5.1AutoSAR基础知识与应用【任务导入】在这个快速发展的汽车技术时代,AutoSAR已经成为汽车电子电气架构设计的重要标准之一。通过这门课程,我们将深入了解AutoSAR的核心概念、它如何影响现代汽车的开发,以及它是如何帮助汽车制造商实现软件的模块化、可重用性和互操作性的。【学习目标】素质目标了解AutoSAR的由来和概述,感受技术的创新与进步;学习并熟悉AutoSAR层级,培养学生形成严谨细致的学习态度;通过了解AutoSAR自适应平台的应用,激发学生的学习兴趣。知识目标了解AutoSAR的基本概念[K66];熟悉并理解AutoSAR三个层级[K67];熟悉AutoSAR自适应平台功能模块[K68];了解AutoSAR平台的分类[K69]。能力目标能用自己的语言描述AutoSAR的基本概念[A56];能总结AutoSAR三个层级的具体功能[A57];能阐述自适应平台模块对应功能[A58]。【知识准备】AutoSAR的由来和概述1.AutoSAR的由来目前,汽车电子技术主要应用于五个域,分别为:动力总成域、底盘域、车身域、人机界面和车载信息处理等。其基本构成主要由传感器、电子控制单元和执行器组成,如REF_Ref171696945\h图5-1-1所示,并对被执行对象进行控制。图5-1-SEQ图_5-1-\*ARABIC1汽车电子控制基本构成随着电子技术在汽车中的应用越来越广泛,也越来越复杂,为了迎合汽车高精度、高实时性、高可靠性控制的需要,嵌入式实时操作系统逐渐在ECU中使用。与此同时,由于不同实时操作系统间应用程序接口的各不相同,出现应用程序的移植性差等问题。于是,在1993年德国汽车工业界提出了OSEK,其英语全称为Open,SvstemsandthecorrespondinginteacesforAutomotiveElectronics,中文名称为汽车电子开放式系统及其接口标准。随着法国汽车工业使用的汽车分布式执行标准加入该体系,于1995年的研讨会上得到共识。从而产生了OSEKDX标准:OSEKDX标准在一定程度上使得应用层软件与底层软件分离,提升了应用软件的可移精性;其次,使用符合OSEKNDX标准的嵌入式操作系统可以提高代码的复用率,提升开发效率、降低开发成本。但由于不同整车企业和零部件供应商缺乏兼容性工具,使得开发者需要花费大量的时间在基础软件的实现和优化上,并且对于新的需求,需要花费大量的精力调整软件的接口。总之,OSEKNDX标准还是没能解决跨平台化高效地进行嵌入式系统软件的移植。由于汽车电子硬件系统的多样性,ECU软件的开发受到硬件系统的制约,每当需要更新硬件时,都会导致ECU软件重新编写或大规模修改,之后还要进行一系列测试,从而导致了高昂的研发费用与漫长的研发周期。目前,汽车电子网络正向多总线混合网络互联万向发展;电控系统硬件正向专业化、高集成度、高性能方向发展,其软件架构也正向模块化、平台化、标准化方向发展。并目,未来随着汽车新能源化和智能化的普及,以及对于一些非功能需求的增加,汽车电子/电气系统的复杂度也将进一步提升。这都将进一步导致新产品开发周期、成本的急剧增加。整车厂为了降低汽车控制软件开发的风险,于是开始寻找提高软件复用度的方法。为解决上述问题,基于EAST-EEA项目的研究成果,在2003年,由全球汽车制造商、零部件供应商及其他电子、半导体和软件系统公司联合建立了汽车开放系统架构联(AUTomotiveOpenSystemARchitecture,AUTOSAR),并联合推出了一个开放化的、标准化的汽车嵌入式系统软件架构--AUTOSAR规范。2.AutoSAR的概述(1)AutoSAR简易描述AutoSAR就是“汽车开放系统架构”。其将底层进行了封装,使开发人员在对汽车开发的时候更加专注于应用层的开发,而无需考虑控制器底层的运行过程。这个架构允许汽车制造商和供应商开发可互操作和可重用的软件组件,以提高汽车电子系统的开发效率、质量、安全性和可维护性。(2)AutoSAR架构描述整体的AutoSAR架构图如REF_Ref171696978\h图5-1-2所示。AutoSAR主要分为三个层级:应用软件层(AppL),实时运行环境(RTE)和基础软件层(BSW),应用软件层主要存放的为开发人员所编写的逻辑代码,实现功能逻辑的代码存储空间;实时运行环境为应用层提供所需资源的同时将BSW与AppL隔离开来;基础软件层是将硬件进行了封装,然后通过相应的工具配置即可达到自己想要的结果。图5-1-SEQ图_5-1-\*ARABIC2AutoSAR架构图其中应用软件层和基础软件层还可以细分,如REF_Ref171696984\h图5-1-3所示。应用软件层:该层是由一个个SWC组成的,每个SWC可以理解成一个.c文件,而整个应用软件层就就是一个文件夹。实时运行环境:其为应用软件层的运行提供环境,方便更好的做到软硬件分离,从而使AppL得到复用,后续会更深层次的讲解,这里知道这样一个概念就好了。基础软件层:该层又分为了4大部分。1)服务层:提供了汽车嵌入式系统软件常用的一些服务,其作用就像嵌入式实时操作系统所做的工作。2)ECU抽象层:该层将ECU结构进行了抽象,负责提供统一的访问接口,从而不需要考虑这些资源是由微控制器片内提供的,还是由微控制器片外设备提供的。3)硬件抽象层(MCAL):是实现不同硬件接口统一化的特殊层。通过微控制器抽象层可将硬件封装起来,避免上层软件直接对微控制器的寄存器进行操作。4)复杂驱动(CDD):由于对复杂传感器和执行器进行操作的模块涉及严格的时序问题,难以抽象,所以在AUTOSAR规范中这部分没有被标准化,统称为复杂驱动。图5-1-SEQ图_5-1-\*ARABIC3架构细分图AutoSAR层级介绍1.应用软件层(ASW)AutoSAR的应用软件层(ApplicationSoftwareLayer,ASW)是AutoSAR架构中的一个关键部分,它位于运行时环境(RuntimeEnvironment,RTE)之上,并且与基础软件层(BasicSoftwareLayer,BSW)交互。应用软件层主要负责实现汽车的具体功能和应用逻辑。应用软件层主要组件如下:(1)软件组件(SoftwareComponents,SWCs)1)应用软件层由多个SWCs组成,每个SWC封装了特定的功能或服务。2)SWCs通过RTE进行通信,实现数据交换和功能协调。(2)运行实体(RunnableEntities,REs)1)运行实体是SWCs中的执行单元,可以响应RTE的事件或周期性调用执行任务。2)REs可以是事件触发的,也可以是周期性触发的。(3)端口(Ports)1)端口是SWCs之间通信的接口,分为提供端口(ProvidePorts)和需求端口(RequirePorts)2)提供端口用于发布服务或数据,需求端口用于订阅其他组件的服务或数据。(4)接口(Interfaces)1)接口定义了SWCs之间如何通信,包括数据类型、信号、方法调用等。2)接口可以是同步的也可以是异步的,支持复杂的数据交换模式。(5)事件和信号1)事件是RTE用来触发REs执行的机制,可以是周期性的或由特定条件触发。2)信号是SWCs之间交换数据的一种方式,可以是简单的数据值或更复杂的数据结构。(6)通信机制应用软件层的通信通过RTE实现,RTE管理SWCs之间的通信路径和数据交换。开发人员通过SWCs的模块化设计,实现功能的独立开发和集成,并在设计时考虑其可重用性,以便在不同的ECU或项目中使用。为了适应不同的应用场景和需求,我们允许对应用软件层进行配置,并且确保应用软件层之间可以通过标准化的接口进行通信和数据交换。2.实时运行环境(RTE)AutoSAR的实时运行环境(RuntimeEnvironment,RTE)是AutoSAR架构中的一个核心组件,它在应用软件层(ApplicationSoftwareLayer,ASW)和基础软件层(BasicSoftwareLayer,BSW)之间提供通信和调度服务。RTE的主要作用是实现软硬件分离,简化上层软件组件的开发,同时提供对底层硬件资源的抽象。根据开发经验和实际应用中实时运行环境的功能,我们归纳如下:(1)通信管理:RTE负责管理软件组件(SWCs)之间的通信,包括数据传输和事件触发。(2)事件调度:RTE调度事件,以触发软件组件中的运行实体(REs)执行相应的任务。(3)资源管理:RTE管理对基础软件层资源的访问,如内存、通信通道等。(4)同步机制:RTE提供同步机制,确保软件组件之间的通信和数据交换在多任务环境中的一致性。(5)错误处理:RTE处理通信和执行过程中可能出现的错误,并提供相应的错误报告机制。(6)配置管理:RTE支持软件组件的配置管理,包括参数的读取和写入。(7)服务访问:RTE提供对基础软件层服务的访问,如诊断、通信服务等。(8)动态管理:在自适应平台中,RTE支持动态链接服务和客户端,允许在运行时动态地添加或替换软件组件。RTE的设计具有透明性,对应用软件层透明,开发者无需关心底层硬件的细节;RTE提供了标准化的接口和服务,简化了软件组件的开发;RTE设计为可扩展,能够适应不同规模和复杂度的汽车电子系统;RTE支持实时操作系统(RTOS)的特性,确保任务的实时调度和执行;RTE确保通信的可靠性,处理通信失败和系统异常。RTE是AutoSAR架构中实现模块化和可重用性的关键,它为上层应用提供了一个稳定、可靠的运行环境,同时简化了对底层硬件资源的管理。通过使用RTE,汽车制造商和供应商能够更高效地开发和集成复杂的汽车电子系统。3.基础软件层(BSW)AutoSAR的基础软件层(BasicSoftwareLayer,BSW)是整个AutoSAR架构的底层,提供了与硬件直接交互的接口和服务。BSW为上层的应用软件层(ASW)提供了必要的支持,包括硬件抽象、操作系统功能、通信服务、诊断服务等。BSW的设计目标是实现软硬件分离,提高软件的可移植性和可重用性。(1)BSW的主要组成部分1)微控制器抽象层(MCAL):提供对微控制器特定功能的访问,如I/O操作、中断处理、时钟管理等。2)ECU抽象层(ECAL):为不同的ECU提供统一的接口,包括电源管理、看门狗管理等。3)服务层(ServiceLayer):提供了一系列的服务,如通信服务、内存管理服务、诊断服务等。4)复杂驱动(ComplexDrivers,CDD):包括对复杂硬件设备的驱动程序,如CAN、LIN、FlexRay等通信接口。5)操作系统(OperatingSystem,OS):如果ECU需要,BSW可以包含一个实时操作系统,提供任务调度、同步机制等。6)通信协议栈(CommunicatonProtocolStack):包括对不同通信协议的支持,如CAN、LIN、MOST等。(2)BSW的设计原则1)硬件抽象:通过MCAL和ECAL,BSW为ASW提供了对硬件的抽象,使得ASW可以独立于具体的硬件平台开发。2)模块化:BSW由多个模块化组件构成,每个组件负责特定的功能。3)标准化接口:BSW为ASW提供了标准化的接口,简化了ASW的开发。4)可配置性:BSW支持高度的可配置性,以适应不同的硬件和应用需求。5)可扩展性:BSW设计为可扩展,可以根据需要添加新的服务和功能。6)实时性:BSW支持实时操作,确保任务的及时响应和执行。BSW是AutoSAR架构的基础,为上层软件提供了稳定和可靠的运行环境。通过BSW,汽车制造商和供应商能够实现软件的高效开发和集成,同时确保系统的高性能和高可靠性。AutoSAR自适应平台(AdaptivePlatform)1.AutoSAR平台的分类在AutoSAR平台架构中,存在两种类型,分别为经典平台(ClassicPlatform,CP)、自适应平台(AdaptivePlatform,AP)。(1)AutoSARClassicPlatform架构ClassicAUTOSAR将微控制器上的软件抽象为三个软件层:应用程序、运行时环境(RTE)和基本软件(BSW),如REF_Ref171697012\h图5-1-4所示。其中BSW分为三个主要层:服务层ECU抽象层和微控制器抽象层,应用与应用之间,以及应用于BSW之间的通信都是经过RTE完成数据交换,因此做到了应用与硬件的完全独立。ClassicAUTOSAR是分层软件体系结构,软件需求在设计时通过每一层的静态配置来实现。因此,对于运行时的更改,它的灵活性较低,但是这点还是可以接受的,因为这个平台通常在车辆的生命周期内保持稳定,因为被控制的传感器和执行器的应用逻辑不会改变,传感器和执行器仍然履行它们本身的功能。图5-1-SEQ图_5-1-\*ARABIC4经典平台(2)AutoSARAdaptivePlatform架构AdaptiveAUTOSAR平台为AUTOSAR应用实现了运行环墇ARA,如REF_Ref171697041\h图5-1-5所示。使用两种接口完成数据交换:服务和API,平台由功能集群组成,这些集群按服务和自适应AUTOSAR基础进行分组如下。AdaptiveAUTOSAR解决了新一代汽车高性能需求、连接性和持续软件无线(OTA)更新带来的新市场需求,它作为多个供应商的软件集成平台解决了ClassicAUTOSAR经典架构的局限性,其为灵活性而设计的,以便在运行时支持软件更改。AdaptiveAUTOSAR构建在POSIX操作系统之上,由不同的功能模块组成,这些模块被划分在服务模块和基础模块上,它的通信是面向服务类型的,会将网络绑定到DDS或者SOME/IP使用以太网与其它ECU通信。图5-1-SEQ图_5-1-\*ARABIC5自适应平台(3)特性比较虽然两者的应用场景不太一样,但自适应平台(AP)并不是经典平台(CP)的替代品,经典平台多应用于注重硬实时和安全的嵌入式系统中;而自适应平台则侧重于高性能计算等应用场合,诸如ADAS,互联网V2X、图像处理等的开发。两者间的区别如REF_Ref171698552\h表5-1-1所示。表5-1-SEQ表_5-1-\*ARABIC1特性区别表CLASSICPLATFORMADAPTIVEPLATFORM基于OSEK操作系统基于POSIX(Linux、QNX)操作系统C开发语言C++开发语言从ROM执行代码应用加载到RAM执行所有应用使用相同的地址总线(支持MPU)每一个应用有自己虚拟的地址空间(支持MMU)基于信号的通信(CAN,FlexRay)面向服务通信规范规范作为约束标准,代码作为演示固定的任务配置支持多动态调度策略具体硬实时要求(单位微秒)有软实时要求(单位毫秒)算力要求低~1000DMIPs算力要求高>20.000DMIPs安全等级要求高达ASILD安全等级至少ASILB适用于发动机控制、制动系统、安全气囊控制单元等系统适用于无线更新(OTA)、传感器融合数据处理,持久性,在车辆运行时动态选择应用程序包等系统2.自适应平台功能模块介绍AutoSAR作为中间层的软件框架,必然需要定义一系列的功能模块,承载不同的职能。此次我们教学所用到的设备是华为MDC300计算平台,对此产品支持的功能模块如REF_Ref171697055\h图5-1-6所示,以支持的模块采用AUTOSARr191规范进行设计开发,所以我们对其常用的部分组件进行详细阐述。图5-1-SEQ图_5-1-\*ARABIC6组件一览(1)操作系统接口(OSI)AutoSAR自适应平台运行在高性能处理器上,直接基于通用的操作系统,自适应平台对操作系统接口的要求如下:1)操作系统应提供符合PSE51标准的POSXI兼容API接口;2)操作系统应支持周期性时间触发的执行功能,进程中的算法可以是时间触发的。操作系统需要提供允许应用程序的时间触发执行的机制。触发因素需要至少但不限于包含外部计时器;3)操作系统接口应支持C++11,AP进程是用C++编写的,接口应该符合C++11;4)操作系统应支持把ExecutionManagement拉起作为第一个执行进程;操作系统应支持为进程或者进程组配置内存和CPU资源预算;5)操作系统应提供绑定进程到CPUCore的机制;6)操作系统应支持软件实体对系统对象访问的权限管理机制,应用进程只能通过授权的系统调用来访问系统资源;7)操作系统提供多进程,以便支持应用程序隔离。(2)核心类型核心类型(CoreType)定义了多个FCs的公共类接口和公共功能。包括接口定义中经常使用的常见复杂数据类型。具体包括如下定义:1)ErrorHandling对于ASIL应用程序,由于ASIL认证的C++编译器缺乏异常支持,通常不可能使用C++异常,因此AP平0台引入了ara:core::ErrorCode和ara:core::Result概念,该概念允许在没有C++异常的情况下进行错误处理,并定义了许多C++数据类型来帮助实现这一目标。2)Advanceddatatypes增强的数据类型定义在ara:corenamespace中,包括AP自己的内存分配相关的数据类型如Vector,Map积String,以及Manifest中一些constructs用到的类型如StringView,Span,Optional和Variant。3)Primitivedatatypes定义可在ServiceInterface描述中使用的基元类型。4)Globalinitializationandshutdownfunctions全局初始化和关闭函数,包括ara::core:nitialize和ara:core::Deinitialize,此调用必须在main()内部进行。(3)通信管理通信管理(CommunicationManagement)负责分布式实时嵌入式环境中应用程序之间通信的各个方面,为应用之间的通信提供服务,应用程序无需关注承载通信的网络和协议。其背后的概念是把应用从实际的通信机制中抽象出来,以便应用软件开发者可以专注于应用软件本身的功能和需求实现。1)主要功能列表提供应用软件之间的通信机制,提供通信相关的API;提供服务发现机制,包括服务范围、服务注册以及服务发现的协议等;提供通信各方面的配置功能(如服务注册)。2)应用方法简介①提供服务:voidOfferService();②停止服务:voidStopOfferService();③发送事件:voidEvent::Send(constSampleType&data);④接收事件:voidEvent::SetReceiveHandler。3)开发过程①Manifest配置:定义service,完成服务端和客户端声明;②自动代码生成:基于manifest配置生成Skeleton和Proxy代码框架;③编码:服务端继承Skeleton类,重写纯虚函数,完成方法定义;客户端组合Proxy对象,设置数据接收的回调函数、向服务端发送方法请求。(4)持久化存储持久化存储(Persistency)为AP平台的应用程序和其他FCs提供了将系统启动和运行过程中的数据存储在AP计算机平台的非易失性存储器中的机制。Persistency提供访问非易失性存储器的标准接口。1)主要功能列表①支持系统在启动和运行过程中持续存储数据到非易失存储器中支持Key-Value存储方式和File文件存储方式;②支持访问已经持久化存储的数据;③支持数据通过唯一的标识符进行访问;④支持从文件读取和写入数据;⑤支持对持久化的数据进行加解密;⑥支持存储数据的错误检测和纠正;⑦支持监控非易失存储空间的使用。2)应用方法简介①KeyValue方式写:ara::per::KeyValueStorage::SetValue;②KeyValue方式读:ara::per::KeyValueStorage::GetValue;③文件写:ara::per::FileStorage::OpenFileWriteOnly;④文件读:ara:per:FileStorage::OpenFileReadOnly。应用方法流程图如REF_Ref171697162\h图5-1-7所示图5-1-SEQ图_5-1-\*ARABIC7持久化存储(5)执行管理执行管理(ExecutionManagement)负责系统执行管理的各个方面,包括平台初始化和应用程序的启动、关闭。执行管理与操作系统配合使用,以实现应用程序的运行时调度。对于MDC平台而言EM是操作系统第一个启动的进程,EM根据应用程序的配置控制进程的启停,过程中能够为应用程序加载不同的启动配置。EM还支持同一个可执行文件的多进程启动。1)主要功能列表①支持启动和停止进程:根据定义的执行依赖配置加载可执行文件并执行应用程序主函数(即入口点)之前的

温馨提示

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

评论

0/150

提交评论