自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 从功能来看,汽车CAN报文主要有哪些应用报文类型?

本文解析了CAN总线中常见的应用报文类型及其特点。从功能角度将报文分为周期性报文、事件驱动型报文、诊断报文、网络管理报文和标定报文等,并详细说明各类报文的触发机制、应用场景及协议特点。周期性报文保证实时性但增加负载,事件驱动型报文提高效率但延迟不确定。诊断报文遵循UDS协议,网络管理报文协调ECU状态,标定报文用于参数读写。文章强调理解报文底层触发机制(周期/事件)与应用层协议功能(诊断/网管等)的区别与联系,有助于系统设计与故障分析。

2025-12-25 06:30:00 1270

原创 简单易懂的CAN报文发送类型全解析

现代汽车电子架构中,CAN总线通信策略直接影响系统性能和可靠性。本文分析了两种基本发送类型:周期型发送(固定间隔)和事件型发送(条件触发),并详细介绍了Cyclic、OnChange、OnWrite、IfActive等具体发送模式及其应用场景。文章还探讨了重复发送机制和混合发送类型的优势,指出合理选择发送类型对优化总线负载、确保实时性的重要性。随着汽车电子架构发展,精确设计CAN报文发送策略成为构建高效可靠车载网络的关键。

2025-12-23 07:30:00 2377

原创 汽车ECU内存分配memory map 解析:从物理内存到模型代码的完整映射

本文系统阐述了汽车ECU开发中的内存分配工程,以英飞凌AURIX TC3XX系列微控制器为例,详细解析了从硬件基础到软件实现的全过程。首先介绍了TC3XX的TriCore多核架构及其内存层次结构,包括PFlash、DFlash、SRAM等特性。随后重点分析了链接脚本作为内存分配蓝图的关键作用,以及AUTOSAR标准化的内存映射机制。文章还探讨了基于模型的设计方法如何实现自动化的内存映射,通过配置存储类将内存分配提升到模型级别。整个流程体现了汽车电子开发中分层设计和一致性管理的重要性,为构建可靠、高效的ECU

2025-12-21 15:33:01 786

原创 ECU 应用层软件模型系列--数据字典DD5

本文介绍了ECU应用层软件模型中数据字典(DD)的创建与应用方法。首先说明了数据字典的组成,包括DesignData、Configurations、EmbeddedCoderDictionary等部分;然后详细讲解了通过Model Explorer创建数据字典、添加数据对象的具体步骤;最后阐述了将数据字典关联到模型的三个操作流程:打开模型属性、链接数据字典、链接变量参数。通过正确配置数据字典,最终生成的代码可读性显著提升。文章还预告下篇将重点介绍存储类的配置方法。

2025-11-24 18:01:16 810

原创 ECU 应用层软件模型系列--模型与硬件相关的生成代码配置4

摘要:本文是ECU应用层软件模型系列文章的延续,重点介绍Simulink模型生成代码时与硬件相关的配置要点。文章解释了配置硬件实现(Device vendor和Device type)的必要性,包括确保代码兼容性、优化性能、正确处理数据、生成合适启动代码等关键因素。通过英飞凌TC399和飞思卡尔DSP5685的对比,展示了不同硬件在数据类型长度等方面的差异。文章还深入探讨了生成代码中的typedef定义和字节顺序(大端/小端模式)等底层概念,强调了这些配置对确保ECU软件正确运行的重要性。

2025-11-18 22:32:57 846

原创 【底盘域控6】 AK和PSI5

本文介绍了汽车底盘域控制系统中两种特殊传感器协议——AK协议和PSI5协议。AK协议通过三阶电流(低/中/高)传输轮速及附加信息,采用曼彻斯特编码解析数据位。PSI5协议是安全气囊系统采用的电流调制双向通信标准,同样基于曼彻斯特编码,具有125kbps数据速率和菊花链拓扑结构,通过双绞线实现供电与数据传输。两种协议在汽车电子系统中各具优势,AK协议适用于轮速检测,PSI5协议则在安全系统领域展现性价比优势,均体现了曼彻斯特编码在汽车传感器通信中的关键作用。

2025-11-07 11:22:19 861

原创 【底盘域控5】ESP系统

本文系统介绍了汽车ESP(电子稳定程序)系统的组成、工作原理和控制原理。ESP系统集成ABS、TCS和VDC功能,由电控单元和液压系统构成,液压系统包含电磁阀、柱塞泵等关键部件。文章详细解析了ESP的三种工作状态:被动制动、半主动制动和全主动制动的工作原理,阐述了系统通过传感器检测车辆状态,经电控单元计算决策后执行制动或驱动力调节的控制流程。最后总结指出理解这些基础知识是深入研究底盘域控技术的重要前提,为读者提供了学习底盘域控系统的整体思路框架。全文通过制动系统这一典型案例,完整呈现了从基础原理到系统实现的

2025-11-06 08:11:31 1082

原创 ECU 应用层软件模型系列--如何自动生成代码2

本文介绍了ECU应用层软件模型自动代码生成的基本配置方法。以车辆阻力计算模型为例,作者详细说明了如何通过Simulink配置生成符合ECU应用需求的嵌入式C代码。关键步骤包括:1) 设置求解器为定步长离散;2) 选择EmbeddedCoder系统目标文件;3) 取消生成示例主程序和终止函数。通过合理配置,可以生成只包含初始化函数和执行函数的精简代码,满足ECU软件实时性、内存优化和行业标准要求。文章为后续探讨量产级ECU代码生成配置奠定了基础。

2025-11-05 07:00:00 757

原创 ECU 应用层软件模型系列--应用层软件如何周期性运行3

本文介绍了ECU应用层软件模型的周期性运行原理及实现方法。ECU通过底层软件配置不同周期的任务函数(如10ms/20ms),由定时器中断和RTOS(如FreeRTOS、AUTOSAR OS)实现周期性调度。文章详细阐述了硬件定时器配置、中断服务例程编写、RTOS任务创建等具体实现步骤,并给出了完整的代码示例。同时强调了任务执行时间控制、资源竞争处理等注意事项。最后指出对于应用层工程师,了解这些基本原理已足够,后续将回归自动代码生成的相关内容。

2025-11-04 18:33:19 1021

原创 ECU应用层软件模型系列--ECU 应用层软件模型例子1

本文介绍了ECU应用层软件建模的关键要点:1)采用规范的信号命名方式增强可读性;2)遵循统一建模规范,包括信号颜色标记等;3)工程经验应用,如使用标定量代替常数,简化计算方法;4)注重模型可测试性;5)考虑目标代码生成需求。文章强调规范建模对团队开发和代码自动生成的重要性,并指出正确的模型设计需围绕目标代码要求展开。

2025-11-01 21:33:26 950

原创 一文了解高压互锁功能

本文介绍了电动汽车高压互锁(HVIL)的概念、组成和工作原理。HVIL通过低压信号检测高压系统回路的完整性,在上电前检测高压连接状态,防止人为误操作和高压断电风险。从机械层面看,高压连接器需设计互锁装置;从控制器层面看,通过监测电流判断回路状态。文章还列举了一种HVIL架构实现方案,包括VCU和BMS协同检测机制,以及直流源和PWM两种检测电路方案,并给出了故障处理策略。HVIL是保障电动汽车高压安全的重要设计。

2025-10-26 17:01:17 2066

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

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

2025-04-11 07:30:00 691

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

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

2025-04-10 07:30:00 1101

原创 电机控制基础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 2682 1

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

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

2025-04-08 07:30:00 1355

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

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

2025-04-07 07:30:00 1403

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

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

2025-04-03 07:30:00 2208

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

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

2025-03-30 07:30:00 928

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

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

2025-03-29 07:30:00 1061

原创 怎么理解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 786

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

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

2025-03-27 07:30:00 1207

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

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

2025-03-25 07:30:00 3248

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

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

2025-03-24 09:46:37 5382

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

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

2025-03-24 09:40:22 3119

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

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

2025-03-21 07:30:00 885

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

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

2025-03-20 07:30:00 541

原创 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 1069

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

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

2025-03-18 07:30:00 1471

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

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

2025-03-17 16:17:13 1043

原创 【汽车故障诊断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 747

原创 【汽车故障诊断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 743

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

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

2025-03-13 07:30:00 1079

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

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

2025-03-12 07:30:00 1933

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

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

2025-03-11 10:56:06 1368

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

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

2025-03-11 07:30:00 882

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

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

2025-03-10 07:30:00 1397

原创 【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 962

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

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

2025-03-07 16:59:50 1912

原创 【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 1797

原创 【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 915

空空如也

空空如也

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

TA关注的人

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