J1939广播DM1报文

J1939广播DM1报文一、DM1报文1,SAEJ1939-21(参考5.2)对CANID进行了重新划分,加上8个字节的数据域,构成了J1939的协议数据单元(ProtocolDataUnit,PDU)。SAEJ1939-73(参考5.7.1)中定义了DM1的优先级为6,PGN(参数组数编号)为65226(00FECA),所以源地址为0x41的DM1ID为18FECA41。2,假设源地址为0x41的节点,存在两个现行故障,故障的SPN,FMI分别为(521132,1),(521008,3),按照DTC结构

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

一、DM1报文
1,SAE J1939-21(参考5.2)对CAN ID进行了重新划分,加上8个字节的数据域,构成了J1939 的协议数据单元(Protocol Data Unit, PDU)。

SAEJ1939-73(参考5.7.1)中定义了DM1的优先级为6,PGN(参数组数编号)为65226(00FECA),所以源地址为0x41的DM1 ID为18FECA41。

2,假设源地址为0x41的节点,存在两个现行故障,故障的SPN,FMI分别为(521132,1),(521008,3),按照DTC结构定义,当OC=1时,两个DTC为AC F3 E1 01,30 F3 E3 01。

3,SAEJ1939-73中定义DM1字节1为灯状态,字节2预留,当字节1=00,字节2=FF,0x41节点完整的DM1报文为:0x18FECA41:00 FF AC F3 E1 01 30 F3 E3 01,字节数大于8,将会使用“多帧传输”参数组。

二、多帧传输
1,根据SAEJ1939-21(参考5.10.1),长度大于8字节的消息被拆分成若干个小的数据包,然后使用单独的数据帧对其逐一传送。每个数据包都会被分配搭配一个从1到255的序列编号。最后一个数据包的数据域余下未使用的字节全部设置为“FF”

所以0x18FECA41:00 FF AC F3 E1 01 30 F3 E3 01将会被拆分成两条:01 00 FF AC F3 E1 01 30,02 F3 E3 01 FF FF FF FF

2,根据SAEJ1939-21(参考5.10.2),如果某个节点要广播一条多组的消息,它首先要发送一条广播公告消息(BAM)。BAM消息包含了即将广播的长消息的参数群编号、消息大小和它被拆装的数据报的数目。然后,使用PGN(PGN=60160)来发送相关的数据。

0x18FECA41:00 FF AC F3 E1 01 30 F3 E3 01,消息大小为10个字节,分成两个数据包,参数群编号00FECA,所以BAM的消息数据域为:20 0A 00 02 FF CA FE 00。

3,SAEJ1939-21(5.10.3),定义了链接管理TP.CM(BAM为其中一种)的参数群编号为60416(00EC00),BAM的目标地址为全局目标地址。

【根据SAEJ1939-21(5.2.5): 若PDU 格式(PF)段的值小于240,特定PDU 段是目标地址。若PF 段的值在240 和255 之间,特定PDU 包含群扩展(GE)值。全局目标地址(255)要求所有设备作为消息响应者作出监听和响应。】

所以0x18FECA41的BAM报文ID为:0x18ECFF41

4,SAEJ1939-21(5.10.5)定义了数据传送TP.DT的参数群编号为60160(00EB00),对BAM数据传送使用全局地址。

所以0x18FECA41的TP.DT报文ID为:0x18EBFF41

5,故0x18FECA41:00 FF AC F3 E1 01 30 F3 E3 01在can总线上传输格式为下图红框报文。

J1939广播DM1报文

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(2)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java战斗系列-战斗MAVENPW结构

    java战斗系列-战斗MAVENPW结构

    2022年1月1日
    44
  • linux route 刷新_linux route命令详解

    linux route 刷新_linux route命令详解考试题一:linux下如何添加路由(百度面试题)以上是原题,老男孩老师翻译成如下3道题。a.如何用命令行方式给linux机器添加一个默认网关,假设网关地址为10.0.0.254?b.192.168.1.0网段,192.168.1.1网关的某一服务器想连入172.16.1.0/24段,该如何添加路由(奇虎360)c.如果添加一个主机路由?请分别解答。解答:route-net172.16.1.0…

    2022年7月18日
    36
  • c# combobox属性dropdownlist赋值

    c# combobox属性dropdownlist赋值combobox属性设置为dropdownlist后,text赋值如果combobox的内容里有则显示,没有则不显示。 即如果combobox1包含ABCD,赋值A则可以显示,F则不行。

    2022年10月10日
    4
  • SQL SELECT TOP 子句详解

    SQL SELECT TOP 子句详解SQLSELECTTOP子句SELECTTOP子句用于规定要返回的记录的数目。语法如下SELECTTOPnumber|percentcolumn_name(s)FROMtable_name;实例:从MyTables表里选取前两行数据实例2从MyTables表里取前百分之十的数据需要注意的是如下图那是我整张MyTables表的数据,可以看出根本没有十条数据,那那…

    2022年7月13日
    22
  • journalctl日志管理

    journalctl日志管理Systemd统一管理所有Unit的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.conf。journalctl功能强大,用法非常多。#查看所有日志(默认情况下,只保存本次启动的日志)$sudojournalctl#查看内核日志(不显示应用日志)$sudojournalctl-k#查看系统本次启动的日志$sudojournalctl-b

    2022年5月23日
    36
  • java编写球体体积和面积_球体有哪些物品

    java编写球体体积和面积_球体有哪些物品importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;publicclassVolumeextendsJFrameimplementsActionListener,ItemListener{JPanelp1,p2,p3;JRadioButtonrb1,rb2,rb3;ButtonGroupbg;JButton…

    2022年9月16日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号