·上一文章:基于旋转体矩量法的高性能微波传输天线分析与设计
·下一文章:一种高速帧同步和相位模糊估计的方法及其FPGA实现
CAN通讯平台软件流程
软件的设计工作主要是基于底层硬件的CAN控制器驱动程序设计,该部分主要是面向CAN控制器的硬件系统的配置和CAN报文帧的收发处理,从而提供了面向通信层的服务功能,这由CAN模块的初始化函数和CAN报文帧的发送接收函数来完成。
实车验证
将已开发CAN通讯硬件平台搭载在解放牌平头柴油牵引车上,断开AMT电控单元与发动机和制动系统之间的CAN总线,接入CAN通讯平台后进行实车测试,试验场地为长直坡道。重型车先平路起步后上坡,连续换挡至最高档位并最终制动,整个实验过程中没有出现控制错误,车辆能够正常工作,利用串口传递数据观测总线实时的信息流,得到了部分通讯数据(略)。
CAN通讯平台上接受和发送的报文均符合SAE J1939协议,包含了在CAN通讯平台上接收和发送到来自发动机、AMT以及制动系统的部分报文内容,先举例说明一组来自发动机的报文如表2所示。
一条报文包含8字节的数据域,除了上述内容占据的字节之外,其余位均作保留位。从这些数据可以看到发动机电子控制器的周期性发送,并且只有在CAN通讯平台接收到更新的数据后,才会向总线发送更新的报文内容,避免给总线带来负担。
结语
本文从CAN总线和SAE J1939协议特点和原理的介绍入手,通过设计符合J1939通讯协议的硬件和软件模块,实现了在重型车上利用该CAN通讯平台完成数据实时传递与共享的功能,并且在实车上通过了发动机、变速箱和制动系统三方通讯的验证,为使用J1939协议开发CAN通讯平台提供了一定的思路。