AUTOSAR架构、分层模型以及方法论学习笔记

一、 AutoSAR为汽车电子系统而生

汽车电子系统越来越复杂,越来越多的功能需要集成在ECU上,导致电子系统复杂性不断提高,软件代码量也在急速上升。整车生命周期往往高于ECU生命周期,需要在整车生命周期之内需要对ECU的软件进行开发和升级。

不同的平台有很多复杂的嵌入式平台,功能随着电子系统的发展不断增强,电子系统也越来越复杂,五花八门的硬件平台使得开发过程变得复杂,切换硬件平台就需要大量的人力来切换平台,学习不同的平台。而且嵌入式系统不支持硬件抽象,使得每次在进行新的处理器更换之后需要重新底层软件的开发,软件模块化的过程非常有限。导致汽车电子化发展出现很多问题。
图片

在此背景下,全球主机厂、Tire1和汽车电子软件系统公司联合建立了一套标准协议——AUTOSAR架构(汽车开放系统),为汽车软件提供了一个标准化的、模块化的架构,使得软件可以在不同车型和平台上复用,极大地提高了软件开发的效率和灵活性。

它不仅简化了软件开发的流程,降低了开发成本,还为汽车制造商提供了更加灵活的软降定制能力。由于模块化的架构,可以让软件在不同车型和平台上复用,极大提高软件开发的效率和灵活性。

AUTOSAR计划目标主要有三个:

1.建立分层的体系架构
2.为应用程序的开发提供方法论

3.制定各种应用接口规范

下文主要从这三个方面来介绍

二、AutoSAR分层模型

AUTOSAR主要分为3个层级:应用软件层(Application Layer,即AppL),实时运行环境(Run Time Environment,即RTE)和基础软件层(Basic Software,即BSW)
图片

1.应用软件层(APPL)

该层是由一个个SWC组成的,每个SWC咱们可以理解为一个.c文件,而整个应用软件层就是一个文件夹。如下图说明了对应关系,可以看出,这里的整个工程就是我们的AutoSAR架构,而其中的AppL、RTE和BSW都分别对应一个文件夹,而我们的SWC组件就是一个一个的.c文件(和.h)
图片

实时运行环境层(RTE)

RTE是VFB总线在ECU上的一个实线,RTE以上是VFB view,所有的SWC通过RTE总线进行相互链接,进行数据交互等。
图片

RTE以下是BSW基础软件层,在RTE这一层,将ECU的底层软件和硬件进行了隐藏,不用关心具体的I/O是什么样子的、服务是由哪个模块提供的,传输的信号是通过何种总线协议进行传输的。RTE的功能是对底层软件的抽象化。

主要功能:一方面实现数据的通讯;另一方面实现任务调度。

3.基础软件层(BSW)

基础软件层又分为四大类,分别是如下描述:

硬件抽象层(MCAL):硬件抽象层又叫MCAL,位于BSW最底层,就是将芯片的寄存器操作都封装成一个AutoSAR规定的统一的库Api。就是说这套Api是不同厂商都支持的,但是底层怎么实现,就是芯片厂商的事了。同时也有软件工具EB,可以通过界面配置MCAL功能

ECU抽象层:位于MCAL层之上,如果说MCAL只封装了芯片,那么ECU抽象层就是将硬件上所有的硬件都进行了封装。比如我们的控制器上有一个主芯片英飞凌的TC397,还有采样电路,电源电路,CAN电路等等。而MCAL就是封装了芯片上有的功能。而ECU抽象层就是将所有的这些都做一个统一的封装。所以不管硬件是如何实现的,这里封装后,也形成了统一的Api

服务层:是基础软件的最高层,提供各种类型的后台服务,例如网络服务、内存管理和总线通信服务等,服务层里是包含操作系统(OS)。OS将使用ECU抽象层的Api,再对上层暴露出服务接口,其实就是嵌入式实时操作系统(RTOS)所作的工作。

服务层提供以下接口:操作系统的功能、车辆网络通信管理服务、存储器服务,诊断服务(包括UDS通信、错误存储和故障处理)、ECU状态管理,模式管理,逻辑和时间程序流监控、密码服务。

服务层的主要任务是位应用程序、RTE以及基础软件模块提供最基本的服务,按照服务对象不同,分为:通信服务、内存服务和系统服务三个部分。

复杂驱动层:又叫做CDD,跨越于微控制器硬件层和RTE之间,主要任务是整合具有特殊目的且不能用MCAL进行配置的非标准功能模块。将该部分功能嵌入到AUTOSAR基础软件层中,从而实现处理复杂传感器以及执行器的特定功能和时间要求,提供集成特殊用途的功能,例如设备驱动程序,在AUTOSAR中未规定的、具有非常高的时间限制或用于迁移等目的。

三、AutoSAR接口类型的定义

AUTOSAR定义了3种类型的接口:

1.标准接口:使用特定语言进行定义的标准化的函数,通常用在ECU内部的函数通讯。但是使用标准化的接口不能实现在网络上的通讯,是不符合AUTOSAR接口标准的。

2.AUTOSAR接口:定义软件SWC模块、SWC和BSW通讯的端口。在SWC这一端的接口都是AUTOSAR的interface(接口),负责服务、通讯的模块也是符合AUTOSAR的接口的,在总线上进行通讯。

3.标准化的AUTOSAR接口:在AUTOSAR接口的基础上,对这些语法、语义的定义进行了标准化的AUTOSAR接口,通常是用来提供标准的AUTOSAR 服务的。
图片

四、AutoSAR方法论 3.0

AUTOSAR为汽车电子软件系统开发过程定义了一套通用的技术方法,即AUTOSAR方法论。

如果将软件开发比作做菜的话,软件模块可以理解成是原料,那方法论就好比一本菜谱,告诉我们如何去做这样一道菜,菜谱里面可能包含了需要的原料、分量、火候、制作过程等等。
在这里插入图片描述

AUTOSAR方法论定义了很多信息,例如开发过程中的角色以及他们的分工,在每个阶段用什么样的工具干什么样的工作,工作的输入和输出等内容。

Auotosar方法论使用了结构化的开发方法,可以让开发在开始的时候就可以对需求(功能/要求)上的缺陷进行识别,一开始就可以对缺陷进行修正。避免在开发最后阶段才发现最初定义的系统是有问题的。

AUTOSAR 3.0开发方法流程分为:系统阶段、ECU定义阶段、软件开发阶段和ECU执行代码阶段。

软件组件描述文件,包含了软件组件相关的信息,比如用到了什么样的Data和Operation,SWC对基础架构和对硬件的要求,SWC使用的资源,与应用协议相关的限制,SWC的接口等,

ECU资源描述文件。描述了可用的硬件资源,包含了ECU上的传感器、执行器、存储器、处理器、收发器、引脚分配等内容,主要是一个描述ECU硬件的文件,通过这个描述文件可以知道有多少ECU资源可供软件使用,也决定了哪个功能分配给哪个ECU上。

系统约束描述文件。就是整车电子电气架构,包含了网络拓扑,通讯限制、协议、通信矩阵,波特率等。

系统配置过程

根据软件组件描述文件、ECU资源描述文件和系统约束描述文件,将对应的信息进行配置,生成系统配置文件,该文件包含了SWC对ECU的映射;数据端口到通信矩阵的映射。

ECU配置过程:

根据系统配置描述文件提取出与各个ECU相关的系统配置描述信息,提取出来的信息生成ECU提取文件,ECU配置生成器根据这个提取文件对ECU将进行配置,如RTE的配置、BSW的配置,运行实体到任务的分配等,从而生成ECU配置描述文件。

ECU配置过程主要是对 RTE和BSW的配置。在 RTE 配置阶段,需要将软件组件的运行实体映射到相应的操作系统任务;在 BSW 配置阶段,需要详细配置 BSW 层中所需要用到的模块,一般有操作系统、通信服务、ECU抽象层和MCAL等,并将结果保存在 ECU 配置描述文件中。

ECU实现

根据ECU的配置文件以及对应的代码生成工具,生成工具会将配置文件转化成对应的C代码,这些C代码再配合上autosar的library文件以及SWC实现的文件,整合这些文件,就可以生成ECU的执行的二进制代码,这就实现了ECU开发。

Autosar 4.0方法论,是在3.0基础上的扩充,对开发过程进一步的完善。

在系统设计之前,增加了两个部分,Abstract System开发过程和VFB System开发过程,是对系统开发的进一步抽象。在更高层次上进行的系统开发。

开发流程划分成了三块:BSW的开发、系统的开发、VFB的开发。

总结:

AUTOSAR 方法论描述了从系统底层配置到整个ECU可执行代码的产生过程的设计步骤,作为汽车电子软件平台标准化的历程中的一个巨大飞跃,建立这样一个标准化平台并贯彻标准化,将会缩短新产品的研发时间和测试时间,从而帮助企业实现快速的市场反应。但也有一些弊端,业内车企特斯拉就选了自研软件和硬件一体化的解决方案,以满足其独特的需求和快速迭代的目标。

文章来源

1.背景 2 2.技术驱动因素 2 3.AP的特点 3 4.经典、自适应和非AUTOSAR ECU的集成 4 1.逻辑视图 5 2.物理视图 7 3.方法论和Manifest 8 5.应用设计 10 6.执行Manifest 10 7.服务Instance Manifest 11 1.概述 11 3.调度 12 4.内存管理 12 5.设备管理 12 1.概览 12 2.系统启动 12 3.执行管理责任 13 4.确定性执行 13 5.资源限制 14 6.应用程序恢复 14 7.受信任的平台 15 1) 可以要求将功能组设置为专用状态 16 2)(部分)网络可被要求取消/激活 16 3) 可以要求机器关闭或重新启动 16 4) 其他自适应(平台)应用程序的行为可能会受到影响 16 5) 可以执行项目特定的动作 16 1.概述 20 2.架构 20 3.组件 20 1.概述 21 2.诊断通信子集群 22 3.事件存储子集群 23 1.概述 25 2.设计 26 3.架构 26 1.网络管理算法概述 26 2.架构 27  图1 NM概述 27 1.术语 40 2.IAM框架的范围和重点 41 3.AUTOSAR规范的内容 41 4.IAM框架的体系结构 ①一般框架 42 (1) 使用加密的密钥或密钥句柄进行操作 46 (2) 尽管可能会损害应用程序安全地管理密钥 46 (3) 限制应用程序对键的访问和允许的操作 46  API扩展说明 47 2.架构 47 1.Safety概述 48 2.信息交换保护(E2E保护) 49 3.平台健康管理 49 Core Types定义了多个功能集群作为其公共 interface 的一部分使用的通用类和功能。定义Core Types的理由之一是包括 Interface 定义中经常使用的常见复杂数据类型。 52 1.错误处理 52 2.高级数据类型 53 3.全局初始化和关闭功能 53
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值