SAE J1939协议被用于以CAN为基础的车辆和通信系统嵌入式网络中,SAE J1939主要适用于卡车客车和非道路车辆的柴油发动机管理。
	
应用领域有:农机装备、林业电子设备、卡车和客车、娱乐设施、柴油发动机控制、铁路、公共运输、海洋电子设备等。在大多数卡车和客车中,J1939被广泛使用,基于CAN的网络控制发动机和车身控制单元,在全球SAE J1939被用在卡车和客车的通信中,必须通过相关环保排放规则才能被允许商用。
	
在汽车中,一些著名的汽车制造厂商,如奔驰、宝马、大众、沃尔沃、雷诺、保时捷、劳斯莱斯等及一些发动机部件生产商如现代、奔驰、沃尔沃、康明斯等都采用了J1939总线作为控制器联网手段。
	
本柴油机动车SAE J1939(CAN 2.0B)转RS232运行数据串口(UART)标准定义了机动车ODB接口和串口(UART)的通信方式和数据格式,便于各类车联网,车用视频监控网等系统,接入机动车的运行工况及排放数据,期望实现不同设备制造商的相关产品和云平台的互联互通,数据协议转换终端采用速锐得EST558S。
	
	
串口定义:
1. UART波特率:115200,无校验,1位起始,8位数据,1位停止,无硬件流控制.
2. 数据格式: 1位起始,8位数据,1位停止。
3. 校验位 :无
4. 硬件流控制 :无
串口数据格式
| 
				 
  | 
			
				 包头  | 
			
				 长度  | 
			
				 主命令  | 
			
				 子命令  | 
			
				 数据包  | 
			
				 校验  | 
			
				 包尾  | 
		
| 
				 字节数  | 
			
				 2  | 
			
				 2  | 
			
				 1  | 
			
				 1  | 
			
				 N  | 
			
				 1  | 
			
				 2  | 
		
| 
				 说明  | 
			
				 55AA  | 
			
				 从命令字到校验的长度  | 
			
				 
  | 
			
				 
  | 
			
				 N可以为0  | 
			
				 从长度到数据包的异或校验  | 
			
				 0D0A  | 
		
串口数据内容
| 
				 主命令  | 
			
				 子命令  | 
			
				 数据说明  | 
			
				 主命令  | 
			
				 子命令  | 
			
				 数据说明(字节数:解释)  | 
		
| 
				 OBDII 标准数据 (0x01)  | 
			
				 0x01  | 
			
				 OBD信息  | 
			
				 0x41  | 
			
				 0x01  | 
			
				 1+1+2+2+17+18+18+36+1  | 
		
| 
				 0x02  | 
			
				 OBD数据流  | 
			
				 0x02  | 
			
				 28  | 
		||
| 
				 查询指令 (0x04)  | 
			
				 0x01  | 
			
				 查询设备SN号  | 
			
				 0x44  | 
			
				 0x01  | 
			
				 12:产品SN号(ASSIC码)  | 
		
| 
				 0x02  | 
			
				 查询软件版本  | 
			
				 0x02  | 
			
				 N:软件版本(ASSIC码) 如:20140101A  | 
		||
| 
				 0x03  | 
			
				 查询硬件版本  | 
			
				 0x03  | 
			
				 N:硬件版本(ASSIC码) 如:V1.0  | 
		||
| 
				 特殊指令 (0x06)  | 
			
				 0x01  | 
			
				 设备测试  | 
			
				 0x46  | 
			
				 0x01  | 
			
				 1:结果  | 
		
| 
				 0x02  | 
			
				 设备复位  | 
			
				 0x02  | 
			
				 0:发送完这条指令后复位  | 
		||
| 
				 0x03  | 
			
				 0:升级控制  | 
			
				 0x03  | 
			
				 1:(1:开始升级,2:结束升级)  | 
		||
| 
				 0x04  | 
			
				 N:升级数据  | 
			
				 0x04  | 
			
				 0:接收到数据后开始写FLASH  | 
		||
| 
				 
  | 
			
				 
  | 
			
				 0x05  | 
			
				 1:休眠,0:唤醒(OBD主动发送)  | 
		
详细说明:
1. 蓝色指令下位机主动发送,无须上位机请求
2. 下位机响应主命令=上位机发送主命令+0x40;下位机响应子命令=上位机发送子命令
3. 与汽车通讯失败命令字为7F01,命令字不支持为7F02,校验出错为7F03
4. 包尾可以发送也可以不发送
1.OBD信息格式
| 
				 数据表示内容  | 
			
				 长度(字节)  | 
			
				 数据类型  | 
		
| 
				 OBD诊断协议  | 
			
				 1  | 
			
				 BYTE  | 
		
| 
				 MIL状态  | 
			
				 1  | 
			
				 BYTE  | 
		
| 
				 诊断支持状态  | 
			
				 2  | 
			
				 WORD  | 
		
| 
				 诊断就绪状态  | 
			
				 2  | 
			
				 WORD  | 
		
| 
				 车辆识别码(VIN)  | 
			
				 17  | 
			
				 STRING  | 
		
| 
				 软件标定码(CID)  | 
			
				 18  | 
			
				 STRING  | 
		
| 
				 标定验证码(CVN)  | 
			
				 18  | 
			
				 STRING  | 
		
| 
				 IUPR值  | 
			
				 36  | 
			
				 STRING  | 
		
| 
				 故障码个数  | 
			
				 1  | 
			
				 BYTE  | 
		
| 
				 故障码列表  | 
			
				 N*4  | 
			
				 N*4(BYTE)  | 
		
	
2.OBD数据流
| 
				 起始字节  | 
			
				 数据项  | 
			
				 数据类型  | 
			
				 描述及要求  | 
		
| 
				 0  | 
			
				 车速  | 
			
				 WORD  | 
			
				 1/256km/h  | 
		
| 
				 2  | 
			
				 大气压力  | 
			
				 BYTE  | 
			
				 0.5kpa  | 
		
| 
				 3  | 
			
				 发动机净输出扭矩  | 
			
				 BYTE  | 
			
				 1%偏移-125  | 
		
| 
				 4  | 
			
				 摩擦扭矩  | 
			
				 BYTE  | 
			
				 1%偏移-125  | 
		
| 
				 5  | 
			
				 发动机转速  | 
			
				 WORD  | 
			
				 0.125rpm  | 
		
| 
				 7  | 
			
				 发动机燃料流量  | 
			
				 WORD  | 
			
				 0.05L/H  | 
		
| 
				 9  | 
			
				 SCR上游NOX  | 
			
				 WORD  | 
			
				 0.05ppm 偏移-200  | 
		
| 
				 11  | 
			
				 SCR下游NOX  | 
			
				 WORD  | 
			
				 0.05ppm偏移-200  | 
		
| 
				 13  | 
			
				 反应剂余量  | 
			
				 BYTE  | 
			
				 0.4%  | 
		
| 
				 14  | 
			
				 进气量  | 
			
				 WORD  | 
			
				 0.05kg/h  | 
		
| 
				 16  | 
			
				 SCR入口温度  | 
			
				 WORD  | 
			
				 0.03125deg 偏移-273  | 
		
| 
				 18  | 
			
				 SCR出口温度  | 
			
				 WORD  | 
			
				 0.03125deg 偏移-273  | 
		
| 
				 20  | 
			
				 DPF压差  | 
			
				 WORD  | 
			
				 0.1kpa  | 
		
| 
				 22  | 
			
				 发动机冷却液温度  | 
			
				 BYTE  | 
			
				 1deg 偏移-40  | 
		
| 
				 23  | 
			
				 邮箱液位  | 
			
				 BYTE  | 
			
				 0.4%  | 
		
| 
				 24  | 
			
				 累计里程  | 
			
				 DWORD  | 
			
				 0.1km  | 
		
SAE J1939通讯协议是目前汽车电子控制领域相对全面的通讯协议,研究开发人员都遵循这个协议进行汽车数据采集及汽车电子管理控制单元开发,将提供一个开发标准和开发接口,提高汽车电子控制系统通用性,在开发相同功能的控制模块下,缩短了开发周期,降低了开发成本,同时,J1939协议在客车和卡车领域有着成熟广泛的应用。
由此看到,J1939是目前有使用参考意义的车用网络协议,对其测试分析可以为我们定制上册协议有着重要的作用,随着对CAN总线的研究和应用领域对CAN总线的更高要求,以SAE J1939标准为协议的CAN总线产品将得到更大的发展。







