AUTOSAR的服务层是基础软件层的最高层,它可以实现与应用层软件的关联。主要任务是为应用程序、RTE以及基础软件模块提供最基本的服务。按照服务对象的不同,可分为通信服务、内存服务和系统服务。
通信服务是一组用于车辆网络通信(CAN、LIN、FlexRay以及Ethernet)的模块。
通信服务通过通信硬件抽象与通信驱动程序进行交互。其主要任务是为车辆通信网络和车载网络的诊断通信提供一个统一的接口,为网络管理提供统一的服务,以及从应用程序中隐藏相关的协议和消息属性。
CAN通信服务主要任务是为CAN通信网络提供一套统一的接口,同时从应用程序中隐藏相关的协议和消息属性。
CAN通信服务具有以下属性:
◇ CAN通信服务的实施与单片机和ECU硬件无关,但部分依赖于CAN通信本身;
◇ AUTOSAR COM、通用网络管理接口(Generic NM Interface)以及诊断通信管理器(Diagnostic Com.Manager)对所有的车辆网络系统都是通用的,并且作为每个ECU的一个实例而存在;
◇ 通用网络管理(Network Managerment,NM)接口只包含一个调度程序,但在网关ECU中,它也可以实现NM协调器的功能,即允许同步多个不同的网络(具有相同或不同的类型),对它们进行同步唤醒或者关闭;
◇ CAN NM是针对特定CAN网络的,并且通过车辆CAN网络系统进行具体实现;
◇ 通信系统特定的CAN状态管理器能够管控与通信系统相关的启动和关闭功能。此外,它还可以通过控制COM的不同选项来实现发送PDU以及监控信号超时的功能。
J1939通信服务是对普通CAN通信协议栈的拓展,主要应用在商用车上。其主要任务是提供J1939通信所需的协议服务,同时从应用程序中隐藏不需要的协议和消息属性。
J1939通信服务具有以下属性:
◇ J1939通信服务的实施与单片机和ECU硬件无关,它是基于CAN通信的;
◇ AUTOSAR COM、通用网络管理接口(Generic NM Interface)以及诊断通信管理器(Diagnostic Com.Manager)对所有的车辆网络系统都是通用的,并且作为每个ECU的一个实例而存在;
◇ 支持在配置阶段未知的动态帧标识符;
◇ J1939网络管理器管控每一个ECU的特定地址分配,但它不支持休眠/唤醒处理以及其他相关的概念,如局部网络等;
◇ 提供J1939诊断和请求处理。
LIN通信服务是一组车辆LIN通信系统的模块。其主要任务是为LIN通信网络提供一套统一的接口,同时从应用程序中隐藏协议内容和消息属性。
FlexRay通信服务是一组用于车辆FlexRay通信系统的模块。其主要任务是为FlexRay通信网络提供一套统一的接口,同时从应用程序中隐藏协议内容和消息属性。
TCP/IP通信服务是一组用于车辆TCP/IP通信系统的模块。其主要任务是为Ethernet通信网络提供一套统一的接口,同时从应用程序中隐藏协议内容和消息属性。
TCP/IP通信服务具有以下属性:
◇ TCP/IP模块实现TCP/IP协议家族(TCP、UDP、IPv4、IPv6、ARP、ICMP、DHCP)的主要协议,并通过以太网(Ethernet)提供动态的、基于Socket的通信;
◇ Socket适配器模块是TCP/IP模块中的唯一上层模块。
内存服务只包括一个模块,即NVRAM管理器。它负责非易失性数据(来自不同存储驱动器读/写)的管理。其主要任务是以统一的方式为应用程序提供非易失性的数据,同时对存储位置和属性进行抽象,对非易失性数据的管理提供机制,比如数据的保存、读取、校验保护和验证等。
存储器服务具有以下属性:
◇ 内存服务的实施与单片机和ECU硬件无关,是高度可配置的;
◇ 其上层接口与单片机和ECU硬件无关,根据AUTOSAR实施,即AUTOSAR接口。
系统服务是一组模块和函数,这些模块和函数可以被所有软件层模块使用。
系统服务的任务是为应用程序和基础软件模块提供基础的服务,主要包括:
◇ 依赖于微控制器的服务(如操作系统),以及可以支持特殊微控制器功能的服务(如加密服务管理器);
◇ 与ECU硬件和应用程序部分相关的服务(如ECU状态管理器);
◇ 与硬件和微控制器无关的服务。