基于CAN总线的纯电动客车通信方法 【技术领域】
本通讯协议适用于纯电动客车控制系统CAN总线通讯技术领域。
背景技术
石油危机和环境污染等问题的日益突出,使得电动汽车越来越引起社会的重视,成为了未来汽车的发展方向。电动汽车与传统内燃机汽车相比,在国外仍然处于产业化初期准备阶段,与之相关的高新技术及产品还依赖于配套供应商的支持,尚未形成新的工业体系。同时,在发达国家,传统汽车工业已形成的庞大生产规模和社会基础设施的投入,以及发展的强大惯性,在某种意义上可能构成了阻碍其发展新一代汽车的社会成本,使他们难以下决心实现根本性的战略转变,从而有可能为我国赢得宝贵的时间。汽车上的电控系统和传感器、执行器的不断增加使点对点的联结方式走到了尽头,为简化日益增加的汽车电控装置的线路连接、提高系统可靠性和故障诊断水平、利于各电控装置之间数据资源共享、并便于建成开放式的标准化模块化结构,汽车网络总线技术得到了很大的发展,在汽车上CAN总线和LIN总线结合应用将是一种主流模式,以及以D2B无线通信为基础地远程高频网络通信系统。尤其要说明的是总线技术的应用带来了整车电气系统设计的革新和优化。目前国际上在卡车及大客车上普遍采用SAE J1939标准。由于电动车是一个新技术,许多电控部件的通信标准需要重新定义。
【发明内容】
为了建立电动汽车整车的网络,实现电动汽车综合故障诊断功能,并为各个电控系统模块提供硬件试验平台,本发明在SAE J1939的基础上提供了一种适用于纯电动客车的通讯协议。
本发明解决其技术问题所采用的技术方案是:
1.通讯协议制定的原则先进性。制定的协议要尽量与国际接轨,参照国际SAEJ1939,在其基础上进行改进,并有自己的特色。原因主要是考虑到国外成熟的协议是经过实践检验的,借用它可以少走弯路。指导性。制定的协议必须要考虑车辆的特性,指导整车和相关零部件相关控制技术的发展。扩展性。制定的协议要便于以后升级发展,扩展的协议要兼容前面制定的协议。
2.网络中的ECU节点网络拓扑结构
网络拓扑结构如图1所示,CAN总线传输速率为250kbps。
3.通讯协议规定
电动汽车网络总线通讯协议主要参考SAE J1939来制定,也就是在J1939的基础上制定出满足纯电动车辆控制需要的通讯协议。
(1)物理层的规定
物理层的规定主要参考CAN2.0B和J1939的相关规定。考虑到纯电动大客车的实际低压系统的实际电压,设计的ECU应满足电源电压18~36V:考虑到总线上的电气负担,最大ECU数为20;传输介质:特征阻抗为120欧姆的屏蔽双绞线STP(阻燃0.5mm);每个部件均有终端电阻(120Ω),终端电阻采用支架安装,以便调整,同时,终端电阻同网络线之间通过跳线相连,以便灵活搭配;位时间(bit time):即每一位占用的时间。网络上所有节点的位时间必须设置为相同值。推荐位时间为4μS,对应的传输速率为250kbit/s,网络长度为40m;拓扑结构:网络的接线拓扑应该是一个尽量紧凑的线形结构。ECU接入总线主干网的电缆要尽可能短。为使驻波最小化,节点不能在网络上等间距接入,接入线也不能等长,且接入线的最大长度应小于1m;屏蔽终端:屏蔽终端是一点接地。电缆屏蔽层在车内连续导通,建议每个部件的网络插座有屏蔽层的接头,在部件内部,屏蔽层与部件控制机箱地可靠相连。
(2)数据链路层的规定
数据链路层的规定主要参考CAN2.0B和J1939的相关规定。使用CAN扩展帧的29位标识符并进行了重新定义。图2为29标识符的分配。其中,优先级为3位,可以有8个优先级;R一般固定为0;DP现固定为0;8位的PF为报文的代码;8位的PS为目标地址或组扩展;8位的SA为发送此报文的源地址;节点的编址规则;如果J1939已有定义,则尽量使用J1939已定义的地址;具有多个功能的ECU,可以使用多个地址,也可以重新定义新的地址;新定义地址,应使用208~231这段属于公路用车的预留地址;采用广播和单播相接合的方式进行数据传输,单播报文主要用于解决相同功能节点的控制问题,其它情况下尽量使用广播报文;采用数据块编码和节点编码相接合的方式进行数据通信;数据帧采用CRC校验;总线错误严重时具有自动关闭功能。
(3)应用层的规定
应用层的规定主要参考J1939的相关规定。应用层定义了协议数据单元PDU的两种格式PDU1和PDU2;采用PGN对数据块(参数组)进行编号,广播方式下,ECU根据PGN来识别数据块的内容;采用周期发送和事件驱动的方式来发送数据;定义新的参数组时,尽量将相同功能的参数、相同或相近刷新率的参数和属于同一个子系统内的参数放在同一个参数组中;同时,新的参数组既要充分利用8个字节的数据宽度,尽量将相关的参数放在同一个组内,又要考虑扩展性,预留一部分字节或位,以便将来进行修改;修改J1939已定义的参数组时,不要对已定义的字节或位的定义进行修改;新增加的参数要与参数组中原有的参数相关,不要为了节省PGN的数量而将不相关的参数加入到已定义的PGN中;对于功能相近的ECU,可以在已定义的PGN中利用未定义部分来增加识别位,判断出ECU的功能,充分利用原来已定义的参数。
(4)ECU源地址分配
图3是纯电动汽车可能用到的ECU节点名称和分配的地址。其中整车控制器地址为新分配的地址,而电机控制器、电子节气门控制器、驾驶室显示器、ABS控制器和动力电池管理系统为原SAE J1939定义并已经分配了地址。
(5)数据格式定义
图4是纯电动客车各个ECU输入输出信号格式定义。
(6)各ECU参数组定义
整车控制器#1:PVCU1发送节点接收节点 标识符刷新率 数据定义整车电机控制器PGN=51200 100ms位置 数据名 SPNP R D P P FPS S A1BYTE整车控制器Status_Flag12BYTE控制电机开关(0X55:关闭;0XAA:打开)4 0 0 2 0 0DA 2 0 83BYTE电机工作模式Status_Flag24BYTEUbus(总线电压值)低字节注:两字节数据低字节在前,高字节在后;同一字节中高位在前;低位在后;本字节紧跟DLC后输出;5BYTEUbus高字节6BYTEIbattery(-/+)(电池充/放电电流)低字节7BYTEIbattery(-/+)(电池充/放电电流)高字节8BYTE未定义
整车控制器工作状态Status_Flag1:8bit(MSB) 7bit 6bit 5bit 4bit 3bit 2bit1bit(LSB)未用 未用 未用 未用 未用 未用 未用正常工作发送节点接收节点 标识符通信周期 数据电池管理系统整车控制器PGN=6352 100MS位置 数据名 SPN 1Byte Ubus(电池系统测量总线电压值)低字 节 注:两字节数据低字节在前,高字节在 后; 同一字节中高位在前;低位在后; 本字节紧跟DLC后输出; PR D P P F P S S A 60 0 2 4 2 0 8 2 4 3 2Byte Ubus(电池系统测量总线电压值)高字节 3Byte Ibattery(-/+)(电池充/放电电流)低字 节 4Byte Ibattery(-/+)(电池充/放电电流)高字 节 5Byte SOC(电池模块SOC)低字节 6Byte SOC(电池模块SOC)高字节 7Byte Temp.amb(电池箱内环境温度) 8Byte 电池Status_Flag1
Status_Flag:8bit(MSB)7bit 6bit 5bit 4bit 3bit 2bit 1bit(LSB)未用未用 温度过高 过电流 SOC过低 SOC过高 模块电压过低 模块电压过高
注:逻辑1表示事件为真;逻辑0表示事件为假发送节点接收节点 标识符通信周期 数据电池管理系统整车控制器PGN=6608 100MS位置 数据名 SPN1Byte 电池管理系统的LIFE P R D P P F P S S A 6 0 0 2 5 2 0 8 2 4 32Byte 电池Status_Flag23Byte Umean(电池模块电压均值)低字节 注:两字节数据低字节在前,高字节在后; 同一字节中高位在前;低位在后;本字节紧 跟DLC后输出;4Byte Umean(电池模块电压均值)高字节5Byte Urange(电池模块电压极差)低字节6Byte Urange(电池模块电压极差)高字节7Byte Tmean(电池模块温度均值)8Byte Trange(电池模块温度极差)
Status_Flag:
电机工作模式Status_Flag2:8bit(MSB)7bit6bit5bit4bit3bit2bit1bit(LSB)未用未用未用未用反向驱动空转制动驱动
注:逻辑1表示事件为真;逻辑0表示事件为假
整车控制器#1:PVCU1发送节点接收节点 标识符刷新率 数据定义整车其他节点均可接收PGN=61702 10ms位置 数据名 SPNPRDPPFPSSA 1BYTE整车控制器LIFE 2BYTETorque-target目标转矩低字节注:两字节数据低字节在前,高字节在后;同一字节中高位在前;低位在后;本字节紧跟DLC后输出;3002416208 3BYTETorque-target目标转矩高字节 4BYTE 5BYTE 6BYTE 7BYTE 8BYTE
电机控制器#1:MC1 发送 节点 接收 节点 标识符刷新率 数据定义电机控制器整车控制器PGN=2256 100ms 位置 数据名 SPNPRDPPFPSSA1BYTETorque实际转矩低字节注:两字节数据低字节在前,高字节在后;同一字节中高位在前;低位在后;本字节紧跟DLC后输出;2BYTETorque实际转矩高字节60082082393BYTE控制器直流电压低字节4BYTE控制器直流电压高字节5BYTETempmotor低字节(电机控制器温度)6BYTETempcontr高字节(电机控制器温度)7BYTE电机控制器故障信息MC_Error8BYTE
电机控制器故障信息MC_Error8bit(MSB)7bit6bit5bit4bit3bit2bit1bit(LSB)保留自检错误电机超速IGBT故障通讯异常温度过高相电流过高直流电压过高
注:逻辑1表示事件为真;逻辑0表示事件为假
电机控制器#1 MC2:发送节点接收节点标识符刷新 率 数据定义电机控制器所有节点PGN=61696 10ms位置 数据名 SPNPRDPPFPSSA 1BYTE电机控制器的LIFE 2BYTEnmotor(电机转速)低字节注:两字节数据低字节在前,高字节在后;同一字节中高位在前;低位在后;本字节紧跟DLC后输出;3002410239 3BYTEnmotor(电机转速)高字节 4BYTE油门踏板低字节 5BYTE油门踏板高字节 6BYTE电机控制器MC_Status 7BYTE 8BYTE
MC_Status:8bit(MSB)7bit6bit5bit4bit3bit2bit1bit(LSB)故障自检完成调速模式力矩模式后退空转制动前进
注:逻辑1表示事件为真:逻辑0表示事件为假
变速器ETC1发送节点接收节点 标识符刷新率 数据定义ETC电机控制器PGN=4335 10ms 位置 数据名 SPNPRDPPFPSSA 1BYTEETC的LIFE 2BYTE电机工作模式Control_Mode300162393 3BYTE电机调速低字节 4BYTE电机调速高字节 5BYTE变速器状态ETC_Status 6BYTE 7BYTE 8BYTE
Control_Mode:8bit(MSB)7bit 6bit 5bit 4bit3bit2bit1bit(LSB)未用未用 未用 未用 反向调速模式力矩模式空挡
注:逻辑1表示事件为真;逻辑0表示事件为假
电池管理系统BC1: 8bit(MSB) 7bit 6bit 5bit 4bit 3bit 2bit 1bit(LSB) 未用 未用 未用 未用 未用 未用 未用 未用
注:逻辑1表示事件为真;逻辑0表示事件为假
本发明的有益效果是,采用该项技术借鉴SAE J1939制定了纯电动客车整车控制系统通信协议规范以及主要关键部件的通信内容和格式,满足电动车整车控制管理、故障诊断通信协议的要求。
【附图说明】
下面结合附图和实施例对本实用新型进一步说明。
图1是纯电动客车控制系统网络拓扑结构;
图2是29标识符的分配;
图3是各ECU地址分配;
图4是各ECU输入输出信号格式定义。
【具体实施方式】
设计完具有CAN接口硬件后,在软件程序设计中按照本协议规范进行通信程序设计。