Vector
文章平均质量分 88
Rainmicro
这个作者很懒,什么都没留下…
展开
-
AUTOSAR实战教程 - 通信协议栈CAN_CANIF_PDUR_CANTP_COM_XCP_ECUC配置一网打尽
通讯协议栈几乎是CP AUTOSAR中最庞杂的一块。由于其涉及的模块比较多(仅实现CAN信号的收发就需要ECUC/CAN/CANIF/CANTP/PDUR/COM/XCP这么多模块的协作!),且名词概念众多,入门很难。网络上关于各个模块的详细介绍浩如烟海,其深度也让人叹为观止。但没有一篇文章把这些模块串起来!这就导致对于初学者来说,往往耐心的把各个模块的详细介绍都看完,甚至把AUTOSAR标准文档读完,依然不能建立一个全局的思路。转载 2024-01-21 19:30:15 · 1616 阅读 · 1 评论 -
Dem模块之故障数据存储策略
事件存储指当事件发生故障时将相关的数据存储到Nvm中,事件存储分为primary event memory 、user defined event memory、mirror event memory和permanent event memory。转载 2023-12-02 22:58:47 · 395 阅读 · 0 评论 -
Dem模块之故障状态管理策略
事件状态管理主要描述从SW-Cs和BSW上报结果到Dem模块,Dem模块同步处理monitor状态,同时Dem模块还会异步处理事件的DTC status,最后Dcm模块可以通过Dem模块API接口获取相关的状态信息。转载 2023-12-02 22:53:46 · 284 阅读 · 0 评论 -
Dem模块之Debounce策略
Dem模块提供了几个优化信号质量的Debounce策略,包括基于计数的Debounce算法、基于时间的Debounce算法以及特定的Debounce算法。Dem模块可以通过配置事件的DemDebounceAlgorithmClass容器来选择相应的Debounce算法。转载 2023-12-02 22:43:46 · 378 阅读 · 0 评论 -
Dem模块之Vector Configurator Pro配置(Event和DTC细节配置)
DemFreezeFrameRecNumClassRef:定义事件的快照记录号列表,主要是DemTypeOfFreezeFrameRecordNumeration设置为CONFIGURED时使用。DemDTCSeverity:定义DTC的等级,19 09服务的过滤器。DemJ1939FreezeFrameClassRef:定义J1939协议快照数据类。DemMaxNumberFreezeFrameRecords:定义最大支持的快照数量。DemFreezeFrameClassRef:定义快照数据记录的列表。转载 2023-12-02 22:38:26 · 294 阅读 · 0 评论 -
Dem模块之Vector Configurator Pro配置2
若DemNvRamBlockIdType为ADMIN、STATUS、MIRROR、PERMANENT、FREEZEFRAME、OBDIUMPR、DEBOUNCE、AVAILABILITY、DTR、CYCLECOUNTER、AGING类型,不需要配置该参数。DemDataElementDataType:定义外部数据的类型,包括BOOLEAN、SINT32、SINT16、SINT8、SINT8_N、UINT32、UINT16、UINT8、UINT8_N。若禁用,19服务读取时,Dem都需要去读取相应的数据。转载 2023-12-02 22:26:04 · 615 阅读 · 0 评论 -
Dem模块之Vector Configurator Pro配置1
AGING_TYPE_3:如果在此周期中测试事件为PASSED而从未测试事件为FAILED,则启动老化的初始触发器是操作周期的结束。AGING_TYPE_2:如果在此周期中测试事件为PASSED而从未测试事件为FAILED,则启动老化的初始触发器是操作周期的结束。老化计数器在老化周期结束时递增。DEM_AGING_AFTER_HEALING_ALL_DTC:与DEM_AGING_AFTER_HEALING设置相似,但是也影响到没有指示的事件(即没有设置WIR位),事件只能在重启之后开始老化。转载 2023-12-02 21:11:45 · 833 阅读 · 0 评论 -
Autosar Dem模块介绍
诊断事件管理(Diagnostic Event Management)模块主要负责故障事件的处理、故障数据的存储和管理。此外,DEM模块向DCM模块提供故障信息(DTC),DEM模块给应用层和BSW的其他模块提供了接口。DEM模块主要目的是为汽车制造商和零部件供应商定义通用的诊断故障存储功能(diagnostic fault memory)。AUTOSAR标准中对Dem模块最上层分了两菜单栏(参见图1),分别是DemConfigSet,DemGeneral。转载 2023-12-02 20:34:56 · 182 阅读 · 0 评论 -
Dcm模块之Vector Configurator Pro配置(DSP子模块)
如果设置,Dcm会在DisableDTCSetting请求开始的时候监控,如果不满足规则,Dcm会自动启动DTC。上图中CANA应用报文的TX规则:接收到“DCM_DISABLE_RX_TX_NORMAL”和“DCM_DISABLE_RX_TX_NORM_NM”就关闭CANA应用报文的TX功能,反之开启CANA应用报文的TX功能。DcmDspDDDidCheckPerSourceDid:Dcm在接收到0xF200-0xF3FF范围内的0x22和0x2A服务时会执行DIDs和内存块检查等预条件检查。转载 2023-12-02 20:31:41 · 546 阅读 · 0 评论 -
Dcm模块之Vector Configurator Pro配置(DSD子模块)
之前简单介绍了Autosar Dcm模块,接下来我们直接切入主题,如何通过Vector Configurator Pro工具配置DSD子模块,并实现客户的需求。DcmDsdServiceRole:每个Bit都有特定作用,设置为1允许执行,设置为0拒绝执行。设置为1之后,收到对应的诊断服务之后Dcm会自动拒绝任何请求。DcmDsdSubServices:与DcmDsdService的配置大同小异,这里不再赘述。DcmDsdSidTabServiceId:诊断服务ID。一个具体诊断服务的配置容器。转载 2023-12-02 20:23:16 · 191 阅读 · 0 评论 -
Autosar Dcm模块介绍
诊断通信管理(Diagnostic Communication Manager, DCM)模块作为AutoSar诊断模块的重要组成部分,主要负责诊断数据流和管理诊断状态,包括诊断会话、安全状态及诊断服务分配等。主要功能贯穿汽车的开发生产及售后等过程,如开发过程中EMC、DV等实验均可使用诊断服务实现,生产过程中的软件下载更新、ECU产线EOL、汽车产线EOL等、售后过程中读取DTC、控制输出调试功能等。转载 2023-12-02 20:10:24 · 214 阅读 · 0 评论 -
Dcm模块之Vector Configurator Pro配置
若设置为disable,Dcm会先根据配置跳转到FBL,之后FBL会回复肯定响应。若设置为enable,Dcm接收到诊断请求后会先处理配置函数。若设置为disable,Dcm会接收所有请求,但是不处理[0x40,0x7F]U[0xC0, 0xFF]范围内的诊断请求。若设置enable,Dcm监控代码的正常功能,避免不可预知情况(空指针、越界、不可预期的参数)。反之Dcm不恢复信息直接启动。若设置enable,Dcm监控代码的正常功能,避免不可预知情况(空指针、越界、不可预期的参数)。转载 2023-12-02 20:14:41 · 218 阅读 · 0 评论 -
Dcm模块之Vector Configurator Pro配置(DSL子模块)
DcmDslProtocolRxAddrType:指定请求的寻址类型,一般在导入新DBC后需要检查一下,如果没有自动更新,需要手动区分出功能寻址与物理寻址,不然可能会导致诊断报文无法接收。高优先级的协议可能会抢占低优先级的协议。一般也会自动更新,但是也需要检查,不然也会导致诊断报文无法接收。DcmDslProtocolRxBufferID:引用已配置的诊断缓冲区,该缓冲区用于接收协议的诊断请求。DcmDslProtocolTxBufferRef:引用已配置的诊断缓冲区,用于传输协议的诊断响应。转载 2023-12-02 20:19:26 · 330 阅读 · 0 评论 -
实现功能寻址不响应、关闭抑制肯定响应、NRC否定响应
我们先来初略的查看下Davinci cfg工具生成的代码,对比代码可以看到,在Dcm_Lcfg.c中定义了一个Dcm_CfgDiagSysNotificationInfo结构体数组,包含两个函数(即步骤3中创建的函数名)。(2)某个UDS诊断服务不支持抑制肯定响应的情况下,ECU接收到带有抑制肯定响应的SID诊断服务,如何实现上报否定响应NRC12。(1)某个UDS诊断服务不支持功能寻址的情况下,ECU接收到功能寻址的该UDS诊断服务,如何实现不响应该诊断服务。19 81 FF请求,回复NRC12。转载 2023-12-02 20:06:50 · 1513 阅读 · 0 评论