当前位置:网站首页 > C++编程 > 正文

can报文解析实例(can报文pgn)



CanOpen协议是在标准的CAN总线上运行的应用层协议,其通信模式也是工业通信协议常用的。主站也被称为“客户端”,从站也被称为“服务器”。

底层通信方式使用CAN标准帧格式,也就是CAN ID为11位(0x000~7FF),数据8字节。简单的看,协议主要是定义了:

1、CAN ID的使用约定。

2、CAN数据部分8个字节的使用约定

根据功能码功能分为PDO报文和SDO报文,PDO报文需要按约定映射数据对象,无需协议开销,SDO报文分段传输和块传输,需要协议开销。

PDO分两种用法,发送和接收,分别为Transmit-PDO(TPDO)和Receive-PDO(RPDO), TPDO为从站(组件)发送主站(控制器),RPDO为主站(控制器)发送给从站(组件)。

PDO报文传输采用定时器触发的方式,定时器时间可以通过SDO报文配置。

原则上分配PDO的FUN-ID表为:表1 PDO分配FUN-ID表 PDO FUN-ID PDO1(tx) 0x1810x1FF PDO1(rx) 0x2010x27F PDO2(tx) 0x2810x2FF PDO2(rx) 0x3010x37F PDO3(tx) 0x3810x3FF PDO3(rx) 0x4010x47F PDO4(tx) 0x4810x4FF PDO4(rx) 0x5010x57F

功能码功能分为下载(写)和上传(读)功能,参考DS301协议的SDO传输协议。 SDO用于客户端和服务器之间传输多个数据集(每个包含任意大小数据块)。客户端通过寻址(对象字典的索引和子索引)来控制传输哪个数据集,数据集的内容定义在对象字典中。 SDO可采用段序列传输,也可以采用块传输,段和块传输可用于OTA升级数据报文传输。

段传输
先发送一个初始化分段指令,让客户端和服务器各自准备好处理接下来的分段。对于传输数据量小于等于4个字节情况,可以在初始化分段指令中包含数据,无需再分段传输(称为快速SDO传输)。

块传输
其中每个块可由多至127段(包含序号和数据)的段序列组成。先发送一个初始化块,让客户端和服务器准备好处理接下来的块,并议定每块的分段数。在传输完成阶段。客户端和服务器通过校验来验证之前接收到的数据集的正确性。

  • SDO下载,分为SDO下载启动,SDO下载分段。
  • SDO上传,分为SDO上传启动,SDO上传分段。
  • SDO中止传输
  • SDO块下载,分为SDO块下载启动,SDO下载块,SDO块下载结束。
  • SDO块上传,分为SDO块上传启动,SDO上传块,SDO块上传结束。

SDO段传输一共定义了六种带应答的服务(SDO下载,SDO上传,SDO上传启动,SDO下载启动,SDO分段下载和SDO分段上传)和一种不带应答的服务(SDO中止传输),它们共同进行SDO段正常传输和加速传输。

SDO块传输一共定义了八种带应答的服务(SDO块下载,SDO块上传,SDO块上传启动,SDO块下载启动,SDO子块下载,SDO子块上传,SDO块上传结束和SDO块下载结束)和一种不带应答的服务(SDO中止传输),它们共同进行SDO块正常传输和加速传输。

到此这篇can报文解析实例(can报文pgn)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • console线和串口线的区别(串口和console口的区别)2025-02-21 18:00:10
  • CNN神经网络原理(cnn神经网络原理图)2025-02-21 18:00:10
  • gitclone指定版本(git 指定版本)2025-02-21 18:00:10
  • sigmod会议审稿时间(sigmod会议 ccf)2025-02-21 18:00:10
  • 安乃近和apc谁的副作用大(apc与安乃近哪个副作用大)2025-02-21 18:00:10
  • 消息认证码(MAC)(消息认证码(MAC)算法需要满足哪两个性质?)2025-02-21 18:00:10
  • cpx1500(cpx1500功放机)2025-02-21 18:00:10
  • apc和aps(apc和aps经济学)2025-02-21 18:00:10
  • pc与apc的区别(pc upc 和 apc 区别)2025-02-21 18:00:10
  • 怎么样关闭dhcp(怎么样关闭抖音月付功能)2025-02-21 18:00:10
  • 全屏图片