《AUTOSAR谱系分解(ETAS工具链)》之DcmDsp

《AUTOSAR谱系分解(ETAS工具链)》之DcmDsp

DcmDsp

在这里插入图片描述

EXP:

  • EXP:

    • 在这里插入图片描述

DcmDspDatas

在这里插入图片描述

  • DcmDspDataConditionCheckReadFnc

    • EXP:Did读取检测条件的函数名。若不为空,DCM接收到Did的读取会调用该函数;反之则不检测。
  • DcmDspDataConditionCheckReadFncUsed

    • EXP:决定是否使用条件检测
  • DcmDspDataEndianness

    • EXP:定义DID的字节序
  • DcmDspDataFreezeCurrentStateFnc

    • EXP:指定Dcm冻结当前IO状态的函数名。一般用于0x2F服务(IOControlByDataIdentifier)。
  • DcmDspDataReadDataLengthFnc

    • EXP:指定Dcm读取DID数据的长度的函数名
  • DcmDspDataReadFnc

    • EXP:指定Dcm读取数据内容的函数名
  • DcmDspDataResetToDefaultFnc

    • EXP:指定Dcm复位当前IO默认状态的函数名
  • DcmDspDataReturnControlToEcuFnc

    • EXP:指定Dcm返回IO状态给APP的函数名
  • DcmDspDataShortTermAdjustmentFnc

    • EXP:指定Dcm调整IO状态的函数名
  • DcmDspDataSize

    • EXP:DID数据的长度。若数据长度可变,该参数就是最大的数据长度
  • DcmDspDataType

    • EXP:指定数据类型
  • DcmDspDataUsePort

    • EXP:
      访问数据的接口类型。
      ‘USE_DATA_ASYNCH_CLIENT_SERVER’ or ‘USE_DATA_SYNCH_CLIENT_SERVER’:Dcm调用RTE接口;
      ‘USE_DATA_SYNCH_FNC’ or ‘USE_DATA_ASYNCH_FNC’:Dcm会调用专用的接口(自己实现的接口)
  • DcmDspDataWriteFnc

    • EXP:指定Dcm写数据内容的函数名
  • DcmDspDataBlockIdRef

    • EXP:DCM直接访问Nvm block。

DcmDspDataInfos

在这里插入图片描述

  • DcmDspDataFixedLength

    • EXP:如果设置为TRUE,Dcm 将直接从配置中使用数据长度参数值。一般都会勾上。
  • DcmDspDataScalingInfoSize

    • EXP:数据伸缩信息的长度。Dcm接收到0x24请求时输出该值。

DcmDspDids

  • 在这里插入图片描述

  • DcmDspDidIdentifier

    • EXP:配置DID的ID号。
  • DcmRbDspIsDIDAvailableFnc

    • EXP:
  • DcmDspDidInfoRef

    • EXP:指定DID的配置信息

DcmDspDidInfos

  • 在这里插入图片描述

  • DcmDspDidReadModeRuleRef

    • EXP:配置DID读取模式规则。
  • DcmDspDidReadSecurityLevelRef

    • EXP:配置DID读写的安全解锁等级。一个服务允许多个引用。
  • DcmDspDidReadSeesionLevelRef

    • EXP:配置DID读写的会话等级。一个服务允许多个引用。

DcmDspRoutines

  • 在这里插入图片描述

  • 在这里插入图片描述

  • DcmDspRequestRoutineResults

    • EXP:
      DcmDspRequestRoutineResultsFnc:指定例程请求结果的函数名。若不为空,Dcm会调用该接口,反之Dcm会调用RTE接口。
  • DcmDspStartRoutine

    • EXP:
      DcmDspStartRoutineFnc:启动例程时调用的函数名。若不为空,Dcm在启动例程时会调用该函数
  • DcmDspStopRoutine

    • EXP:
      DcmDspStopRoutineFnc:结束例程时调用的函数名。若不为空,Dcm在结束例程时会调用该函数
  • DcmDspRoutineIdentifier

    • EXP:例程ID
  • DcmDspRoutineUsePort

    • EXP:
      Dcm使用“RoutineServices_”函数端口

DcmDspRoutineInfos

  • EXP:

    • EXP:这个容器包含RID的Info的配置,与DID配置不同,配置RID例程没有最外层的配置界面,只能在Basic Editor中进行配置。
  • EXP:

    • EXP:
      DcmDspRoutineAuthorization:例程权限设置,设置规则、安全访问等级、会话权限。
      DcmDspStartRoutineIn:启动例程的参数输入容器
      DcmDspStartRoutineOut:启动例程的参数输出容器
      DcmDspRoutineStopIn:结束例程的参数输入容器
      DcmDspRoutineStopOut:结束例程的参数输出容器
      DcmDspRoutineRequestRspIn:请求例程结果的参数输入容器
      DcmDspRoutineRequestRspOut:请求例程结果的参数输出容器
      DcmDspRoutineSignalEndianness:例程信号的字节序
      DcmDspRoutineSignalLength:例程信号数据的长度(bit)
      DcmDspRoutineSignalPos:例程信号数据的位置(偏移量)(bit)
      DcmDspRoutineSignalType:例程信号数据的类型

DcmDspComControl

  • DcmDspComControlAllChannel

    • DcmDspAllComMChannelRef:配置引用CAN通道,根据需求,可配置多个通道。
  • DcmDspComControlSpecificChannel

    • DcmDspAllComMChannelRef:配置引用CAN通道,根据需求,可配置多个通道。
  • DcmDspComControlSetting

  • EXP:

    • 在这里插入图片描述

    • EXP:
      Autosar代码中有这12中通道配置。控制应用报文、网络管理,以及RX和TX。
      Bswm模块制定相应的规则来控制CAN的收发功能。

举例:
上图中CANA应用报文的TX规则:接收到“DCM_DISABLE_RX_TX_NORMAL”和“DCM_DISABLE_RX_TX_NORM_NM”就关闭CANA应用报文的TX功能,反之开启CANA应用报文的TX功能。

DcmDspControlDTCSetting

  • DcmDspControlDTCSettingReEnableModeRuleRef

    • EXP:
      控制重启DTC设置的规则。如果设置,Dcm会在DisableDTCSetting请求开始的时候监控,如果不满足规则,Dcm会自动启动DTC。
  • DcmSupportDTCSettingControlOptionRecord

  • 指定是否支持DTC group参数。若设置false,Dcm接收带有DTC group参数的请求时直接拒绝;反之,Dcm接收85服务时可带DTC group参数。

  • 例如IFC项目中默认配置下也可以支持85 01/02, 但是IDC项目中就必须加上DTC Group,所以IDC就需要将配置勾选取消。

DcmDspSecurity

  • 在这里插入图片描述

  • DcmDspSecurityADRSize

    • EXP:
  • DcmDspSecurityAttemptCounterEnabled

    • EXP:安全尝试计数是否支持外部存储。若设置true,Dcm调用读写尝试计数器的API接口;反之,Dcm在初始化的时候清空这个安全访问等级的尝试计数器
  • DcmDspSecurityCompareKeyFnc

    • EXP:秘钥比较函数。当DcmDspSecurityUsePort设置为USE_ASYNCH_FNC时,Dcm会调用该函数。
  • DcmDspSecurityDelayTime

    • EXP:安全访问延迟时间。在延迟期间,Dcm不会接收任何安全访问请求。Dcm只有在失败尝试次数达到设置次数之后才会配置该时间。
  • DcmDspSecurityDelayTimeOnBoot

    • EXP:Dcm在上电周期内的延迟时间。在延迟期间,Dcm不会接收任何安全访问请求。若设置非0,Dcm从初始化后的这段时间会拒绝任何安全访问请求。
  • DcmDspSecurityDelayTimeOnFailedGetAttemptCounter

    • EXP:
      设置获取尝试次数失败后的延迟时间。
      若不设置,Dcm获取失败后直接将计数清0,接收安全访问请求;
      若设置为0,Dcm会一直等待获取尝试次数的结果,在此期间拒绝任何安全访问请求;
      若设置不为0,Dcm会在这段时间内等待获取尝试次数的结果,在此期间拒绝任何安全访问请求,若超时,回复NRC响应(商榷)。
  • DcmDspSecurityGetAttemptCounterFnc

    • EXP:获取尝试次数的函数名。Dcm初始化时重载尝试计数器。
  • DcmDspSecurityGetSeedFnc

    • EXP:获取种子函数。当DcmDspSecurityUsePort设置为USE_ASYNCH_FNC时,Dcm会调用该函数。
  • DcmDspSecurityKeySize

    • EXP:安全访问密钥长度。
  • DcmDspSecurityLevel

    • EXP:安全访问等级。
  • DcmDspSecurityNumAttDelay

    • EXP:安全访问尝试次数。若设置大于0,尝试失败的次数超过该值时返回NRC36;若设置等于0,不限失败尝试次数。
  • DcmDspSecuritySeedSize

    • EXP:安全访问种子长度。
  • DcmDspSecuritySetAttemptCounterFnc

    • EXP:修改安全访问尝试次数的函数。
  • DcmDspSecurityUsePort

    • EXP:
      安全访问类型。USE_ASYNCH_CLIENT_SERVER:Dcm使用P-port接口(SecurityAccess_{SecurityLevel}函数)访问;USE_ASYNCH_FNC:Dcm直接调用DcmDspSecurityGetSeedFnc和DcmDspSecurityCompareKeyFnc自定义函数访问。

对于每个安全级别,服务 0x27 应始终有一对对应的子服务:

  • 一个用于“获取种子”操作,具有奇数的子服务标识符值(例如 0x01);
  • 一个用于“发送密钥”操作,其偶数子服务标识符值等于“获取种子”+1(例如 0x02);
    参数值应始终与服务 0x27 配置容器的DcmDsdSubServices 中“get seed/send-key”对的Subfunction Id匹配:SecurityLevel = ( + 1) / 2
    比如内部安全解锁等级为27 61,那Subfunction Id为0x61(Hex), DcmDspSecurityLevel为49(Dec)。

DcmDspSession

  • 在这里插入图片描述

  • DcmDspSessionForBoot

    • EXP:
      定义切换会话是否跳转到Boot。DCM_NO_BOOT:不跳转Boot;
      DCM_SYS_BOOT:xxx; DCM_SYS_BOOT:xxx (有何区别)。
  • DcmDspSessionLevel

    • EXP:指定相应诊断会话的值
  • DcmDspSessionP2ServerMax

    • EXP:指定诊断会话的 P2 时间(以秒为单位)。
  • DcmDspSessionP2StarServerMax

    • EXP:指定诊断会话的 P2* 时间(以秒为单位)。

DcmRbDspReadDTC

  • 在这里插入图片描述

DcmDspMaxDidToRead

  • EXP:在单个22服务中允许读取的最大DID数量。若读取的DID数量大于该值,发送否定响应。

DcmDspMaxPeriodicDidToRead

  • EXP:在单个2A服务中允许读取的最大DID数量。若读取的DID数量大于该值,发送否定响应。

《AUTOSAR谱系分解(ETAS工具链)》之总目录

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值