知识分享 | 了解 SAE J1939
发布网友
发布时间:2024-09-30 07:52
我来回答
共1个回答
热心网友
时间:2024-10-31 12:05
SAE J1939是由汽车工程师协会定义的标准,专门用于为微处理器系统提供串行数据通信。它主要用于大型车辆的复杂网络,如重型车辆、卡车、拖拉机、农用车辆、船舶、援助和救援以及越野车辆等。此协议基于控制器局域网(CAN),可互连车辆内部组件。J1939已取代SAE J1708和J1587标准,成为多个制造商之间的通信标准。
SAE J1939是一种基于CAN的高层协议,使用29位报文ID,支持250kbps或最大500kbps,但支持超过8个数据字节的报文。SAE J1939报文由18位参数组号(PGN)标识,SPN(可疑参数编号)表示参数组中的特定参数。PGN和SPN一起定义了参数的分配、重复率、优先级、数据长度、规模、数据类型、单位、分辨率、偏移、范围和参考标签。
SAE J1939的传输协议包括广播通告消息(BAM)和连接模式(CM)。BAM是一种一对多的沟通方式,使用全局目标地址,报文将传输到所有节点。CM是点对点连接,涉及特定设备,传输端发送带有控制字节和相关参数的CM报文,接收端通过控制字节进行响应。在CM模式下,接收方负责数据流控制,传输不受时间限制,每个节点以最大速度运行。
SAE J1939还包含诊断故障代码,用于记录ECU中的每个故障,包括SPN、FMI(故障模式指示器)、OC(发生率计数器)和CM(转换方法)。故障代码帮助识别和记录SPN行为异常的错误属性。
SAE J1939的数字附件(J1939 DA)允许根据制造商的产品需求创建DBC文件。DBC文件传达了创建J1939 DBC所需的技术信息,J1939 DA是一个Excel文件,帮助人们创建DBC文件。Influx DiaLog和其他CANbus数据记录仪,如Rebel和ReXgen系列,支持J1939数据记录,并根据J1939过滤器(SA、DA、PGN)记录数据。