首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

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

  • 23-11-14 08:43
  • 2058
  • 11074
blog.csdn.net

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

文章目录

  • 《AUTOSAR谱系分解(ETAS工具链)》之DCM的子模块DSL、DSD和DSP
    • DCM的子模块DSL、DSD和DSP
      • DSL-Diagnostic Session Layer
      • DSD-Diagnostic Service Dispatcher
      • DSP-Diagnostic Service Processor
      • EXP:三个模块的关系

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

  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_CC.c

    • Dcm_DcmCommunicationControl
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Cdi.c

    • Dcm_DcmClearDiagnosticInformation
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Cdtcs.c

    • Dcm_DcmControlDTCSetting
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Dddi.c

    • Dcm_DcmDDDI

      • EXP:UDS service for definition of Dynamical Defined ID.
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Dsc.c

    • Dcm_DcmDiagnosticSessionControl
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Er.c

    • Dcm_DcmEcuReset
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_GetVIN.c

    • Dcm_GetVin
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Iocbi.c

    • Dcm_DcmInputOutputControlByIdentifier
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rc.c

    • Dcm_DcmRoutineControl
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rdbi.c

    • Dcm_DcmReadDataByIdentifier
    • Dcm_GetActiveRDBIDid
    • Dcm_GetPagedDIDData
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rdpi.c

    • Dcm_DcmReadDataByPeriodicIdentifier
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rdtc.c

    • Dcm_DcmReadDTCInformation
    • Dcm_IsProtocolIPCanFD
  • .GenDcmsrcDcmDspDcmDspUdsDcmDspUds_Rdtc_GetFreezeFrameDataByRecord.c

    • Dcm_Dsp_GetFreezeFrameDataByRecord
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rdtc_RepDataRecordByDTC.c

    • Dcm_Dsp_ReportDataRecordByDTCNumber
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rdtc_RepDTCFaultDetectionCounter.c

    • Dcm_Dsp_ReportFaultDetectionCounter
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rdtc_RepFailedDTC.c

    • Dcm_Dsp_ReportFailedDTC
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_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),
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rdtc_ReportDTCBySevMaskRec.c

    • Dcm_Dsp_ReportDTCBySeverityMaskRecord
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rdtc_ReportDTCSnapshotRecId.c

    • Dcm_Dsp_ReportDTCSnapshotRecordIdentification
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rdtc_RepSeverityOfDTC.c

    • Dcm_Dsp_ReportSeverityOfDTC
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rdtc_RepSuppDTC.c

    • Dcm_Dsp_ReportSupportedDTC
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_RequestDownload.c

    • Dcm_DcmRequestDownload
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_RequestTransferExit.c

    • Dcm_DcmRequestTransferExit
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_RequestUpload.c

    • Dcm_DcmRequestUpload
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Rmba.c

    • Dcm_DcmReadMemoryByAddress
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Roe.c

    • Dcm_DcmResponseOnEvent
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Seca.c

    • Dcm_DcmSecurityAccess
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Tp.c

    • Dcm_DcmTesterPresent
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_TransferData.c

    • Dcm_DcmTransferData
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Wdbi.c

    • Dcm_DcmWriteDataByIdentifier
    • Dcm_GetActiveWDBIDid
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Wmba.c

    • Dcm_DcmWriteMemoryByAddress
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_Roe.c

    • 0
  • .DcmsrcDcmDspDcmDspUdsDcmDspUds_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工具链)》之总目录

注:本文转载自blog.csdn.net的PlutoZuo的文章"https://blog.csdn.net/PlutoZuo/article/details/131073930"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

101
推荐
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top