浅谈AUTOSAR架构及开发方法
来源: | 作者:pmo9ca4dc | 发布时间: 2019-03-29 | 382 次浏览 | 分享到:
1、AUTOSAR软件架构

AUTOSAR软件整体框架为分层式设计,以中间件RTE(Runtime Environment)为界,隔离上层的应用层(Application Layer)与下层的基础软件(Basic Software)。如下图所示AUTOSAR体系架构分层标准。



图 1 AUTOSAR体系架构分层标准

应用层软件由1个或多个软件组件SWC(Software Component)实现,SWC中封装了部分或者全部ECU功能,包括对其具体功能的实现以及对应描述,如控制大灯,空调等部件的运作,但与ECU硬件系统没有连接。

中间层RTE主要是给应用层提供通信手段,这里的通信是一种广义的通信,可以理解成接口。应用层与其他软件的信息交互有两种,第一种是应用层中的不同SWC之间的信息交互;第二种是应用层SWC与基础软件之间的信息交互。而RTE就是这些交互使用的接口的集散地,它汇总了所有交互的接口。

不同SWC之间的通信是通过调用RTE提供的API函数实现的,都在RTE的管理和控制之下。每个API遵循统一的命名规则,且只和软件组件自身的描述有关。RTE层的软件都是由工具供应商提供的配置工具自动生成的。而SWC的软件可以通过工具生成也可以由用户自行编写,但要符合RTE层的API接口。

基础软件通常是实现ECU的基础功能,如IO操作,AD操作,诊断,CAN通信,操作系统等。根据不同功能,可对基础软件继续细分成四部分,分别为服务层(Service Layer),ECU抽象层(ECUAbstract Layer),复杂驱动(ComplexDriver)和MCAL(Microcontroller Absstraction Layer),四部分之间的互相依赖程度不尽相同。为了满足不同ECU间的互操作性,基础软件通常也是借助工具提供商的工具自动生成。


图 2 AUTOSAR分层架构

服务层部分主要为应用程序、RTE以及基础模块提供服务如:操作系统功能、网络通信与管理服务、存储服务、诊断服务、ECU管理、看门狗管理。


图 3 服务层

ECU抽象层包含许多外部设备驱动,使得更高层软件与ECU硬件分布无关。如外部CAN Transceiver驱动、外部EEPROM驱动。


图4 ECU抽象层

微控制器抽象层包含许多内部驱动,使得更高层软件与为微控制器无关。如IO驱动、AD驱动、CAN驱动。

相关文章