SAE-J1939中的PGN和SPN,以及多包传输

上传者: 25284701 | 上传时间: 2025-06-30 16:28:28 | 文件大小: 6.52MB | 文件类型: DOCX
### SAE-J1939中的PGN和SPN,以及多包传输 #### SAE J1939概述 SAE J1939是一种广泛应用于商用汽车行业的开放式网络和通信标准。这一标准旨在定义如何让电子控制单元(ECU)通过控制器局域网(CAN)总线进行有效通信。它几乎涵盖了所有类型的商用车辆,包括但不限于公交车、大型卡车等,并且在农业、军事及海洋运输领域也有应用。 SAE J1939的工作速率通常为250kbps(部分新协议支持500kbps),使用29位的CAN标识符来确保数据的准确传输。 #### SAE J1939法规文件结构 SAE J1939提供了一系列规范文档,其命名结构有助于用户理解不同部分的功能和用途。 #### 协议数据单元(PDU) PDU由七个主要部分构成: - **优先级**:定义了数据传输的紧急程度。 - **扩展数据页**:用于标识数据页的类型。 - **数据页**:包含实际的数据信息。 - **PDU格式**:指示数据的具体格式。 - **PDU特定域**:可以作为目标地址、组扩展或特定于特定应用。 - **源地址**:发送方的标识。 - **数据场**:包含实际传输的数据。 每个PDU都会被封装在一个或多个CAN数据帧中,通过物理媒介传输至其他网络设备。每个CAN数据帧只能承载一种PDU。 #### J1939报文类型 SAE J1939定义了五种基本的报文类型: 1. **命令**:此类消息允许从特定源地址向特定目的地或全局目的地发送命令,以触发特定动作。 2. **请求**:用于从全局范围或特定目标地址请求信息。 3. **广播/响应**:既可以用作主动广播也可以作为命令或请求的响应。 4. **确认**:分为两种形式——基于CAN协议的确认和应用层确认。 5. **组功能**:用于一组特殊功能,如网络管理功能等。 #### PGN与SPN - **PGN(Parameter Group Number)**:参数组号。它是对一组相关的SPN进行分组并定义其在消息中的布局和顺序的标识。PGN不仅用于识别消息的优先级和数据格式,还帮助结构化地传输和解析参数。 - **SPN(Suspect Parameter Number)**:参数号。每个SPN代表了一个特定的参数,如发动机转速、车速等,它提供了一种标准化的方式来描述和识别不同参数。 ##### PGN的组成 PGN由CAN ID中的扩展数据页(EDP)、数据页(DP)、PF(PDU格式)、GE(PDU特定域)加上六个0位组成,总共24位。当PF小于240时,GE默认为0;当PF大于等于240时,GE取正常值。例如,对于报文ID 0x18FECA17: - 第一个字节是18(二进制为0001 1000),优先级为6,EDP=0,DP=0; - 第二个字节是PF=FE(十进制254>240); - 第三个字节是GE=CA(由于PF>240,GE取正常值); - 第四个字节及之后的部分用于标识具体的PGN。 #### 多包传输 在J1939协议中,某些PGN可能包含大量数据,这可能导致单个CAN数据帧不足以容纳全部信息。此时就需要采用多包传输的方式,即把数据分成多个CAN数据帧进行传输。例如,对于多包PGN,一个请求可能会触发一系列CAN数据帧的响应,每帧包含一部分数据。这种机制确保了即使是非常大的数据集也能被有效地传输和处理。 总结而言,SAE J1939是一种强大的通信标准,它通过PGN和SPN的概念实现了复杂数据的有效管理和传输。通过理解和掌握这些核心概念,可以帮助开发者和工程师更好地利用这一标准,提高系统的互操作性和可靠性。

文件下载

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明