TPL3协议:为菊花链通信注入新的生命力
本文导读 在这个数字化时代,汽车行业正朝着智能化、电动化的方向飞速发展。而为了确保汽车电池管理系统的稳定运行,NXP推出了TPL菊花链通信协议,在电池管理系统与电池模块之间构建了一条高效、可靠的通信桥梁。
目前在NXP的AFE中支持的TPL协议分别是TPL1,TPL2,TPL3。 本文将对这三种TPL协议的差别以及最新推出的TPL3在应用和设计上的优势进行探讨。
TPL信号概述 在BMS系统中,如果需要使用TPL信号进行通信,则需要使用到NXP的通信隔离网关----MC33664/MC33665。
MC33664/MC33665也是一个TPL收发器。它会将来自MCU接口(SPI,CAN等)的数据,逐位将数据转换成脉冲相位编码的差分信号,再将差分信号转发到菊花链上。同样的,来自菊花链上的TPL信号也会经过网关转译成对应MCU接口的信号,再传输到MCU处理。
图 1 TPL信号的编码TPL相关的信号编码如图所示,TPL通信就是由这四个基本元素构成:
➢ SOM(Start of Message):传输报文的开始,当前TPL报文传输开始;
➢ EOM(End of Message):传输报文的结束,当前TPL报文传输完成;
➢ Logic 1:代表数字信号 1;
➢ Logic 0:代表数字信号 0。
图 2 TPL通信报文示例 三种TPL协议的区别 TPL1、TPL2和TPL3除了传输报文的格式上之外,总体来说区别不算太大,具体的差别点,参考下表: 表 1 TPL1/2/3不同点3.1TPL1协议报文格式
TPL1协议长度是由6个字段40个bit构成,具体组成如图3所示
图 3 TPL1协议报文格式 Bit0-Bit7: 循环冗余校验(8位); Bit8-Bit11: 命令字段(4位); Bit12-Bit15: 设备ID字段(4位); Bit16-Bit22: 寄存器地址字段(7位); Bit23: 主/从字段(1位),响应中始终为1; Bit24-Bit39: 寄存器数据字段(16位)。
3.2TPL2协议报文格式
TPL2协议和TPL1协议报文格式基本一致,最主要的区别在于TPL2协议的设备地址字段从4bit扩充到了6bit,可寻址的设备数就从15个设备变成了63个设备。
图 4 使用MC33664时的TPL2报文格式Bit0-Bit7: 循环冗余校验(8位); Bit8-Bit9: 命令字段(2位); Bit10-Bit11: 预留字段(2位); Bit12-Bit15: 消息计数(4位); Bit16-Bit21: 设备ID字段(6位); Bit23-Bit22: 预留字段(2位); Bit24-Bit30: 寄存器地址字段(7位); Bit31: 主/从字段(1位),响应中始终为1; Bit32-Bit47: 寄存器数据字段(16位)。
需要注意的是,TPL2协议兼容MC33664和MC33665,在MC33665上的TPL2报文相较图4有些许区别。 图 5 MC33665中的TPL2协议 产生这种区别是因为MC33665有着4个菊花链端口,但MC33664只有一个TPL端口。所以当使用MC33665作为隔离网关时,需要根据菊花链的地址去进行寻址,于是在原先Bit10-Bit11预留的数据段,改成CADD,用于寻找菊花链地址。 3.3TPL3协议报文格式
TPL3协议报文支持动态报文长度,DATALEN[1:0]决定了报文携带的数据长度。
图 6 四种指令的TPL3报文格式 读操作请求报文中特有的数据段: - 00000b:读指令中预留,该数据段的数值必须为0(5位);
- PAD:指示是否需要在读指令的响应报文的数据段中添加填充数据(1位);
- RESPLEN:指示一帧读指令的响应报文中包含几个寄存器的数据(2位);
- NUMREG:该次读操作指令读取的寄存器数量。
TPL3的优势 TPL3协议相较另外两种协议的优势主要有下面两点:
1.TPL3协议报文支持动态报文长度,这就使得一帧TPL报文,最多可以读/写4个寄存器的数据。同时多寄存器连续读取和写入,这样的升级使得通信的效率得到较大的提升。2.TPL3协议的推出主要是针对着MC33665这个隔离网关进行使用的,由于加入了MADD(TPL端口地址),以及CADD(TPL菊花链地址)这两个参数,配合有着4个TPL端口的MC33665使用,可以更好的进行菊花链拓扑的管理。
|