您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
我淡定地撸了一遍AUTOSAR的基本概念
 
 
   次浏览      
 2020-12-23 
 
编辑推荐:
本文主要介绍如何搭建和实施AUTOSAR方案,并介绍了AUTOSAR的方法论和实时运行环境,最后介绍了(BSW)AUTOSAR的基础软件。
本文来自于面包板社区,由火龙果软件Alice编辑、推荐。

1.AUTOSAR的解决方案

之前的文章《老板说项目要上AUTOSAR,我慌得一批》讲到了,面对日益复杂的汽车E/E架构,在欧洲大地上诞生的AUTOSAR组织,提出了解决方案。

而且做了标准化:

软件接口

交换格式

方法论

首先,其目标要:

软件功能模块在不同车型之间被重用

还有,标准化AUTOSAR的代码配置/建模工具

标准化接口(也可见上图):

AUTOSAR Interface 定义了软件组件和/或BSW模块之间交换的信息。该描述独立于特定的编程语言,ECU或网络技术。

Standardized AUTOSAR Interface 是其语法和语义在AUTOSAR中标准化的“ AUTOSAR Interface”。“Standardized AUTOSAR Interface”通常用于定义AUTOSAR服务,这是AUTOSAR基本软件向应用程序软件组件提供的标准化服务。

Standardized Interface 是一种在AUTOSAR中标准化的API,无需使用“ AUTOSAR Interface”技术。这些“Standardized Interface”通常是为特定的编程语言(如“ C”)定义的。

交换格式标准化(arxml)

arxml到底长什么样?以下截取一段来熟悉下:

<AUTOSAR> <AR-PACKAGES> <AR-PACKAGE> <SHORT-NAME>DataTypes</SHORT-NAME> <ELEMENTS> <IMPLEMENTATION-DATA-TYPE> <SHORT-NAME>uint8</SHORT-NAME> <CATEGORY>VALUE</CATEGORY> <SW-DATA-DEF-PROPS> <SW-DATA-DEF-PROPS-VARIANTS> <SW-DATA-DEF-PROPS-CONDITIONAL> <BASE-TYPE-REF DEST="SW-BASE-TYPE">/DataTypes/BaseTypes/uint8</BASE-TYPE-REF> <SW-CALIBRATION-ACCESS>NOT-ACCESSIBLE</SW-CALIBRATION-ACCESS> <DATA-CONSTR-REF DEST="DATA-CONSTR">/DataTypes/DataConstrs/uint8_DataConstr</DATA-CONSTR-REF> </SW-DATA-DEF-PROPS-CONDITIONAL> </SW-DATA-DEF-PROPS-VARIANTS> </SW-DATA-DEF-PROPS> <TYPE-EMITTER>Platform_Type</TYPE-EMITTER> </IMPLEMENTATION-DATA-TYPE>
// 部分内容省略
</ELEMENTS> </AR-PACKAGE> </AR-PACKAGES> </AR-PACKAGE> </AR-PACKAGES></AUTOSAR

再来看看其他几个基本概念:

SWC

SWC,即Software Component,是封装了部分或者全部汽车电子功能的模块,其包括了其具体的功能实现以及与对应的描述。

例如,我们可以把Dimmer、Switch、Door Control设计成SWC

SWC分类:

Atomic component (最小的逻辑单元,无法再分)

Application(普通应用类)

Sensor/actuator(给Application提供I/O控制等)

Composition(可以包含数个SWC的逻辑集合)

Port

Port是SWC之间通信用,算是SWC的组成部分。

Port分两大类:S/R(Sender/Receiver)和C/S(Client/Server)

Runnables

Runnables,即Runnable entities,也是SWC的组成部分,但它是运行在RTE里面,由RTE周期事件触发或者其他事件触发时调用。Runnable包含着实际运行的函数。

AUTOSAR的方法论

方法论,可以说是AUTOSAR的灵魂,就像一道菜的配料和方法,如果没有这个方法,那么食材仅仅是食材,而不是一道美味的菜肴。

既然,说方法论是AUTOSAR的灵魂,那么什么能承载这个灵魂,没有载体的灵魂就是孤魂野鬼啊。ARXML就能担此重任。其实,ARXML本质就是XML格式的文本,只是被AUTOSAR组织将其披上一件美丽的外衣。

方法论具体有哪些要求呢?见下图

方法论描述了从系统底层配置到ECU可执行代码产生过程的设计步骤。所以,这个ARXML文件也是挺复杂的。我们先看个图感受下:

这个ARXML关联着整个开发的方方面面

这个开发过程简单抽象起来就像:

抽取其中BSW的配置和生成过程来看看

3.AUTOSAR的实时环境

RTE,Run Time Environment实时运行环境,是整个AUTOSAR架构运行的桥梁,各个模块SWC之间的通信不是直接交互的,而是经过该层作为运行的基础,RTE里包含着OS大量的运行策略和服务。RTE也是VFB(Virtual Functional Bus)的实现。

RTE需要配置(e.g. 把runnables对应到OS的tasks中去)

通过RTE的事件触发runnables的运行

生成调用runnables的task代码

配置OS的一部分 (tasks, events, alarms)

实现SWC之间的通信

每个ECU的RTE因SWC的需求而异

RTE抽象了OS,防止SWC直接访问OS和BSW

4. AUTOSAR的基础软件

基础软件,即BSW。从AUTOSAR架构看,中间一层,都是BSW。

细化后

再细化

可以看出,其内容非常丰富,严格遵循着AUTOSAR的各项标准。

BSW抽象程度比较高,包含着许多基础软件。

从图上可以看出,其分了很多类,对应不同的功能。例如Memory、Communication、System等等。

特别一提的是,Complex Driver,是应对比较复杂的驱动的,这个在AUTOSAR的标准上是没有很明确的定义的,可由用户去实现。

 
   
次浏览       
相关文章

微服务测试之单元测试
一篇图文带你了解白盒测试用例设计方法
全面的质量保障体系之回归测试策略
人工智能自动化测试探索
相关文档

自动化接口测试实践之路
jenkins持续集成测试
性能测试诊断分析与优化
性能测试实例
相关课程

持续集成测试最佳实践
自动化测试体系建设与最佳实践
测试架构的构建与应用实践
DevOps时代的测试技术与最佳实践
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]
 
最新文章
AUTOSAR模式管理看这一篇就够了
AUTOSAR架构介绍
无人驾驶汽车系统入门——最短路径搜索之A*算法
汽车功能安全 - 软件开发
干货 | 一文帮你读懂ISO26262汽车功能安全!
最新课程
Auto SAR原理与实践
MBSE(基于模型的系统工程)
国际汽车行业五大质量工具理论与实战
人工智能助力汽车行业升级
基于UML和EA进行系统分析设计
SysML和EA进行系统设计建模
更多...   
成功案例
均胜(上海)汽车安全有限公司 购买EA工具
深圳某汽车企业 模型驱动的分析设计
上海某汽车电子 EA+UML进行嵌入式系统分析设计
上海蔚来汽车 SysML+EA-进行嵌入式系统分析设计
更多...