提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 一、UDS诊断
- 1.概念
- 2.多帧传输
- 3.NRC码
- 4.常见SID服务
- 二、使用步骤
- 1.引入库
- 2.读入数据
- 总结
前言
提示:这里可以添加本文要记录的大概内容:
记录CAN和UDS学习的过程:
一、UDS诊断
1.概念
目的:多种网络,统一诊断
类比应用层HTTP协议,通过【请求】和【响应】形式,对ECU进行测试、检测、诊断等功能。
【1】:由于数据场比较短 数据帧传输8字节,CAN FD传输64字节,如果一条诊断的命令超过数据场长度,就需要分包传输———多帧传输。
2.多帧传输
ISO 156765规范规定了帧格式:四种数据帧
以CAN 数据场8字节标准
【单帧】SF:数据有效部分小于8字节,不足使用0XAA/55/CC等填充。SF_DL表示有效字节数。
无论单帧/多帧,每一帧的0号字节的高4位用于区别帧类型(0/1/2/3)
【第一帧】帧类型1:FF:0号字节低四位加1号字节组成FF_DL,表示多帧传输的数据长度。
【连续帧】帧类型2:CF:SN代表帧序号,从1开始.
(第一个16进制 是帧类型,第二个是FS状态)
【流控帧】帧类型3:FC: 0号字节低四位流状态参数FS。BS代表接下来会发送几帧连续帧,当BS=0时,块大小不做限制
STmin规定连续帧发送的最小时间间隔
(第一个16进制 是帧类型,第二个帧序号)
【FS】:0,CTS 继续发送
1,WT 等待 令发送方停发,直到下一个流控帧到来;
2,OVFLW 溢出 当接收方收到首帧,判断到FF_DL的长度比接收方的缓冲区大时发送,随后发送方中止发送。
3,F 保留
简单判断:一个字节两个16进制,只需看第一位16进制分辨哪种帧类型。
3.NRC码
服务是以请求-响应格式构成,涉及否定响应就需要知道为什么是否定,故引入否定响应码NRC
NRC——Negative Response Code
【请求格式】
1.SID+SF:服务+子功能
2.SID+DID:服务+DID DID数据的ID 常读写用
3.SID+SF+DID:用在例程服务
(动作:A-B-C-D-E——封装成一个操作F,通过某服务(SID)——执行F(DID)-执行了ABCDE)操作:开始 暂停 结束(SF)
4.SID
【响应】
分肯定响应和否定响应
肯定响应:(SID+0x40)+(SF)+(其他)
req:10 01
rsp: 50 01
否定响应:7F+服务(SID)+NRC
rep:10 01
rsp:7F 10 13
13:代表NRC码,有具体含义,查表。
4.常见SID服务
二、使用步骤
1.引入库
代码如下(示例):
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import warnings warnings.filterwarnings('ignore')import ssl ssl._create_default_https_context=ssl._create_unverified_context2.读入数据
代码如下(示例):
data=pd.read_csv('https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')print(data.head())该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。