- 博客(31)
- 收藏
- 关注
原创 UDS_WriteMemoryByAddress(0x3D)服务
3D服务,即 WriteMemoryByAddress(按地址写内存)服务,允许客户端向服务器的一个或多个连续存储单元写入信息。WriteMemoryByAddress(按地址写内存)的请求消息在服务器中参数 memoryAddress(内存地址)和 memorySize(内存大小)所指定的存储单元处写入由参数 dataRecord(数据记录) []指定的信息。
2024-12-04 17:36:46
296
原创 UDS_ReadMemoryByAddress(0x23)服务
0x23服务(ReadMemoryByAddress,根据地址读取内存服务)允许。0x23服务(ReadMemoryByAddress,根据地址读取内存服务)请求报文中包含了两个参数memoryAddress和memorySize,其定义了内存的相关信息,可以用于请求读取内存数据。用于表示和参数的字节数在地址长度格式标识符(addressAndLengthFormatIdentifier)来定义。
2024-12-04 14:24:46
380
原创 Autosar BSW_CanNM模块
AUTOSAR网络管理节点内部有两个状态,一个是,另一个是,当节点的应用层需要使用总线进行通讯的时候,会调用接口使得节点进入请求状态,当应用层没有通信需求的时候,调用接口使得节点进入释放状态。需要注意的是,即使节点当前处于释放状态,节点的通讯依然有可能是处于开启状态,因为网络上的其它节点有可能正在请求总线。所以,并不代表总线开启或关闭。的时候处于的时候处于,但不仅仅取决于当前节点自己,而是。节点上电初始化后默认进入释放状态。
2024-12-03 13:12:48
256
原创 UDS传输层基础和时间参数
包含了目标地址、源地址、可能还有远程地址等所有与地址有关的信息,通常就是指CAN报文的ID。:协议控制协议,表示帧类型:SF,FF,CF,FC 和 数据长度。
2024-11-26 15:38:47
273
原创 UDS网络层时间参数
其中Ar、Br、Cr时间参数在达芬奇工具配置中在CANTP模块的RxIpdu处配置。其中As、Bs、Cs时间参数在达芬奇工具配置中在CANTP模块的TxIpdu处配置。:接收端等待发送流控帧(FC)的内在等待时间间隔。:接收端收到连续帧(CF)的最大时间间隔。:发送端收到流控帧(FC)的最大时间间隔。:发送端发送连续帧(CF)的等待时间间隔。:接收端发送CAN数据报文的时间间隔。:发送端发送CAN数据报文的时间间隔。
2024-11-23 11:47:03
337
原创 UDS_ControlDTCSetting(0x85)服务
该服务主要用于功能,而具体的实际功能和作用在主机厂规定的诊断服务规范当中都有提到。一般来说要满足两个条件:①使能条件满足②DTC控制有无关闭(85服务);只有当使能条件满足且抑制DTC上报的开关为FALSE的情况下,上报的故障事件才能够进一步得到处理;
2023-12-17 19:38:19
1203
原创 UDS_CommunicationControl(0x28)服务
通信控制服务,主要是涉及到接收和发送相关的控制。0x28服务就是Client向Server请求打开或关闭某类或多类报文信息的发送和接收功能,该诊断服务对诊断报文没有控制作用,此服务起作用的是和。①Tester发送28请求到Server,Server会将该诊断报文请求传递到DCM模块;②DCM调用28服务对应的上层应用函数首先进行输入参数的基本校验,校验无误之后然后传递相关控制模式请求到BswM模块;③BswM模块根据静态配置的规则来实现对应请求中的通道通信状态控制;
2023-12-17 18:28:43
948
原创 UDS_WriteDataByIdentifier(0x2E)服务
根据ISO14229-1标准所述,诊断服务2E主要用于Client向Server(ECU)通过DID的方式写入相关的数据。本服务不支持Sub-Function(肯定也没有抑制肯定响应位,因为没有子功能参数),关于DID命名规则可以参考ISO 14229 -1。服务请求报文可以请求一个或者多个DID。
2023-11-08 20:54:10
405
原创 UDS_TransferData(0x36)服务
UDS的第六类诊断服务:存储数据传输。该类型服务包含SID如下:RequestDownload (0x34):请求下载数据,诊断仪向ECU请求下载数据RequestUpload (0x35):请求上传数据,诊断仪向ECU请求上传数据TransferData (0x36):数据传输,诊断仪向ECU传数据(下载),或者ECU向诊断仪传数据(上传)RequestTransferExit (0x37):数据传输完成,请求退出。
2023-11-08 20:51:30
612
原创 UDS_TesterPresent(0x3E)服务
该服务目的是确保诊断服务或者之前激活的通信还处在激活的状态,可以保持当前的非默认会话,通过周期地发送请求帧来阻止自动跳转回默认会话。
2023-11-08 20:50:27
212
原创 UDS_SecurityAccess(0x27)服务
Response ID:该参数固定为SIDSubFunction:该参数为request seed(如01)或者Send Key(02)的取值;securitySeed:该参数仅针对subfunction为Request Seed时才会回复该参数,其他情况下,Server仅会回复前两个字节(responseSID+ SubFunction),其取值范围只能为0x00-0x7F;
2023-11-08 20:48:43
565
原创 UDS_RoutineControl(0x31)服务
服务 Service 0x31 RoutineControl 是用于对主机厂定义的一些特定程序的控制操作(启动程序、停止程序、请求运行结果)的服务。它可以让诊断仪对(如ECU)中的某些例程进行控制,例如擦除内存、检查编程依赖性、执行OBD测试等。与2F服务相比,2F的基本功能都可以通过31服务来实现,不过用2F来实现的功能来用31服务,未免有点大材小用,因此31服务则是用于更复杂的输入输出控制场景,而2F服务则可用于较为简单常见的输入输出控制场景。
2023-11-08 20:44:24
590
原创 UDS_RequestTransferExit(0x37)服务
UDS的第六类诊断服务:存储数据传输。该类型服务包含SID如下:RequestDownload (0x34):请求下载数据,诊断仪向ECU请求下载数据RequestUpload (0x35):请求上传数据,诊断仪向ECU请求上传数据TransferData (0x36):数据传输,诊断仪向ECU传数据(下载),或者ECU向诊断仪传数据(上传)RequestTransferExit (0x37):数据传输完成,请求退出。
2023-11-08 20:43:10
223
原创 UDS_RequestDownload(0x34)服务
DS的第六类诊断服务:存储数据传输。该类型服务包含SID如下:RequestDownload (0x34):请求下载数据,诊断仪向ECU请求下载数据RequestUpload (0x35):请求上传数据,诊断仪向ECU请求上传数据TransferData (0x36):数据传输,诊断仪向ECU传数据(下载),或者ECU向诊断仪传数据(上传)RequestTransferExit (0x37):数据传输完成,请求退出。
2023-11-08 20:42:18
783
原创 UDS_ReadDataByIdentifier(0x22)服务
根据ISO14119-1标准中所述,诊断服务22主要用于Client向Server(ECU)通过DID的方式读取相关的数据。这些数据可以输入输出的数字信号,模拟信号,内部数据以及其他的系统状态信息。此服务没有子服务。(肯定也没有抑制肯定响应位,因为没有子功能参数)
2023-11-08 20:34:35
373
原创 UDS_InputOutputControlByIdentifier(0x2F)服务
该服务是用于client主动请求server去对相关输入输出信号进行控制。所谓的输入输出控制简而言之就是,取而代之的是。2F服务会对需要受控的信号进行编组,同时分配一个特定的DataIdentifier(即DID)来实现1个或多个信号参数的控制。但有时发送2F诊断服务时,我们不需要对所有信号进行控制,那么此时我们可以引入controlEnableMask来实现只对特定信号的控制。针对2F服务设置后的输入输出信号值如何检验问题?答:通过。
2023-11-08 20:33:10
222
原创 UDS_ClearDTCInformation(0x14)服务
根据ISO14229-1标准所述,14服务主要用于Client向Server(ECU)请求清除诊断相关信息。简单说客户端可以利用此服务来清除一个或多个服务端内存中的诊断信息。该服务可设置,可控制单个服务端或多个服务端诊断信息的清除。关于诊断相关信息见文章该服务不支持子功能参数。(肯定也没有抑制肯定响应位,因为没有子功能参数)
2023-11-08 20:29:51
363
原创 UDS_ECUReset(0x11)服务
主要用于Client向Server(ECU)请求行为。该重启行为将会导致Server复位回归到特定的初始状态,具体是什么初始状态取决于Client的请求行为,即请求中的重启的类型(通过子服务区分)。并且在ECUReset执行后,ECU会从Non-defaultsession回退到defaultsession中。
2023-11-08 20:16:36
217
原创 UDS_DiagnosticSessionControl(0x10)服务
用于支持整车制造商特定的session的诊断功能。用于支持零部件供应商特定的session的诊断功能。Note:01,02,03会话各自之内,互相之间可以相互转换,除了01向02会话转是转不过去的(一般情况下),不过有些厂家的设计出来的控制器是可以转换的。
2023-11-08 20:12:39
642
原创 CAN报文数据的Intel和Motoral_LSB
信号值:0x5A5,二进制:010110100101b。信号起始位:byte1的bit4,在报文中的索引是12。信号值:0x5A5,二进制:010110100101b。信号起始位:byte1的bit4,在报文中的索引是12。:(DBC文件中的Motorola模式指的就是这个):先传Byte0,最后传Byte7;:先传bit7,最后传bit0;在存储器中,高字节存放在低地址。在存储器中,低字节存放在低地址。时发现,对于字节序的选择。信号长度:12bit。信号长度:12bit。
2023-08-20 19:07:18
2011
1
原创 DBC文件解析
格式如下: BO_ MessageId MessageName: MessageSize TransmitterBO_ 为关键字,表示报文;MessageId 报文ID,是以10进制数表示的MessageName 报文的名字,命名规则和C语言变量相同MessageSize 报文数据域字节数,为无符号整型数据,CAN 2.0为最大8字节CAN FD 最大64字节Transmitter 该报文的网络节点;如果该报文没有指定发送节点,则该值需设置为” Vector__XXX”。
2023-08-20 18:58:21
1761
2
原创 Bin文件、Hex文件、Elf文件的异同
例如8-BIT的二进制数值0x4E,用ASCII来表示就需要分别表示字符‘4’和字符‘E’,每个字符均需要一个字节,因此HEX文件至少需要2倍BIN文件的空间。小结:可由elf文件转化为hex和bin两种文件,hex也可以直接转换为bin文件,但是bin要转化为hex文件必须要给定一个基地址。,连接器可将它与其它可重定位文件和共享目标文件连接成其它的目标文件,动态连接器又可将它与可执行文件和其它共享目标文件结合起来创建一个进程映象。,一般用编程器烧写时从00开始,而如果下载运行,则下载到编译时的地址即可。
2023-08-20 18:56:23
614
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人