logo资料库

AUTOSAR_SWS_DiagnosticCommunicationManager 经典平台 4.3.1.pdf

第1页 / 共553页
第2页 / 共553页
第3页 / 共553页
第4页 / 共553页
第5页 / 共553页
第6页 / 共553页
第7页 / 共553页
第8页 / 共553页
资料共553页,剩余部分请下载后查看
1 Introduction and functional overview
2 Acronyms and Abbreviations
2.1 Typographical Conventions
3 Related documentation
3.1 Input documents & related standards and norms
3.2 Related specification
4 Constraints and assumptions
4.1 Limitations
4.2 Applicability to car domains
4.3 Applicability to emission-related environments (OBD)
5 Dependencies to other modules
5.1 File structure
6 Requirements Tracing
7 Functional specification
7.1 Error Classification
7.1.1 Development Errors
7.1.2 Runtime Errors
7.1.3 Transient Faults
7.1.4 Production Errors
7.1.5 Extended Production Errors
7.2 General design elements
7.2.1 Submodules within the Dcm module
7.2.2 Negative Response Code (NRC)
7.2.3 Non-volatile information
7.2.4 Types
7.2.4.1 Atomic types overview
7.2.4.2 Data array types overview
7.2.4.3 Data types constraints
7.2.4.4 Dcm_OpStatusType
7.2.4.5 Dcm_SesCtrlType
7.3 Diagnostic Session Layer (DSL)
7.3.1 Introduction
7.3.2 Use cases
7.3.3 Interaction with other modules
7.3.4 Functional description
7.3.4.1 Overview
7.3.4.2 Forward requests from the PduR module to the DSD submodule
7.3.4.2.1 Dcm_StartOfReception
7.3.4.2.2 Dcm_CopyRxData
7.3.4.2.3 Dcm_TpRxIndication
7.3.4.3 Concurrent ''TesterPresent'' (''keep alive logic'')
7.3.4.3.1 Dcm_CopyTxData
7.3.4.3.2 Dcm_TpTxConfirmation
7.3.4.4 Forward responses from the DSD submodule to the PduR module
7.3.4.5 Generic Connection Handling
7.3.4.6 Guarantee timing to tester by sending busy responses
7.3.4.7 Support of periodic transmission
7.3.4.8 Support of ROE transmission
7.3.4.8.1 ResponseOnEvent StateChar
7.3.4.8.1.1 Initializing Dcm (1)
7.3.4.8.1.2 Transition from 'ROE cleared' to 'ROE stopped' (2)
7.3.4.8.1.3 Transition from 'ROE stopped' to 'ROE cleared' (3)
7.3.4.8.1.4 Transition from 'ROE stopped' to 'ROE started' (4)
7.3.4.8.1.5 Transition from 'ROE started' to 'ROE stopped' (5)
7.3.4.8.1.6 Transition from 'ROE started' to 'ROE started' (6)
7.3.4.8.1.7 Transition from 'ROE started' to 'ROE cleared' (7)
7.3.4.8.1.8 Transition from 'ROE cleared' to 'ROE cleared' (8)
7.3.4.8.1.9 Transition from 'ROE cleared' to 'ROE started' (9)
7.3.4.8.1.10 Transition from 'ROE stopped' to 'ROE stopped' (10)
7.3.4.8.2 ROE sub-functions
7.3.4.8.3 EventWindowTime and StorageState
7.3.4.8.4 Pre-configuration of ResponseOnEvent
7.3.4.8.5 Handling of event-trigger
7.3.4.8.5.1 ROE event-trigger onDTCStatusChange (0x01)
7.3.4.8.5.2 ROE event-trigger onChangeOfDataIdentifier (0x03)
7.3.4.8.6 Trigger a ServiceToRespondTo
7.3.4.8.7 Send a ServiceToRespondTo
7.3.4.8.7.1 Roe transmission cycle
7.3.4.8.8 ResponseOnEvent in multiple client environments
7.3.4.9 Support of segmented response (paged-buffer)
7.3.4.10 Support of ResponsePending response triggered by the Application
7.3.4.11 Manage security level
7.3.4.11.1 Initialization sequence
7.3.4.11.2 AttemptCounter update
7.3.4.12 Manage session state
7.3.4.13 Keep track of active non-default sessions
7.3.4.14 Allow to modify timings
7.3.4.15 Handling of different diagnostic protocols
7.3.4.15.1 Different service tables
7.3.4.15.2 Prioritization of protocol
7.3.4.15.3 Preemption of protocol
7.3.4.15.4 Parallel OBD and UDS protocol processing
7.3.4.15.5 Detection of protocol start
7.3.4.15.6 Protocol stop
7.3.4.16 Manage resources
7.3.4.17 Communication Mode Handling
7.3.4.17.1 No Communication
7.3.4.17.2 Silent Communication
7.3.4.17.3 Full Communication
7.3.4.17.4 Diagnostic Activation State
7.4 Diagnostic Service Dispatcher (DSD)
7.4.1 Introduction
7.4.2 Use cases
7.4.2.1 Receive a request message and transmit a positive response message
7.4.2.2 Receive a request message and suppress a positive response
7.4.2.3 Receive a request message and suppress a negative response
7.4.2.4 Receive a request message and transmit a negative response message
7.4.2.5 Send a positive response message without corresponding request
7.4.2.6 Segmented Responses (paged-buffer)
7.4.3 Interaction of the DSD with other modules
7.4.3.1 Interaction of the DSD with the DSL main functionality
7.4.3.2 Interaction of the DSD with the DSP
7.4.4 Functional Description of the DSD
7.4.4.1 Support checking the diagnostic service identifier and adapting the diagnostic message
7.4.4.2 Handling of "suppressPosRspMsgIndicationBit"
7.4.4.3 Verification functionality
7.4.4.3.1 Verification of the Diagnostic Session
7.4.4.3.2 Verification of the Service Security Access levels
7.4.4.3.3 Verification of the Service mode dependencies
7.4.4.4 Check format and subfunction support
7.4.4.4.1 Verification of the Manufacturer Application environment/permission
7.4.4.4.2 Verification of the Supplier Application environment/permission
7.4.4.5 Distribution of diagnostic message to DSP submodule
7.4.4.6 Assemble positive or negative response
7.4.4.6.1 Positive Response
7.4.4.6.2 Negative Response
7.4.4.6.3 Suppression of response
7.4.4.7 Initiate transmission
7.5 Diagnostic Service Processing (DSP)
7.5.1 General
7.5.1.1 Check format and subfunction support
7.5.1.2 Assemble response
7.5.1.3 Negative Response Codes handling
7.5.1.4 Diagnostic mode declaration groups
7.5.1.5 Mode dependent request execution
7.5.1.6 Sender/Receiver Communication
7.5.1.7 Passing SwDataDefProps properties from DEXT file to the Dcm Service SW-C
7.5.1.7.1 DcmDspDiagnosticDataElementRef workflow
7.5.1.7.2 DcmDspAlternativeDataType.DcmApplicationDataType workflow
7.5.1.8 Asynchronous call behavior
7.5.2 UDS Services
7.5.2.1 General behavior using DEM interfaces
7.5.2.2 Service 0x10 - Diagnostic Session Control
7.5.2.3 Service 0x11 - ECUReset
7.5.2.4 Service 0x14 - Clear Diagnostic Information
7.5.2.5 Service 0x19 - Read DTC Information
7.5.2.5.1 Subfunctions 0x01, 0x07, 0x11 and 0x12
7.5.2.5.2 Subfunctions 0x02, 0x0A, 0x0F, 0x13, 0x15 and 0x17
7.5.2.5.3 Subfunction 0x08
7.5.2.5.4 Subfunction 0x09
7.5.2.5.5 Subfunctions 0x06/0x10/0x19
7.5.2.5.6 Subfunction 0x03
7.5.2.5.7 Subfunctions 0x04 and 0x18
7.5.2.5.8 Subfunction 0x05
7.5.2.5.9 Subfunctions 0x0B, 0x0C, 0x0D and 0x0E
7.5.2.5.10 Subfunction 0x14
7.5.2.5.11 Subfunction 0x42
7.5.2.5.12 Subfunction 0x55
7.5.2.6 Service 0x22 - ReadDataByIdentifier
7.5.2.6.1 Non-OBD DID
7.5.2.6.2 OBD DID
7.5.2.7 Service 0x24 - ReadScalingDataByIdentifier
7.5.2.8 Service 0x27 - SecurityAccess
7.5.2.9 Service 0x28 - CommunicationControl
7.5.2.10 Service 0x2A - ReadDataByPeriodicIdentifier
7.5.2.10.1 Scheduler PeriodicTransmission
7.5.2.11 Service 0x2C - DynamicallyDefineDataIdentifier
7.5.2.12 Service 0x2E - WriteDataByIdentifier
7.5.2.13 Service 0x2F - InputOutputControlByIdentifier
7.5.2.14 Service 0x31 - RoutineControl
7.5.2.15 Service 0x3E - Tester Present
7.5.2.16 Service 0x3D - WriteMemoryByAddress
7.5.2.17 Service 0x23 - ReadMemoryByAddress
7.5.2.18 Service 0x34 - RequestDownload
7.5.2.19 Service 0x35 - RequestUpload
7.5.2.20 Service 0x36 - TransferData
7.5.2.21 Service 0x37 - RequestTransferExit
7.5.2.22 Service 0x38 - RequestFileTransfer
7.5.2.23 Service 0x85 - ControlDTCSetting
7.5.2.24 Service 0x87 - LinkControl
7.5.3 OBD Services
7.5.3.1 Overview
7.5.3.2 General behavior
7.5.3.3 Service $01 - Request Current Powertrain Diagnostic Data
7.5.3.4 Service $02 - Request Power Train FreezeFrame Data
7.5.3.4.1 Service $02 - PID$02
7.5.3.4.2 Service $02 - availability PID
7.5.3.4.3 Service $02 - other PIDs
7.5.3.5 Service $03 $07 $0A - Obtaining DTCs
7.5.3.6 Service $04 - Clear/reset emission-related diagnostic information
7.5.3.7 Service $06 - Request On-Board Monitoring Test-results for Specific Monitored Systems
7.5.3.7.1 General requirements
7.5.3.7.2 Test results obtained via Dem interaction
7.5.3.8 Service $08 - Request Control of On-Board System, Test or Component
7.5.3.9 Service $09 - Request Vehicle Information
7.5.4 Interaction usecases
7.5.4.1 Jump to Bootloader
7.5.4.2 Jump due to ECUReset
7.5.4.3 Jump from Bootloader / ECUReset
7.5.4.4 Flags management
7.5.4.4.1 Jump to Bootloader
7.5.4.4.2 Jump from Bootloader
7.6 Error notification
7.7 Debugging
7.8 Synchronous and Asynchronous implementation
7.9 DID configuration
7.9.1 Individual DID
7.9.2 DID ranges
7.10 Startup behavior
8 API specification
8.1 Imported types
8.2 Type definitions
8.2.1 Dcm_StatusType
8.2.2 Dcm_CommunicationModeType
8.2.3 Dcm_ConfigType
8.2.4 Dcm_ReturnReadMemoryType
8.2.5 Dcm_ReturnWriteMemoryType
8.2.6 Dcm_EcuStartModeType
8.2.7 Dcm_ProgConditionsType
8.2.8 Dcm_MsgItemType
8.2.9 Dcm_MsgType
8.2.10 Dcm_MsgLenType
8.2.11 Dcm_MsgAddInfoType
8.2.12 Dcm_IdContextType
8.2.13 Dcm_MsgContextType
8.2.14 Dcm_ExtendedOpStatusType
8.3 Function definitions
8.3.1 Functions provided for other BSW components
8.3.1.1 Dcm_Init
8.3.1.2 Dcm_GetVersionInfo
8.3.1.3 Dcm_DemTriggerOnDTCStatus
8.3.1.4 Dcm_GetVin
8.3.2 Functions provided to BSW modules and to SW-Cs
8.3.2.1 Dcm_GetSecurityLevel
8.3.2.2 Dcm_GetSesCtrlType
8.3.2.3 Dcm_GetActiveProtocol
8.3.2.4 Dcm_ResetToDefaultSession
8.3.2.5 Dcm_TriggerOnEvent
8.3.2.6 Dcm_ SetActiveDiagnostic
8.4 Callback notifications
8.4.1 Dcm_StartOfReception
8.4.2 Dcm_CopyRxData
8.4.3 Dcm_TpRxIndication
8.4.4 Dcm_CopyTxData
8.4.5 Dcm_TpTxConfirmation
8.4.6 Dcm_TxConfirmation
8.4.7 Dcm_ComM_NoComModeEntered
8.4.8 Dcm_ComM_SilentComModeEntered
8.4.9 Dcm_ComM_FullComModeEntered
8.5 Callout Definitions
8.5.1 Dcm_ReadMemory
8.5.2 Dcm_WriteMemory
8.5.3 Dcm_SetProgConditions
8.5.4 Dcm_GetProgConditions
8.5.5 Dcm_ProcessRequestTransferExit
8.5.6 Dcm_ProcessRequestUpload
8.5.7 Dcm_ProcessRequestDownload
8.5.8 Dcm_ ProcessRequestFileTransfer
8.6 Scheduled functions
8.6.1 Dcm_MainFunction
8.7 Expected interfaces
8.7.1 Mandatory interfaces
8.7.2 Optional interfaces
8.7.3 Configurable interfaces
8.7.3.1 SecurityAccess
8.7.3.1.1 GetSeed
8.7.3.1.2 CompareKey
8.7.3.1.3 GetSecurityAttemptCounter
8.7.3.1.4 SetSecurityAttemptCounter
8.7.3.2 DataServices
8.7.3.2.1 ReadData
8.7.3.2.2 WriteData
8.7.3.2.3 ReadDataLength
8.7.3.2.4 ConditionCheckRead
8.7.3.2.5 GetScalingInformation
8.7.3.2.6 ReturnControlToECU
8.7.3.2.7 ResetToDefault
8.7.3.2.7.1 Synchronous interface
8.7.3.2.7.2 Asynchronous interface
8.7.3.2.8 FreezeCurrentState
8.7.3.2.8.1 Synchronous interface
8.7.3.2.8.2 Asynchronous interface
8.7.3.2.9 ShortTermAdjustment
8.7.3.2.9.1 Synchronous interface
8.7.3.2.9.2 Asynchronous interface
8.7.3.3 DataServices_DIDRange
8.7.3.3.1 IsDidAvailable
8.7.3.3.2 ReadDidData
8.7.3.3.3 WriteDidData
8.7.3.3.4 ReadDidRangeDataLength
8.7.3.4 InfoTypesServices
8.7.3.4.1 GetInfotypeValueData
8.7.3.5 RoutineServices
8.7.3.5.1 Xxx_Start Operation
8.7.3.5.2 Xxx_StartConfirmation Operation
8.7.3.5.3 Xxx_Stop Operation
8.7.3.5.4 Xxx_StopConfirmation Operation
8.7.3.5.5 Xxx_RequestResults Operation
8.7.3.5.6 Xxx_RequestResultsConfirmation Operation
8.7.3.6 RequestControlServices
8.7.3.6.1 RequestControl callout
8.7.3.7 CallbackDCMRequestServices
8.7.3.7.1 StartProtocol
8.7.3.7.2 StopProtocol
8.7.3.8 ServiceRequestNotification
8.7.3.8.1 Indication
8.7.3.8.2 Confirmation
8.7.3.9 ClearDTCCheckFnc
8.8 Dcm as Service-Component
8.8.1 Implementation Data Types
8.8.1.1 Dcm_OpStatusType
8.8.1.2 Dcm_ConfirmationStatusType
8.8.1.3 Dcm_SecLevelType
8.8.1.4 Dcm_SesCtrlType
8.8.1.5 Dcm_ProtocolType
8.8.1.6 Dcm_NegativeResponseCodeType
8.8.1.7 Dcm_DataArrayTypeUint8_{Data}Type
8.8.1.8 Dcm_DataArrayTypeUint16_{Data}Type
8.8.1.9 Dcm_DataArrayTypeUint32_{Data}Type
8.8.1.10 Dcm_DataArrayTypeSint8_{Data}Type
8.8.1.11 Dcm_DataArrayTypeSint16_{Data}Type
8.8.1.12 Dcm_DataArrayTypeSint32_{Data}Type
8.8.1.13 Dcm_RangeArray_{Range}Type
8.8.1.14 Dcm_InfoTypeServicesArray_{VehInfoData}Type
8.8.1.15 Dcm_RequestControlServicesInArray_{Tid}Type
8.8.1.16 Dcm_RequestControlServicesOutArray_{Tid}Type
8.8.1.17 Dcm_ScalingInfoArray_{Data}Type
8.8.1.18 Dcm_RequestDataOut_{Routine}_{Signal}PrimitivType
8.8.1.19 Dcm_RequestDataOut_{Routine}_{Signal}Type
8.8.1.20 Dcm_RequestDataOut_{Routine}_{Signal}ArrayType
8.8.1.21 Dcm_RequestFlexibleOutArrayData_{Routine}_{Signal}Type
8.8.1.22 Dcm_StartDataIn_{Routine}_{Signal}PrimitivType
8.8.1.23 Dcm_StartDataIn_{Routine}_{Signal}Type
8.8.1.24 Dcm_StartDataIn_{Routine}_{Signal}ArrayType
8.8.1.25 Dcm_StartDataOut_{Routine}_{Signal}PrimitivType
8.8.1.26 Dcm_StartDataOut_{Routine}_{Signal}Type
8.8.1.27 Dcm_StartDataOut_{Routine}_{Signal}ArrayType
8.8.1.28 Dcm_StartFlexibleInArrayData_{Routine}_{Signal}Type
8.8.1.29 Dcm_StartFlexibleOutArrayData_{Routine}_{Signal}Type
8.8.1.30 Dcm_StopDataIn_{Routine}_{Signal}PrimitivType
8.8.1.31 Dcm_StopDataIn_{Routine}_{Signal}Type
8.8.1.32 Dcm_StopDataIn_{Routine}_{Signal}ArrayType
8.8.1.33 Dcm_StopDataOut_{Routine}_{Signal}PrimitivType
8.8.1.34 Dcm_StopDataOut_{Routine}_{Signal}Type
8.8.1.35 Dcm_StopDataOut_{Routine}_{Signal}ArrayType
8.8.1.36 Dcm_StopFlexibleInArrayData_{Routine}_{Signal}Type
8.8.1.37 Dcm_StopFlexibleOutArrayData_{Routine}_{Signal}Type
8.8.1.38 Dcm_KeyArray_{SecurityLevel}Type
8.8.1.39 Dcm_SeedArray_{SecurityLevel}Type
8.8.1.40 Dcm_SecurityAccessDataRecordArray_{SecurityLevel}Type
8.8.1.41 Dcm_RequestDataArrayType
8.8.1.42 Dcm_ControlMask_{Data}Type
8.8.1.43 ControlMask types
8.8.1.44 Dcm_inputOutputControlParameterType
8.8.1.45 Dcm_IOOperationRequest_{Data}Type
8.8.1.46 Dcm_IOOperationResponseType
8.8.1.47 Dcm_DidSupportedType
8.8.2 Sender-Receiver-Interfaces
8.8.2.1 DataServices_{Data}
8.8.2.2 IOControlRequest_{Data}
8.8.2.3 IOControlResponse
8.8.3 Client-Server-Interfaces
8.8.3.1 SecurityAccess_{SecurityLevel}
8.8.3.2 DataServices_{Data}
8.8.3.2.1 ReadData
8.8.3.2.2 WriteData
8.8.3.2.3 ReadDataLength
8.8.3.2.4 ConditionCheckRead
8.8.3.2.5 GetScalingInformation
8.8.3.2.6 ReturnControlToEcu
8.8.3.2.7 ResetToDefault
8.8.3.2.8 FreezeCurrentState
8.8.3.2.9 ShortTermAdjustment
8.8.3.3 DataServices_DIDRange_{Range}
8.8.3.4 InfotypeServices_{VehInfoData}
8.8.3.5 RoutineServices_{RoutineName}
8.8.3.6 RequestControlServices_{Tid}
8.8.3.7 CallbackDCMRequestServices
8.8.3.8 ServiceRequestNotification
8.8.3.9 DCMServices
8.8.3.10 DCM_Roe
8.8.4 Ports
8.8.4.1 Dcm_CallbackDCMRequestServices_{Name}
8.8.4.2 DataServices_DIDRange_{Range}
8.8.4.3 DataServices_{Data}
8.8.4.4 IOControlRequest_{Data}
8.8.4.5 IOControlResponse_{Data}
8.8.4.6 DCM_Roe_{RoeName}
8.8.4.7 DCMServices
8.8.4.8 InfotypeServices_{VehInfoData}
8.8.4.9 RequestControlServices_{Tid}
8.8.4.10 ServiceRequestManufacturerNotification_{Name}
8.8.4.11 ServiceRequestSupplierNotification_{Name}
8.8.4.12 RoutineServices_{RoutineName}
8.8.4.13 SecurityAccess_{SecurityLevel}
8.8.4.14 Dcm_DiagnosticSessionControlModeSwitchInterface
8.8.4.15 Dcm_EcuResetModeSwitchInterface
8.8.4.16 Dcm_ModeRapidPowerShutDownModeSwitchInterface
8.8.4.17 Dcm_CommunicationControlModeSwitchInterface_{ComMChannelName}
8.8.4.18 Dcm_ControlDTCSettingModeSwitchInterface
8.8.4.19 Dcm_ResponseOnEventModeSwitchInterface_{RoeEventID}
8.8.4.20 Dcm_SecurityAccessModeSwitchInterface
8.8.5 ModeDeclarationGroups
8.8.5.1 DcmDiagnosticSessionControl
8.8.5.2 DcmEcuReset
8.8.5.3 DcmModeRapidPowerShutDown
8.8.5.4 DcmCommunicationControl
8.8.5.5 DcmControlDTCSetting
8.8.5.6 DcmResponseOnEvent
8.8.5.7 DcmSecurityAccess
8.8.6 Mode-Switch-Interfaces
8.8.6.1 Dcm_DiagnosticSessionControlModeSwitchInterface
8.8.6.2 Dcm_EcuResetModeSwitchInterface
8.8.6.3 Dcm_ModeRapidPowerShutDownModeSwitchInterface
8.8.6.4 Dcm_CommunicationControlModeSwitchInterface
8.8.6.5 Dcm_ControlDTCSettingModeSwitchInterface
8.8.6.6 Dcm_ResponseOnEventModeSwitchInterface
8.8.6.7 Dcm_SecurityAccessModeSwitchInterface
8.9 External diagnostic service processing
8.9.1 _
8.9.2 __
8.10 Internal interfaces (not normative)
8.10.1 DslInternal_SetSecurityLevel
8.10.2 DslInternal_SetSesCtrlType
8.10.3 DspInternal_DcmConfirmation
8.10.4 DslInternal_ResponseOnOneEvent
8.10.5 DslInternal_ResponseOnOneDataByPeriodicId
8.10.6 DsdInternal_StartPagedProcessing
8.10.7 DspInternal_CancelPagedBufferProcessing
8.10.8 DsdInternal_ProcessPage
9 Sequence diagrams
9.1 Overview
9.2 DSL (Diagnostic Session Layer)
9.2.1 Start Protocol
9.2.2 Process Busy behavior
9.2.3 Update Diagnostic Session Control when timeout occurs
9.2.4 Process single response of ReadDataByPeriodicIdentifier
9.2.5 Process single event-triggered response of ResponseOnEvent
9.2.6 Process concurrent requests
9.2.7 Interface to ComManager
9.2.7.1 Handling in Default Session
9.2.7.2 Handling in Non-Default Session
9.2.7.3 Session transitions
9.2.7.4 Communication States
9.2.8 Receive request message and transmit negative response message
9.2.9 Process Service Request with paged-buffer
9.2.10 Process copy data in reception
9.2.11 Process copy data in transmission
9.3 DSP (Diagnostic Service Processing)
9.3.1 Interface DSP - DEM (service 0x19, 0x14, 0x85)
9.3.2 Interface special services
9.3.2.1 Process Diagnostic Session Control
9.3.2.2 Process Tester Present
9.3.2.3 Process Security Access
9.3.2.4 Process ResponseOnEvent OnDtcChange
9.3.2.5 Process ResponseOnEvent OnChangeOfDataIdentifier
9.3.2.6 Process Jump to Bootloader
10 Configuration specification
10.1 How to read this chapter
10.2 Configuration constraints
10.3 Containers and configuration parameters
10.3.1 Dcm
10.3.2 DcmConfigSet
10.3.2.1 DcmPageBufferCfg
10.3.2.2 DcmProcessingConditions
10.3.3 DcmDsd
10.3.3.1 DcmDsd
10.3.3.2 DcmDsdService
10.3.3.3 DcmDsdServiceRequestManufacturerNotification
10.3.3.4 DcmDsdServiceRequestSupplierNotification
10.3.3.5 DcmDsdServiceTable
10.3.3.6 DcmDsdSubService
10.3.4 DcmDsl
10.3.4.1 DcmDsl
10.3.4.2 DcmDslBuffer
10.3.4.3 DcmDslCallbackDCMRequestService
10.3.4.4 DcmDslDiagResp
10.3.4.5 DcmDslProtocol
10.3.4.6 DcmDslProtocolRow
10.3.4.7 DcmDslConnection
10.3.4.8 DcmDslMainConnection
10.3.4.9 DcmDslProtocolRx
10.3.4.10 DcmDslProtocolTx
10.3.4.11 DcmDslPeriodicTransmission
10.3.4.12 DcmDslPeriodicConnection
10.3.4.13 DcmDslResponseOnEvent
10.3.5 DcmDsp
10.3.5.1 Communication Control
10.3.5.1.1 DcmDspComControl
10.3.5.1.2 DcmDspComControlAllChannel
10.3.5.1.3 DcmDspComControlSetting
10.3.5.1.4 DcmDspComControlSpecificChannel
10.3.5.1.5 DcmDspComControlSubNode
10.3.5.2 DcmDspCommonAuthorization
10.3.5.3 DIDs
10.3.5.3.1 DcmDspDid
10.3.5.3.2 DcmDspDidInfo
10.3.5.3.3 DcmDspDidRead
10.3.5.3.4 DcmDspDidSignal
10.3.5.3.5 DcmDspDidSupportInfo
10.3.5.3.6 DcmDspDidRange
10.3.5.3.7 DcmDspDidWrite
10.3.5.4 DcmDspControlDTCSetting
10.3.5.5 Data elements
10.3.5.5.1 DcmDspData
10.3.5.5.2 DcmDspDiagnosisScaling
10.3.5.5.3 DcmDspArgumentScaling
10.3.5.5.4 DcmDspAlternativeArgumentData
10.3.5.5.5 DcmDspTextTableMapping
10.3.5.5.6 DcmDspAlternativeDataInterface
10.3.5.5.7 DcmDspAlternativeDataType
10.3.5.5.8 DcmDspAlternativeDiagnosticDataElement
10.3.5.5.9 DcmDataElementInstance
10.3.5.5.10 DcmSubElementInDataElementInstance
10.3.5.5.11 DcmSubElementInImplDataElementInstance
10.3.5.5.12 DcmDspDidDataSupportInfo
10.3.5.5.13 DcmDspDataInfo
10.3.5.6 DcmDspDidControl
10.3.5.7 DcmDspDidControlEnableMask
10.3.5.8 Ecu Reset
10.3.5.8.1 DcmDspEcuReset
10.3.5.8.2 DcmDspEcuResetRow
10.3.5.9 Memory
10.3.5.9.1 DcmDspMemory
10.3.5.9.2 DcmDspAddressAndLengthFormatIdentifier
10.3.5.9.3 DcmDspMemoryIdInfo
10.3.5.9.4 DcmDspReadMemoryRangeByLabelInfo
10.3.5.9.5 DcmDspReadMemoryRangeInfo
10.3.5.9.6 DcmDspWriteMemoryRangeByLabelInfo
10.3.5.9.7 DcmDspWriteMemoryRangeInfo
10.3.5.10 PIDs
10.3.5.10.1 DcmDspPid
10.3.5.10.2 DcmDspPidSupportInfo
10.3.5.10.3 DcmDspPidData
10.3.5.10.4 DcmDspPidService01
10.3.5.10.5 DcmDspPidService02
10.3.5.10.6 DcmDspPidDataSupportInfo
10.3.5.11 DcmDspRequestControl
10.3.5.12 DcmDspRequestFileTransfer
10.3.5.13 Response on Event
10.3.5.13.1 DcmDspRoe
10.3.5.13.2 DcmDspRoeEvent
10.3.5.13.3 DcmDspRoeEventProperties
10.3.5.13.4 DcmDspRoeOnChangeOfDataIdentifier
10.3.5.13.5 DcmDspRoeOnDTCStatusChange
10.3.5.13.6 DcmDspRoeEventWindowTime
10.3.5.14 Routines
10.3.5.14.1 DcmDspRoutine
10.3.5.14.2 DcmDspRequestRoutineResults
10.3.5.14.3 DcmDspRequestRoutineResultsOut
10.3.5.14.4 DcmDspRequestRoutineResultsOutSignal
10.3.5.14.5 DcmDspStartRoutine
10.3.5.14.6 DcmDspStartRoutineIn
10.3.5.14.7 DcmDspStartRoutineInSignal
10.3.5.14.8 DcmDspStartRoutineOut
10.3.5.14.9 DcmDspStartRoutineOutSignal
10.3.5.14.10 DcmDspStopRoutine
10.3.5.14.11 DcmDspStopRoutineIn
10.3.5.14.12 DcmDspStopRoutineInSignal
10.3.5.14.13 DcmDspStopRoutineOut
10.3.5.14.14 DcmDspStopRoutineOutSignal
10.3.5.15 Session Security and Modes
10.3.5.15.1 DcmDspSecurity
10.3.5.15.2 DcmDspSecurityRow
10.3.5.15.3 DcmDspSession
10.3.5.15.4 DcmDspSessionRow
10.3.5.15.5 DcmModeCondition
10.3.5.15.6 DcmModeRule
10.3.5.16 DcmDspVehInfo
10.3.5.17 DcmDspVehInfoData
10.3.5.18 DcmDspPeriodicTransmission
10.3.5.19 DcmDspClearDTC
10.3.6 DcmGeneral
10.4 Protocol Configuration Example
10.5 Published Information
A Not applicable requirements
Specification of Diagnostic Communication Manager AUTOSAR CP Release 4.3.1 Document Title Document Owner Specification of Diagnostic Communication Manager AUTOSAR Document Responsibility AUTOSAR Document Identification No 18 Document Status Final Part of AUTOSAR Standard Classic Platform Part of Standard Release 4.3.1 Document Change History Description • Cleanup SRS_Diagnostic requirement traceability • Fix Dcm/Dem interactions • Add constraints requirements for • minor corrections / clarifications / parameter configuration inconsistencies Date Release Changed by 2017-12-08 4.3.1 AUTOSAR Release Management 2016-11-30 4.3.0 AUTOSAR Release Management and Dcm editorial changes; For details please refer to the ChangeDocumentation • Redesign interfaces between Dem • Rework Security Access • Add management for parallel support • Clarify usage of Diagnosis scaling • minor corrections / clarifications / for OBD and UDS protocols management editorial changes; For details please refer to the BWCStatement 1 of 553 Document ID 18: AUTOSAR_SWS_DiagnosticCommunicationManager — AUTOSAR CONFIDENTIAL —
Specification of Diagnostic Communication Manager AUTOSAR CP Release 4.3.1 2015-07-31 4.2.2 AUTOSAR Release Management 2014-10-31 4.2.1 AUTOSAR Release Management 2014-03-31 4.1.3 AUTOSAR Release Management 2013-10-31 4.1.2 AUTOSAR Release Management 2013-03-15 4.1.1 AUTOSAR Administration • Specify the NRCs to be sent by the Dcm in case of Dem interfaces return negative values. • Clarify Routine operation prototypes • Debugging support marked as • Minor corrections / clarifications / obsolete editorial changes; For details please refer to the Change Documentation • Update to ISO 14229-1:2013 (Order of NRCs, SID 0x19 and 0x28 extended subfunctions, SID 0x38) • Specify security mechanisms • Refine service (security Lock time, static seed). ReadDataByPeriodicIdentifier (0x2A) and provide UUDT transfer. • Reorganize the configuration parameters for the routines. interaction DIDRange usage • Added functional description for • Added support for bootloader • Revised the header file structure • Editorial changes • Created API tables for service • Provided synchronous and interfaces asynchronous APIs for DataServices callouts • Harmonization for the length parameter interpretation all over RDBI, WDBI and RC services to be in bytes • Editorial changes • Removed chapter(s) on change documentation • Added Response on Event support • Rework configuration for S/R • Rework OBD Service $06 communication management 2 of 553 Document ID 18: AUTOSAR_SWS_DiagnosticCommunicationManager — AUTOSAR CONFIDENTIAL —
Specification of Diagnostic Communication Manager AUTOSAR CP Release 4.3.1 2011-12-22 4.0.3 AUTOSAR Administration 2009-12-18 4.0.1 AUTOSAR Administration 2010-02-02 3.1.4 AUTOSAR Administration • Change interaction with BswM module for mode management • Change of callout configuration management for services and sub-services processing • Synchronous and asynchronous clarification • ComM_DCM_InactiveDiagnostic and ComM_DCM_ActiveDiagnostic has been defined as mandatory interfaces. • DcmDslPeriodicTxConfirmationPduId multiplicity changed and creation of DcmDslPeriodicConnection parameter in order to link the confirmation Id with TxPdu Id for PeriodicTransmission. • Dem_GetDTCOfOBDFreezeFrame, Dlt_ConditionCheckRead added as optional interfaces • DspInternal_ Api moved to mandatory internal interface to support the ECU Supplier diagnosis. • Rework of ReadData operation • Add support of following UDS services : ReadMemoryByAdress, WriteMemoryByAdress, RequestDownload, RequestUpload, TransferData, RequestTransferExit, CommunicationControl, ResponseOnEvent. • Add of bootloader interaction • Add of BswM interaction • Add of IoHwAb interaction • Add of DLT interaction • Add of Signal based approach on • Legal nvocation revised RTE interfaces 3 of 553 Document ID 18: AUTOSAR_SWS_DiagnosticCommunicationManager — AUTOSAR CONFIDENTIAL —
Specification of Diagnostic Communication Manager AUTOSAR CP Release 4.3.1 2008-08-13 3.1.1 AUTOSAR Administration 2007-12-21 3.0.1 AUTOSAR Administration 2007-01-24 2.1.15 AUTOSAR Administration 2.1.14 AUTOSAR Administration 2006-11-28 2.1 AUTOSAR Administration 2006-05-16 2.0 AUTOSAR Administration 2005-05-31 1.0 AUTOSAR Administration R2.1 extended • Introduction of OBD support • generation of artefacts from the models according to the AUTOSAR process • Identification of requirements and correct formulation of specification items as requirements • General cleanup • Legal nvocation revised • Rework of the interfaces with RTE (remove of Central Diagnostic SWC concept) • Correction of issues identified on • Document meta information • Small layout adaptations made • "Advice for users" revised • "Revision Information" added • Corrections in configuration chapter • Rework on interface between DCM and DEM according to changes in DEM SWS • Corrections in Sequence diagram • Addition of header files inclusions • Legal disclaimer revised • Layout Adaptations • Document structure adapted to common Release 2.0 SWS Template • Major changes in chapter 10 • Structure of document changed • Other changes see chapter 11 • Initial release partly 4 of 553 Document ID 18: AUTOSAR_SWS_DiagnosticCommunicationManager — AUTOSAR CONFIDENTIAL —
Specification of Diagnostic Communication Manager AUTOSAR CP Release 4.3.1 Disclaimer This work (specification and/or software implementation) and the material contained in it, as released by AUTOSAR, is for the purpose of information only. AUTOSAR and the companies that have contributed to it shall not be liable for any use of the work. The material contained in this work is protected by copyright and other types of intel- lectual property rights. The commercial exploitation of the material contained in this work requires a license to such intellectual property rights. This work may be utilized or reproduced without any modification, in any form or by any means, for informational purposes only. For any other purpose, no part of the work may be utilized or reproduced, in any form or by any means, without permission in writing from the publisher. The work has been developed for automotive applications only. developed, nor tested for non-automotive applications. It has neither been The word AUTOSAR and the AUTOSAR logo are registered trademarks. 5 of 553 Document ID 18: AUTOSAR_SWS_DiagnosticCommunicationManager — AUTOSAR CONFIDENTIAL —
Specification of Diagnostic Communication Manager AUTOSAR CP Release 4.3.1 Table of Contents 1 Introduction and functional overview 2 Acronyms and Abbreviations 2.1 Typographical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 3 Related documentation 3.1 3.2 Input documents & related standards and norms . . . . . . . . . . . . Related specification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 Constraints and assumptions 4.1 4.2 4.3 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Applicability to car domains . . . . . . . . . . . . . . . . . . . . . . . . Applicability to emission-related environments (OBD) . . . . . . . . . . 5 Dependencies to other modules 5.1 File structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 Requirements Tracing 7 Functional specification 21 23 25 25 25 26 27 27 28 28 29 31 32 45 45 45 46 46 46 46 47 47 48 48 48 49 49 49 51 51 51 51 52 52 52 52 53 54 7.1 7.3 7.2.1 7.2.2 7.2.3 7.2.4 Error Classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Development Errors . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Runtime Errors . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.2 Transient Faults . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.3 7.1.4 Production Errors . . . . . . . . . . . . . . . . . . . . . . . . Extended Production Errors . . . . . . . . . . . . . . . . . . . 7.1.5 7.2 General design elements . . . . . . . . . . . . . . . . . . . . . . . . . . Submodules within the Dcm module . . . . . . . . . . . . . . Negative Response Code (NRC) . . . . . . . . . . . . . . . . Non-volatile information . . . . . . . . . . . . . . . . . . . . . Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Atomic types overview . . . . . . . . . . . . . . . . . Data array types overview . . . . . . . . . . . . . . . Data types constraints . . . . . . . . . . . . . . . . . Dcm_OpStatusType . . . . . . . . . . . . . . . . . . Dcm_SesCtrlType . . . . . . . . . . . . . . . . . . . Diagnostic Session Layer (DSL) . . . . . . . . . . . . . . . . . . . . . . Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.3.1 7.3.2 Use cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . Interaction with other modules . . . . . . . . . . . . . . . . . 7.3.3 Functional description . . . . . . . . . . . . . . . . . . . . . . 7.3.4 Overview . . . . . . . . . . . . . . . . . . . . . . . . Forward requests from the PduR module to the DSD submodule . . . . . . . . . . . . . . . . . . . . . . . 7.3.4.2.1 Dcm_StartOfReception . . . . . . . . . . . . . 7.2.4.1 7.2.4.2 7.2.4.3 7.2.4.4 7.2.4.5 7.3.4.1 7.3.4.2 6 of 553 Document ID 18: AUTOSAR_SWS_DiagnosticCommunicationManager — AUTOSAR CONFIDENTIAL —
Specification of Diagnostic Communication Manager AUTOSAR CP Release 4.3.1 7.3.4.8.1.4 7.3.4.8.1.5 7.3.4.8.1.3 55 56 56 57 57 7.3.4.8.1.1 7.3.4.8.1.2 7.3.4.8.1 ResponseOnEvent StateChar Concurrent ”TesterPresent” (”keep alive logic”) 7.3.4.2.2 Dcm_CopyRxData . . . . . . . . . . . . . . . . 7.3.4.2.3 Dcm_TpRxIndication . . . . . . . . . . . . . . . . . 7.3.4.3.1 Dcm_CopyTxData . . . . . . . . . . . . . . . . 7.3.4.3.2 Dcm_TpTxConfirmation . . . . . . . . . . . . . Forward responses from the DSD submodule to the 58 PduR module . . . . . . . . . . . . . . . . . . . . . . Generic Connection Handling . . . . . . . . . . . . . 59 Guarantee timing to tester by sending busy responses 60 60 Support of periodic transmission . . . . . . . . . . . 61 Support of ROE transmission . . . . . . . . . . . . . . . . . . . . . . 61 Initializing Dcm (1) 62 . . . . . . . . . . . . Transition from ’ROE cleared’ to ’ROE stopped’ (2) . . . . . . . . . . . . . . . . Transition from ’ROE stopped’ to ’ROE cleared’ (3) . . . . . . . . . . . . . . . . Transition from ’ROE stopped’ to ’ROE started’ (4) . . . . . . . . . . . . . . . . Transition from ’ROE started’ to ’ROE stopped’ (5) . . . . . . . . . . . . . . . . Transition from ’ROE started’ to ’ROE started’ (6) . . . . . . . . . . . . . . . . Transition from ’ROE started’ to ’ROE cleared’ (7) . . . . . . . . . . . . . . . . Transition from ’ROE cleared’ to ’ROE cleared’ (8) . . . . . . . . . . . . . . . . Transition from ’ROE cleared’ to ’ROE started’ (9) . . . . . . . . . . . . . . . . 7.3.4.8.1.10 Transition from ’ROE stopped’ to ’ROE stopped’ (10) . . . . . . . . . . . . . . . 7.3.4.8.2 ROE sub-functions . . . . . . . . . . . . . . . 7.3.4.8.3 EventWindowTime and StorageState . . . . . 7.3.4.8.4 Pre-configuration of ResponseOnEvent . . . . . . . . . . . . . . . . 7.3.4.8.5 Handling of event-trigger onDTCSta- . . . . . . . . . . . . onChangeOf- DataIdentifier (0x03) . . . . . . . . . . . 7.3.4.8.6 Trigger a ServiceToRespondTo . . . . . . . . . 7.3.4.8.7 Send a ServiceToRespondTo . . . . . . . . . . 7.3.4.8.7.1 Roe transmission cycle . . . . . . . . . 7.3.4.8.8 ResponseOnEvent in multiple client environ- ments . . . . . . . . . . . . . . . . . . . . . . . Support of segmented response (paged-buffer) . . . 7.3.4.8.5.1 ROE 7.3.4.8.5.2 ROE tusChange (0x01) event-trigger event-trigger 62 62 62 63 63 63 63 64 64 64 65 67 67 67 68 68 69 70 70 71 7.3.4.8.1.9 7.3.4.8.1.6 7.3.4.8.1.7 7.3.4.8.1.8 7.3.4.3 7.3.4.4 7.3.4.5 7.3.4.6 7.3.4.7 7.3.4.8 7.3.4.9 7 of 553 Document ID 18: AUTOSAR_SWS_DiagnosticCommunicationManager — AUTOSAR CONFIDENTIAL —
Specification of Diagnostic Communication Manager AUTOSAR CP Release 4.3.1 7.3.4.11 7.3.4.10 7.3.4.16 7.3.4.17 7.3.4.12 7.3.4.13 7.3.4.14 7.3.4.15 71 72 72 73 74 74 75 75 76 76 76 78 78 79 79 80 80 81 82 82 83 83 83 Support of ResponsePending response triggered by the Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Manage security level 7.3.4.11.1 Initialization sequence . . . . . . . . . . . . . . 7.3.4.11.2 AttemptCounter update . . . . . . . . . . . . . Manage session state . . . . . . . . . . . . . . . . . Keep track of active non-default sessions . . . . . . Allow to modify timings . . . . . . . . . . . . . . . . . Handling of different diagnostic protocols . . . . . . 7.3.4.15.1 Different service tables . . . . . . . . . . . . . 7.3.4.15.2 Prioritization of protocol . . . . . . . . . . . . . 7.3.4.15.3 Preemption of protocol . . . . . . . . . . . . . 7.3.4.15.4 Parallel OBD and UDS protocol processing . . 7.3.4.15.5 Detection of protocol start . . . . . . . . . . . . 7.3.4.15.6 Protocol stop . . . . . . . . . . . . . . . . . . . Manage resources . . . . . . . . . . . . . . . . . . . Communication Mode Handling . . . . . . . . . . . . 7.3.4.17.1 No Communication . . . . . . . . . . . . . . . 7.3.4.17.2 Silent Communication . . . . . . . . . . . . . . 7.3.4.17.3 Full Communication . . . . . . . . . . . . . . . 7.3.4.17.4 Diagnostic Activation State . . . . . . . . . . . Diagnostic Service Dispatcher (DSD) . . . . . . . . . . . . . . . . . . . 7.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . Use cases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.4.2 Receive a request message and transmit a positive response message . . . . . . . . . . . . . . . . . . . Receive a request message and suppress a positive response . . . . . . . . . . . . . . . . . . . . . . . . Receive a request message and suppress a negative response . . . . . . . . . . . . . . . . . . . . . . . . Receive a request message and transmit a negative response message . . . . . . . . . . . . . . . . . . . Send a positive response message without corre- sponding request . . . . . . . . . . . . . . . . . . . . Segmented Responses (paged-buffer) . . . . . . . . Interaction of the DSD with other modules . . . . . . . . . . . Interaction of the DSD with the DSL main functionality Interaction of the DSD with the DSP . . . . . . . . . . Functional Description of the DSD . . . . . . . . . . . . . . . Support checking the diagnostic service identifier and adapting the diagnostic message . . . . . . . . 87 Handling of "suppressPosRspMsgIndicationBit" . . . 88 Verification functionality . . . . . . . . . . . . . . . . 89 7.4.4.3.1 Verification of the Diagnostic Session . . . . . 90 7.4.4.3.2 Verification of the Service Security Access levels 90 7.4.4.3.3 Verification of the Service mode dependencies 91 85 86 86 86 87 87 84 84 84 85 7.4.4.1 7.4.4.2 7.4.4.3 7.4.2.3 7.4.2.4 7.4.2.5 7.4.2.6 7.4.3.1 7.4.3.2 7.4.2.1 7.4.2.2 7.4 7.4.3 7.4.4 8 of 553 Document ID 18: AUTOSAR_SWS_DiagnosticCommunicationManager — AUTOSAR CONFIDENTIAL —
分享到:
收藏