Autosar Dcm模块之Vector Configurator Pro配置(通用配置)

背景

上篇文章简单介绍了Autosar Dcm模块,接下来我们直接切入主题,如何通过Vector Configurator Pro工具配置Dcm模块,并实现客户的需求。


Dcm模块配置

1.Dcm模块总体配置

上图是Dcm模块整体配置框图,其中包括以下五个配置容器:

DcmDsd:该容器配置诊断服务调度的所有参数

DcmDsl:该容器配置诊断会话层的所有参数

DcmDsp:该容器配置诊断服务处理的所有参数

DcmGeneral: 该容器配置Dcm模块的通用参数

DcmPageBufferCfg:该容器配置Dcm模块的缓存区参数

2.Dcm通用配置(DcmGeneral)

上图是Dcm模块通用配置容器参数,以下是对这些参数的详细介绍。

DcmBswApiVersion:指定BSW堆栈API的AUTOSAR版本。若参数为空,使用V4.XX.XX AUTOSAR版本

DcmCalibrationOfObdIdsEnabled:是否支持标准OBD ID。

DcmCalibrationOfObdIdsMemoryType:标准OBD ID数据的存储类型。VOLATILE:生成RAM表。NON_VOLATILE:生成const区域表。默认使用NON_VOLATILE类型。

DcmDtrDataProvisionViaDemEnabled:Dem是否处理OBD MID DTR数据采集。若设置enable,Dcm请求OBD MID DTR(Sid 0x06 or Did 0xF600)时与Dem数据交互;若设置disable,Dcm使用BSWMD文件定义OBD MID配置来获取DTR数据。

DcmDefensiveBehaviorEnabled:指定Dcm是都监控API输入输出和内部行为,不通知DET BSW。若设置enable,Dcm监控代码的正常功能,避免不可预知情况(空指针、越界、不可预期的参数)。

DcmDemApiVersion:指定Dem API的AOTOSAR版本。若参数为空,使用V4.03.00 AUTOSAR版本

DcmDevErrorDetect:指定Dcm是都监控API输入输出和内部行为,并通知DET BSW。若设置enable,Dcm监控代码的正常功能,避免不可预知情况(空指针、越界、不可预期的参数)。

DcmDspDataDefaultEndianness:DSP层数据默认字节序

DcmFinalResponseToFblEnabled:是否支持FBL最终的响应传输。若设置enable,Dcm调用“Dcm_GetProgConditions”函数决定是否发送最终响应。

DcmForeignDiagnosticRequestDetectionEnabled:指定是否监听其他ECU的诊断请求。若设置enable,Dcm花费资源来处理这些诊断请求。

DcmKeepAliveTime:指定处理每个诊断请求后 Dcm 将保持 ComM 中的 Diag-Active 用户注册的时间(以秒为单位)。

DcmMainFunctionWorkerTaskTime:配置诊断服务处理任务的周期时间。若设置为空,同时DcmSplitTasksEnabled为true,诊断服务处理任务周期会直接调用DcmTaskTime时间。

DcmMaxNumberIterationsPerTask:每个Dcm_MainFunction任务的最大迭代次数。若设置为空,不限制次数;若设置大于0,对于比较复杂的诊断服务会造成运行时间增加。

DcmRequestManufacturerNotificationEnabled:为制造商提供诊断服务通知功能。若设置为enable,Dcm接收到诊断请求后会先处理配置函数。必须配置DcmDslServiceRequestManufacturerNotification参数。

DcmRequestSupplierNotificationEnabled:为供应商提供诊断服务通知功能。若设置为enable,Dcm接收到诊断请求后会先处理配置函数。同时必须配置DcmDslServiceRequestSupplierNotification参数。

DcmResetToFblAfterSessionFinalResposeEnabled:配置诊断会话切换肯定响应之前还是之后复位带FBL。若设置enable,Dcm会先回复肯定响应,再复位到FBL;若设置为disable,Dcm会先根据配置跳转到FBL,之后FBL会回复肯定响应。

DcmRespondAllRequest:是否处理接收到的安全诊断请求。若设置enable,Dcm会接收并处理所有的诊断请求;若设置为disable,Dcm会接收所有请求,但是不处理[0x40,0x7F]U[0xC0, 0xFF]范围内的诊断请求。

DcmSafeBswChecks:是否配置SafeBSW模式。若设置enable,Dcm不支持某些特定的功能(待深入理解);反之Dcm则支持全功能。

DcmSecurityLevelChangeNotificationEnabled:安全等级改变时是否通知SWC。若设置enable,Dcm会在安全等级发生改变时调用RTE的接口。

DcmSplitTasksEnabled:main-function任务是否分裂成worker+timer任务。若设置enable,Dcm会由Dcm_MainFunctionTimer和Dcm_MainFunctionWorker组成;反之Dcm只有一个Dcm_MainFunction任务。

DcmStateRecoveryAfterResetEnabled:是否通过重置ECU保留一些Dcm内部状态。若设置enable,Dcm在Dcm_Init之后读取信息或者默认信息。反之Dcm不恢复信息直接启动。

DcmSupportedIDCalculationSuppressionEnabled:是否抑制SupportedIDs的计算(待深入理解)。

DcmSuppressResponseOnCanTpFuncMixedAddrRequests:是否抑制由MixedAddressing CanTp连接的功能寻址的任何响应。

DcmTaskTime:Dcm主任务的周期时间。

DcmUserConfigFile:用户配置文件的路径。

DcmVersionInfoApi:是否提供版本信息。若设置enable,Dcm提供“Dcm_GetVersionInfo”API接口来读取版本信息。

DcmVirtualRequestEnabled:是否支持虚拟请求。

总结

以上是Dcm模块通用容器配置,我们仅仅用到其中一部分配置,很多配置还需具体实践。

  • 8
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值