《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会调用专用的接口(自己实现的接口)
- EXP:
-
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接口。
- EXP:
-
DcmDspStartRoutine
- EXP:
DcmDspStartRoutineFnc:启动例程时调用的函数名。若不为空,Dcm在启动例程时会调用该函数
- EXP:
-
DcmDspStopRoutine
- EXP:
DcmDspStopRoutineFnc:结束例程时调用的函数名。若不为空,Dcm在结束例程时会调用该函数
- EXP:
-
DcmDspRoutineIdentifier
- EXP:例程ID
-
DcmDspRoutineUsePort
- EXP:
Dcm使用“RoutineServices_”函数端口
- EXP:
DcmDspRoutineInfos
-
EXP:
- EXP:这个容器包含RID的Info的配置,与DID配置不同,配置RID例程没有最外层的配置界面,只能在Basic Editor中进行配置。
-
EXP:
- EXP:
DcmDspRoutineAuthorization:例程权限设置,设置规则、安全访问等级、会话权限。
DcmDspStartRoutineIn:启动例程的参数输入容器
DcmDspStartRoutineOut:启动例程的参数输出容器
DcmDspRoutineStopIn:结束例程的参数输入容器
DcmDspRoutineStopOut:结束例程的参数输出容器
DcmDspRoutineRequestRspIn:请求例程结果的参数输入容器
DcmDspRoutineRequestRspOut:请求例程结果的参数输出容器
DcmDspRoutineSignalEndianness:例程信号的字节序
DcmDspRoutineSignalLength:例程信号数据的长度(bit)
DcmDspRoutineSignalPos:例程信号数据的位置(偏移量)(bit)
DcmDspRoutineSignalType:例程信号数据的类型
- EXP:
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。
- EXP:
-
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响应(商榷)。
- EXP:
-
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自定义函数访问。
- EXP:
对于每个安全级别,服务 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 (有何区别)。
- EXP:
-
DcmDspSessionLevel
- EXP:指定相应诊断会话的值
-
DcmDspSessionP2ServerMax
- EXP:指定诊断会话的 P2 时间(以秒为单位)。
-
DcmDspSessionP2StarServerMax
- EXP:指定诊断会话的 P2* 时间(以秒为单位)。
DcmRbDspReadDTC
DcmDspMaxDidToRead
- EXP:在单个22服务中允许读取的最大DID数量。若读取的DID数量大于该值,发送否定响应。
DcmDspMaxPeriodicDidToRead
- EXP:在单个2A服务中允许读取的最大DID数量。若读取的DID数量大于该值,发送否定响应。
评论记录:
回复评论: