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

J1939协议

简介

J1939遵从CAN 2.0B要求,使用扩展帧格式(29位ID)定义了一个完整的标准化通讯策略

J1939规定每个节点使用一个源地址,并且将节点的源地址映射到CAN标识符中,以避免多个节点使用同一个CAN标识符

J1939通过PDU定义了一个框架,用来组织数据帧中J1939协议相关的信息

PDU由数据帧中的ID和数据场组成

 

缩写

PDU—Protocol Data Unit,协议数据单元

PF—PDU Format,PDU格式

PS—PDU Specific,PDU细节

GE—Group Extension,组扩展

SA—Source Address,源地址

DA—Destination Address,目标地址

PGN—Parameter Group Number,参数组编号

PDU

P-Priority优先级

 

总线传输中用来优化报文延迟

长度3位:最高0-最低7

缺省优先级:控制类报文P=3,其他P=6

新参数组分配或网络负载需要时,可以调整优先级

R-Reserve保留位

 

保留,以备SAE今后扩展

长度1位,始终置0

PGN的一部分

分配给P以增加优先级范围,分配给DP增加数据页范围

扩展数据页EDP

DP-Data Page数据页位

 

用来将所有参数组分页

长度1位,当前已经分配所有参数组DP=0

PGN的一部分

只有当数据页0中的参数组全部分配完之后,才

能分配页1中的参数组

PF-PDU格式

 

用来确定PDU的2种格式

长度8位:0-239(00-EF)表示PDU1,240-255(F0-FF)表示PDU2

PGN的一部分

PDU1格式:报文向特定目标地址发送,此时PGN的最低字节为0,PS不表示PGN的有效数值,表示目标地址。

PDU2格式:报文作为全局报文发送,PS域表示PGN的有效数值

PDU细节(PDU Specific)

 

由PF决定其含义

 

长度8位

PDU1格式:表示目标地址

PDU2格式:表示组扩展,用于全局广播

DA表示该报文要发送的目标地址

GE表示PS在PDU2中与PF的4个最低有效位能够共同确定4096个PDU2格式参数组

SA-Source Address源地址

 

用来标识节点设备,保证CAN数据ID的唯一

长度8位

网络中一个特定SA只能匹配一个设备

参数组

定义:应用层中定义的与某个ECU相关的具有相同控制功能的若干个参数的组合

将与ECU相关的多个参数(例如发动机转速、水温等)集合成一个组

参数组中参数的特点

功能相同(例如机油系统、冷却系统、燃油系统等)而不是类型相同(例如温度、压力、速度等)

所有参数具有相同传输更新速率

所有参数来源于相同ECU

列出应用层的全部参数组,按照PGN排序

PGN—Parameter Group Number

参数组编号,24位数字,唯一的标识一个特定的参数组

用于唯一标识参数组的号码

24位数字,应用层定义

与PDU中的某些域场存在对应关系

 

CAN报文,PDU,PGN关系

 

报文类型

命令报文

功能:某个源地址设备发送命令到特定或全局目标地址,目标地址设备根据接收到的命令报文执行特定的动作

接收到命令报文后设备应作出“响应”

请求报文

功能:用于向全局或特定目标地址请求某个参数组

广播报文

设备主动发送的报文

响应报文

对命令或请求响应的报文

应答报文

功能:对特定命令或特定请求的一种响应

应答报文必须发送至全局地址255

应答类型:肯定应答(ACK)/否定应答(NACK)/拒绝访问/无法应答

数据链路层

通过数据链路层的组织,使得发送的CAN数据帧具有必需的同步、顺序控制、错误控制和流控制,保证了数据输的可靠性

点对点会话

TP.CM_RTS

TP.CM_CTS

TP.DT

TP.CM_EndofMsgACK 

 

  

广播公告

TP.CM_BAM

TP.DT

 

连接超时

超时功能:控制报文的发送速率,留给对方足够的处理时间,防止长时间等待

超时处理:点对点会话中,等待方发送放弃连接报文,退出传输过程。广播公告中,直接退出传输过程。

超时参数

 

 

http://www.dtcms.com/a/273125.html

相关文章:

  • 个体户核定多地暂停,将不再享受核定征收?
  • 人工智能-基础篇-29-什么是低代码平台?
  • 大数据学习6:Sqoop数据迁移工具
  • ArcGIS 打开 nc 降雨量文件
  • MinerU2将PDF转成md文件,并分拣图片
  • TB6612电机驱动
  • [注解: @ComponentScan]-原理分析
  • Cloudflare 发布容器服务公测版:边缘计算新时代来临?
  • 职坐标:嵌入式AI边缘计算实战
  • React 实现五子棋人机对战小游戏
  • FFmpeg Windows安装
  • 定位模拟的详细步骤
  • vue3使用mermaid生成图表,并可编辑
  • 数学建模:多目标规划:ε约束法、 理想点法
  • 【大模型推理论文阅读】Enhancing Latent Computation in Transformerswith Latent Tokens
  • pharokka phold--快速噬菌体注释工具
  • 深入了解 Vim 编辑器:从入门到精通
  • MySQL高级特性全面解析:约束、表关系、多表查询与事务
  • 深入剖析C++ RPC框架原理:有栈协程与分布式系统设计
  • 技术学习_检索增强生成(RAG)
  • QT数据交互全解析:JSON处理与HTTP通信
  • 云原生技术与应用-Docker高级管理--Dockerfile镜像制作
  • 西部数据WD授权代理商-深圳同袍存储科技有限公司
  • 医学+AI!湖北中医药大学信息工程学院与和鲸科技签约101数智领航计划
  • Web后端开发工程师AI协作指南
  • 龙迅#LT7911E适用于TPYE-C/DP/EDP转MIPIDSI/LVDS应用功能,支持DSC 分辨率缩放,分辨率高达4K60HZ!
  • 寒武纪MLU370编程陷阱:float32精度丢失的硬件级解决方案——混合精度训练中的定点数补偿算法设计
  • Linux指令与权限
  • uniapp滚动组件, HuimayunScroll:高性能移动端滚动组件的设计与实现
  • window显示驱动开发—XR_BIAS 和 PresentDXGI