局部网络在AUTOSAR架构中的应用及优化

2016-08-06 07:00皇甫仁杰泛亚汽车技术中心上海201201
汽车电器 2016年2期
关键词:收发器报文示例

皇甫仁杰(泛亚汽车技术中心,上海 201201)

局部网络在AUTOSAR架构中的应用及优化

皇甫仁杰
(泛亚汽车技术中心,上海201201)

通过对局部网络的研究,提出了一种基于AUTOSAR实现局部网络的设计方法。通过对软件架构及策略的优化,使PN及AUTOSAR能更好地应用在整车网络场景中。

AUTOSAR;软件架构;局部网络

近几年来,汽车的节能减排问题备受关注,大部分OEM厂商纷纷在各个领域进行设计优化,其中网络管理的设计优化 (采用局部网络)就是一个有效的措施。因为,市场上大部分车辆在点火开关打到OFF挡之后,仍有一部分功能需要使用,例如:车辆防盗、电子驻车功能等。但是现如今普遍的设计方法是整个网络采用同睡同醒,所以导致整车OFF之后,很多没必要继续工作的模块依旧被唤醒着。为了降低电量消耗,避免蓄电池电量消耗过多导致汽车无法起动,整车网络采用局部网络,即进入OFF后,大部分不需要工作的模块进入低功耗模式。

比如IGN OFF后,并且几秒之后整车网络都处于休眠,这个时候按下电子制动,仪表上需要显示,就需要电子制动模块唤醒IPC,基于同睡同醒的网络架构就会唤醒整个网段,造成浪费。假如EPB开关是接在一些架构类电子模块,需要进行跨网段唤醒的话,就会唤醒2个网段,造成更多电能损耗。所以针对这个问题,AUTOSAR及各大主机厂都已经开始制定新的网络管理方案-局部网络 (Partial Network,简称PN)管理,以实现分组睡眠和唤醒。

1AUTOSAR架构介绍

AUTOSAR是AUTomotive Open System Architecture(汽车开放系统架构)的简称,是AUTOSAR组织为汽车工业开发的一个开放的、标准化的软件架构标准。

AUTOSAR主要的标准分为3部分:①独立于硬件的分层软件架构;②标准的系统设计及开发流程 (包括开发流程的标准化及工具链的标准化);③标准化的应用接口。

本文涉及的开发主要是基于AUTOSAR的分层软件架构,如图1所示。

图1 AUTOSAR软件架构示例[1]

AUTOSAR分层软件架构即是实现基础软件与应用软件的分离,使基础软件与APP都能相对独立,可移植性好,模块化降低成本。

这其中被标准化的基础软件主要为4个层次:服务层 (Services Layer)、ECU抽象层 (ECU Abstraction Layer)、微控制器抽象层 (Microcontroller AbstractionLayer)和RTE(Runtime Environment)。

2 局部网络概念

局部网络 (Partial Network)顾名思义是将整车网络分割成几个小的局部网络,类似于因特网与局域网的关系,但是需要注意的是整车局部网络的分割是基于不同的feature点的,一个模块可以从属于多个局部网络。

PN组划分示例见图2。门锁功能相关的模块分为一个PN组;车辆OFF下IPC显示相关功能分为一个PN组。

图2 PN组划分示例

3 整车网络架构设计

3.1整车网络架构

基于整车电气架构,假如分了多路CAN,则需要实现局部网络的网段基于AUTOSAR实现 (一般车身CAN较容易实现,动力或者底盘CAN基于成熟性考虑,切换到AUTOSAR的进程较慢)。网络架构图示例见图3。

图3  网络架构图示例

车身舒适性CAN是AUTOSAR CAN,而PT CAN和CH CAN是传统的同睡同醒的主从式网络。

3.2局部网络划分

局部网络一般只在整车电源模式为OFF时实现,在其它电源模式下,AUTOSAR子网的节点将进入强制唤醒状态,当检测到电源模式切换到OFF模式后,节点再进入局部网络状态。ECU请求PN唤醒、睡眠都必须通过网络管理报文来实现。

并且,根据功能点划分局部网络越细,需要唤醒的模块就越精确,不需要被唤醒的模块就会越少,降低能耗就越可观。但是,PN组划分过多,会导致整车功能繁杂性提升,这里就需要设计人员掌握比较好的一个平衡点。PN分组示例见表1。

表1PN分组示例

从表1中看出,整个网络在电源非OFF下需要同时唤醒,所以所有ECU都划分为PN1,从PN2开始根据功能划分,某个功能需要几个模块被唤醒,就划分哪几个为一组。

3.3支持局部网络的软硬件要求[2]

局部网络需要CAN transceiver带滤波功能,并且底层协议栈 (通常采用vector的Autosar协议栈)支持PN。

硬件可以采用NXP的收发器TJA1145,除了传统收发器的TX、RX引脚,该收发器可通过SPI与CAN控制器相连。通过SPI,MCU可控制CAN收发器的模式转换以及设置收发器的报文滤波,实现特定报文唤醒的功能。硬件连接示意见图4。

图4  硬件连接示意图

同时收发器需要设置相应掩码:①报文地址场(Frame ID),值为XXX-XXX;②报文数据场字节长度 (DLC),值为XX;③报文数据场 (AUTOSAR已定义默认格式)。

设计人员可以根据PN分组情况在user data自定义控制每个PN组的位。这样就实现了特定的网络管理报文才能唤醒相应的一个分组内的模块。

4 子节点系统设计优化

在整车网络架构设计完成后,子节点也完成相应的硬件选型。接下来的设计就是如何更好地设计各模块的上层软件与底层软件间的软件架构,使其更适应于复杂的应用场景。

4.1系统方案设计

局部网络是将一个网段分成了多个PN组,单独一个PN组又等同于一个独立的网络,各个PN之间会有复杂的仲裁管理,在软件上单独为其做一个独立的模块用于管理网络。

4.2软件实现

针对于每个功能点进行编号,用于软件区分不同的APP请求,如图5中的APP_Function ID,通过RTE将Request发送至PN_Manager,在做好仲裁管理后再调用底层协议栈请求网络。

图5  软件架构示意图

针对复杂的应用场景,可以将APP的网络请求分成以下2种。

1)事件性的PN请求APP_FunctionID请求事件性的PN,该事件性请求发生之后,如果APP_FunctionID不再有新的事件性申请,则PN_Manager自动等待一段时间后自动释放该网段的PN。

2)永久性的PN请求APP_FunctionID如果向PN_Manager申请永久性的PN请求接口,那么意味着APP_FunctionID必须配对有一个释放接口,如果APP_FunctionID不申请释放接口的话,那么该PN会一直被设置为激活状态。而一旦APP_FunctionID被释放之后,PN_Manager将立即释放PN而不做任何超时等待。所以永久性的PN接口意味着一旦被请求,PN将永久性激活。

基于上述2种方式,就能较好地适用于复杂的应用场景。然后做好软件的时序设计,就可以实现不同PN分组休眠和唤醒,并达到比较好的系统强壮性。

5 模拟验证

在前期开发阶段我们使用CANoe进行模拟仿真,如图6所示。

图6 CANoe模拟仿真

前期简单的逻辑都可以通过CANoe内置的编程工具来实现,以达到快速仿真的目的,并且通过图3制作简单的面板观察总线情况。

开发后期,可以直接用真实节点构建网络环境来测试,如图7所示,设备:SPY3、bench、BCM、GW。

图7  台架测试验证

双跳开关唤醒BCM时的一个应用场景:在网络管理报文发出后,BCM唤醒了网关 (需GW转发至ONSTAR),BCM发送定义好的621网络管理报文,唤醒相应的PN组,网关节点回复定义好的627报文 (空的数据帧)。

6 总结

本文通过对整车网络应用设计以及子节点软硬件设计方法的介绍,提供了一种能较好地实现局部网络的方案。鉴于节能减排的压力,能够广泛适用于汽车网络的开发,提供一种 “智能唤醒”的解决方案。该设计方法已经运用在2015款全新英朗车型上。

[1]heinecke H.automotive open system architecture-andustrywide intiative to manage the complexity of emerging automotive E/Earchitecture[J].SAE paper 2004-21-0042.

[2]AUTOSAR官方网站.http://www.autosar.org[OL].

(编辑心翔)

Application of Localized Network in AUTOSAR Architecture and Its Optimization

HUANGFU Ren-jie
(Pan Asia Technical Automotive Center,Shanghai 201201,China)

A design method to realize localized network based on AUTOSAR is proposed here.The PN and AUTOSAR can be applied better in whole vehicle network through the optimization of software architecture and strategy.

AUTOSAR;software architecture;localized network

U463.6

A

1003-8639(2016)02-0052-03

2015-11-13;

2015-11-27

猜你喜欢
收发器报文示例
基于J1939 协议多包报文的时序研究及应用
以太网QoS技术研究及实践
某重型汽车方向盘LIN 开关故障分析
白描画禽鸟(九)
浅析反驳类报文要点
一种基于FPGA的网络串口管理系统的设计
Virtex5 FPGA GTP_DUAL硬核两个收发器独立使用的实现
10秒记忆
飞吧,云宝
高考作文“踮起脚尖”升格示例