tp.cm和tp.dt报文说明,为什么计算的pgn不对,1939里的GPN如何计算,什么时候的报文没有目标地址。
ISO 11989只规定了CAN总线的物理层和链路层协议,在实际应用中,为保障不同厂家设备的兼容性,需要统一CAN总线的应用层协议。常见的应用层协议有:SAE J1939、CANOpen和DeviceNet。
- SAE J1939
SAE J1939基于CAN2.0B,通信速率250kbit/s,最多可带30个设备,最大总线长度可达40 m,节点线最长1米。SAE J1939定义了29位Indentifier和数据域的使用方法。定义协议数据单元(PDU = Indentifier+数据域),PDU格式:
优先权P:值越小,报文的优先权越高。
参数组编号PGN:参数组编号唯一标识一个参数组,表征报文的内容和用途,确定报文的类型和传播数据需要的帧数目。
扩展数据页EDP与数据页DP:没啥特别解释的,分类用的。
PDU格式PF:PDU有两种类型PDU1和PDU2,PDU1向特定地址发送报文,PDU2向全局地址发送报文。当PF为0239时,表征报文为PDU1;当PF为240255时,表征报文为PDU2。
特定域PS:功能由PF决定,当PF为PDU1时,PS表示目标地址;当PF为PDU2时,与PF的4个最低有效位能够共同确定4096个PDU2格式参数组。
源地址SA:发送消息的电控单元(ECU)地址。
数据域:CAN2.0的数据域最多支持8字节的数据,如果PDU的数据小于等于8字节,1个PDU用1个CAN2.0帧传输即可;如果PDU的数据大于8字节,就需要在发送时进行拆包,在接收时进行重组。接收端如何识别是否需要重组以及怎么重组呢?J1939的做法是在拆包的情况下,将8字节的数据区的第一个字节用于表示拆包后的序号(1-255);因此,最长的PDU为255×7字节。
例子:
;---------------------------------------------------------------------- (特定目标地址通讯)PDU1P R DP PF PS(DA) SA Data Field3 1 1 8 8 8 0-64;---------------------------------------------------------------------- (广播)PDU2P R DP PF PS(GE) SA Data Field3 1 1 8 8 8 0-64;---------------------------------------------------------------------
18FEDF00
110| 0 0 | 11111110 11011111 | 00000000
优 | | |
先 | | PGN | 源地址
级 | | |
优先级:110 ro 6
参数组:FEDF or 65247DEC
源地址:00H
及就是PF>240,则没有目标地址,只有源地址00XXXX
PF<240,则有目标地址,有源地址,PGN既就是00XX00
TP.CM报文的PF=EC,EC<F0,所以TP.CM的CANID是包含目标地址的,但是目标地址是FF,是广播地址,而PGN则应该是00EC00,而不是00ECFF。
tp.cm和tp.dt报文说明,为什么计算的pgn不对,1939里的GPN如何计算,什么时候的报文没有目标地址。相关推荐
- Transaction Processing Monitor(事务处理监视器),TP服务,TP监控服务
#Transaction Processing Monitor(事务处理监视器) @[TOC](康康的笔记-Transaction Processing Monitor(事务处理监视器)) Trans ...
- java解析五元组,解析报文 解析出packet的五元组(源地址、目标地址、源端口、目标端口、协议号)信息和当前包的流量大...
我们重点关注五元组+状态+inode号分别在第2.3.4.11列 进程文件描述符 网络状态文件/proc/net/tcp"0B": "CLOSING" 在lin ...
- java版tp指令,VAG TP 2.0完整的AT命令列表
我试图在斯柯达Rapid 2009模型中找到各种ECU的DTC . 我使用的是OBDLink SX(elm 327芯片)和Putty(类似于HyperTerminal) https://jazdw.n ...
- 手机电容TP和电阻TP原理简介
电容屏手机是只能用手指进行操作,不可以用普通的手写笔操作,但可以用专用的电容屏手写笔,但这对于电容屏来说没有多大必要:电阻屏手机可以用手指,也可以用手写笔操作. 目前人们对用手指进行触控操作的电容屏手 ...
- 聚合支付里各扫码支付的返回报文样例
qq扫码返回url: https://myun.tenpay.com/mqq/pay/qrcode.html?_wv=1027&_bid=2183&t=6V1118c62c2a8a96 ...
- J1939协议中CAN ID 与PGN互换--遇到了广播报文
Ref:J1939 Explained - A Simple Intro (2021)– CSS Electronics Ref:CAN 帧ID 与J1939 PGN 转换例子_horse_2007s ...
- BMS与充电机控制导引
目录 1.通讯单元 1.1 can数据帧 1.1.0 硬件数据单元 1.1.1 协议数据单元(PDU) 1.1.2 参数组编号(PGN) 1.1.3 可疑参数号(SPN) 2.充电流程,数据交互流程 ...
- 基于ip地址的客户识别原理_使用 LVS 实现负载均衡原理及安装配置
[141] 负载均衡集群是 load balance 集群的简写,翻译成中文就是负载均衡集群.常用的负载均衡开源软件有nginx.lvs.haproxy,商业的硬件负载均衡设备F5.Netscale. ...
- net 模式中虚拟机连不上本机oracle_高并发与负载均衡(三种负载模式)
随着互联网的飞速发展,传统的昂贵的大容量高性能服务器(F5 BIG-IP.Citrix NetScaler.A10)已经越来越应付不了日益增长的业务需求了,而高并发和负载均衡所带来的高可靠/高可用/低 ...
最新文章
- mxnet java 例子_mxnet(gluon) 实现DQN简单小例子
- windows下训练FCN模型所遇到的问题
- HDU2021多校第五天 1009 Array-树状数组求二阶前缀和
- 论文解读:Attention is All you need
- mysql cve 2016 3521_MySQL-based databases CVE -2016-6663 本地提权
- c语言sort函数_C语言经典面试题目及答案详解(二)
- android快速搭建界面,怎么样能快速搭建一个Android APP的界面和框架?
- C语言链表的操作和讲解
- 阶段3 1.Mybatis_07.Mybatis的连接池及事务_2 连接池介绍
- C# 通过string路径 获取文件名、文件扩展名、路径
- ZTE10机顶盒中心服务器,中兴机顶盒现场配置工具ZTE_STB_Tools_V1.1.0_T07.01最新版
- Kettle数据抽取实战之四:网页数据抽取
- java写一个泡泡龙小游戏
- Opencv入门(播放AVI视频)
- 牛牛的宝可梦Go(dp+floyd)
- 固定IP地址及其重启后地址更改的解决方法
- 2015自然基金一审结果:项目申请的共性问题。
- 【数据增强】用cv2旋转图像并自定义填充背景颜色(主要用到cv2.getRotationMatrix2D 和 cv2.warpAffine)
- format函数用法详解
- unzip error 22 - Invalid argument
热门文章
- 高级项目管理师专用,Pareto(帕累托)图制作的七大步骤
- 花钱学Python其实没必要的,自学宝藏在这里
- 计算机不在同一个网络,电脑设置ip地址提示默认网关不在由ip地址和子网掩码定义的同一网络段上怎么办...
- autojs免root脚本引擎开发的QQ名片点赞源码免费分享
- 论文可以按论文范文格式照抄吗?
- 如何在linux系统安装搜狗输入法,在Ubuntu 12.04 LTS版本下安装搜狗输入法 for Linux...
- 本体开发日记07-我与java分词组件的爱恨情仇-Hit类
- 在树莓派上使用zeronet
- 云计算服务模型和openstack架构常用模块介绍
- 快手小店怎么引流?快手怎么做店铺引流?