应用于汽车应用程序的高效CAN数据压缩方法
2016-12-07
应用于汽车应用程序的高效CAN数据压缩方法
控制器区域网络(CAN)已经被用于汽车电子控制单元(ECU)和许多高级工业控制应用程序之间多路复用通信的设计。当CAN总线由于大量ECU的连接而超载时,则会增加等待的时间和数据传输的误差概率。因此,采用了减少帧长度的方法,因为数据传输的时间与帧长度成正比。提出了一种CAN数据压缩方法来实现帧长度的减少。
在该方法中,64位数据字段被认为是由24位、24位和16位这3个信号组成的。此外,在基于实际信号仿真的CAN框架数据字段内将信号重新排列,可以使简化数据字段的长度达到最小。该方法的具体压缩方法如下。首先,如果是原始信息,就传输原始信息;如果不是原始信息,就通过该压缩方法确定压缩区域和内存映射,计算DLC值。然后,判断原始DLC值是否比压缩后DLC值小,如果是,那么传输原始信息;如果不是,那么传输压缩信息。该方法的具体解压算法流程:如果是原始信息,那么当前的信号值=接收的值;如果不是原始信息,再判断接收的值是否比预定的DLC值小(如果不是,那么传输当前的信号值=接收的值;如果是,那么使用该压缩方法覆盖差值,当前的信号值=之前的信号值+差值)。
所提出方法与EDR算法、BFC算法和压缩区选择算法不同之处在于,该方法不需要在连续的CAN信息上预测最大差值,且不管CAN框架数据字段的信号数量,头字节数量都是有限制的,最多只有3个。通过使用实际CAN数据模拟证实,与传统的方法相比,所提出方法的CAN传输数据时间可进一步减少到22%。通过使用嵌入式测试板,展示了64位发动机管理系统(EMS)的CAN数据压缩可以在0.16ms内完成,因此所提出方法可以成功地应用于汽车。
刊名:Journal of Zhejiang University Science C(英)
刊期:2015年第1期
作者:Jin-Gyun Chung
编译:赵前