AUTOSAR DTC 1904 冻结帧问题解析

文章详细解释了在VectorAutosar环境下,当DTC不支持1904时,为何仍能收到正响应的原因。关键在于即使删除CFG配置中的相关设置,只要有一个DTC配置支持1904,由于编译选项DEM_CFG_SUPPORT_SRECS被激活,系统仍然会返回正响应。
摘要由CSDN通过智能技术生成

最近很多客户的需求变更为某一个DTC不需要支持 19 04,当用19 04 +DTC Code+SS Num去读取时需要回复NRC31,但很多人有一个疑问为什么明明我将CFG配置中的相关配置(参见下图1)删掉后用19 04 +DTC Code +FF依然会有正响应呢?

Reply:

以Vector Autosar的实现为例:

1.首先要清楚19 04在Vector Autosar的软件架构中是如何实现的,到这很多人可能会说”这个很简

   单,不就是按照Autosar的逻辑框图那样吗,点开CFG看一下就知道了“,我想说大错特

   错!!!!!,想真正的去解决实际的问题还是需要看懂Vector的代码包具体是怎么实现的。

  话不多说,上硬货!!!!!

2. 

                                                                          图1

下边的截图是实际当请求冻结帧SS Nmuber是FF还是具体的别的值比如0X1,0X2等等等的

关键位置,当请求FF时逻辑进入If条件下的逻辑,其它进入Else,在Else中如果该DTC

没有在上图1框住的位置进行配置则该函数Reture的值为48(DEM_NO_SUCH_ELEMENT)

如果请求FF的话,则在If条件下的函数会执行,如果在DEM中DTC有任何一个DTC配置了支持

19 04的话则 用19 04 +DTCCode(该DTC Code无论支持 19 04与否)都会有正响应;

原因见图3,是因为只要有一个DTC支持冻结帧则编译选项DEM_CFG_SUPPORT_SRECS

就会等于 STD_ON,也就是会回复正响应;

                       

                                                            图3

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值