您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > BMS电池管理系统技术探析--协议篇
BMS电池管理系统技术探析—协议篇---------------------------------------------------------------------------------------------------------------------------------------------------------------------上海妙益电子科技发展有限公司楼电话:(021)66319886,66319887转8801传真:(021)51292527邮编:200436BMS电池管理系统技术探析—协议篇一、引子09年妙益电子开始介入新能源汽车领域,初期角色就是为新能源车辆做车身控制、配总线仪表。新能源车辆的车身控制与传统车辆的车身控制大同小异,但仪表显示内容有了较大的变化。新能源车辆的总线仪表除要显示传统的车辆信息外,多了BMS电池管理信息和以电机驱动为主的车辆控制器(VCU)信息。总线仪表显示的信息都是通过总线来的,因而接触了各种各样的CAN通信协议,我们一直尝试在同一个仪表平台上能融合众家协议,虽然做到了,但也只能满足已知的、打过交道的BMS厂家的需求。因为各家协议都不相同,付出的努力可想而知。所以一直期待着有关部门能整合相关协议,出一个行业标准,把协议统一起来,这样新能源车辆内各子系统间交换信息就简单了。要做到这一点,应当不难,大家都来尽份力,为推动新能源汽车的健康发展、为振兴中国汽车电子发展作点实事。今天妙益先在这里先抛砖引玉,探讨协议的规则。欢迎业内同仁各抒己见,早日达成统一协议的目标。二、J1939基础上面说了,各家的BMS协议虽然不同,但都不约而同地宣称是J1939协议。显然,选择J1939为大家普遍接受,所以我们在这里也是旗帜鲜明地支持以J1939相关规范来构建BMS的通信协议。但是,根据我们近10年应用J1939的经验看,这些协议和J1939大多是形似而神不似。所以,这里花一点篇幅介绍J1939基础。说到J1939,介绍它的资料有几箩筐,我这里就不去详细介绍它了,挑重点说吧。我们知道,J1939仅仅是一种网络通信协议而已,是应用于汽车上的、各电器间相互通信的一种串行通信协议,其制定者是SAE(美国汽车工程师协会)。既然是网络通信协议,都脱不了网络通信协议的主要架构特征,也就是网络通信协议的7层模型――物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。对于大多数非通信专业的应用人士而言,关注的重点是物理层、数据链路层、应用层。这三层实际上决定了对产品设计者三方面的基本约束――硬件特征、数据打包、实际数据的定义及传输。1.物理层物理层主要规定了通信网络的拓扑结构、信号传输介质、信号特征等硬件方面的内容。J1939网络拓扑类似于我们常见的办公室以太网结构。J1939的通信介质就是电线,由于采用差分传输,所以是2根线,分别称作CAN_H和CAN_L,可以是普通的双绞线,也可以是带屏蔽的双绞线――为了获得更好的电磁兼容特性,在CAN_H和CAN_L的端点各有一120欧的终端电阻。J1939的信号主要特征是:当有数据传输时,CAN_H和CAN_L的压差在2V左右。无传输时,CAN_H和CAN_L的压差为0V。BMS电池管理系统技术探析—协议篇---------------------------------------------------------------------------------------------------------------------------------------------------------------------上海妙益电子科技发展有限公司楼电话:(021)66319886,66319887转8801传真:(021)51292527邮编:200436考虑到电机运行产生的干扰还是蛮大的,物理层最好选带带屏蔽的双绞线,其他关注的就是端电阻的位置(可以位于某些核心模块内,不带终端电阻的模块在J1939里称作I型ECU,带终端电阻的模块在J1939里称作II型ECU)、屏蔽地接法、节点数量限制。图2-1仅由I型模块构建的J1939网络图2-2仅由2块II型模块和若干I型模块构建的J1939网络2.数据链路层数据链路层主要规定了数据的波特率、帧格式、校验方式等。虽然J1939规定了波特率为250K,但仍然有人强调他们用的是J1939高速CAN,言下之意J1939还有其他速率,这是一种误导。我们知道,串行数据通信总是按帧为单位进行的。数据帧一般由帧标识(ID)、数据(DATA)、校验(CRCCHECK)三部分组成。其中,帧标识是帧的核心,它决定了后面跟着的帧数据实际意义。J1939是建立在CAB2.0B基础之上,其帧格式符合CAB2.0B标准,所以介绍J1939的帧格式总和介绍CAB2.0B的帧格式捆在一起,因而成就了J1939协议帧的经典介绍--图2-3。图2-3J1939帧头组成BMS电池管理系统技术探析—协议篇---------------------------------------------------------------------------------------------------------------------------------------------------------------------上海妙益电子科技发展有限公司楼电话:(021)66319886,66319887转8801传真:(021)51292527邮编:200436帧标识由32比特也就是4字节组成,优先级(PRIORITY)3位;保留(R)1位;页面(DP)1位;协议数据单元(PDU=PF+PS)16位2个字节;源地址(SA)8位。另外有3部分内容固定的数据段:分别是起始(SOF)1位、代理远程请求(SRR)1位和扩展帧标志(IDE)1位。除PDU外其他都好理解,而J1939的帧格式核心就在PDU上。说白了,就是PDU决定了后面数据组成及代表的实际意义。PDU由PF(协议数据格式)和PS(协议数据细则)2部分组成。当PF小于240时,PS代表目标地址(DA),这部分帧种类只有239种,SAE称这部分协议帧单元为PDU1,PDU1属于稀有资源,所以一般留给重要点对点通信的数据,SAE只定义了其中极少部分,大部分留着将来用(可是我们很多BMS协议,随意的挥霍这部分资源,大量的消耗掉这方面的定义)。当PF大于或等于240时,PF连同PS一道定义了帧的类别,SAE称这部分协议帧单元为PDU2,这部分的组合有16X256=4096种,SAE将大部分的帧类别定义在这个区间。我们认为,我们也应把BMS数据定义在这段范围内。3.应用层应用层规定了实际的数据定义以及在网络中如何传输这些数据。理解J1939中的2个名词是关键,他们是PGN和SPN。PGN中文叫做“成组报文编码”。我们知道,数据是以帧为单位发出去的,SAE规定了每帧所包含的数据组合,并赋予这个组合一个数字编码,这就是PGN。SAE规定PGN包含了ID中的保留位(R)、页码(DP)及PDU。在PGN和ID之间显然存在一种特定的对应关系,很容易用软件的方法实现2者之间的相互转换。SPN中文称作“可疑参数编码”。J1939里将每种数据都赋予一个编码,就是这里所说的“可疑参数编码”。给数据编上号,在OBD诊断里非常有用,当你需要一个数据时可以发一个“请求报文”包,包里就含有该数据的编码,相关的模块就会发出该数据。另外模块发“诊断故障码(DTC)”时,也是靠SPN吗来表明数据身份的。为什么J1939中的参数要称作“可疑参数(SuspectParameter)”呢?这是因为J1939参数定义来源于早期的诊断系统的数据定义。诊断系统中,在没确定那个参数出问题前,参数都冠以“可疑”一词。跟司法系统的“嫌疑犯”一个意思。现在,J1939数据根本不局限于诊断之用,所以可疑一词称呼已经不适当,但习惯称呼仍被沿用下来。应用层规范还要对数据进行定义,J1939中参数的定义非常合理、全面。参数一般分为3类:模拟量、离散量、控制命令或状态。模拟量包含5种状态,用数据的最高字节来表示:有效(Valid,0~0XFA)、特殊标识(Specific,0XFB)、预留标识(Reserved,0XFC~0XFD)、错误标识(Error,0XFE)、未知(NA,0XFF)。离散量有“断(OFF)”、“通(ON)”2种有效状态,还有“错误(ERROR)”、“未知(NA)”,对应的二进制值分别是00、01、10、11。控制命令或状态跟离散量类似,只不过11代表“不必响应(NotRequest)”或者说“无须理会(Ignoreit)”而非“状态未知(NotAvailable)”。BMS电池管理系统技术探析—协议篇---------------------------------------------------------------------------------------------------------------------------------------------------------------------上海妙益电子科技发展有限公司楼电话:(021)66319886,66319887转8801传真:(021)51292527邮编:200436图2-4J1939对传输信号范围的规定图2-5J1939对传输离散参数范围的规定图2-6J1939对传输命令的规定上电时,大多数据应当初始化成“未知状态”比较合适,表明是一种“不确定的”、“初始”状态,初始化成其他状态都有可能与实际状态不一致。从上电接受到的初始数可知,在现有的BMS协议中,几乎没有一家企业完全遵守这种数据定义规范。在J1939中规定数据的发送是低位在前,高位在后,在我们的对接协议中竟然有相反的规定。BMS电池管理系统技术探析—协议篇---------------------------------------------------------------------------------------------------------------------------------------------------------------------上海妙益电子科技发展有限公司楼电话:(021)66319886,66319887转8801传真:(021)51292527邮编:200436参数定义还应当包括单位、偏移。在J1939中已经定义的参数,在满足使用的前提下,我们鼓励使用现有定义,否则容易引起混淆。比如现有J1939中转速、车速、温度都有现成定义,应当能满足新能源车方面的需求,没必要再引入新的定义。车速目前单位是1/256kph,双字节,范围是0~250kph,够用了,但还是有五花八门车速定义,主要在单位的差异上,有定义成1kpm的,有定义成0.5kph的…。再如温度,J1939里已经有2种定义。高精度的温度定义单位是1/32℃,双字节,偏移是-273℃,范围是-273℃~1737℃。低精度的温度定义单位是1℃,单字节,偏移是-40℃,范围是-40℃~210℃。低精度温度定义在BMS里也足够用了。4.总结J1939是应用车辆的电器间串行通信的一个网络规范。通信介质是一对带屏蔽或不带屏蔽的双绞线。J1939的通信速率为250K。任何串行通信,数据都是分帧传送的。帧由帧标识、数据及校验组成。J1939里数据也是分包传送,每个包赋予一个分组编号(PGN),帧标识ID和PGN有着特定的一一对应关系。这就是有人以ID来区分报文,另外一些人以
本文标题:BMS电池管理系统技术探析--协议篇
链接地址:https://www.777doc.com/doc-5529908 .html