自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

radix关于mcu的博客,持续更新中...

会持续更新项目中遇到的疑难问题解决方案以及有关mcu常用协议...

  • 博客(13)
  • 收藏
  • 关注

原创 【单片机】【UDS】 (单帧与多帧) 数据传输

CAN FD 帧的数据场支持最大 64 个字节,可包含的帧类型有单帧 (SF)、 第一帧 (FF)、 连续帧 (CF) 或流控制帧 (FC)。SN根据以下规则定义: 首帧的SN值为 0,连续帧的第一帧SN值为1, 每增加一个连续帧,SN值增加1, 流控制帧不影响SN值的计算,当SN值达到15后,下一个连续帧的SN值为0。---- FirstFrame,0号字节高4位固定为1,低4位加上1号字节组成DLC,表示多帧传输的数据长度(如果是22/2R读写数据服务,需要包含SID+DID)表已定义每个报文的类型。

2025-02-22 18:49:20 550

原创 CAN BUS-OFF 快慢恢复流程分析

如果 ECU 进入 Bus off 状态,控制器将不再向总线发送周期性和事件性报文,任何保留在 Tx缓存中的周期性和事件型报文的发送将被清除,不允许等待传输请求和被恢复除非发送被再次使能。在 Bus Off 恢复以后或者网络返回到激活状态后,周期性和事件型报文的发送将被再次执行,同时最新的信号状态也将被传输。

2024-11-29 20:59:44 1016

原创 单片机/MCU内存分配解读

本文主要针对如何合理的使用GDM32的RAM角度入手,对GDM32的RAM进行分配与计算。目的是降低RAM的使用率,将RAM的使用情况都弄清楚,从而合理的规划及分配内存。本文涉及到一些堆栈方面的思考,在MDK中查看MAP文件及堆栈使用情况的文件进行分析,得出当前程序RAM的分配情况,同时对可以缩减的地方进行分析.

2024-11-24 17:49:33 1614

原创 MCU系统软件架构设计思路

另外,嵌入式软件除了有硬件,还有对硬件的功能操作、一些控制算法等,为了便于移植和扩充,可以采用分层的思想,将不同特性的代码放在不同的逻辑层上。(各个功能模块可以独立编译(如通信模块纯ANSI C,可在任意平台复用),或者调用驱动层接口(日志库模块调用了驱动读写Flash),总之,封装出各个功能独立的可复用的功能模块。先把一个应用进行功能模块划分,并对整体结构进行分层,然后设计出功能独立的各个模块(如算法模块,文件库模块,通信库模块),在模块之上开放公共接口API。(1)每一个功能,做成一个单独的功能模块。

2024-06-23 16:55:53 1173

原创 CAN收发器TJA1145A休眠唤醒应用

TJA1145的唤醒工作原理主要依赖于其内部的唤醒机制和外部硬件的配合,主要涉及低功耗状态、选择性唤醒功能。TJA1145是一款CAN收发器,它支持多种工作模式,包括NormalStandbySleep等。在这些模式中,Sleep模式是最低功耗状态,而Normal模式则是最活跃的状态,其中Standby模式处于两者之间,允许一定的功能操作但功耗较低。TJA1145可以通过接收特定的唤醒源从Sleep或Standby模式唤醒到Standby或Normal模式。唤醒源的检测与处理。

2024-06-23 13:34:01 3552 11

原创 [UDS诊断 05-控制器复位(0x14)]

查看当前ECU是否存在当前故障,就需要使用14服务清除掉所有历史故障码后,再使用19 02服务读取当前存在的故障码(包含历史故障);在ECU进行程序刷写之后,就需要使用14服务清除故障码,然后读取DTC,确保程序功能能够正常运行。清除的故障诊断信息可以是某一个特定的故障码,也可以是某个类别的故障诊断码。测试设备使用此服务来清除控制器内存中的故障内存的诊断信息,高字节(DTC类型)中字节(DTC类型)低字节(DTC类型)

2024-05-26 12:13:34 369

原创 [UDS诊断 04-控制器复位(0x11)]

通常来说,ECU在收到一条诊断指令后要先执行相应诊断处理,完毕后再发送肯定响应。但是控制器收到复位服务指令后需要执行复位操作,复位后控制器不会存储复位前的指令,所以要先发肯定响应再执行复位操作。该服务请求控制器根据复位类型参数值的内容有效地执行控制器重置。如果控制器不满足切换会话模式的条件,要求返回此否定响应码。如果不支持请求报文中的子函数参数,则发送。报文长度错误或者格式非法。

2024-05-26 11:45:40 543

原创 [UDS诊断 03- 诊断会话控制(0x10)]-深度解读

诊断会话模式由诊断服务层用于访问受限于特定会话的不同诊断服务。节点需要支持若干非默认会话启动时,控制器应启动 S3_server定时器。如果在这个时间范围内没有从任何一方发送诊断报文,则正在进行的诊断会话将停止,控制器将重启默认会话。控制器接收“TesterPresent”请求报文或其他任何诊断请求报文时,S3_server计时器应重置。Tester应持续发送诊断服务“TesterPresent”,用于保持非默认会话激活。如果需要,其他有效的诊断服务也可以保持非默认会话。

2024-05-25 20:31:02 5214

原创 [UDS诊断 02- 诊断服务及格式]-深度解读

当请求报文采用功能寻址,否定响应报文 NRC=RCRRP(请求正确接收到的响应等待)应该先发送,然 后根据请求报文 PDU 分析结果,再发送最终否定响应报文包括:SNS(服务不支持)、SNSIAS(在当前 会话服务不支持)、SFNS(子功能不支持)、SFNSIAS(在当前会话子功能不支持)、ROOR(请求超出范 围)。当测试工具发送的请求报文中的服务 ID 不受控制器支持时,控制器将发送否定响应码 0x11 (服务不支持)。在控制器针对诊断仪请求报文无法肯定响应的情况下,采用否定响应报文。

2024-05-25 19:16:00 822

原创 [UDS诊断 01- 控制器诊断方式]-深度解读

对于 CAN FD 诊断系统的第一帧报文类型,当 CAN_DL≤4095 时,FF_DL 应设置在 63≤ FF_DL≤4095 的范围内,当 CAN_DL>4095 时,FF_DL 应设置在 4095<FF_DL≤0xFFFFFFFF 的 范围内。连续帧出现在第一帧之后,PCI 第一个字节(Byte1)的高半字节为0010b,低半字节表示连续帧序列号 (SN),SN根据以下规则定义: 连续帧的第一帧SN值为1;第一帧或数据包的最后一个连续帧之后,需要更多的连续帧(CF)来完成数据流传输时,

2024-05-25 17:51:05 896

原创 [AUTOSAR] [NM网络管理]-深度解读

汽车上挂载ECU节点有很多,不可能一启动所有ECU都同时正常工作。而是当用户请求相关功能时,参与该功能的相关ECU节点才需要启动起来,否则带来的只是过多对电池的无用消耗。为了更好的去利用整车的能源,防止出现不必要的电池浪费,网络管理(Network Management,以下简称NM)便可以很好的解决此类问题,实现车上的ECU能够协同睡眠以及唤醒,最大可能的高效利用整车电池能源,节约用车成本,延长电池使用寿命。

2024-04-27 14:39:07 8452 2

原创 Can busoff 解读

表示总线的关闭,此时ECU从总线脱离,既不能接收总线的报文,也不能向总线发送报文。

2024-01-28 22:02:49 9388 8

原创 can协议总结

本文介绍canx协议基础概念、can驱动及收发流程

2024-01-28 15:17:39 2781 2

TJA1145A的休眠唤醒应用

TJA1145A的休眠唤醒应用

2024-06-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除