基于LabVIEW的电池管理系统与充电机通信协议测试
|
0 引言 随着近年来电动汽车行业如火如荼的发展,电动汽车技术相关的各种标准也相继推出,其中包括了《电动汽车非车载传导式充电机与电池管理系统之间的通信协议》(GB/T 27930-2011)。该协议是基于CAN应用层协议SAE J1939,J1939 是目前在国内汽车行业中应用广泛的CAN总线应用层协议。只有电池管理系统与充电机之间的正常数据交互才能保证电动汽车进行高效、安全的充电。因此,电池管理系统与充电机通信协议测试是电池管理系统测试的一个必不可少的项目。 本课题来源于北方车辆研究所电池管理系统测试平台项目。美国国家仪器NI PXI CAN采集卡以及LabVIEW为模拟充电机与BMS通信提供了良好的软硬件环境。 LabVIEW是美国国家仪器推出的一种程序开发环境,图形化语言使其与其他的代码类型语言相比之下更为方便直观。以计算机作为运行环境的LabVIEW,充分利用了计算机无可比拟的硬件优势,具有强大的数据处理能力。开发者可以很容易实现多线程编程,极大降低了软件开发的难度。LabVIEW的前面板提供了丰富的类似传统仪器的控件,开发者可以很方便的创建用户界面。 本文重点在于如何用LabVIEW实现SAE J1939多帧传输机制,完成超过8 B 报文的接收重组、拆分发送。以及如何实时判断通信过程出现的错误、指出错误类型、定位错误发生的阶段。 1 SAE J1939 协议 J1939 协议是基于CAN 2.0B 制定的,协议对物理层、数据链路层、网路层以及应用层都进行了相关的规定。本文针对数据链路层的规定进行简单介绍。 1.1 协议数据单元(PDU) J1939 将CAN 2.0B 的29 位标识符ID 划分为六部分,每部分都代表不同的含义,包括优先级(P)、保留位(R)、数据页(DP)、PDU格式(PF)、特定PDU(PS)、源地址(SA),见表1. 根据CAN 2.0 总线的仲裁机制,标识符值越小,CAN帧优先级越高,J1939把这一权利赋予了标识符最高三位(P)。R、DP通常为0.SA代表了该帧数据的发送节点的地址,CAN 网络中每个设备都分配了惟一的SA.在介绍PF 与PS之前有必要先介绍下参数组编号(PGN)的概念。每个PGN代表着惟一的参数组(可以包含一个或多个参数),当参数组的数据域大于8 B时,需要遵循J1939的多帧传输机制。PGN 由R、DP、PF 以及PS 组成,见表2.从表2 中可以看出PDU2 格式报文没有目标地址,此类报文只能发送给全局地址。由于PS作为PDU2 格式参数组编号的一部分,因此PDU2 比PDU1能定义更多的参数组编号。 1.2 多帧传输机制 |







