2.1 握手阶段报文解析

2023-10-30

一、握手辨识和充电握手辨识

在这里插入图片描述

BMS 充电机
1、充电机向BMS发送“充电机握手报文CHM”
2、BMS等待是否收到“充电机握手报文CHM”。(1)、是,向充电机发送“BMS握手报文BHM”。(2)、否,则继续等待
3、充电机等待是否收到“BMS握手报文BHM”。(1)、是,结束握手辨识阶段。(2)、否,重新返回步骤1。
4、BMS等待是否收到“充电机握手报文CHM”。(1)、是,重新返回步骤2.1。(2)、否,结束握手辨识阶段。
在这里插入图片描述
BMS 充电机
1、充电机向BMS发送“SPN2560=0x00的充电机辨识报文CRM”。
2、BMS等待是否收到“SPN2560=0x00的充电机辨识报文CRM”。(1)、是,向充电机发送“BMS和车辆辨识报文BRM”。(2)、否,继续等待。
3、充电机等待是否收到“BMS和车辆辨识报文BRM”。(1)、是,向BMS发送“SPN2560=0xAA的充电机辨识报文CRM”。并结束充电参数配置阶段。(2)、否,返回步骤1。
4、BMS等待是否收到“SPN2560=0xAA的充电机辨识报文CRM”(1)、是,结束充电参数配置阶段。(2)、否,返回步骤2.1。

二、CAN数据分析

  下面是通过周立功的CAN采集器采集的真实的CAN报文数据,数据是某次充电中的数据,如电流电压等数据都不具备普遍性。
  1、CAN总线第一次接收到BMS发送给充电机的报文,PGN是0x61,没有出现在GBT27930中,需要查一下。
  需要注意的是,该报文是在启动充电后才发送的,并不是插枪后发送,插枪并不会启动BMS和充电机之间的CAN报文传输。

{can recv id:9861f456 len:8 data:0 0 0 0 aa 6f ca 1b }

  2、充电机发送给BMS的CHM充电机握手报文,根据协议可知,第1个字节为小版本号,第2~3字节为大版本号,故小版本号为0x01,大版本号为0x0001,注意是小端存储。即协议版本为V1.1。

{can recv id:9826f456 len:3 data:1 1 0 }

  3、BMS发送给充电机的BHM车辆握手报文,表示最高充电电压,为0x0e42,即365V。BHM报文要发送许多次,充电机才会回应。

{can recv id:982756f4 len:2 data:42 e }

  4、充电机发送给BMS的CRM充电机辨识报文,第1个字节为辨识结果,因为充电机还未收到BMS的BRM报文,故这里为0,第2-5字节为充电机编号,这里为0x01010101,第6~8字节为区域编码,为0x333231。CRM报文,充电机会发送多次。

{can recv id:9801f456 len:8 data:0 1 1 1 1 31 32 33 }

  5、 BMS发送给充电机的BRMBMS和车辆辨识报文,因为这个报文的长度超过了8字节,使用了多包传输协议,可以看到一共用了10个包。前面两条报文应该是0x10在前,0x11在后,这里应该是log的问题。
  0x10该条表示,BMS发送给充电机,要发送0x31个字节的数据,全部数据包为7个,PGN为0x02。
0x11该条表示,充电机发送给BMS,可以发送数据包数为7,下一个要发送的数据包编号为1,PGN为0x02。
  BMS发送给充电机的7个数据包,编号分别从1到7,第1-3字节为BMS通讯协议版本号,小版本号为0x01,大版本号为0x0001。第4字节表示电池类型,3代表磷酸铁锂电池。第5-6字节表示电池的额定容量,0x0320,即80Ah。第7-8字节为电池额定电压0x0e42,即365V。第9-24字节,都是电池的相关信息,在这里都是0xFF,即无。第25-41字节,是车辆识别码VIN,在这里也是无。第42~50字节,是BMS软件版本号。
  0x13,该条表示,充电机给BMS的消息结束应答。即接收到了0x31个字节,7个数据包。PGN为0x02。
  注意下面中RTS和CTS的顺序颠倒过来了,这是抓包工具的问题,实际上RTS在CTS之前。

{can recv id:9cecf456 len:8 data:11 7 1 ff ff 0 2 0 }
{can recv id:9cec56f4 len:8 data:10 31 0 7 7 0 2 0 }
{can recv id:9ceb56f4 len:8 data:1 [1 1 0] 3 [20 3] [42 }
{can recv id:9ceb56f4 len:8 data:2 e] [ff ff ff ff] [ff ff }
{can recv id:9ceb56f4 len:8 data:3 ff ff] ff ff ff [ff ff }
{can recv id:9ceb56f4 len:8 data:4 ff] ff ff [ff ff ff ff }
{can recv id:9ceb56f4 len:8 data:5 ff ff ff ff ff ff ff }
{can recv id:9ceb56f4 len:8 data:6 ff ff ff ff ff ff] [1 }
{can recv id:9ceb56f4 len:8 data:7 7 12 20 16 ff 2 7] }
{can recv id:9cecf456 len:8 data:13 31 0 7 ff 0 2 0 }

  6、充电机发送给BMS的CRM充电机辨识报文,第1个字节为辨识结果,充电机已经收到BMS的BRM报文,故这里为0xaa,后续字节和前面CRM报文都一样。

{can recv id:9801f456 len:8 data:aa 1 1 1 1 31 32 33 }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2.1 握手阶段报文解析 的相关文章

  • 智慧城市

    智慧城市 目录 智慧城市 1 产生背景 2 发展历程 3 建设意义 4 国际实践 5 数字城市 6 现状 7 我国规模 8 应用体系 9 应用项目 10 体验馆 11 智慧城市体验馆 12 4G助力 13 信息技术在智慧城市建设中的应用 1
  • atomicops.h

    https git project hobbit eu dj16 ricec blob c9d3dceb1c3b1c03a42077e0461e3ce5a2615a51 data atomicops h L248 2013 2016 Cam
  • Postgresql 快速实现 表数据备份与恢复

    背景 在大批量数据备份 或迁移时 如果使用客户端则效率低耗时长 推荐使用服务器执行命令速度快 一 备份表 1 这里使用的是Linux服务器 首先进入安装当前数据库的服务器 可以在home目录下新建一个文件夹 2 输入命令 pg dump t
  • 99款高质量免费HTML/CSS模板(看到了还行,推荐给大家)

    大家都清楚一个网站象征着你和你的品牌 这取决于你如何构建自己的网站 正因为Wordpress越来越受到互联网设计群体的关注 它并不代表最基本的 X HTML CSS很丑 很杂乱和单调 向大家推荐99个高质量的免费 X HTML CSS模板
  • 【错误】kex_exchange_identification: Connection closed by remote hos

    文章目录 错误描述 解决方法 错误描述 在 git push 的时候出现了下面这个错误 kex exchange identification Connection closed by remote host Connection clos
  • C#实现海康威视摄像头的控制

    C 实现海康威视摄像头控制 海康威视网络摄像头SDK开发示例 C C Java Python等
  • (android 地图开发) 高德地图添加浮动按钮

    问题描述 在地图上添加一个按钮 可以响应点击 但是按钮时固定的 地图拖动时 按钮不能动 解决思路 刚开始接触地图开发时 也曾经在这个问题上纠结过 刚刚学会了在地图上添加各种图层 无论是在地图上画大头针也好 绘制路线也好 都是使用图层来处理
  • c++临时对象与空指针导致clion debugger无法运行的bug

    c 临时对象与空指针导致clion debugger无法运行的bug include
  • Linux下安装Tomcat,部署web项目

    一个Linux下运行两个Tomcat的通用做法 一 准备 Tomcat的Linux版本安装包 apache tomcat 7 0 85 tar gz 项目的war包 henNB war eclipse导出为war或者idea build w
  • SQL注入之堆叠注入(sql-lab第38关)

    什么是堆叠注入 在SQL中 分号 是用来表示一条SQL语句结束的 试想一下我们在分号结束一个SQL语句后继续构造下一条语句 会不会一起执行 因此这个想法也就造就了堆叠注入 而堆叠注入可以执行的是任意语句 增删改查 例如以下这个例子 用户输入
  • IDEA启动tomcat控制台中文乱码问题

    项目结构 pom xml
  • osg fbo(一),生成颜色缓冲区图片

    由于工作需要 重新捡了下shader 很明显 fbo是重中之重 好记性不如烂笔头 先记录下 1 生成一个颜色纹理 为了省事 可以将纹理宽高 屏幕宽高 osg ref ptr
  • android10编译 lunch失败,Android各种编译错误的解决方案

    相信大家在编译固件的时候 经常会遇到莫名奇妙的编译错误 从今往后 不用再受这个问题的困扰了 1 常见编译的错误信息 make 1 No rule to make target out target common obj PACKAGING
  • 机器学习---算法基础(十一)贝叶斯网络

    参考文章 频率学派还是贝叶斯学派 聊一聊机器学习中的MLE和MAP 贝叶斯网络 看完这篇我终于理解了 附代码 概率图模型之贝叶斯网络 背景 边缘分布 条件分布 边缘分布 对于单个因素所发生的概率 不考虑其他因素 例如P A 条件分布 在某个
  • 【机器学习-西瓜书】第3章-线性模型

    3 1 基本形式 示例x由 d个属性描述 线性模型 试图学得一个通过属性的线性组合来进行预测的函数 即 3 2 线性回归 3 2 1 一元线性回归 for regression 给定数据集 先考虑最简单的情形 输入只有一个属性 此时线性回归
  • Vue项目打包为桌面应用

    name deskapp version 1 0 0 description main App index html window title 我的桌面应用 icon width 1366 height 768 toolbar false
  • 三个箭头循环标志_科目一交通标志

    如遇格式错乱 图片无法加载 请点击下方链接阅读原文 驾考系列 科目一交通标志 stackoverflow club 分类 交通标志分为主标志和辅助标志两大类 主标志有警告标志 禁令标志 指示标志和指路标志 警告标志 警告车辆与行人注意 黄底
  • springboot项目打包

    springboot项目打包 一 遇到问题 二 项目打包 一 遇到问题 问题 无效的标记 release spring boot starter parent 版本为3 0 0以及以上 与jdk1 8的版本不匹配 release是jdk1
  • 网络爬虫选择代理IP的标准

    Hey 小伙伴们 作为一家http代理产品供应商 我知道网络爬虫在选择代理IP时可能会遇到些问题 毕竟市面上有很多选择 别担心 今天我要给大家分享一些实用的建议 帮助你们选择适合网络爬虫的代理IP 一起来看看吧 首先 我们需要了解爬虫使用代

随机推荐

  • css中如何调整元素位置

    我们通常把样式层叠表叫做css 它是用来修饰html内容的 给内容加各种各样的样式和效果 那么在写实际项目过程中经常会遇到一个普遍性问题 就是调整元素的位置 如果只对于初学编程的人来说 只能用css的知识去做 我们也可以总结一些实用性办法
  • LVGL-输入设备LV_INDEV_TYPE_POINTER类型

    void lv indev read task lv task t task 是定时执行的输入设备任务回调函数 会处理输入设备的数据 按下的处理 static void indev proc press lv indev proc t pr
  • No module named ‘torch_geometric‘解决办法

    写在前面 1 不能简单的直接pip install torch geometric或者 conda install torch geometric 2 直接安装 到后面调用的时候还是会报错 需要先安装四个小部件再安装torch geomet
  • 数字图像处理篇(3)open-cv图像增强之点运算

    目录 一 点运算 1 灰度变换 2 直方图增强 二 空间滤波 1 平滑 线性平滑滤波 邻域平均法 线性平滑滤波 加权平均法 高斯滤波 2 锐化 又到了新的一周 是时候继续学习计算机视觉的先导知识啦 上次我们说过 这次的学习路线大致如下图 今
  • PHP与MySQL程序设计 学习笔记 第三章 PHP基础

    PHP可将代码嵌入到HTML页面中 要让代码完成任务 必须把页面传递给PHP引擎进行解释 但Web服务器并不传递所有页面 只传递具有特定文件扩展标识 一般为 php 的页面 即使只传递某些页面 效率也很低下 因为每一行都可能是一个php命令
  • 什么时候使用引用、什么时候使用指针

    使用引用参数的主要原因有两个 程序员能修改调用函数中的数据对象 通过传递引用而不是整个数据 对象 可以提高程序的运行速度一般的原则 对于使用引用的值而不做修改的函数 如果数据对象很小 如内置数据类型或者小型结构 则按照值传递 如果数据对象是
  • MobilenetV2网络结构

    1 MobilenetV2 均采用PW Point wise DW Depth wise 的卷积方式提取特征 V2版本在DW卷积之前新加入一个PW卷积 能动态改变特征通道 V2去掉了第二个PW的激活函数 最大程度保留有效特征 借鉴ResNe
  • 阿里云服务器docker安装

    卸载docker残留 yum remove docker docker client docker client latest docker common docker latest docker latest logrotate dock
  • [NAS]MCUNet: Tiny Deep Learning on IoT Devices

    MCUNet 在 IoT设备上的微型深度学习 Abstract Section I Introduction Section II Background Section III System Algorithm Co Design Part
  • 因果系列文章(1):因果推断及相关论文

    序 大家好 好久没有更新因果技术的文章了 从今天开始 我会开启一个新的专栏 和大家聊聊因果推断 一方面是给自己做一个技术沉淀 另一方面也是希望可以制造一个场 让对因果有兴趣的朋友们一起来讨论技术 前一篇因果入门的文章中已经为大家简单的介绍了
  • Layui实现之登陆页面&&实现扩展模块

    一 什么是layui layui轻量级的 开源 免费的 前端的框架 ppt模板 框架是实现某种功能的半成品 提供了一些常用的工具类和一些基础通用化的组件 可以供开发人员在此基础上 更高效的满足各自的业务需求 与easyui类似 后台框架 可
  • Ubuntu系统安装完成后启动出现黑屏现象,而且左上角一直有光标闪动

    问题 安装完成重启之后 出现了黑屏现象 而且屏幕左上角一直有白色光标闪动 等了很久没有变化 解决方法 1 将刚刚安装系统用过的Ubuntu启动盘插在电脑上 电脑开机 从这个启动盘启动 方法和安装系统时一样 2 这次不是选在安装Ubuntu
  • C++笔记:使用对象直接访问成员与使用指针间接访问成员的差别

    文章目录 使用对象直接访问成员与使用指针间接访问成员的差别 使用对象直接访问成员与使用指针间接访问成员的差别 查看代码 include
  • lua Date和Time

    time和date两个函数在Lua中实现所有的时钟查询功能 函数time在没有参数时返回当前时钟的数值 在许多系统中该数值是当前距离某个特定时间的秒数 当为函数调用附加一个特殊的时间表时 该函数就是返回距该表描述的时间的数值 这样的时间表有
  • OpenWrt各大软件源地址

    OpenWrt各大软件源地址 官方源 https downloads openwrt org 教育网 https openwrt proxy ustclug org 清华 https mirrors tuna tsinghua edu cn
  • AD绘制PCB时,贴片封装器件的焊盘间距小于10Mil,报错解决

    Design gt Rules gt Manufacturing gt Minimum Solder Mask Sliver 转载于 https www cnblogs com Manual Linux p 9335445 html
  • cpu线程_教你修改注册表来优化Win10对CPU超线程技术的调度问题

    Win10已经是目前主流系统 而Win7会随着时间推移慢慢淘汰掉 但是有些用户依然坚守使用Win7 一种可能是习惯 另一种可能就是需要使用某个软件或者游戏 在Win10下运行不了或者是有各类问题 论CPU Win10对超线程的调度一直没有W
  • 《Python语言程序设计》二级教程课后编程题及答案

    答案不全 仅把本人敲出结果的代码整理如下 大部分为本人思路 部分代码参考了网上文章 初学水平有限 若有错误请读者指出 感谢 第二章 Python语言基本语法元素 2 1获得用户输入的一个整数N 计算并输出N的32次方 N eval inpu
  • 【Maven】maven的常用操作

    基本操作 mvn version 查看maven的版本及配置信息 mvn archetype create DgroupId DartifactId 构建java项目 mvn compile 编译项目代码 mvn package 打包项目
  • 2.1 握手阶段报文解析

    一 握手辨识和充电握手辨识 BMS 充电机 1 充电机向BMS发送 充电机握手报文CHM 2 BMS等待是否收到 充电机握手报文CHM 1 是 向充电机发送 BMS握手报文BHM 2 否 则继续等待 3 充电机等待是否收到 BMS握手报文B