《AUTOSAR谱系分解(ETAS工具链)》之DCM的子模块DSL、DSD和DSP

《AUTOSAR谱系分解(ETAS工具链)》之DCM的子模块DSL、DSD和DSP

DCM的子模块DSL、DSD和DSP

在这里插入图片描述

DSL-Diagnostic Session Layer

  • EXP:

    • EXP:

      • EXP:
        诊断会话层主要有以下三个作用:
  1. 处理诊断请求和响应数据流。
  2. 管理诊断状态(会话状态和安全状态)。
  3. 管理时间参数。

DSD-Diagnostic Service Dispatcher

  • EXP:

    • EXP:

      • EXP:
        诊断服务调度程序是 DSL 和 DSP 之间的桥梁,
        处理 DSL 的诊断请求数据,经过处理后调用 DSP 中的处理程序;
        将 DSP 处理完成后发送的响应数据传递给 DSL。

DSP-Diagnostic Service Processor

  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_CC.c

    • Dcm_DcmCommunicationControl
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Cdi.c

    • Dcm_DcmClearDiagnosticInformation
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Cdtcs.c

    • Dcm_DcmControlDTCSetting
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Dddi.c

    • Dcm_DcmDDDI

      • EXP:UDS service for definition of Dynamical Defined ID.
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Dsc.c

    • Dcm_DcmDiagnosticSessionControl
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Er.c

    • Dcm_DcmEcuReset
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_GetVIN.c

    • Dcm_GetVin
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Iocbi.c

    • Dcm_DcmInputOutputControlByIdentifier
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rc.c

    • Dcm_DcmRoutineControl
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdbi.c

    • Dcm_DcmReadDataByIdentifier
    • Dcm_GetActiveRDBIDid
    • Dcm_GetPagedDIDData
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdpi.c

    • Dcm_DcmReadDataByPeriodicIdentifier
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdtc.c

    • Dcm_DcmReadDTCInformation
    • Dcm_IsProtocolIPCanFD
  • .\Gen\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdtc_GetFreezeFrameDataByRecord.c

    • Dcm_Dsp_GetFreezeFrameDataByRecord
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdtc_RepDataRecordByDTC.c

    • Dcm_Dsp_ReportDataRecordByDTCNumber
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdtc_RepDTCFaultDetectionCounter.c

    • Dcm_Dsp_ReportFaultDetectionCounter
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdtc_RepFailedDTC.c

    • Dcm_Dsp_ReportFailedDTC
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdtc_RepNumDTCByStatusMask.c

    • Dcm_Dsp_ReportNumberOfDTC

      • EXP:
  • Dcm_Dsp_ReportNumberOfDTC
  • This function is used to implement the RDTC service for the following sub functions:
  • 0x01(reportNumberOfDTCByStatusMask),
  • 0x07 (reportNumberOfDTCBySeverityMaskRecord),
  • 0x11(reportNumberOfMirrorMemoryDTCByStatusMask),
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdtc_ReportDTCBySevMaskRec.c

    • Dcm_Dsp_ReportDTCBySeverityMaskRecord
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdtc_ReportDTCSnapshotRecId.c

    • Dcm_Dsp_ReportDTCSnapshotRecordIdentification
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdtc_RepSeverityOfDTC.c

    • Dcm_Dsp_ReportSeverityOfDTC
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rdtc_RepSuppDTC.c

    • Dcm_Dsp_ReportSupportedDTC
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_RequestDownload.c

    • Dcm_DcmRequestDownload
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_RequestTransferExit.c

    • Dcm_DcmRequestTransferExit
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_RequestUpload.c

    • Dcm_DcmRequestUpload
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Rmba.c

    • Dcm_DcmReadMemoryByAddress
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Roe.c

    • Dcm_DcmResponseOnEvent
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Seca.c

    • Dcm_DcmSecurityAccess
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Tp.c

    • Dcm_DcmTesterPresent
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_TransferData.c

    • Dcm_DcmTransferData
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Wdbi.c

    • Dcm_DcmWriteDataByIdentifier
    • Dcm_GetActiveWDBIDid
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Wmba.c

    • Dcm_DcmWriteMemoryByAddress
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Roe.c

    • 0
  • .\Dcm\src\DcmDsp\DcmDspUds\DcmDspUds_Roe.c

    • 0
  • EXP:

    • EXP:

      • EXP:诊断服务处理程序,包含每个诊断服务具体的处理函数。如0x10服务、0x11服务的具体实现函数都是在这个模块里。

EXP:三个模块的关系

  • EXP:

    • EXP:

      • 在这里插入图片描述

      • 在这里插入图片描述

      • EXP:
        DSL层负责接收和发送诊断报文,并将诊断数据或发送结果传递给DSD层,同时还会维护诊断会话、安全等级等诊断状态;
        DSD层接收到DSL发送的诊断请求后,会进行初步判断和处理,分配给每个诊断服务,然后调用DSP中的诊断服务处理函数进行诊断处理;
        DSP中的诊断处理函数在执行过程中可能会控制诊断会话或安全访问状态,所以又会通过接口函数来控制DSL层的状态。

      • EXP:
        诊断通信管理(DCM)主要包括三个子模块:
        诊断服务层(Diagnostic Service Layer,DSL)、
        诊断服务调度(Diagnostic Service Dispatcher, DSD)、
        诊断服务处理(Diagnostic Service Processing, DSP)

Diagnostic Service Layer:确定诊断数据请求和响应的数据流;监控和确保诊断请求和响应的时序,管理诊断状态(特别是诊断会话和安全状态)
Diagnostic Service Dispatcher:接收到的诊断请求转发给数据处理器;当数据处理器触发时,通过PDUR传输诊断响应。
Diagnostic Service Processing:处理实际的诊断请求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值