浅谈车载高速CAN总线开发设计
2016-12-22王静安志峰王翠赵公旗
王静,安志峰,王翠,赵公旗
(长城汽车股份有限公司河北省汽车工程技术研究中心,河北保定 071000)
浅谈车载高速CAN总线开发设计
王静,安志峰,王翠,赵公旗
(长城汽车股份有限公司河北省汽车工程技术研究中心,河北保定 071000)
CAN总线以其传输速率高、性能好、减少车身线束使用量,广泛应用于汽车电子控制系统。本文着重介绍车载高速CAN总线开发设计的物理层要求、交互层要求及直接管理层要求的基础理念,具有一定的参考价值和指导意义。
高速CAN总线;物理层;交互层;直接网络管理
1 CAN通信协议简介
CAN是一种串行总线式通信协议,当传输速率设置为1Mb/s时,最大理论传输距离40m,每帧报文可传输0~8 byte的数据,是目前整车最常用的局域网之一。常用的High speed CAN波特率为500 kb/s,按此速率下的网络通信环境,最大承载能力受限于:当一条网段上所载节点发送报文量超过一定程度时,容易造成网络拥堵、信号传输延迟,甚至导致低优先级的报文传输丢失。
2 高速CAN总线开发物理层需求
如图1所示,物理层包含3部分。物理信令子层实现位编码/解码、定时和同步的功能;物理媒介附件包括在总线上实现发送报文功能和接收报文功能的电路;收发器应符合ISO 11898-2:2003的规定;媒介相关接口涉及物理媒介和媒介访问单元之间的机械和电气接口。
3 高速CAN总线开发交互层需求
交互层规定了连接到CAN网络的不同ECU的应用功能,使用独立的小信息项(即:单个信号或信号组)进行通信时所使用的协议。一个信号组包含一组简单信号,这些信号同步写入交互层和从交互层读出,并且通过CAN总线同步发送和接收。
从通信的角度看,一个信号或信号组只是1~64的若干位,它可以在给定的帧时间内,从发送ECU的交互层传输到所有接收ECU的交互层。
从应用功能的角度看,信号或信号组还有其他的特性,使应用功能可以正确译出发送的信息。如图2所示,ECU A的应用功能生成信号S1、S2、S3,并将这些信号发送给交互层。交互层将信号或信号组放置在CAN帧内指定位置上,分配一个CAN ID,并按照特定CAN帧的发送模式,将此CAN帧作为一个UUDT报文发送出去。信号位置、长度、CAN ID和使用的发送模式,在各项目的C-Matrix中进行定义。
从接收的角度看,交互层监控将要接收的各CAN帧是否按照定义的发送模式进行接收,提取所需信号,并将它提供给接收的应用功能。
注:如无明确说明,以上所说的“信号”指的是简单的信号或包含在信号组中的信号。
图2 交互层信号通信
4 高速CAN总线开发直接网络管理需求
4.1 网络管理状态
根据OSEK规范,网络管理主要包含以下状态:①初始化CAN→NM Init;②启动阶段→NM Reset;③工作状态→NM Normal;④准备睡眠→NM Sleep Indication;⑤睡眠等待→NM Wait BusSleep;⑥总线睡眠→NM Bus Sleep;⑦错误状态→NM Limp Home。
直接网络管理不同状态之间存在如图3所示的转换关系。
图3 直接网络管理状态
4.2 bus off处理
bus off机制如图4所示。当ECU进入bus off模式,应首先执行快恢复策略。
快恢复模式:①进入bus off后,CAN芯片立即重新初始化;②在TBusOffSlow时间内停止发送报文(可以接收报文,128x11个隐性位后允许发送ACK);③重新发送CAN报文。
图4 CAN bus off行为
bus off时间参数:TBusOffQuick,100±10 ms;TBusOffSlow,1000±100ms。恢复行为见图5。
图5 CAN bus off恢复行为
4.3 丢失ACK应答的行为
当检测到丢失ACK应答错误的时候,发送错误计数器应该累加。
如果发送节点在“error passive”状态检测到没有ACK应答,错误计数器应累加。如果在系统启动阶段只有一个ECU在线,且该节点发送了报文,该节点进入“error passive”而不是“bus off”。
当检测到无ACK应答时,在TTimeout超时之前,ECU应继续发送报文,之后控制器应该重新初始化并在TRecovery时间内停止发送报文。TTimeout称之为发送过程,TRecovery称之为等待过程。在没有ACK应答期间,ECU在发送过程和等待过程间不断轮换,超时时间参数为150±10 ms;恢复时间参数为150±10 ms。行为见图6。
图6 无ACK应答行为
CAN驱动重新初始化后,应该立即进入接收报文状态并能够给出ACK应答。
在无ACK应答期间,以下行为需要遵循:①在等待阶段ECU能够接收报文;②ECU不能进入bus off状态;③在无ACK应答期间,超时检测不能受到影响;④只有在CAN相关诊断开启时,无ACK应答行为才能执行。
4.4 节点监控
所有ECU应该监测网络中相关ECU是否在线。
节点超时需要监控网络管理报文。如果在3个连续的逻辑环未检测到相关ECU且相关ECU未发送limphome报文,应该记录节点丢失DTC(一个ECU对应一个DTC)。所有参加网络管理(逻辑环)的节点都需要被监控。
5 结论
本文浅述了高速CAN总线的开发设计要求,包括物理层要求、交互层要求、直接网络管理要求。基于某项目,依据以上所述要求,能够统一整车高速CAN总线电子配件的网络开发设计,使得整车高速CAN总线上的电子配件更好地联接匹配,减少电子配件之间的互斥,促进整车通信及功能的实现。
(编辑 杨景)
图11 排放标定优化前秒采数据
5 结论
本文结合排放控制原理,从台架标定和整车标定两个方面进行分析,通过使用文中所述方法,在标定开发过程中有效地降低了污染物水平。随着排放法规的不断加严,对于传统动力总成来说,未来整车及发动机为解决排放所采用的策略越来越多,标定工作也越来越难。解决排放和油耗问题将成为未来几年各大主机厂的主旋律。为了节约开发周期和开发成本,标定方法需要不断地总结、探索和提高。
图12 排放标定优化后秒采数据
[1]GB 18352.5—2013,轻型汽车污染物排放限值及测量方法[S].
(编辑 陈程)
The Discussion of Automotive High-speed CAN Bus Design
WANG Jing,AN Zhi-feng,WANG Cui,ZHAO Gong-qi
(Great Wall Motor Co.,Ltd.;Hebei Automobile Technology Research Center,Baoding 071000,China)
CAN bus is widely used in automotive electronic control system because of its high transmission rate,goodperformanceandlowerwireusage.Inthisarticle,thephysicallayerrequirements,interactionlayer requirementsanddirectnetworkmanagementrequirementsindesignofautomotivehigh-speedCANbusare introduced,which providesValuable and instructional reference for readers.
high-speed CAN bus;physical layer;interaction layer;direct network management
U463.6
A
1003-8639(2016)11-0054-03
2016-02-24
王静(1989-),女,电子电气架构工程师,从事汽车电子电气架构设计工作。