首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SAE J1939学习笔记(一)「建议收藏」

SAE J1939学习笔记(一)「建议收藏」

作者头像
全栈程序员站长
发布2022-08-24 09:04:37
发布2022-08-24 09:04:37
1.8K0
举报

大家好,又见面了,我是你们的朋友全栈君。

1.总线布局

2.差分信号线

J1939 通讯传输的是一系列的“1”或“0” 。

1 代表在J1939(+)与J1939(-)之间是高电压差。

0 代表在J1939(+)与J1939(-)之间是低电压差

250K波特率时,在J1939高、低导线间的电压从0到1每秒变化250K次是可能的。用一个高频示波器可以看到此电压变化。

3.ISO标准对应

– Layer1– J1939/11: 物理层,物理介质 , 总线的设 计 , 长度 , 节点 , 等等 .

– Layer2– J1939/21: 数据层,定义分类 PGN 信息 / 传输协议 .

– Layer3– J1939/31: 网络层,定义不同网络互连之间 的转换技术。

– Layer7– J1939/71: 应用层,信息分享、解析。

J1939/73: 应用层,故障信息。

4.术语

SPN–特定参数–特定参数对应的号码,例如: SPN 190 = 发动机转速 SPN 513 = % 扭矩

PGN – 参数 号码 –总线上的信息被以 “ 组 ” 的形式广播,例如:

PGN 61444 = 发动机控制器 #1 (EEC1)

PGN 61444 = SPN 190, SPN 513, 等等 .

发动机转速和扭矩百分比都属于 PGN 61444参数组。

优先级 – 告诉 ECM 接收的信息的重要性 :

0 = 最重要

6 = 最不重要

例如:如果变速箱用优先级3请求发动机升速,而牵引控制器用优先级0请求发动机降速,最终发动机会选择降速。

源地址和目的地址 – 指示信息是从哪一个控制器发出,或发送到哪一个控制器。

00 h – 发动机控制器--主机

01 h – 发动机控制器--辅机

03 h – 变速箱

5.CAN标准帧和扩展帧

标准帧只有11位的标识符(ID)

扩展帧有11+18=29位标识符(ID)

以后均以扩展帧作介绍。

6.协议数据单元(PDU)

标识符+数据域=协议数据单元(PDU)。

7.参数组编号(PGN)

PGN(Parameter Group Number)参数组编号: 参数组编号唯一标识一个参数组,在通讯过程中起到“索引”的作用,表征报文的内容和用途,确定报文的类型和传播数据需要的帧数目。可以理解为同类(或者有共同特征的设备)参数的集合的索引。

SAEJ1939中的格式规定如下:

pgn61443 – Electronic EngineController #2 – EEC2 –

Transmission Repetition Rate: 50ms ->信息发送周期

Data Length: 8 Bytes ->数据域长度(CAN扩展帧中的数据域)

Data Page: 0 ->数据页(PGN中的数据页DP)

PDU Format: 240 ->PDU格式(PDU1(<240)和PDU2(240~255))(CAN格式中的PF)

PDU Specific: 3 ->PDU特定域(PF<240,DA,240≤PF≤255,组扩展)

Default Priority: 3 ->优先级

Parameter Group Number: 61443 (00F00316) ->PGN

Bit Start Position / Byte Length SPNDescription SPN (对应的SPN号) ->数据域分布

1.1 2 bits Accelerator Pedal Low Idle Switch 558 ->1.1表示第一个字节第一位

1.3 2 bits Accelerator Pedal Kickdown Switch 559 ->2bits表示该SPN对应的数据长度

1.5 2 bits Road Speed Limit 1437

2 1 byte Accelerator Pedal Position 91

3 1 byte Percent Load at Current Speed 92

4 1 byte Remote Accelerator 974

8.特定参数号(SPN)

spn91 – Accelerator PedalPosition – The ratio of actual acceleratorpedal position to maximum pedal position. Although it is used as an input to determine transmission and ASRalgorithms about driver’s actions.

Data Length: 1 Bytes ->SPN号对应的数据的长度

Resolution: 0.4%/ bit, 0 offset ->计算方式(见下)

Data Range: 0 to100% ->数据范围(涉及偏移量计算)

Type: Measured

Suspect Parameter Number: 91 ->SPN号

Parameter Group Number: [61443] ->隶属的PGN号

由SPN数据(CAN格式中的读出的数据)计算实际的数据方法:

如下是一个实际的 J1939信息

0.1000 1 OCF00300x Rx d8 7DC3 C0 2D FFFFFFFF

转换步骤:

十六进制转成十进制 乘以转换系数 加上偏置

举例:

查询PGN:

SPN110如下:

SPN175:

其他类同。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/139897.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月7,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.总线布局
  • 2.差分信号线
  • 3.ISO标准对应
  • 4.术语
  • 5.CAN标准帧和扩展帧
  • 6.协议数据单元(PDU)
  • 7.参数组编号(PGN)
  • 8.特定参数号(SPN)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档