jianqiang.xue
欢迎交流,寻找小众MCU厂商代理合作
展开
-
[AUTOSAR][诊断管理][ECU][$3E] 测试设备在线|会话保持
这个服务的目的是确保诊断服务或者之前激活的通信还处在激活的状态,可以保持当前的非默认(Default Session)会话,通过周期地发送请求帧来阻止自动跳转回默认(Default Session)会话。注意上图为Bit 6 ~ 0的定义,Bit 7(supportPosRspMsgIndicationBit)未在这里定义。本服务不支持有数据参数的报文。原创 2023-11-03 00:30:00 · 580 阅读 · 0 评论 -
[AUTOSAR][诊断管理][ECU][$85] 设置DTC功能
根据ISO14119-1标准中所述,诊断服务85服务主要用于开启或者停止DTC状态位的更新功能,这个功能在主机厂规定的诊断服务规范当中都会有实际的功能及作用。下列文中使用到的Client可直接理解为上位机Tester,Server可直接理解为接受Tester诊断请求的ECU。原创 2023-11-04 00:15:00 · 705 阅读 · 0 评论 -
[AUTOSAR][诊断管理][ECU][$37] 请求退出传输。终止数据传输的(上传/下载)
RequestTransferExit(0x37)—— 请求传输退出这个服务是用来终止数据传输的(上传/下载)。服务请求报文中参数定义:transferRequestParameterRecord:用来传输的数据,格式和长度是由车厂自定义的。以上步骤的执行过程都是由上位机工具来执行的,可以用CANoe中的CAPL语言来开发上位机,这个工具开发难度应该不算太大,主要是注意.s19/.s28/.hex文件的解析过程,然后利用CAN/LIN消息发送函数接口,发送三个服务的执行请求序列就可以了。原创 2023-11-04 00:15:00 · 664 阅读 · 0 评论 -
[AUTOSAR][诊断管理][ECU][$31] 例程控制
根据ISO14119-1标准中所述,诊断服务31服务主要用于实现针对某类测试场景,非正常工况下的程序活动以及其他擦除内存等连续性操作步骤的集合。在某些情况下2F服务的基本功能也是能够通过31服务来实现,可以理解2F实现的功能31服务均可以实现,不过如果能够用2F实现的功能来用31服务,未免有些大材小用,因此31服务则是用于更为复杂的输入输出控制场景,而2F服务则可用于较为简单常见的输入输出控制场景。原创 2023-11-03 00:15:00 · 524 阅读 · 0 评论 -
[AUTOSAR][诊断管理][ECU][$36] 数据传输
这个服务通常是用来下载/上传数据时用的,数据的传输方向由不同的服务控制:0x34服务表示下载,0x35服务表示上传。0x36服务包含了一个blockSequenceCounter,在多个服务请求序列失败的时候以提高错误处理机制。在接收到0x34/0x35服务以后,blockSequenceCounter会被初始化为1。原创 2023-11-02 00:15:00 · 199 阅读 · 0 评论 -
[AUTOSAR][诊断管理][ECU][$2F] 通过ID控制IO
2F诊断服务主要在车身域比较常见,比如车窗控制,传感器开关、执行器控制等。UDS诊断服务协议都以ISO标准ISO14229-1来集中体现,如需了解其他更多诊断服务的精彩使用,可以参考此文档,本文以ISO14229-1(2020)协议作为参考来解读2F服务。原创 2023-11-01 00:15:00 · 351 阅读 · 0 评论 -
[AUTOSAR][诊断管理][ECU][$2E] 通过ID写入数据
2E服务作为诊断服务中的基础服务,可以简单理解为就是一个用于写入ECU数据的外部接口,可实时获取软件内部的相关的状态信息。根据ISO14229-1规范,定义了诸多只能用于特定场合的DID,也就意味着大家都不能随意乱用DID,在使用DID Number应充分考虑到14229的要求,防止出现跟客户扯皮的现象。原创 2023-10-31 00:15:00 · 365 阅读 · 0 评论 -
[AUTOSAR][诊断管理][ECU][$28] 通信控制
根据ISO14119-1标准中所述,诊断服务28服务主要用于网络中的报文发送与接受,比如控制应用报文的发送与接收,又或是控制网络管理报文的发送与接收,以便满足一定场景下的应用需求。下列文中使用到的Client可直接理解为上位机Tester,Server可直接理解为接受Tester诊断请求的ECU。原创 2023-10-30 00:15:00 · 328 阅读 · 0 评论 -
[AUTOSAR][诊断管理][ECU][$34] 下载请求
RequestDownload(0x34)—— 下载请求这个服务主要是用来给ECU下载数据的,最常见的应用就是在bootloader中,程序下载工具会发起下载请求,以完成ECU程序的升级。服务请求报文中参数定义:这个参数为1字节长度,高4位表示“compressionMethod”,低4位表示“encryptingMethod”(注:这里小编暂时不知道这两种Method是什么,貌似也没有用到,可以先存疑以后有了解再分享)。如果两种Method都没有用到,则值为0x00。原创 2023-10-29 00:15:00 · 196 阅读 · 0 评论 -
[AUTOSAR][诊断管理][ECU][$27] 安全访问
根据ISO14119-1标准中所述,诊断服务27应用场合主要是用于Server数据上传或者下载,重要信息传递,功能安全等实施的过程中,比如如果对于重要数据的上传或者下载过程不做任何限制,很有可能会对整车的行车安全造成极大的威胁,特别是针对底盘域的控制器更是要在这方面做好全方位的安全防护措施,此时27服务便应运而生!下列文中使用到的Client可直接理解为上位机Tester,Server可直接理解为接受Tester诊断请求的ECU。原创 2023-10-28 12:34:26 · 213 阅读 · 0 评论 -
[AUTOSAR][诊断管理][ECU][$22] 读取相关的数据
22服务作为诊断服务种的基础服务,可以简单理解为就是一个用于读取ECU数据的外部接口,可实时获取软件内部的相关的状态信息。根据ISO14229-1规范,定义了诸多只能用于特定场合的DID,也就意味着大家都不能随意乱用DID,在使用DID Number应充分考虑到14229的要求,防止出现跟客户扯皮的现象。含义主机厂推荐的DID范围F186当前激活的SessionF18CECU序列号F190VIN码F193供应商硬件版本号F195供应商软件版本号F19DECU安装日期。原创 2023-10-28 12:13:50 · 205 阅读 · 0 评论 -
[AUTOSAR][网络管理] 一文读懂网络管理
基于Autosar的网络管理有三种模式:睡眠模式,网络模式和预睡眠模式。原创 2023-05-16 16:11:23 · 2765 阅读 · 0 评论 -
[AUTOSAR][网络管理] 实战网络管理
基于Autosar的网络管理有三种模式:睡眠模式,网络模式和预睡眠模式。app_nm.c 【业务层】网络管理休眠唤醒策略app_nm.hcan_nm.c 【硬件层】CAN网络管理状态切换can_nm.hREADME.md 说明文档网络管理介绍.drawio.png 流程图文件。原创 2023-10-21 16:19:40 · 217 阅读 · 0 评论 -
AUTOSAR基础篇之DTC
DTC顾名思义即为诊断故障码,一种用来记录当某ECU发生或检测到某种故障时所呈现在大家目前的标识码,通过该标识码便可以查表的方式获得该故障信息,如故障触发条件、故障解除条件、系统功能表现等。这是当前供应商与主机厂普遍用来监测并识别故障的基础手段,所以也同样存在标准,普遍使用的标准是ISO15031-6,该标准中规定了DTC的基本组成,DTC如何命名等信息。在上表中可以看到每个子系统都划分为4个子范围,如B0-B3,C0-C3,P0-P3,U0-U3;转载 2023-01-05 18:13:17 · 1166 阅读 · 0 评论 -
[AUTOSAR][诊断管理]什么是UDS诊断? 实现的方式是怎么样的?
│ diag_main.c // 诊断主函数:帧收发,执行对应诊断服务,定时器计数│ diag_nwl.h // 帧类型定义│├─DTC [故障日记]│ dtc_main.c // DTC主函数:故障扫描,读写flash│ DTC状态位.png│└─UDS [UDS服务]10_session_ctl.c // 会话模式控制11_ecu_reset.c // ECU 复位功能14_cls_dtc_info.c // 清除DTC信息。原创 2023-10-22 00:00:00 · 238 阅读 · 0 评论 -
[AUTOSAR][诊断管理][ECU][$14] 清除诊断相关信息
根据ISO14119-1标准中所述,诊断服务14主要用于Client向Server(ECU)请求清除诊断相关信息。原创 2023-10-23 00:15:00 · 389 阅读 · 0 评论 -
[AUTOSAR][诊断管理][$10] 会话模式控制
10服务是Diagnostic Session Control诊断会话控制,子功能有01、02、03三种,这三种代表10服务可以进入的3种不同的会话模式。01 Default默认会话,02 Programming编程会话(用于解锁bootloader相关的诊断服务,即程序烧录。),03 Extended扩展会话,ECU上电时,进入的是默认会话(Default)。原创 2023-10-21 16:53:31 · 376 阅读 · 0 评论 -
[AUTOSAR][Fls模块] Flash Driver Module
在汽车ECU软件运行中,软件代码运行安全性是第一,在代码中尽可能的不要固化有flash_erase、flash_write操作存在,主要是防止当出现异常情况时,程序跑飞,误调用erase、write对flash操作,使得原软件受到破坏,以致ECU不能正常工作。Flash访问代码(Access Code)不能存储在被操作的Flash物理块中,例如我要擦除一个Flash中某一个扇区内容,这个擦除动作的代码不能存在这个Flash物理块中(Flash中代码运行时,相当于读操作,此时不能擦写)原创 2023-02-19 12:00:00 · 1499 阅读 · 0 评论 -
图解基于UDS的Flash BootLoader
图解基于UDS的Flash BootLoader一、为什么要搞Bootloader?为什么要基于UDS搞Bootloader二、Bootloader应支持的UDS服务三、Bootloader——三段式(1) 预编程阶段(2) 主编程阶段(3)后编程状态四、BootLoader的启动顺序与转换流程五、问题点疑问点Q:图中的烧写顺序是34-36-34-36-34-36-37,但另一些材料中的顺序是34-36-36-36-37。A:这个问题这样理解,34-36-36-36-37的前提是你要下载的数据是连续的原创 2023-01-30 08:52:26 · 1163 阅读 · 1 评论 -
[AUTOSAR][网络管理] 什么是BusOff? 如何实现它?
CAN控制器可以判断出错误的类型是总线上暂时的数据错误(如外部干扰等)还是持续的数据错误(如单元内部故障、驱动器故障、断线、短路等)。当总线上发生持续数据错误时,CAN控制器内部的错误计数器累积到总线关闭的阈值,可将引起此故障单元从总线上隔离出去,不参与跟总线其他节点的网络通信。busoff_recovery.c -- busoff恢复服务。原创 2023-10-21 16:26:25 · 812 阅读 · 0 评论