转自:【AutoSAR】 CP 和 AP__Wangzx的博客-CSDN博客
概述
AutoSAR,全称为Automotive Open System Architecture(汽车开放系统架构)。是由全球各家汽车制造商、零部件供应商以及各种研究、服务机构共同参与的一种汽车电子系统的合作开发框架,并建立了一个开放的汽车控制器(ECU)标准软件架构。
AutoSAR建立的背景是汽车的电子控制系统一直在高速的发展,面临的挑战也越来越多,主要体现以下几个方面:
汽车的电气化电子化程度提高,控制器数量增加,网络复杂度增加。
软件功能数量急剧增加
硬件平台多样化,软件可复用差
软件开发周期缩短且成本占比增加
AUTOSAR当前有两个平台CP(经典平台)和AP(自适应平台)
Classsic AutoSAR
Classic AutoSAR标准在最高抽象级别上将运行在控制器上的软件分为三层:Application,runtime environment(RTE)和Basic software(BSW)。
Application Layer,不依赖于硬件的
软件模块间通过RTE交互,并通过RTE访问BSW
RTE体现了application的所有接口
BSW分为3大层和复杂驱动:服务层、ECU抽象层、MCU抽象层
服务层又细分为不同的服务组件,比如系统服务、存储服务、通信服务等
CP软件架构图:
Classic AutoSAR主要特点:
基于C语言面向过程开发
FOA架构(function-oriented architecture)
基于信号的静态配置通信方式(LIN\CAN…通信矩阵)
硬件资源的连接关系局限于线束的连接
静态的服务模块,模块和配置在发布前进行静态编译、链接
大部分代码静态运行在ROM,所有application共用地址空间
OSEK OS
CP用于硬实时的MCU平台
Adaptive AutoSAR
AP标准定义了ARA运行环境。分为两种接口类型:service和APIs。平台由根据服务(Platform Service)和AP基础分组的多个功能栈组成。
每个功能栈:
聚合了自适应平台功能
定义了功能栈需求规范
从应用程序和网络角度描述软件平台的行为
但不限制最终在自使用平台中具体的软件架构设计
AP软件架构图:
AP的主要特点:
基于C++面向对象开发
SOA架构(Service-oriented architecture)
基于服务的SOA动态通信方式(SOME/IP)
硬件资源间的连接关系虚拟化,不局限于通信线束的连接关系(互联网)
服务可根据应用需求动态加载,可通过配置文件动态加载配置,并可进行单独更新
application 加载到RAM运行,每个application独享(虚拟)一个地址空间
POSIX-basedOS,兼容性广,可移植性高
AP用于高算力的MPU平台
AP优势
ECU更加智能:基于SOA通信使得AP中ECU可以动态的同其他ECU提供或获取服务,动态同其他ECU进行连接更强大计算能力:基于SOA架构使得AP能够更好支持多核、多ECU、多SoCs并行处理,提供更强大的计算能力
更加安全:基于SOA架构使得AP中各个服务模块独立,可独立加载,IAM管理访问权限
敏捷开发:Adaptive AUTOSAR服务不局限于部署在ECU本地可分布于车载网络中,使得系统模块可灵活部署,并可后期灵活独立更新(FOTA)
高通信带宽:基于Ethernet等高通信带宽的总线通信
更易物联:基于以太网的SOA通信,更易实现无线、远程、云连接,部署Car-2-X应用
系统兼容:通过SOME\IP等协议AP可以同CP/Non-AUTOSAR等ECU
参考来源:
https://www.autosar.org/standards/adaptive-platform/
https://zhuanlan.zhihu.com/p/414590426
https://zhuanlan.zhihu.com/p/130668798