SAE J1939协议的研究及其协议栈的实现
2011-03-03张涛李珍珍王思山黄爱蓉
张涛,李珍珍,王思山,黄爱蓉
(湖北汽车工业学院 电气与信息工程学院,湖北 十堰 442002)
SAE J1939协议的研究及其协议栈的实现
张涛,李珍珍,王思山,黄爱蓉
(湖北汽车工业学院 电气与信息工程学院,湖北 十堰 442002)
阐述了一种基于CAN总线的车辆网络通信协议SAE J1939,设计和实现了基于μC/OS-II嵌入式操作系统的协议栈,能够发送和接收J1939报文。该协议栈支持分布在车辆各个不同位置的ECU之间的具有实时闭环控制功能的高速通信网络。最后,在采用标准SAE J1939协议的汽车仪表上验证了所设计的协议栈,很好地实现了车辆ECU之间的高速通信。
CAN总线;SAE J1939;μC/OS-II;ECU
J1939协议技术在国外,特别是欧洲、美国、日本,已经相当成熟。目前,J1939已经成为世界各大车辆部件制造厂商支持的重要通信标准,尤其在大客车、载重货车、特种车辆和工程机械得到广泛的应用[2]。国内在CAN总线方面的研究和应用与国外相比有明显差距。由此,SAE J1939协议不仅是目前有实用参考意义的车用网络协议,而且对其彻底分析对制定上层协议有着重要的指导意义。
1 SAE J1939协议的研究与分析
SAE J1939协议供卡车及其拖车、大客车、建筑设备以及农业设备使用,是用来支持分布在车辆各个不同位置的电控单元之间实现实时闭环控制功能的高速通信标准,其数据传输速率为250kb/s,其物理层和数据链路层以CAN2.0B为基础,还定义了网络层和应用层协议。J1939通信协议是以CAN总线通信协议为基础制定的,借用CAN的信息帧传递J1939的信息,即利用CAN总线的29位标识符位形成J1939的编码系统,约定了货车和客车的通信编码,并按这一规则形成了J1939的通信协议,实现了一个完整的网络定义[3]。……
