当前位置: 首页 > news >正文

J1939协议

J1939 是 SAE(美国汽车工程师学会)制定的一套通信协议标准,主要应用于商用车辆(卡车、客车、工程机械、农用机械等)的车载网络。它的核心是基于 CAN 总线(Controller Area Network),但在 CAN 2.0 的物理层和数据链路层之上,J1939 定义了更高层的通信规则,使得车辆上的不同 ECU(Electronic Control Unit, 电子控制单元)能统一规范地交互数据。


📌 J1939 的主要内容

我给你拆分一下:

1. 物理层
  • 基于 CAN 2.0B,支持 29 位扩展帧 ID

  • 波特率一般为 250 kbps(工程机械、卡车等)或 500 kbps(部分农业、建筑设备)。

  • 总线拓扑采用 多主机、差分双绞线

2. 数据链路层
  • 报文 ID 使用 29 位扩展帧,其中包括 优先级、参数组号(PGN)、源地址(SA)

  • J1939 将 CAN 的 29 位 ID 做了明确划分:

    • 优先级(3 bit)

    • 数据页(1 bit)

    • PDU 格式(PF,8 bit)

    • PDU 特定(PS,8 bit)

    • 源地址(SA,8 bit)

🧩 J1939 29 位 ID 格式

| 28 27 26 | 25 | 24 ........ 17 | 16 ........ 8 | 7 ........ 0 |
+----------+----+----------------+---------------+--------------+
| Priority | DP |       PF       |      PS       |      SA      |
+----------+----+----------------+---------------+--------------+3 bit    1bit     8 bit           8 bit            8 bit
字段说明:
  1. Priority(优先级,3 bit)

    • 数字越小优先级越高。

    • 0 最高优先级,7 最低。

    • 在 CAN 仲裁过程中使用。

  2. DP(Data Page,数据页,1 bit)

    • 用于扩展参数组号 (PGN) 的命名空间。

    • 一般情况下 = 0,高层应用扩展时可能用到 1。

  3. PF(PDU Format,8 bit)

    • 决定报文是点对点 (PDU1) 还是广播 (PDU2)。

    • PF < 240 (0xF0):PDU1 格式 → PS = 目标地址 (DA)

    • PF ≥ 240 (0xF0):PDU2 格式 → PS = 组扩展(Group Extension)

  4. PS(PDU Specific,8 bit)

    • 当 PF < 240 → 目标地址 (Destination Address),点对点通信。

    • 当 PF ≥ 240 → 组扩展 (Group Extension),用于广播 PGN 扩展。

  5. SA(Source Address,8 bit)

    • 表示报文发送方的地址 (0–253)。

    • 254 保留,255 表示全局地址。


🔑 PGN(Parameter Group Number)的组成

PGN = {DP, PF, PS?}

  • 如果 PF < 240 (PDU1) → PGN = {DP, PF, 0} (PS 不算入 PGN)。

http://www.xdnf.cn/news/1333729.html

相关文章:

  • C++围绕音视频相关的资料都有哪些?如何进行学习
  • 升级Android系统webview
  • 运维日常工作100条
  • linux内核源码下载
  • Redisson3.14.1及之后连接阿里云redis代理模式,使用分布式锁:ERR unknown command ‘WAIT‘
  • 双模式 RTMP H.265 播放器解析:从国内扩展到 Enhanced RTMP 标准的演进
  • 猫头虎开源AI分享|基于大模型和RAG的一款智能text2sql问答系统:SQLBot(SQL-RAG-QABot),可以帮你用自然语言查询数据库
  • PowerShell脚本检查业务健康状态
  • Web3:重构互联网秩序的下一代范式革命
  • OceanBase DBA实战营2期--SQL 关键字限流学习笔记
  • CAT1+mqtt
  • Bigemap APP 详细使用教程,入门学习PPT
  • KDD 2025 | CMA:一次训练,预测任意过去与未来!元学习+扩散模型颠覆时序预测!
  • 【嵌入式电机控制#33】FOC:意法电控驱动层源码解析——整体框架篇(了解,常查阅)
  • 【Day 31】Linux-LNMP
  • 0基础安卓逆向原理与实践:第3章:逆向工程理论基础
  • 8 webUI中-Controlnet(控制与约束)的应用分类与使用方法
  • C++高频知识点(三十一)
  • 【ElasticSearch】ElasticSearch Overview
  • k8sday12数据存储(1/2)
  • AI 效应: GPT-6,“用户真正想要的是记忆”
  • 凸问题-非凸问题-非凸模型
  • JavaScript 性能优化实战(易懂版)
  • 【电气工程学习】
  • (nice!!!)(LeetCode 每日一题) 1277. 统计全为 1 的正方形子矩阵 (动态规划)
  • Qt5.9.9 + Windows API 开发系统监控工具 - 教学级项目实战
  • 项目各功能介绍
  • linux下MySQL安装与卸载
  • Tomcat 性能优化终极指南
  • 餐饮灶头:后厨效率与菜品稳定的核心载体