APP下载

CAN/LIN网络通信技术在猎豹CS10应用

2017-08-24林元新谢有浩

汽车电器 2017年7期
关键词:标识符网络管理网络通信

林元新,谢有浩

(安徽猎豹汽车有限公司,安徽 滁州 239064)

CAN/LIN网络通信技术在猎豹CS10应用

林元新,谢有浩

(安徽猎豹汽车有限公司,安徽 滁州 239064)

简述汽车网络CAN/LIN总线技术要点,介绍应用层协议、规范、开发工具;分析具体车型CAN/LIN网络通信技术的应用,CAN/LIN具体报文解析。

CAN总线;LIN总线;应用层协议;总线开发工具;CAN、LIN报文;报文解析

目前,网络通信在车辆上应用逐渐普及,早期只有中高端轿车上才使用的CAN总线、LIN总线技术,已经成为乘用车的标准配置。自主车型的电气系统设计和系统测试与合资公司的差距也越来越小,其设计开发过程也逐渐与国际接轨。CAN、LIN、OSEK、UDS等网络通信技术的应用提升了汽车产品的配置灵活性和品牌竞争力。同时,相对早期“硬线”电气系统,其开发和维护的复杂程度有较大提升,对电气系统的设计、测试、验证提出了更高要求。

本文以猎豹CS10为参考车型,简要介绍网络通信技术的CAN/LIN总线技术要点、应用层协议、规范和汽车网络应用中涉及的设计、开发、测试,并进行报文实例分析。

1 定义

1)CAN总线 CAN全称为控制器局域网络(Controller Area Network),是一种能有效支持分布式控制和实时控制的串行通信网络。其协议也发展为重要的国际标准(ISO11898、ISO11519 )。

2)LIN总线 LIN全称为本地互联网络(Local Interconnect Network),是一种低成本的串行通信网络,用于汽车电子系统的分布式控制。目标是为现有汽车网络(如CAN总线)提供辅助功能。LIN联盟逐步将LIN总线推广到ISO国际标准(ISO 17987)。

3)OSEK规范 OSEK全称为汽车电子开放式系统及其接口(Open Systems and their Interfaces for the Electronics in Motor Vehicles)。OSEK规范主要由4部分组成:通信规范(OSEK Communication,OSEK COM) ;网络管理规范( OSEK Net Management,OSEK NM);操作系统规范(OSEK Operating System,OSEK OS)和OSEK实现语言(OSEK Implementation Language,OIL)。随着该规范应用的不断深入,其结构和功能不断完善和优化,版本也不断升级和扩展,并提交ISO审议。

4)UDS UDS全称为统一诊断服务(Unified diagnostic services),UDS与OBD最大的区别就在于“Unified”上,UDS是面向整车所有车载ECU,而OBD是面向排放相关ECU。UDS是一个应用层协议(ISO 14229系列),它可以在CAN线上实现,也可以在Ethernet上实现。基于UDS协议的诊断又被称为增强型诊断 (Enhanced diagnostic),UDS没有统一实现标准,不是法规要求的,其优势在于方便生产线检测设备的开发,同时更大地方便了车联网功能实现和售后维修保养。

5)CANoe相关 汽车总线开发工具和嵌入式源代码提供商Vector,为汽车总线网络的设计、建模、仿真、分析、测试和ECU开发、测试、标定和诊断等领域提供一系列强有力的软硬件工具和源代码。具体包括用于CAN/LIN网络系统和控制单元仿真和测试的工具CANoe;记录、评价CAN总线信号电平的工具CANscope;CAN总线干扰生成工具CANstress;CAN总线数据记录器CANlog;测试和标定软件工具CANape;总线分析工具CANalyzer。这些工具被OEM和供应商的网络设计工程师、开发工程师和测试工程师所广泛使用。

2 猎豹CS10网络通信的具体实现和主要特点

采用德国Vector公司的CANoe(CAN Open Environment)、CANscope等专业工具进行设计和开发,开发划为3个阶段:①功能建模和仿真;②系统部分的实现;③整个系统的集成。用CANoe建立仿真模型,在仿真模型基础上进行ECU的功能评估。综合使用这些专业工具对CAN网络通信的正确性、可靠性、合理性进行多角度全方位的评估;定位故障、解决CAN和LIN总线应用的各种问题,确保各项性能指标符合设计要求。

CAN、LIN总线主要性能指标包括:网络负载率、吞吐量、平均信息时延、通信冲突率、网络利用率、网络效率、负载完成率、总线电阻、总线波形。CS10网络拓扑如图1所示。

图1 CAN、LIN网络拓扑

2.1 网络技术应用

2.1.1 CAN总线

CAN总线采用11位标准ID,通信速率为500 kb/s,动力系统和车身控制系统共用总线,没有采用网关。支持应用层协议和规范有:①OSEK网络管理规范的直接网络管理;②UDS用于车辆投放市场后的诊断,可通过UDS读取诊断信息、进行系统升级;③CCP用于开发阶段的控制参数标定。

图2为CAN总线标准帧报文,实际上还有以下5种报文,用于满足特定的信息传输需求,如:①数据帧:发送节点向接收节点传送数据的帧;②远程帧:请求发送具有同一识别符的数据帧;③错误帧:节点检测到总线错误就发出错误帧;④过载帧:在先行和后续的数据帧(或远程帧)之间提供一附加的延时;⑤帧间隔:将数据帧及远程帧与前面的帧分离开来的帧。

图2 CAN标准帧报文图解

2.1.2 LIN总线

LIN总线通信采用LIN 2.1协议,通信速率为:19 200 b/s,一共3条总线:BCM、RLS、SunRoof一路;PEPS、ESCL一路;PEPS与IMMO基站一路。

CAN、LIN网络拓扑如图1所示。其中BCM、RLS、SunRoof三节点组成LIN网络:所有报文的头部由BCM发出,BCM任务是主任务,也就是总线行为由BCM调度,不同ID的响应部分由对应节点的从任务发出。LIN总线通信过程如图3所示。

图3 LIN总线报头和响应图解

BCM、RLS、SunRoof的LIN总线标准帧报文格式如图4所示。总线包含以下6种报文满足特定的信息传输需要:①无条件帧(Unconditional frame):主任务发出报头,一个任务响应,一个或多个任务接收;②事件触发帧(Event triggered frame):增强LIN总线的响应能力,避免为了很少发生的事件而对节点进行轮询,从而浪费了大量的带宽;③零星帧(Sporadic frame):共用一个时间隙,在需要时由主任务发送报头和响应;④诊断帧(Diagnostic frame):用来传输诊断或配置信息;⑤用户自定义帧(User-defined frame):可以传输任何信息,由用户自己定义;⑥保留帧(Reserved frame):标识符为63(0x3f)的特定帧。

图4 LIN总线报文图解

BCM、RLS、SunRoof节点构成的LIN总线报文见表1。

表1 LIN总线报文

其中保护的标识符(Protect ID)由标识符(ID)和奇偶校验符(Parity)组成,保护的标识符与标识符对应关系见表2。

表2 保护的标识符与标识符对应关系

2.1.3 自定义串行通信

自定义串行通信是基于标准12 V电平的单线异步通信,通信波特率为2 400 b/s。用于玻璃升降器主副窗开关之间交互信息使用。自定义串行通信拓扑见图5。左前门开关为主机,右前门开关、左后门开关、右后门开关均为从机。数据由主机发出,所有从机监听总线状态、接收数据。实现休眠和唤醒。

图5 自定义串行通信拓扑图

2.2 整车唤醒、休眠机制

当点火开关IG OFF时,一项功能要求总线上的节点与另一个节点通信,此时该网段上的所有节点将被唤醒。如果跨网段,还需要唤醒所有网段上的相关节点,但是不相关节点因此也进入非低功耗状态,这会造成不必要的功耗。例如:为了保证车辆安全,点火钥匙断开时,还需要一段时间的总线通信,通常为几分钟到几十分钟。在这段时间内,因为某些节点的通信需求,网络上不相关节点也进入唤醒状态,增加电池电量消耗,从而影响汽车的下一次起动对电量的需求。

猎豹CS10采用OSEK 网络管理系统(OSEKNM)、硬线休眠唤醒和延时休眠唤醒结合方式,很好地解决了这个问题。

2.2.1 硬线休眠

通过唤醒信号线,BCM实现对ABS、IPC、SCLM、LFDM休眠唤醒控制,当此信号线为高平时唤醒相应的节点控制器。硬线休眠拓扑图如图6所示。

图6 硬线休眠唤醒拓扑图

2.2.2 延时休眠

EPB在点火钥匙断开10 min后进入休眠。休眠后不发报文,总线报文也不唤醒此节点。

2.2.3 OSEK网络管理

CAN、LIN总线拓扑图见图1。参与OSEK网络管理的节点有:BCM、 PEPS,通过CAN总线发送特定报文,交互信息,协调各节点实现状态切换。

1)特定报文 ①Ring报文:逻辑环报文。在稳定的逻辑环中,节点用于传递状态信息的网络管理报文。②Alive报文:网段中的节点完成初始化或被跳过后,发送此报文,用于表明新的节点加入到逻辑环中。③LimpHome报文:接收错误计数器或发送错误计数器超过阈值的节点周期性发送此报文。

2)CAN休眠报文解析 OSEK网络管理报文ID的高字节为固定值0x04,低字节为发送方地址编码(0x0a为BCM,0x12为PEPS),报文数据的高字节为目标地址,低字节为表明报文类型、节点状态等信息。CAN总线休眠报文见表3。

表3 CAN总线休眠报文

2.2.4 LIN睡眠和唤醒

主节点发送ID为0x3C,第1字节为0x00的零星帧,使处于工作状态的从节点进入睡眠。

当总线空闲4~10 s,所有从节点必须进入睡眠。

LIN唤醒(Wake Up):处于睡眠状态的LIN网络中,任何一个节点都可以发送唤醒信号,LIN2.1规定的唤醒信号为0xF0。LIN网络管理状态切换如图7所示。

图7 LIN网络管理状态切换图解

图8 UDS诊断服务请求和响应图解

2.3 UDS统一诊断服务

通过OBD口连接专用通信设备可以实现:故障诊断、读写VIN、防盗匹配、齿讯学习、标定学习、程序更新、真空加注等功能。如图8所示,一个诊断仪和一个ECU通信的方式是直接通信。由诊断仪发出诊断请求,该请求包含一个服务的I D,诊断服务标识符缩写为SID。一旦ECU接收到之后,对该请求进行处理,处理之后回SID+40作为一个肯定响应;如果没有处理,则回一个7F。7F为否定响应的标识符,7F、请求服务标识符SID和错误代码NRC构成一个完整的否定响应回复。

3 报文解析

1)EMS故障码报文解析(表4)

表4 EMS故障码报文解析

2) 坡道起步辅助(HAS)传感器标定报文解析(表5)

表5 坡道起步辅助(HAS)传感器标定报文解析

4 结束语

通过CAN、LIN总线技术的应用,猎豹CS10经过验证,不断完善并逐步成熟。软硬件平台化、完整的架构、合理的开发流程、科学的测试验证手段,通过技术沉淀,可以快速移植到相关车型的开发。目前,以此平台化设计的车型还包括猎豹Q6AT车型、猎豹CS9系列车型,这种平台化模式不但缩短开发周期,各项性能也得到了有效保障。

[1] CANoe7.2用户手册CANone_Manual_En[Z].

[2] LIN Specification Package Revision 2.1[Z].

[3] OSEK/VDX Opearating System Specification 2.2.3[Z].

[4] OSEK/VDX NM Concept & API 2.5.2[Z].

[5] ISO 11898-1:2003(E)[S].

[6] ISO 11898-2:2003(E)[S].

(编辑 杨 景)

Application of CAN/LIN Network Communication Technology in LIEBAO CS10

LIN Yuan-xin, XIE You-hao
(Anhui Leopaard Motor Co., Ltd., Chuzhou 239064, China)

This article briefly introduces technical points of CAN/LIN bus of the automotive network, application layer protocol, its specification and development tools. Specific models of CAN/LIN network communication technology application are analyzed, as well as CAN/LIN message parsing.

CAN bus;LIN bus;application layer protocol;bus development tools;CAN, LIN message;message parsing

U463.6

B

1003-8639(2017)07-0022-04

2017-02-01

林元新(1974-),男,汽车设计工程师,主要从事汽车电器设计和测试工作。

猜你喜欢

标识符网络管理网络通信
基于底层虚拟机的标识符混淆方法
数控机床DNC网络管理平台在智能制造中的应用
物联网智能燃气表传感网络通信技术发展方向
信息化时代网络通信安全的背景和对策
DOI标识符查找文献的方法
基于区块链的持久标识符系统①
DOI标识符查找文献的方法
基于网络通信的智能照明系统设计
基于OpenStack虚拟化网络管理平台的设计与实现
5G网络通信技术应用的前瞻性思考