CAN数据分析

      最后更新:2022-03-15 23:50:35 手机定位技术交流文章

      UDS是一种基于CAN公共汽车(建造ECU底模移植)的车辆诊断协议。
      https://www.cnblogs.com/qq2020809663/p/8998187.html

      如何解释UDS诊断报告

      {

      如何解释UDS诊断报告
      https://www.jianshu.com/p/b5805e734ed6

      UDS(统一诊断服务、统一诊断服务)是统一诊断服务简称。

      SID:Service Identifier,诊断服务ID。UDS就其核心而言,是一种有针对性的沟通形式。这是一个合作安排。这是诊断师向ECU提出的索取所需数据的请求(请求)。数据中必须包括电离层突扰数据。

      如果您得到肯定的答复,请回复 [SID+0x40],如果收到请求10,请回复50,如果收到请求22,请回复62。
      如果您收到否定回应, 请回复 7F+SID+NRC, 您的回复是声明 。

      注:负反应代码(NRC)错误响应代码是一个字节,没有符号整数。诊断协议没有为每个执行失败分配诊断服务的代码是诊断协议的代码。

      常用服务介绍

      26个综合发展服务处的服务中有7个至关重要,具体如下:

      //======================================================================

      以下服务为服务:

      ==================================================

      解读

      见https://zhuanlan.org.I'm sorry,zhihu.com/p/3730388 Minimal连接,统一诊断服务系列,以了解更多信息。

      10 诊断会话

      当 ECU 被调用时, 它会进入默认会话( 默认) 。 如果您输入的状态不是默认会话, 将设置一个计时器 。
      它将运行,如果不提出一定时间的请求,诊断结果将在该时间之后重置为第1期默认会话。当然,我们有一个。
      3E服务允许诊断保持不违约状态。

      //*******************************************************************************************

      NRC代表 " 消极反应守则 " 。
      如果经济协调股拒绝一项请求,它将对核管制委员会作出反应,每个核管制委员会都有不同的含义。

      例如CAN公共汽车网。

      网络层包含前八字节的数据。

      值 02 0 表示一个网络层单一框架 SF, 值 2 表示数据字段中的两个字节, 值 10 表示SID, 值 02 表示一个子函数 。

      根据同一资料来源,10+40意味着对国际开发学会作出良好反应,02是一个子功能。

      同上,7F,10 SID和22 NRC都作出了否定的答复。

      //********************************************************************

      3E 待机握手

      3E服务告知服务器,诊断装置仍然与网络连接,先前使用的诊断服务功能可以继续运作。

      例子:
      向 023E 800发送 3E 服务信息, 以保存一个非默认会话状态 。 不需要回应 。

      //*******************************************************************************
      27 安全访问

      服务连同一项次级服务和一项关键服务,使这种服务请求得以开启。

      比如下面的例子:
      2n-1是一项次级服务,以67+01+AA+BB+CC+DD对初始种子请求作出回应。
      种子是AA-DD。 在第二个周期,诊断端使用种子进行计算(使用整个工厂程序),产生k1(不一定是字节)等等。
      发送请求, 27+02+[k1]。 ECU还按种子计算 k2。 k1 和 k2 匹配时, 解锁完成 。

      例子:

      安全认证算法由一个核心和三个专题组成。

      第一个科目经常与ECU有关。例如,我们使用22种服务阅读ECU SN,认为其中4个字节为“OK”。
      ECU的“食品”参与似乎一致,也很容易通过22项服务来理解。

      在服务传输奇数子函数时作出反应的主要材料是第二大种子,通常与ECU的运行时间挂钩。
      种子易于改变 并且似乎无法发现它的规律

      第三个议题是执行回合的数目,即拟执行的算法的数目,第一和第二轮执行的结果必须有所不同。

      算法是最重要的核心。 考虑一种基本方法, 比如种子和 ECU SN 前四字节加上左两字节。
      安全许可是一个锁。 Bit, 做三轮, 返回这个号码作为密钥, 完毕。 算法越短, 越复杂 。
      费用越高,就越难解释。 如果失败太多,惩罚机制就会启动,再试一段时间也是不可能的。
      通过锁定防止假骨折。

      //******************************************************************************

      22 读数据

      ISO 14229-1已经对其中一部分作出了规定。例如,目前的诊断会话数据识别为0xF186。汽车制造商备件数据识别为0xF187。F188是该车OEM ECU软件的身份证。ECU工厂版本的数据识别为0xF189。

      //******************************************************************************

      2E 写数据

      例如,注意 0xF186 DD 无法直接写入数据,会话转换费用为10美元,也就是说,数据写入请求往往是在不违约会话或解锁状态下提出。

      //******************************************************************************

      19 读DTC

      DTC(诊断问题代码):当系统确定一个问题时,它将它记录为DTC。
      DTC可被视为明显的失败:通信信号丢失(不造成故障);相关故障的解除;与安全有关的故障等等。 DTC披露了位置和错误类型。

      计算机、计算机、计算机、计算机、电源动力系统、C、底盘底盘、B、身体和U,网络通信系统是四类基本故障代码。
      一个 DTC 信息占四个字节。第四个字节代表 DTC 状态。 前两个字节是众所周知的 P0047 类似故障代码 。

      //******************************************************************************

      14 清除DTC

      清除 DTC 格式( 重置), 改变 DTC 状态 。 三个 FF 模式 清除所有 DTC 。

      Request:14+FF+FF+FF;
      Response:54 。

      //******************************************************************************

      实例1:在一个单一框架内的数据运输和接收

      单帧传输
      由于这些数据在单一框架内广播和接收,初始数据为零四分之四,第一个数据流为四分之四。
      此框架的数据为02,03,02,06,额外数据槽以00或AA行填充。

      //******************************************************************************

      实例2:多数据接收和传输框架

      数据发送:
      19 04 00 01 00 00 00

      数据反馈:
      59 04 00 01 00 27

      00 0B FF FF FF FF FF
      FF FF FF FF FF FF FF
      FF FF FF FF FF FF FF
      FF FF FF

      数据传送到一个单一的框架,因此,06表示根据 " 肯定答复 " 发送的数据的六字节,即连续的框架交付数据传送到一个框架,因此,06表示根据 " 肯定答复 " 发送的数据的六字节,这是一个连续的框架。

      框架框架以十分之一的值表示。

      01E表示这一连续框架的前30字节。
      多帧传输

      30 这一连续框架的流量控制框架。

      21,22,23,24 表示框架中的第一个框架,21 表示第一个框架,22 表示第二个框架,等等,直至AA满员。

      例3 - 提供进行安全准入诊断指令的实例。

      接受请求种子 = 0x05 并发送Key = 0x06。

      经济协调股目前处于无保障状态。这些受保障的诊断服务和诊断数据现已投入使用。通常来说,如果ECU重启,或者,回到职业生涯。如果你不知道自己在说什么 那没用如果你想提供诊断服务,需要照顾他们。必须重复上述程序。

      }

      CAN诊断基础

      {

      //******************************************************************************************

      CAN诊断基础的上部部分
      https://wenku.baidu.com/view/532c25cdec3a87c24028c46f.html?pn=50

      基本概念和术语

      - 客户端测试器(诊断设备) - 提交诊断请求

      某些ECU作为诊断反应的服务器提供者,发送诊断反应。

      远程客户端/服务器 (远程客户端/服务器) 缺少与服务器相同的“ 网络段 ” 。

      《议定书》数据单元(PDU):收集资料和数据,表明发送者与接收者相互实体联系之间发送的资料和数据。
      包括:
      PCI代表《议定书》管制信息。
      数据(Data)

      单帧传输
      数据长度 < 6/7 个字节
      信息类型: 单一框架(SF)

      多帧数据传输
      数据长度 > 6/7 个字节,最多允许 4095 个字节
      信件类型: 第一框架( FF) 表示传输的开始 。
      流动控制框架(FC):在传输时报告流动控制
      后果框架(CF):数据传输

      诺亚·贝尼:__

      com/s/bcuoUQfkfyx6rtbgw-BQ 特别报导。

      FF和2F字母出现28次,表示28次故障。

      例如 FF C1 40 87 是一个“前错”

      根据C1-4087文件定义,问题是人们认为每个制造商的含义不同。

      +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/

      NRC(普通)消极反应代码

      本单元涵盖诊断和通信管理职能。

      诊断和沟通管理(0x10)

      请求报文
      诊断会议+ 10次次功能会议

      子功能参数

      肯定响应
      50+次功能+诊断会话类型 50+次功能+诊断会话类型

      支持的否定的响应码
      12:不支持所需服务的分职能。
      13: 所要求的数据长度(或格式)不符合标准。
      22. 不满意的情况

      CAN 诊断基金会 - 下一个
      https://wenku.baidu.com/view/a25b916ac5da50e2524d7f87.html?sxts=1575709365054

      A_PDU:A_AI、A_PCI和A_Data

      网络一级N_PDU: N_AI, N_PCI, N_Data 网络一级N_PDU: N_AI, N_PCI, N_Data

      L_ Data( 数据图层) : CAN_ ID, 数据

      法律要求11个OBDCAN标签(X) P7

      //*******************************************************************************************************

      }

      UDS 网络层/TP层解释(ISO 15765-2)

      {
      https://zhuanlan.zhihu.com/p/44857562

      术语、定义和缩略语(缩略语)

      网络层协议数据模块(N_PDU)分为四类:利用以下框架在对应实体之间建立联系:单一框架(SF)、第一框架(FF)、连续框架(CF)和流量控制框架(FC)。

      网络层使用《议定书》控制信息(N_PCI、《议定书》控制信息)来区分这四种类型的数据单位。

      换句话说,在CAN的诊断中,通过承认CAN框架数据领域的初始字节,确定它属于哪组完全可以实现。

      N_PCI是TP层中心的信息,是TP层的主要区别要素,它与其他CAN总线的抽象协议有区别。

      举例:

      0X 单帧(SF)

      第一个字节是 0( 4bit) +Data 长度( 4bit), 控制信息占用一个字节 。

      例如,数据02 10 02 55 55 55 55 55 55 55 55 55 02, 表明接收者应当知道,这一单一框架中只有两个活动字节。
      无效的字节会自动填充在接下来的字节中 。

      主框架 1XX (FF)

      前两个字节为 1 (4比特) + Data 长度 (12比特), 另两个字节保留用于控制信息 。

      例如,数据10 14 2E F1 90 01 02 03, 0x014表明,接收者应当知道这个多框架有20字节。

      流动控制框架 3X

      前三个字节为3(4比特)+流量状态(FS, 4比特)+区块大小(BS, 8比特)+最小间隔时间(STmin, 8比特),控制信息为三字节长。

      例如,数据 300 14 AA AA AA AA AA,多帧发送方应知晓,这是一个流控帧,允许你方继续发送,CF数量无限制,从上一个框架确认收讫(ACK)到开始当前框架之间的最低时间为20毫秒。

      慢速当前状态:0指继续发送(CTS),1指等待(WT),2指溢流(OVFLW)。

      STmin 值定义

      十六进制 说明

      STmin 间隔: 0ms - 127ms 00 - 7F
      保留 80 - F0
      STmin 间隔: 100us - 900us F1 - F9
      FA - FF 订票

      2X连续帧(CF)

      第一个字节是 2+SN(从0到16SN计算)。
      一个字节用于控制信息。

      我们通常在 0x20 时写上顶框, 然后在 0x21 时写上第一个边框,等等, 最多在 0x2F 时写上顶框。
      以下的指令是 0x20, 循环 。

      CF 21 ? ? ? ? ? ? ?
      CF 22 ? ? ? ? ? ? ?

      网络内传输服务:网络层的主要功能是传输一个或多个框架的数据电文。

      这是一条分解信息传输的插图

      控制分析

      N_As、N_Ar、N_Bs、N_Br、N_Cs和N_Cr是六个网络层时间参数。

      }

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/20173.html

          热门文章

          文章分类