工程师平哥
这个作者很懒,什么都没留下…
展开
-
【笔记】TimEP Safety Mechanisms方法论
三大监控方法:相关模块框图:相关模块调用框图:原理:The TimePM counts the number of indicated Checkpoints within the period WdgMSupervisionReference-Cycle and checks at the end of this period if the counter number of indications is within the expected bounds (WdgMExpectedAliveIn原创 2024-07-05 16:10:04 · 82 阅读 · 0 评论 -
CAN 波特率配置详解
CAN 协议经过 ISO 标准化后有两个标准 ISO11898标准和 IS011519-2标准。其中 ISO11898是针对通信速率为125Kbps~1Mbps 的高速通信标准(闭环),而 IS011519-2是针对通信速率为 10kbps~125Kbps 低速通信标准(开环)。通常我们讨论的 CAN 波特率为闭环标准:125Kbps~1Mbps。CAN FD 仲裁域与 CAN 一致,数据域最大速率原创 2024-07-05 16:08:51 · 228 阅读 · 0 评论 -
《我的AUTOSAR之路》ECUM(二) 唤醒处理
一个 CAN 通道中断唤醒调用逻辑(需要芯片硬件支持中断唤醒,如果多合一的中断唤醒需要自己写代码配置检查)上述 CAN 唤醒配置中涉及的配置(CanIf/ComM 关联 EcuM 的唤醒通道)本文介绍的 CAN 通道唤醒是 CANRX PIN 同时也是中断唤醒 PIN。唤醒过程是独立于 EcuM 休眠阶段的,但是唤醒时间可以用于休眠阶段。每个 ECU 只能设置一组唤醒源组(最多 32 个)AUTOSAR 唤醒过程包含的步骤。原创 2024-03-18 21:29:37 · 246 阅读 · 0 评论 -
Function safety mechanisms功能安全方法
监管的逻辑单位称为监督实体,在AUTOSAR中,监督实体和架构构建块之间没有固定的关系,通常,监督实体可以代表一个SWC或者SW-C中的可运行对象,BSW模块或者CDD,具体取决与开发人员的选择。当检测到对程序执行的时态和/或逻辑约束的违反时,将采取许多可配置的操作来从此故障中恢复。内存分区和用户/管理员模式相关的特性解决了以下目标:通过内存分区支持软件组件之间免受干扰的自由(例如,SW-Cs中与内存相关的故障不会传播到其他软件模块,并且在用户模式下执行的SW-Cs对CPU指令的访问受限,例如重新配置)。原创 2024-02-27 21:45:55 · 69 阅读 · 0 评论 -
AUTOSAR OS Basic TASK 与 Extended TASK哪个更好?做了车身,底盘,动力,自动驾驶控制器后,我才知道
我们使用一种东西,如果出现两种方法的时候,总有争议,究竟哪种方法更好?“倚天剑与屠龙刀谁更强?”,在AUTOSAR OS中TASK也有这个争议,究竟是哪种TASK对我们设计调度更准确?原创 2024-02-27 21:29:14 · 406 阅读 · 0 评论 -
AUTOSAR OS 任务与调度
什么是TASK?我们在裸机中跑代码,程序永远只能单活动流水执行,当程序需要等待的时候,CPU就一直在waiting状态,无法高效的利用CPU,这个时候就引入了并发运行需求。一个系统能同时执行多个不同活动的系统叫做并发系统。其中这个系统中的每个并发执行的活动都由TASK(任务)表示,大多数应用程序都运行在TASK中。什么是schedule?原创 2024-02-19 20:42:49 · 160 阅读 · 1 评论 -
《我的Classic Platform AUTOSAR之路》NVM讲解
根据5W1H 分析法则,我们知道:我们需要在 ECU 中找块 memory 可以在断电的时候存储数据,并且可能是存在反复读写,反复上下电需要保存的 memory。在我们的 ECU 控制其中,有 RAM/ROM 都无法满足我们的要求,就引入了第三种存储 memory EEP.EEP特性:可反复读写(有寿命限制,寿命低于RAM,高于ROM,一般车辆要求10万至100万次),断电数据一直保存,类似ROM机制。这一种memory 有着RAM的读写特性,又有着ROM的数据保存功能的特殊性。原创 2024-01-05 15:13:04 · 1058 阅读 · 0 评论 -
《我的Classic Platform AUTOSAR之路》DEM DTC Frame
其中标准 DTC 使用 3Bytes,OBD 使用 2Bytes。原创 2024-01-05 10:35:21 · 796 阅读 · 0 评论 -
《我的Classic Platform AUTOSAR之路》Diagnostic简介
诊断包含CANTP/DCM/DEM/FIM/DLT等模块组合而成原创 2023-12-22 10:43:37 · 88 阅读 · 0 评论 -
《我的Classic Platform AUTOSAR之路》 BSWM 模式管理(二)ESH
只有 PostRun 和 wakeup 才能切换到 RUN,其他状态需要先切换到 wakeup 模式。进入 RUN 模式需要打开通信 allow,退出 Run 需要 disable 通信 allow。Prepareshut 与 dem_shutdown 绑定,如果没有 dem 配置,不会生成。除了 Init 模式下,其他模式下都要检查 ECU 的唤醒源和通信 pending 需求。与 ECUM 相关,整个 ECU 状态管理的状态机制。postrun 可以不配置,需要根据自己的需求使能。原创 2023-12-21 11:02:54 · 319 阅读 · 0 评论 -
《我的Classic Platform AUTOSAR之路》BSWM 模式管理(一) 基本规则
如果在 bswm cycle 执行前,有多个 swc 对同一个 request condition 操作,以最后一个为准,在架构设计的时候,避免一个 condition 被多个 swc 调用更改。BSWM 所有的模式操作必须在 BSWM_INIT 之后,如果 BSWM_DEINIT 之后无法执行模式管理,如果需要 restartup,必须重新执行 BSWM_INIT。step3: BswM_ImmediateModeRequest() 会直接去切换模式仲裁,执行 action list。原创 2023-12-21 11:00:46 · 171 阅读 · 0 评论 -
《我的Classic Platform AUTOSAR之路》 Int-Watchdog简介
内部看门狗驱动[sws_Wdg_00161]要访问内部看门狗硬件,对应的 Wdg 模块实例应该直接访问看门狗服务的硬件。提示:内部看门狗驱动程序是微控制器抽象层的一部分,它允许直接的硬件访问。注意:内部看门狗的日常服务可以通过使用独立于其他外设的内部硬件定时器或使用 GPT 驱动程序回调来实现。如果看门狗服务例程作为中断例程实现(即作为 cat1或 cat2中断例程而不通过 GPT),则应在基本软件模块描述中进行描述。原创 2023-12-08 14:28:49 · 303 阅读 · 0 评论 -
《我的Classic Platform AUTOSAR之路》 Port Driver简介
Port driver 在 AUTOSAR 中是一个比较冷门的模块,基本上在 MCAL 层级,关注的人也少,他由不像其他模块那样通用型比较强,Port 在每种内核的 MCU 的配置都有区别,甚至有些芯片直接没有 Port 模块,使用其他方式替代,如 TDA4 MCU 侧,EB 配置中没有 Port 模块,直接使用了 TI 的配置工具配置,生成 Borad_Cfg。如果说 Port 不重要,那没有他,其他驱动模块又无法工作,总结 Port 不是很有趣,很有技术含量,往往被大家忽视,但是有很重要,很容易出错.原创 2023-12-08 13:34:05 · 105 阅读 · 0 评论 -
《我的Classic Platform AUTOSAR之路》EcuM介绍
AUTOSAR 状态机之ECUM原创 2023-11-24 15:01:48 · 154 阅读 · 5 评论 -
《我的Classic Platform AUTOSAR之路》多核OS配置其实很简单
AUTOSAR CP 多核OS配置其实很简单原创 2023-11-17 14:44:44 · 361 阅读 · 0 评论 -
《我的 Classic Platform AUTOSAR之路》 MCAL ICU 讲解与配置
ICU(Input Capture Unit)输入捕获单元,不是重症病房。通常AUTOSAR中使用ICU用于进行PWM输入信号的解调,脉冲计数,频率和占空比的测量,产生简单的中断以及唤醒中断。信号边缘通知控制唤醒中断周期信号时间测量边缘时间戳,可用于采集非周期性信号边缘计数在常规的AUTOSAR开发中,最主要的两个功能,边缘捕获和PWM输入捕获,当然其他功能也很重要。原创 2023-10-08 21:55:57 · 413 阅读 · 0 评论 -
《我的 Classic Platform AUTOSAR之路》 MCAL GPT讲解与配置
GPT驱动(General Purpose Timer Driver)是使用通用定时器单元的硬件定时器通道,它为操作系统或者其他基础软件模块提供计时功能。GPT驱动可以提供启动和停止硬件定时器、得到定时器数值、控制时间触发的中断、控制时间触发的中断唤醒等功能。除此之外,GPT能初始化、控制MCU内部的通用定时器,用来产生一次性(One-shot)或者连续性(Continuous)的定时通知。GPT驱动通常为操作系统(OS)提供定时服务,或者当OS Alarm负担过重时为BSW其他模块提供定时服务。原创 2023-10-07 14:29:36 · 211 阅读 · 0 评论 -
《我的 Classic Platform AUTOSAR之路》 CAN 概念与驱动配置
CAN是控制器局域网络(Controller Area Network, CAN)的简称,是一种能够实现分布式实时控制的串行通信网络。1983年,BOSCH开始着手开发CAN总线;1986年,在SAE会议上,CAN总线正式发布;1987年,Intel和Philips推出第一款CAN控制器芯片;1991年,奔驰 500E 是世界上第一款基于CAN总线系统的量产车型;1991年,Bosch发布CAN 2.0标准,分 CAN 2.0A (11位标识符)和 CAN 2.0B (29位标识符);1993。原创 2023-08-26 12:59:38 · 123 阅读 · 0 评论 -
《我的 Classic Platform AUTOSAR之路》第四章 Appl Interface 概述与SWC创建
Appl :Application layer 应用程序层。众所周知,AUTOSAR是定义汽车软件架构的,无法定义应用程序,AUTOSAR 可以应用与车上大部分控制器,所以AUTOSAR 无法定义应用模块。为了使应用程序可以适合跑在不同的控制器上,AUTOSAR定义规范了APP的对外接口,这样App通过标准接口,可以平台化和快速移植到不同的控制器。所有的App接口通过ARXML定义与交互。原创 2023-07-30 21:21:11 · 118 阅读 · 0 评论 -
maxim max9296A+max9295点亮调试笔记
GMSL:Gigabit Multimedia Serial Link是Maxim公司(http://www.maximintegrated.com)推出的一种高速串行接口,适用于视频、音频和控制信号的传输,使用50Ω同轴电缆或100Ω屏蔽双绞线电缆,传输距离可达15m或更长。max9296A中有PHY0~3 4个2line PHY,可支持D-PHY和C-PHY两种类型,每个PHY有1对clock线和1对数据线,D-PHY使用clock+data,C-PHY为3线。4 lanes PHY有PHY A/B。原创 2023-04-21 16:55:52 · 163 阅读 · 0 评论 -
maxim max96712+max96717调试笔记
mxxim max96712 和max96717调试笔记原创 2023-02-26 22:14:19 · 5204 阅读 · 20 评论 -
AUTOSAR CP代码格式化--clang-format 配置,让团队统一格式编码
autosar cp clang-format 格式化配置原创 2023-02-22 21:32:33 · 255 阅读 · 0 评论 -
《我的 Classic Platform AUTOSAR之路》--软件开发编码规范参考
AUTOSAR CP 软件编码规范原创 2022-11-27 14:32:23 · 1464 阅读 · 0 评论 -
《我的 Classic Platform AUTOSAR之路》 MCAL PWM讲解与配置
特征Phase shiftReference channel for phase shiftMicrocontroller specific channel propertiesDuty cycle -> 16 bit value0x0000 -> 0%0x8000 -> 100%Pwm Main PowerTransitionManagerUsed in case of asynchronous power management, otherwise no mainfun原创 2022-05-19 21:03:52 · 801 阅读 · 0 评论 -
汽车嵌入式软件手写软件和AUTOSAR分别对行业的促进作用
汽车已经发展了100多年,从最初的欧洲,兴盛到美洲,当下蓬勃发展到亚洲。百余年时间,从最初卡尔本茨的三轮内燃机时代,到21世纪的电动化时代,汽车从机械工程定义汽车到现在电子控制器控制定义汽车。汽车发展何去何从?近10年,汽车电动化潮流兴起,国产车在落后国外技术几十年的状况下,国产汽车想通过电动化大潮弯道超车,我们真的可以超过欧美日汽车三巨头吗?作为一只在汽车行业摸爬滚打5-6年的行业老油条对国产汽车电子零部件软件方面,发表自己的观点。当下在行业巨头们的联盟下,共同制定了一套完善的汽车切入式开放系统框原创 2020-06-26 15:31:44 · 811 阅读 · 0 评论 -
《我的 Classic Platform AUTOSAR之路》 Mcal Dio配置
Dio 模块Dio模块在AUTOSAR架构中的位置架构参考:https://www.autosar.org/Dio是汽车嵌入式架构中比较简单的模块,其配置相对简单,主要是和芯片的引脚编号有关,Dio 模块和Port模块配合,才能实现普通GPIO的输出输入控制。其在AUTOSAR架构中的位置如图:Dio模块属于AUTOSAR 架构中的MCAL层,Dio又属于I/O Drivers,上面与I/O Hardware Abstraction交互。其调用关系:MCU->Dio->IoHwAb-&原创 2022-02-19 15:21:18 · 3238 阅读 · 0 评论 -
《我的 Classic Platform AUTOSAR之路》第三章 AUTOSAR CP开发工具链
在当下,新能源智能汽车时代,软件定义汽车,主流的车厂都在自研电子控制器,但是不知道怎么选择,从AUTOSAR CP端来讲,我们需要的开发工具链:代码包使用AUTOSAR CP开发,为了软件的效率和质量,我们很少去coding基本的代码,都是去购买供应商的通用AUTOSAR架构的代码包,目前主流的几家AUTOSAR 代码包供应商:Vector,EB,ETAS等三种博主都使用过,根据市场占有率和好用层次,基本是:Vector>EB>ETAS编译器主流芯片使用Green Hills,英飞凌原创 2022-04-22 21:42:29 · 7575 阅读 · 0 评论 -
《我的 Classic Platform AUTOSAR之路》--AUTOSAR 经典平台架构及VFB
AUTOSAR 经典平台架构及VFBAUTOSAR 架构图BSW分层服务层系统服务(System Services)内存服务(Memory Services)通信服务(Communication Services)车载通信服务层信息安全(加密服务)服务层ECAL和MCAL复杂驱动(Complex Device Drivers)VFBVFB基本概念VFB有什么优点?软硬分离在虚拟功能总线上测试软件组件方法论结语AUTOSAR 架构图如图所示,我们能快速的知道,在AUTOSAR软件架构中,软件可分三层,B原创 2020-07-05 09:38:03 · 2075 阅读 · 0 评论 -
《我的 Classic Platform AUTOSAR之路》 SPI介绍与EB配置
AUTOSAR SPI配置解析AUTOSAT SPI以下内容基于标准AUTOSAR文档以及EB Tresos工具说明SPI 在AUTOSAR的配置主要参数波特率极性相位CS使能电平CLK Idle电平数据大小端数据位宽数据长度CS2CLK时间CLK2CS时间CS2CS时间SPI通信模式(同步 or 异步)Buffer模式(IB or EB)…SPI波特率设置...原创 2022-02-19 15:09:12 · 16384 阅读 · 8 评论