CM(Communication Management)组件提供独立于网络和协议的应用间通信服
务,支持如下功能:
通信协议
CM是独立于具体通信协议的通信管理框架,当前支持部署到不同协议,包括:数据分
发服务协议(简称DDS)、车载以太网协议(简称SOME/IP)。
DDS协议主要用于内部通信高性能场景;SOME/IP协议主要用于与外部部件对接的通
信场景,如与Classic AUTOSAR对接,其中,SOME/IP支持采用两种序列化方式进行
通信,一种是SOME/IP规范自定义序列化方式,一种是SignalBased序列化方式。
AUTOSAR AP平台(Adaptive Platform)作为自动驾驶应用的运行时环境,包括通信
管理、执行管理、平台健康管理等功能,其中执行管理(Execution Management)模
块,简称EM,其主要功能是对AP平台和应用程序进行生命周期管理,包括启动、关
闭、重启以及解决进程依赖等。
基本原理
EM工作流程可以划分为3个主要阶段,分别是启动、运行、重启/关闭。3个阶段涉及
AP平台及应用程序生命周期管理的运作机制如下:
启动
EM作为操作系统(OS)初始化过程的一部分,在机器启动时被OS启动。EM启动过程
中,根据用户配置的Machine Manifest、Execution Manifest信息,有序启动AP平台
其他功能模块及应用程序。同时,切换“MachineState”功能组到Startup状态,切换
其它自定义Function Group到Kč 初始状态。
AUTOSAR AP平台(Adaptive Platform)作为自动驾驶应用的运行时环境,包括通信
管理、执行管理、平台健康管理、日志跟踪等功能。其中日志(LOG)模块主要是向
AP平台上的应用(Adaptive Application)提供日志服务和接口,并将日志信息转发到
通信总线、控制台或文件系统,以完成日志存储的目的。
AUTOSAR AP平台(Adaptive Platform)作为自动驾驶应用的运行时环境,包括通信
管理、执行管理、平台健康管理等功能,其中平台健康管理(Platform Health
Management)模块,简称PHM,其主要功能是对AP应用程序进行健康管理,主要包
括Alive Supervision、Deadline Supervision、Logical Supervision、Health Status四
类检测功能,并可以针对发现的错误触发相应的恢复动作
状态管理(State Management,简称SM)作为处理ECU中各业务模块状态事件的中
心节点,是面向项目定制化很强的一个模块,大部分逻辑代码由产品或OEM厂商定
制。因此状态管理模块仅提供标准接口和框架,主要实现由用户负责。
AUTOSAR R1911《AUTOSAR_SWS_StateManagement.pdf》规范中定义,SM需要提
供的服务接口有两类:一类是Trigger服务,用于状态触发和通知,包含TriggerIn、
TriggerOut和TriggerInOut 3种服务;另一类是FunctionGroupState服务,用于功能组
的请求与释放。SM模块与周边组件的交互关系如图所示。
PER(持久化)模块为AP应用程序提供保存数据到非易失存储器的能力。这些数据可
以保存下来,在机器重启后获取使用。
持久化模块作为一个动态库提供给应用程序使用,并继承该进程所属的权限。
持久化模块支持Key-Value存储模式和File存储模式,KVS数据库文件以json文件类型存
储。FS数据库提供对文件的读写访问等接口,不限制文件类型。
AP诊断功能逻辑主要由诊断主进程Diagnostic Manager(DM)完成,该进程由4个功
能模块组成,从下到上依次是:
DoIP:UDS报文传输通道的一种,负责接收网络上的UDS请求,将请求报文传递至
UDS transport protocol Manager模块,以及将UDS transport protocol Manager
UDS应答消息发送至网络。网络上的UDS请求,在诊断场景中,主要是接收和响应诊
断仪的UDS请求。
UDS transport protocol manager: UDS报文传输通道管理模块,负责管理各个
UDS报文传输通道,目前AP仅支持DoIP传输通道。
DCM:Diagnostic Communication Management,诊断通信管理模块,负责接收
UDS transport protocol manager传输的UDS请求报文,并根据UDS消息内容将消息
分发给APP、DEM处理或直接在DCM内部进行处理。处理完成后,将各APP、DEM、
DCM内部服务处理模块返回的服务处理结果组装成UDS应答报文,返回至UDS
transport protocol manager。
DEM:Diagnostic Event Manager,诊断事件管理模块,主要负责处理APP上报的诊
断事件、存储诊断事件相关数据、应答DCM的诊断事件数据读取请求。
UDS
UDS(Unified Diagnostic Services,统一诊断服务),是一种汽车诊断协议。如下图
所示,诊断仪(Client)和诊断服务端(Server,包括DM和诊断APP)之间,通过遵
循UDS定义的一系列服务规范进行交互(请求和响应),从而实现对车辆故障进行记
录及诊断。
UDS本质上是一种定向的通信,是一种交互协议(请求/响应),即诊断方(Client)
向服务端(Server)发送指定的数据(请求),服务端处理完成后,返回(响应)服
务处理结果。
DID
DID(Data Identifier,数据标识符)表示用户自定义数据,以2字节的编号唯一标
识,如进气门位置、车辆标识码等,用户可以通过WriteDataByIdentifier、ReadDataByIdentifier、ReadDTCInformation等UDS服务读取或写入DID数据。
DTC
DTC(Diagnostic trouble code,诊断错误码):
用于唯一标识一个故障的错误码,如果系统在定义的操作周期内检测到一个故障,它
将被存储为DTC。DTC信息由DTC故障码和DTC状态组成,DTC故障码占用前三个字
节,DTC状态占用最后一个字节。
DTC组:
DTC组(DTC Groups)是用于标识一系列DTC的组合。
DTC优先级:
DTC优先级是基于其重要性定义的,优先级数值越大,优先级越低,最高优先级为1。
主要用于DTC存储条目达到最大规格时,根据优先级删除低优先级的条目。
当需要在分布式系统中关联不同事件时,不同应用程序之间的时间同步至关重要,时
间同步能够及时跟踪时间事件,在准确的时间点同步时间。时间同步为应用程序提供
了API,满足用户同步不同计算域的当前时间、设置当前时间以及获取时基状态等行
为。
AUTOSAR AP平台(Adaptive Platform)作为自动驾驶应用的运行时环境,包括通信
管理、执行管理、平台健康管理等功能,其中身份管理和访问控制(IAM)模块,主
要功能是对AP平台上的服务接口和资源进行访问权限管理。
网络管理(Network Management, NM)是AUTOSAR Adaptive Platform Services
中的一个功能集群,用于管理ECU节点进行有序休眠和唤醒,从而节省整车的功耗。
在Adaptive Autosar标准中,网络管理并不能与Application直接交互,网络管理与
Application的交互必须通过状态管理(State Management, SM)模块进行。下图展
示了NM中涉及的基础概念,以及与SM的交互关系。网络管理NM、状态管理SM均是
服务,分别以独立进程的形式运行。
AP Crypto组件向应用提供密码学操作和计算的标准化接口,包括密码学算法、密钥管
理和证书处理。Crypto同时支持公钥密码体系和对称密钥体系,允许应用基于Crypto
提供的机制实现加解密、鉴权、签名等功能。
当前AP Crypto基于Openssl引擎(ara::crypto::OPENSSL_CRYPTO_PROVIDER_UUID)
实现了加解密服务