自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 ECU应用层软件入门的三部曲之2:基础

上面三个方面焦点在模型和代码,如果放眼汽车嵌入式软件开发,有了一些基础性的软硬件知识将会更加有益,比如ECU应用层软件在整个软件层面是怎么运行的,或者在整个控制器的软硬件层面是怎么运行的。最后关于开发工具的使用,从项目角度来说,对于个人的要求够用就行,当然大多数人将处于这种水平,而从个人角度,取决于你的职业发展规划,工具用的好卖工具可以是一种选择。核心点是交付,由此会产生很多的问题与纠纷,到时就会回归到开发流程整个道德至高点,如果你没有流程意识,不懂开发流程,可能就会出现埋头辛苦地干活,结果背锅还是你。

2025-04-11 07:30:00 450

原创 电机控制基础4 - SVPWM详解补充

下面继续详细介绍,这里要求这个三角波是一个等腰直角三角形,即高是底边的一半。根据关键因素的关系,即基矢量(V0~V7)与 Vref 的关系,Vref 与 Vα,Vβ的关系,最终构建起了用Vα,Vβ,Vdc表示各基矢量的作用时间。到此,SVPWM算法的要点就介绍,内容还是非常多,不过把握好整体逻辑,再击破细节,也不是很难弄明白的,不过其中有很多工程经验的应用,很是精妙。最后将这几个基矢量的作用时间进行合理的排序,这样构建起目标PWM,最终作用到a,b,c 3组半桥MOS电路,产生目标的三相交流电。

2025-04-10 07:30:00 517

原创 电机控制基础3 - 一文详解SVPWM

这里还存在一个问题,继续以Vref在扇区I为例,虽然在一个PWM周期T内,V4, V6, V0 和 V7 的运行时间确定了,但它们运行的顺序是怎样的?通过电路分析可得三相电压与电源电压的关系,考虑三相绕组在空间中的分布,将它们表示在一个六等分的圆内,接着矢量合成,不难得到合成的电压矢量大小(Vdc)和方向(-->A)。具体取决于Vref在哪个扇区,总的方法是:当Vref在某个扇区时,选择该扇区相邻的两个基本电压矢量和零矢量来构建,比如Vref在扇区I,如下所示,那么采用V4,V6,V0和V7来构建。

2025-04-09 07:30:00 1408

原创 电机控制基础2 - 一文详解磁场定向控制FOC

这里,需要先了解下逆变器的电路原理,逆变器就是把直流电转换为交流电,以采用3组半桥MOS电路的实现方案为例,每组半桥MOS电路由两个MOS管组成,上桥臂和下桥臂,中间引出一条输出线。总的来说,需要有电流,电压和温度传感器采集对应的物理量,需要有三相逆变器来将直流电转变成交流电,现在新能源车上的三相逆变器采用IGBT方案或Sic方案。这可以与上面的PWM相联系起来,当我们给这三组上下桥臂的MOS管施加相应的PWM控制信号,我们是否可以获得预期大小的电压值,且三组电压值存在一定的相位差,两两相差120°。

2025-04-08 07:30:00 801

原创 电机控制基础1– 从三相交流电到电机转矩

同时也从数学建模视角了解如何构建三相交流电与电机转矩的数学关系,也就是当我们需要多大的电机转矩,我们可以计算出该给多大的三相电流,这是电机控制的重要基础,当然对于实际的电机控制系统,我们还有一些问题需要解决(下图红框),一个是电机的控制肯定是闭环的,有了目标的电机转矩,就有了目标的Id和Iq,如何转换为目标的三相电流;从数学模型不难发现,三相交流电的幅值均为i0,两两之间的相位差为120°,这样做的目的是为了产生一个幅值大小不变的圆形旋转磁动势,其大小正好为单相磁动势最大幅值的1.5倍。

2025-04-07 07:30:00 650

原创 一文了解电机原理 (图文并茂)

如果你对电机稍作了解,你会发现电机真的无处不在。就以汽车上使用到的电机为例,除了新能源车的驱动电机,车上还有许许多多的地方都用到了电机,比如玻璃升降,座椅移动,电动尾门和电吸门等。电机被广泛使用在我们生活的方方面面,因此我好奇地了解了下它的原理,原来这些知识大家在初中都已经学习过,下面我们就以图文并茂的形式来了解电机的原理等基础知识。1 电和磁有联系吗?故事的开始得从1820年7月开始,丹麦的物理学家奥斯特做了一个实验:source: 【矩道物理虚拟实验室】发电机的工作原理(上)在电池的两极之间接上一根很细

2025-04-03 07:30:00 816

原创 怎么理解SWE.4软件单元测试 Part4- 制定策略

不管软件团队内部驱动,还是外部需求驱动,我觉得逻辑应该这样,至少在自己的认知里有一套完善的软件单元测试策略,知道如何通过更有效的测试提升软件的质量。然后面对不同的项目要求,本着工程问题的折衷精神,合理裁剪,不断实践,最终寻找到一个投入与收益的平衡点,一个合适的软件单元测试策略。这些具体怎么选择,没有标准的答案,那不妨先通过经验做选择,再通过不断的工程实践,优化和完善,最终形成了较成熟的软件单元测试策略。对于软件单元测试策略,光有这些还不够,需要有强大的测试工具助力,才能保障软件单元测试的落地,以及。

2025-03-30 07:30:00 723

原创 怎么理解SWE.4 软件单元测试 Part3-落地实施

以上就是针对软件单元测试方案的介绍,从方案1的原始操作到方案3的高度自动化,这就是一个解决工程应用问题的典型过程,不断迭代和优化,最终形成一个比较满意的结果,有机会再具体展开方案3如何实施,总体而言,基于模型的如那件单元测试,Mathworks所提供的工具基本都具备,只是如何通过脚本进行二次开发,以适应一个可以大规模的软件团队的更简洁自动化的方案。这样对于开发或测试人员来说,工作重点在于测试用例的设计和期望结果的计算,而不需要花大量时间去做测试的配置工作,并且操作还要力求简单,才能在多人团队更好的落地。

2025-03-29 07:30:00 821

原创 怎么理解SWE.4 软件单元测试 Part2-动态UT

上图示意的两种测试用例设计都满足条件覆盖的要求,甚至还存在其他的测试用例,但是图示的两种测试用例对分支覆盖是有差别的,比如右上角的用例对于A与B的两条分支都覆盖到了,但是右下角的用例却只覆盖到A与B为假的分支;举一个简单的例子来说明接口测试进行数值范围验证: 假设软件单元的模型有一个输入类型为uint8,即数值范围为[0,255],应用边界法进行接口测试用例设计,可设计测试用例取四个点:-1,0,255,256,以此来验证该接口的数值范围是否正确。针对A与B为假时,A真B假和A假B真都需要考虑。

2025-03-28 07:30:00 620

原创 怎么理解SWE.4 软件单元测试 Part1

如果一个原子软件组件包含多个运行实体而且功能较复杂,那么还将其定义为软件单元,可能导致达不到测试的指标要求,此时将运行实体定义为软件单元才更合理,有时可能某些运行实体的功能也非常复杂,这时候可能会进一步将一个运行实体划分为几个软件单元来实现。如果一个原子软件组件功能简单,只包含一个或几个运行实体,将这个应用软件组件本身定义一个软件单元,既可以满足测试的指标要求,也可以节省很多开发和测试的时间。首先是构建单元测试的框架,包括测试用例和测试结果的导入,测试用例的管理,以及测试结果的分析与评估等。

2025-03-27 07:30:00 949

原创 一文了解纯电动车的快充功能

前两天看了小鹏G6和G9的发布会,其中一个技术亮点:超快充电,这两款车型全系标配5C超充AI电池,充电效率极高,仅需10分钟即可补充450公里的续航里程,且充电1秒续航超1公里,这意味着极大地缩短了充电等待时间。这里提到了超充,AI电池,5C等专业技术,通过这些技术是怎么做到10分钟补能450公里,怀着对此的好奇心,查了点资料了解快充功能及其影响因素,本文就此进行分享:1 汽车充电的概念。

2025-03-25 07:30:00 1012

原创 一文了解ECU软件刷写的2种方法:Bootloader刷写和调试器刷写

分为刷写前、刷写中和刷写后三个阶段,如下示意:下面我们来详细了解一下Bootloader收到外部请求后开始刷写的三个阶段1)刷写前进行刷写的准备,一是确保刷写阶段总线通信的稳定性,二是避免刷写阶段出现非预期的故障,三是读取车辆数据供刷写前的一些检查等,如下所示:首先进行会话控制,通过功能寻址方式进入扩展会话模式,为后面的信息访问及其他指令做准备;然后检查刷写的前提条件,通过物理寻址方式发送历程控制请求。比如车确实处于静止状态,供电电压稳定等条件下才允许刷写;

2025-03-24 09:46:37 921

原创 一文了解ECU软件编译生成的HEX, A2L, ELF和MAP文件

它是根据ASAP2(Automotive Standard for Calibration and Measurement)标准协议,

2025-03-24 09:40:22 944

原创 一文详解AUTOSAR COM ComSignal结构体

ComSignalLength指定信号的长度,以字节为单位,影响数据的解析范围和精度。比如车速信号若为UINT16类型,ComSignalLength=16。这里需要注意必须ComSignalLength与ComSignalType匹配(比如FLOAT32类型需配置ComSignalLength=32),超出实际物理值范围时需配置缩放(Scaling)参数。ComSignalType定义信号的物理数据类型,决定如何解析原始字节数据。

2025-03-21 07:30:00 584

原创 COM 信号发送和接收概述

然后,对每个信号进行字节序转换和符号处理,检查更新位的值(如果它使用它们并且信号尚未更新,则将其丢弃),并验证它不是已定义的无效信号值(在这种情况下,将进行进一步的操作,包括可能的标注Com_CbkInv触发),这些将根据过滤器配置进行过滤。最后,更新信号值,并更新信号组的阴影缓冲区。下图描述了报文/信号的发送。在 COM 层中有三个实体负责触发与发送相关的操作:API Com_SendSignal , Com_SendSignalGroup 以及基于信号的网关(后者可以对发送和接收有发言权)。

2025-03-20 07:30:00 276

原创 AUTOSAR COM模块都有哪些核心功能?

即先由PDUR模块调用COM提供的I-Pdu数据接收回调函数Com_RxIndication,将I-Pdu的数据传递给COM层,接收到I-Pdu数据后按照通信矩阵中该I-Pdu定义的信号进行解析和字节序转换处理,然后由RTE模块调用COM提供的接收服务函数Com_ReceiveSignal或Com_ReceiveSignalGroup获取信号的数据。调用信号或信号组的接收处理函数,将该I-Pdu的信号或信号组数据经过字节序转换后,应用层将通过RTE调用COM层信号或信号组的接收函数将数据拷贝到应用层。

2025-03-19 07:30:00 814

原创 【汽车故障诊断11】安全访问服务($27)概念和应用说明

举个例子,有三个房间,有的房间有门锁,每个房间里有不同的工具,而我们想要某个房子里的工具来做点什么,这时我们需要怎么做呢?假设上述的27 01定义的应用层读写数据的解锁,而27 03定义的是刷写程序的解锁,那么像上述的ECU解锁了应用层读写数据,但这时又需要解锁刷写程序,当前解锁状态是不支持刷写程序的,就需要通过27 03来请求解锁。假设ECU处于上锁状态,27 01请求种子,种子为0x3657,27 02发送密钥,密钥为种子的二进制补码值,即0xC9A9,密钥允许连续错误3次。仅限汽车行业从业人员。

2025-03-18 07:30:00 995

原创 一文详解AUTOSAR COM的关键函数和变量

之前对于AUTOSAR COM层的理解一直很模糊,为什么呢?看到源码涉及的函数和变量非常多,一直不清楚哪些函数哪些变量最关键。最近好像突然有点感觉了,趁热打铁,花点时间来梳理下AUTOSAR COM层的关键函数和变量。在AUTOSAR COM层中,实现CAN接收和发送的关键函数变量主要涉及信号的接收,发送、处理和管理,这里主要来了解接收和发送的关键函数和变量,如下图所示:source: AUTOSAR COM Notification机制及协议栈实现。

2025-03-17 16:17:13 762

原创 【汽车故障诊断10】一文了解最常用的UDS服务(基于ISO14229-1协议标准)

当进入非默认会话后,如果控制服务端的S3定时器不超时,比如使用待机握手服务($3E),则即可进行编程会话与扩展会话切换,也可相应的会话模式进行所允许的服务。1)默认会话是指ECU在刚上电时保持的会话状态,其服务的使用权限小,即可操作的功能单元服务少,不能使用27,28,83,84等服务;3)而扩展会话相较于默认会话,其使用服务的权限大,即可操作的功能单元服务多,默认会话模式下不能使用的服务,在扩展模式下都能使用。2)编程会话是仅使用与刷写程序相关的诊断服务,比如27,31,34,36,37等服务;

2025-03-17 07:30:00 552

原创 【汽车故障诊断9】一文了解离线诊断系统

关注红框内容,基于上面的例子,A_Data指的是10 03,50 03 00 32 01 F4,这里10 03中10,50 03 00 32 01 F4中50,对应A_Data中的A_PCI,又根据A_PCI的定义,10和50更准确的称呼是SI。该协议提供的是一个诊断服务的基本框架,对于主机厂和零部件供应商,可以根据实际情况选择实现其中的一部分,也可以自定义一些私有化的诊断服务。1)诊断和通信管理功能单元,包括10,11,27,28,3E,83,84,85,86,87共10种服务;我们先一起了解下什么是。

2025-03-14 07:30:00 532

原创 【汽车故障诊断8】从正向设计角度定义故障诊断列表

电源电压KL30给某ECU供电,通常硬件电路路径是:KL30通过接插件的电源引脚输入给ECU,ECU硬件电路将对KL30做保护,通断和滤波等处理,然后KL30给ECU的电源管理芯片PMIC,以及一些执行器的驱动芯片供电。当然这些电子器件有相应的供电范围要求,所以需要监测KL30,即增加相应的硬件采集电路,将采集的电压输入给微控制器,最终通过软件逻辑判断电源电压是否正常。根据已知部分提供的信息,愈合的判断逻辑可设置为:当电源电压过压时,一旦V_K30低于3.75V,持续500ms,则警告灯熄灭;

2025-03-13 07:30:00 776

原创 【底盘域控5】制动功能概述

再回顾下整个过程:驾驶员踩下制动踏板,制动液经转换阀和进液阀进入制动轮缸产生制动压力,但此时未能产生足够大的制动力,系统检测到此时车辆仍处于不稳定状态,将转换阀关闭,高压开关阀打开,驱动电机驱动回液柱塞泵转动,制动液从制动主缸和低压蓄能器经高压开关阀进入回液柱塞泵,压力升高后经进液阀进入制动轮缸,产生足够的制动压力。驾驶员踩下制动踏板,ESP电控单元控制转换阀和进液阀打开,排液阀保持关闭,制动液由制动主缸经转换阀和进液阀进入制动轮缸,车轮上产生制动压力。关于电磁阀,高压开关阀和排液阀是常闭阀,通电则打开;

2025-03-12 07:30:00 952

原创 ECU应用层模型开发中标定量与观测量的应用与原理

到此,针对ECU应用层开发中使用的标定量与观测量,我们就可以贯穿从模型设计到硬件部署(微控制器的memory)的全流程,即:Simulink模型与数据字典关联起来,使用数据字典中的数据对象(标定量和观测量);数据字典中通过存储类(自定义存储类)配置数据对应的属性(标定量和观测量);自定义存储类绑定到特定内存段(标定段和观测段);链接文件将逻辑段映射到物理地址(标定段和观测段的起始地址和长度等信息);微控制器的内存布局决定最终变量的存储位置(PFlash和DFlash的使用)。

2025-03-11 10:56:06 964

原创 【CAN通讯系列27】- CAN信号背后都经历了什么?

但是实际情况不会那么顺畅,经常碰到电子电器架构部门拒绝退回的情况,原因比如是CAN通讯的变更将导致CAN总线负载率过高,此时功能开发工程师就只能各显神通了,如果对功能影响没要么大,也许就此放弃;这些CAN信号耗费大量的物力人力和精力,这些CAN信号经常是在主机厂各个部门的千锤百炼,相互拉扯,甚至吵得面红耳赤,干架厮杀出来的。首先,最基本的点,这么多控制器要明白到认可这个功能实现的逻辑,认领各自的任务,必须通过多番的沟通。整车的网络拓扑决定了各个控制器的定位以及相互之间的关系,以怎样的方式进行通讯等。

2025-03-11 07:30:00 478

原创 【CAN通讯系列26】- 我们能用CAN报文做什么?

1 CAN通讯先定义整车网络拓扑,即各ECU都通过哪路CAN建立起通讯;然后对于单个ECU,需要定义利用该路CAN,发送多少条报文,每条报文发送哪些信号,同时需要明确接收哪些报文;最终以CAN矩阵或者DBC文件形式确定各个ECU的CAN通讯内容,本质上是以CAN 报文实现车辆内部各个 ECU 间的数据交换,确保信息的准确传递。

2025-03-10 07:30:00 956

原创 【CAN通讯系列25】- 三个视角看CAN通讯

但这样的架构显然满足不了软件的安全性,可移植性,可重用性和可扩展性等要求,所以为了满足这些要求,会采用基于OSI参考模型的AUTOSAR架构,如图3最右侧部分,只允许CAN Driver 访问硬件,向上只对接CAN Interface,与上层的模块通讯均由CAN Interface统一管理,通过PduR路由到更多的上层模块,减少接口等等。基于OSI参考模型,协议数据单元(PDU)在不同的层会有不同的名字,比如数据链路层的PDU叫L-PDU,网络层的PDU叫N-PDU,交互层的PDU叫I-PDU。

2025-03-08 09:00:00 803

原创 一文了解基于AUTOSAR的ECU传感器信号处理全流程

1)通用ADC模块配置首先模块使能与基础参数配置,包括启用/禁用ADC硬件单元(如ADCx Inx),设置转换模式(单次、连续和扫描模式等),配置分辨率(如12位、10位或8位),参考电压选择(如内部VREF、外部引脚电压)。然后是时钟配置,包括选择ADC时钟源(如PLL或系统时钟),以及设置分频系数以满足采样率需求(比如英飞凌TC3xx的ADC时钟通常限制在80MHz以下)。2)ADC通道配置首先是通道参数,包括。

2025-03-07 16:59:50 1370

原创 【CAN通讯系列24】- AUTOSAR架构的COM模块

首先,ASW经RTE模块调用Com模块的Com_SendSignal或Com_SendSignalGroup函数发送相关的信号给COM模块,存入其相关的buffer。COM模块处理PDU与信号的转换,而与前面文章的CAN,CAN接口和PDUR模块的处理均仅基于PDU,那么针对PDU转换成信号,会有什么不一样的要求呢?以上就是从ASW到COM模块再到PduR模块的发送过程,当然这里忽略很多传输特性的细节,若想了解如下图13,14所示的CAN发送接收过程,详见[2]。由此可知COM模块定义一套符号转换的规则。

2025-03-07 07:30:00 1012

原创 【CAN通讯系列23】- AUTOSAR架构的PduR

通过以上知识对应到CAN通讯,就是PduR模块从CAN接口模块/COM模块接收到了PDU,然后根据PDU ID查找已定义好的静态路由表,获得其目标地址,定向并转发到COM模块/CAN接口模块,即路由PDU,故称为PDU Router。以上就是简单介绍了PduR模块在CAN通讯的发送与接收所起的作用,当向上进入COM层后,简单地说就是:接收时,将PDU解包成一个一个的信号,供ASW使用;发送时,PduR模块将来自COM模块的发送请求路由到Can接口模块,将来自Can接口模块的确认路由到COM模块,如下图3。

2025-03-06 07:30:00 481

原创 【CAN通讯系列22】- AutoSAR架构的CAN接口模块

CAN Interface,顾名思义,CAN接口模块,位于下层的CAN设备驱动(CAN Driver,CAN收发器驱动)和上层的通讯服务层(CAN传输协议层,Pdu Router等)之间,如下图1所示。图1 AUTOSAR CAN Layer Model,引自[1]引自[1]: CAN接口模块由所有与CAN硬件无关的任务组成,这些任务属于相应ECU的CAN通讯设备驱动程序。这些功能在CAN接口模块中执行一次,以便底层CAN设备驱动程序只专注于访问和控制相应的特定CAN硬件设备。

2025-03-05 07:30:00 708

原创 【CAN通讯系列21】- AutoSAR架构的CAN 驱动模块

为了与AutoSAR文档描述保持一致,下文将使用CAN模块来表示CAN Driver。简单地说,CAN模块属于一部分的最底层内容,其作用是执行硬件访问和为上层提供独立的硬件接口(这里能访问CAN模块的上层只有Can Interface模块)。说到访问硬件,先了解几个概念,如下图(CAN硬件单元示意)所示:对图中内容的解释如下:一个CAN 硬件单元(CAN Hardware Unit)就相当于某个ECU的CAN硬件部分,它可以包括一个或多个CAN控制器(Controller)。

2025-03-04 07:30:00 799

原创 【CAN通讯系列20】- 基于AutoSAR的CAN通讯实现

关于AUTOSAR概念的内容不在此展开,这方面的资料很好找,权威资料可以去AUTOSAR官网找:https://www.autosar.org/fileadmin/ABOUT/AUTOSAR_EXP_Introduction102020.pdf。

2025-02-13 07:30:00 1702

原创 【CAN通讯系列19】– PN是什么?

同样地,对于唤醒功能2,ZCUR会唤醒自身网段的同时,唤醒ZCUF和ZCUB(因为唤醒功能1需要ECU2和ECU5的参与)。对于唤醒功能1,通过ECU1先唤醒ZCUF,然后让ZCUF唤醒ZCUL和ZCUB,最后ZCUL唤醒域内的ECU3(ECU4可能也会被唤醒,因为它与ECU3在同一网段,取决于它的网络管理配置),ZCUB唤醒域内的ECU6;这就是PN的概念,精准定位到哪个控制器需要被唤醒,在汽车研发过程中,网络管理策略通常由整车电子电器架构部门负责,而休眠唤醒场景的定义则需要各个功能开发负责人来输入。

2025-02-12 07:30:00 810

原创 【CAN通讯系列18】- NM在干什么?休眠唤醒

同时针对不同休眠或唤醒场景,网管报文的userdata有所区别,如何做到场景与网管报文内容一一映射,通常会定义另一帧报文,用来表明当前是哪个或哪几个唤醒条件或休眠条件满足。又或者如果用户发现汽车电量不充足了,那么会有充电需求,插枪充电,这时如果插上慢充枪,那么OBC会先被唤醒,识别出插枪行为及其慢充枪的连接状态,然后OBC唤醒BMS和其他相关的控制器进行充电。也就是说,通过对一个又一个整车功能和应用场景的详细分析,最终能够汇总出整车所有的休眠唤醒场景需求,通常会用一个表格来管理,俗称休眠唤醒表。

2025-02-11 07:30:00 834

原创 【CAN通讯系列17】- CAN NM状态机怎么跳?

而被动唤醒节点EPS和VCU接收到IEB的网管报文,同样它们的状态会跳转到重复报文状态,也会周期性发送不同ID的网管报文,但不是快发形式,通常是500ms的发送周期,具体发多少帧取决具体需求。通过该网管报文可知,IEB为主动唤醒节点,它需要唤醒三个控制器,分别是EPS,EPB和VCU,依此思路,针对不同休眠唤醒场景,网管报文的内容会不同,也就是说需要详细分析每一个场景来确定网管报文的内容。另外在这个状态,对于主动唤醒节点IEB除了需要发送网管报文,还需要发送应用报文,但第一帧是先发网管报文。

2025-02-10 07:30:00 1777

原创 【CAN通讯系列16】- CAN NM的几个重要概念

而被动唤醒节点EPS和VCU接收到IEB的网管报文,同样它们的状态会跳转到重复报文状态,也会周期性发送不同ID的网管报文,但不是快发形式,通常是500ms的发送周期,具体发多少帧取决具体需求。通过该网管报文可知,IEB为主动唤醒节点,它需要唤醒三个控制器,分别是EPS,EPB和VCU,依此思路,针对不同休眠唤醒场景,网管报文的内容会不同,也就是说需要详细分析每一个场景来确定网管报文的内容。另外在这个状态,对于主动唤醒节点IEB除了需要发送网管报文,还需要发送应用报文,但第一帧是先发网管报文。

2025-02-07 07:30:00 608

原创 【CAN通讯系列15】- CAN网络唤醒过程是怎样的?

上图中假设IEB的本地唤醒源之一是制动踏板行程传感器BPS,在整车某个唤醒场景下,BPS感知到了变化,从而唤醒的硬线信号有变化被IEB检测到了,那么处于休眠的IEB将被唤醒,对应着图中1区域。以上内容通过一个简单的例子对CAN网络管理唤醒过程进行概述性的说明,同时对关键过程步骤提出了很多基础而重要的问题,我相信如果你已经了解过我所提到这几篇文章,应该很能理解本篇文章我要表达的想法,那么后续文章就对这些更具体的细节各个击破。一个控制器可能存在多种唤醒源,包括本地唤醒和网络唤醒等方式,图中这两种方式都有使用;

2025-02-06 07:30:00 896

原创 【CAN通讯系列补充篇】- 唤醒源浅析

1 本地唤醒本地唤醒是指某些控制器可以通过特定的触发信号被唤醒,比如KL15硬线,某些传感器唤醒引脚信号。当这些触发信号被检测到时,控制器可以被唤醒以执行相应的操作。1.1 KL15硬线唤醒KL15是汽车电子中的一个标准电源信号,常用于控制器的供电。KL15硬线信号在车辆点火时处于高电平状态,表示电源已连接。KL15硬线唤醒是指通过监测KL15信号的状态变化来唤醒控制器或其他电子模块,并开始执行相应的操作,例如初始化或执行特定任务等。下图所示是一种最常见的KL15硬线唤醒方式。

2025-02-05 15:30:09 832

原创 【CAN通讯系列14】- CAN通讯由哪些硬件组成?

对于CAN通讯的唤醒机制,会涉及到软硬件部分,其中硬件部分通常与CAN收发器有关,一种常见的方式是通过CAN收发器的唤醒引脚或中断功能来触发唤醒信号,然后使用唤醒信号来激活电源芯片,再由电源芯片提供电源给微控制器。CAN控制器的作用是管理CAN总线上的通讯活动,它负责处理报文的收发,确保报文的正确性、完整性和时序性。为什么需要接终端电阻?CAN总线的传输介质通常采用的是双绞线,原因是双绞线结构可以有效地减少外部电磁干扰对CAN信号的影响,也可以延长CAN总线的传输距离以及有助于提高CAN总线的传输速率。

2025-01-27 07:00:00 1649

原创 【CAN通讯系列补充篇】- 控制器的硬件组成

通讯形式包括Lin, CAN,和Flexray等,以CAN通讯为例,信号通过CAN_H和CAN_L两根线传输,对于一个控制器硬件来说,先对信号做一些处理,比如抗干扰电路,然后需要使用CAN收发器将CAN_H和CAN_L两根线的差分信号转换成逻辑电平信号,再传输给微处理器中的CAN控制器。接下来就回答这个问题。除了上述的这些功能,一般在PCB会留有调试接口供软件开发调试使用,EMC设计相关的硬件电路,可能会有外加存储芯片,比如针对OTA功能,可能因为微控制器Flash大小不够,而增加外部Flash。

2025-01-24 07:00:00 443

空空如也

空空如也

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

TA关注的人

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