为了完成AUTOSAR 功能的可模块化、可扩展性、可以移植性、可重用性的技术目标,AUTOSAR基于标准化接口的不同软件层,为汽车系统提供一个共用的软件架构,如图所示:


模块化
根据电子控制单元的独立需求和它们的任务来定制软件
可扩展性
实现共用软件模块在不同车辆间的可适应性,避免相同功能的软件的增加
可移植性
优化资源在车辆电子结构中的通用性
重用性
改善产品质量和可靠性,增强企业产品形象
标准化接口
标准化厂商和供应商之间的接口,标准化不同软件层之间的接口

上图所示:
AUTOSAR Software Component
(SW-C).软件组件
SW-C 根据AUTOSAR软件架构上的应用来封装,根据AUTOSAR的标准来定义接口。
AUTOSAR的基本设计原理是将应用和底层基础分开,AUTOSAR应用层由SW-C组成,每个SW-C包含了AUTOSAR应用层的部分功能,根据应用范围的功能需求来定义。
SW-C的描述信息(又称为SW-C 模板),包括:
- SW-C需求的和对外部提供的操作及数据。
- SW-C对于底层基础部分的需求。
- SW-C的资源需求,如:memory,CPU-time,等等)。
- SW-C实现相关的其他信息。
AUTOSAR SW-C 的实现独立于下面的部分:
- ECU控制器型号
-
AUTOSAR底层基础部分处理与ECU相关的部分
- AUTOSAR中其他的SW-C
- SW-C在系统中或者ECU上被调用的次数
传感器/执行器 SW-C 是与具体的传感器/执行器密切相关的SW-C,这类SW-C无法独立封装。
因此,AUTOSAR 底层基础部分没有隐藏具体的传感器/执行器,传感器/执行器 SW-C是AUTOSAR中特殊的“SW-C",此类SW-C独立于ECU,但是却依赖具体的传感器/执行器。
Virtual Functional Bus (VFB)虚拟功能总线

VFB抽象了所有与AUTOSAR基础软件有关的通信机制和必要的接口,虚拟一个硬件层,从而实现SW-C独立于硬件层,使SW-C可以虚拟集成,所以在软件开发过程中,VFB要在早起阶段被完成。
在AUTOSAR中,RTE实现了VFB的功能,RTE是AUTOSAR中的通信中心,支持ECU内外部的信息交换,给AUTO SW-C提供标准的接口和服务,所以SW-C 依赖RTE。
System Constraint and ECU Descriptions 系统限制和ECU 描述
为了集成AUTOSAR 软件模块到ECU网络中,AUTOSAR提供了描述整个系统、资源、ECU的描述格式,这些描述独立于软件组件的描述。
Mapping on ECUs 配置ECU
AUTOSAR 定义的方法和支持的工具,可以根据各种组成元素的描述信息,构建一个ECU系统,其可以配置并生成基于ECU的RTC,Basic Software基础软件。
Runtime Environment (RTE)
从AUTOSAR软件组件的角度,RTE基于ECU实现了VFB功能;
对于基础软件(Basic Software),RTE代表了AUTOSAR软件组建(SW-C)
Basic Software 基础软件
在ECU上,实现架构的功能,是标准的软件层次结构,对上层的SW-C 和RTE 提供服务:
- 服务
系统服务,例如:诊断协议、 NVRAM, flash,memory管理 - 通信
消息通信 (例如. CAN, LIN, FlexRay...), I/O 管理, 网络管理 - 操作系统
AUTOSAR目标于整个汽车领域的公共架构,它定义了AUTOSAR操作系统的需求:- 静态可配置,可扩展
- 满足实时效果的要求
- 基于优先级任务调度
- 实时保护
- 无需额外的资源,可在低端控制上运行
标准 OSEK OS (ISO 17356-3)AUTOSAR
OS的基础
- 控制器抽象层(MCAL)
通过控制器抽象层(MCAL)访问硬件,避免上层直接访问控制器寄存器
通过控制器抽象层(MCAL)提供标准的接口给基础软件,管理控制器接口,从而使基础软件独立于控制器,MCAL使用通知机制(notification
mechanisms),发送命令、信息、响应给不同的线程,包括:- Digital I/O (DIO)
- Analog/Digital Converter (ADC)
- Pulse Width (De)Modulator (PWM, PWD)
- EEPROM (EEP)
- Flash (FLS)
- Capture Compare Unit (CCU)
- Watchdog Timer (WDT)
- Serial Peripheral Interface (SPI)
- I2C Bus (IIC)
ECU 模块:
- ECU 抽象层
对于不同的ECU,提供软件接口,减少上层软件对于底层硬件的依赖T - 复杂器件驱动 Complex Device Driver (CDD)
特殊的应用可以使用CDD直接访问硬件
AUTOSAR 接口分类
分为三类:
- AUTOSAR Interface
- Standardized AUTOSAR Interface
- Standardized Interface
详细的解释,可以参考后续每一个模块的详细介绍。