toppic
当前位置: 首页> 经典> 【原创】基于 AUTOSAR 的汽车电子控制系统分析与设计

【原创】基于 AUTOSAR 的汽车电子控制系统分析与设计

2024-03-06 14:16:44

本文阐述了AUTOSAR汽车开放系统架构,基于AUTOSAR嵌入式软件开发方法与设计应用,可以简化各个ECU开发流程,实现软件和硬件通用功能模块的标准化,缩短开发周期,提高安全性和可靠性,降低整车成本,提高经济效益,也有利于提高我国汽车品牌和零部件供应商的竞争力和影响力。

汽车开放系统架构(AUTOMOTIVEOPENSYSTEMARCHITECTURE,AUTOSAR),是由全球的主要汽车OEM和其一线供应商共同制定的汽车软件开发开放式系统架构标准。其核心成员包括BMW、BOSCH、CONTINENTAL、DAIMLER、FORD、OPEL、PSA、TOYOTA和VW。主要目的是建立标准的ECU开放式嵌入式软件架构,并为ECU软件架构中的软件模块定义统一的标准接口。主要研究内容是AUTOSAR的思想和方法学、AUTOSAR的软件架构和接口、AUTOSAR相关开发和集成工具以及应用AUTOSAR标准而产生的新的软件开发流程。

目前,汽车的整车功能越来越多,整车电子控制系统架构越来越复杂,且汽车电子领域硬件平台又具有多样性,原ECU软件开发严重依赖硬件和系统配置,每次相关约束条件的更改都将导致重新编写软件或对软件进行大量修改,整车开发成本和周期就会受到很大的影响。现AUTOSAR是目前国际流行的标准软件架构,就是采用统一的开放式嵌入式软件架构,并为软件架构中的软件模块定义统一的标准,其独立于具体物理硬件的AUTOSAR标准软件模块,可以应用到各种不同的汽车电子产品中。

为了实现应用程序和基础模块之间的分离,汽车电子软件架构被抽象成几个层(图1)。

其中,第1层是微控制器抽象层(MICROCONTROLLERABSTRACTIONLAYER)。这一层主要是实现软件与实际微控制器之间的连接,用于映射微控制器的功能和外围接口,定义了内存接口、I/O驱动接口和通信连接接口,同时还可以模拟一些微控制器无法提供的功能。第2层是ECU抽象层(ECUABSTRACTIONLAYER)。这一层在ECU相关硬件的基础上,为ECU提供外围设备的驱动程序。第3层是服务层(SERVICESLAYER)。这一层提供了各种服务,例如网络服务、内存管理、网络通信和操作系统。服务层在很大程度上独立于硬件系统。第4层是运行时环境(RTE)。这一层真正实现了应用软件和基础软件之间的分隔。RTE负责处理应用软件集成以及应用软件与基础软件模块之间的数据交换。RTE的存在是真正实现应用软件重用的基础。由于RTE预定义了相关的接口,所以开发人员可以在对硬件一无所知的情况下进行应用软件的开发,并将这个软件应用在任何符合AUTOSAR标准的ECU中。

关于复杂设备驱动(COMLPEXDEVICEDRIVERS),AUTOSAR规范不做要求,负责提供复杂传感器和执行器的驱动,重要的应用模块可以直接访问硬件资源,例如:喷油控制等。

AUTOSAR方法论(AUTOSARMETHODOLOGY):AUTOSAR为符合该标准的汽车电子软件系统开发过程定义了一套通用的技术方法。AUTOSAR方法论流程如图2所示。

第一阶段是系统配置阶段(SYSTEMCONFIGURATION)。通过开发工具配置第1阶段生成的标准文档,即:软件架构描述文档、硬件资源描述文档、系统描述文档,这是个需要反复配置的过程,最终生成标准的ECU描述文档和系统配置文档。

第二阶段是ECU配置阶段(ECUCONFIGURATION)。通过配置工具配置第2阶段生成的标准文档,即:ECU描述文档、系统配置文档,以及RTE相关配置资源,进而生成标准的ECU配置文档。

第三阶段是ECU实现阶段(图3)。ECU软件生成(ECUSWGENERATION),将标准的ECU配置文档、ECU的应用软件、AUTOSAR资源库通过配置工具生成标准的ECU软件。如果上述文档发生变更,则需要重新配置进而生成更新的标准ECU软件。然后将生成的标准ECU软件下载到ECU硬件中,测试软件的运行情况。如果与硬件资源有冲突或者更新了硬件资源,则需要反复地校正和优化ECU软件。

标准化的应用接口,通过RTE实现AUTOSAR软件构件(即应用程序)相互间的通信以及软件构件与基础软件之间的通信的前提是,软件构件必须具有标准的AUTOSAR接口。

我们需要开发相应的开发工具和配置工具,因为合适的工具可以用于需求的结构化实现和相应的管理,同时能建立相应的配置。开发工具用于设计AUTOSAR软件模块,用来配置并生成RTE。配置工具用于配置不同的AUTOSAR软件模块,从而加快ECU的开发过程。通过应用AUTOSAR标准,我们可以开发出一系列软件模块,如图4所示。

MCAL(MICROCONTROLLERABSTRACTIONLAYER)包含微控制器的各种底层驱动,从而实现和其他外围设备之间的信号通信。其他功能模块如下:I/O驱动(I/ODRIVERS):PORT驱动、ADC驱动、DIO驱动、PWM驱动、ICU输入捕捉单元驱动;通信器件驱动(COMMUNICATIONDRIVERS):SPI串行外围设备接口驱动、FLEXRAY驱动、CAN驱动、LIN驱动;存储器驱动(MEMORYDRIVERS):EEPROM驱动、FLASH驱动;微控制器驱动(MICROCONTROLLERDRIVERS):MCU驱动、WDG看门狗驱动、GPT通用定时器驱动。

RTE(RUNTIMEENVIRONMENT)是一个标准的运行时环境。负责AUTOSAR软件构件(即应用层)相互间的通信以及软件构件与基础软件之间的通信。RTE层之下的基础软件对于应用层来说是不可见的,必须通过RTE进入,它将软件构件从对底层软件和硬件平台的依赖中独立出来,实现了应用程序和基础软件之间的分隔。

CAN(CONTROLLERAREANETWORK)是一种常用的串行通信方式,可以实CMYCMMYCYCMYKLIPOWSKY2017-70X297.PDF12019/9/314:29:51广告广州虹科(三分之一)AIR19设计094984.INDD12019/9/317:21:00现基于CAN总线的AUTOSAR通信;LIN(LOCALINTERCONNECTNETWORK)总线是一种低成本、低速率串行通信总线。LIN可以加快用户的LIN总线开发流程;FLEXRAY总线是一种可扩展的、灵活的、确定性的高速通信总线,它能够满足汽车日益增长的安全相关需求。

OS(OPERATIONSYSTEM)是OSEKOS的扩展,是一种抢占式实时多任务操作系统,包括时间监控、内存监控和支持网络分布式应用。其功能包含:调度表、定时保护、全局系统时间同步、测量、内存保护等。

MEM(MEMORY)负责处理数据抽象,包括数据管理,检查并重新产生应用数据,访问FLASH和EEPROM。MEM将用户数据封装成能够被写入非易失性内存的数据块,这些数据块可以根据它们的重要性采用不同的方法进行保护,其中包含冗余数据存储。

目前,许多的汽车生产厂商和零部件供应商都在研究AUTOSAR标准,开发符合AUTOSAR标准的汽车电子控制系统的通用标准软件模块,来规范不同ECU供应商的内部软件及其接口,可以简化各个ECU开发流程,实现软件和硬件通用功能模块的标准化,缩短开发周期,提高安全性和可靠性,降低整车成本,提高经济效益,也有利于提高我国汽车品牌和零部件供应商的竞争力和影响力。


友情链接