Shopping Cart

No products in the cart.

BS ISO 14229-1:2020

$215.11

Road vehicles. Unified diagnostic services (UDS) – Application layer

Published By Publication Date Number of Pages
BSI 2020 482
Guaranteed Safe Checkout
Category:

If you have any questions, feel free to reach out to our online customer service team by clicking on the bottom right corner. Weโ€™re here to assist you 24/7.
Email:[email protected]

PDF Catalog

PDF Pages PDF Title
2 undefined
11 Foreword
12 Introduction
15 1 Scope
2 Normative references
3 Terms and definitions
16 3 Terms and definitions
19 4 Symbols and abbreviated terms
5 Conventions
20 Figure 1 โ€” The services and the protocol
6 Document overview
21 7 Application layer services
7.1 General
22 Figure 4 โ€” Application layer service primitives โ€“ Unconfirmed service
23 Figure 4 โ€” Application layer service primitives โ€“ Unconfirmed service
7.2 Format description of application layer services
7.3 Format description of service primitives
7.3.1 General definition
24 7.3.2 Service request and service indication primitives
7.3.3 Service response and service confirm primitives
25 7.3.3 Service response and service confirm primitives
7.3.4 Service request-confirm and service response-confirm primitives
26 7.4 Service data unit specification
7.4.1 Mandatory parameters
7.4.1.1 General definition
7.4.1.2 A_Mtype, application layer message type
7.4.1.3 A_SA, application layer source address
27 7.4.1.3 A_SA, application layer source address
7.4.1.4 A_TA, application layer target address
7.4.1.5 A_TA_Type, application layer target address type
28 7.4.1.5 A_TA_Type, application layer target address type
7.4.1.6 A_Result
7.4.1.7 A_Length
7.4.1.8 A_Data
7.4.2 Vehicle system requirements
7.4.3 Optional parameters – A_AE, application layer remote address
29 7.4.3 Optional parameters – A_AE, application layer remote address
8 Application layer protocol
8.1 General definition
8.2 A_PDU, application protocol data unit
30 8.2 A_PDU, application protocol data unit
8.3 A_PCI, application protocol control information
8.4 SI, service identifier
31 8.4 SI, service identifier
8.5 A_NR_SI, Negative response service identifier
8.6 Negative response/confirmation service primitive
32 8.6 Negative response/confirmation service primitive
8.7 Server response implementation rules
8.7.1 General definitions
33 8.7.2 General server response behaviour
34 8.7.3 Request message with SubFunction parameter and server response behaviour
8.7.3.1 General server response behaviour for request messages with SubFunction parameter
35 8.7.3 Request message with SubFunction parameter and server response behaviour
8.7.3.1 General server response behaviour for request messages with SubFunction parameter
8.7.3.2 Physically addressed client request message
36 8.7.3.2 Physically addressed client request message
37 8.7.3.3 Functionally addressed client request message
39 8.7.4 Request message without SubFunction parameter and server response behaviour
8.7.4.1 General server response behaviour for request messages without SubFunction parameter
8.7.4.2 Physically addressed client request message
40 8.7.4.3 Functionally addressed client request message
41 8.7.5 Pseudo code example of server response behaviour
42 8.7.6 Multiple concurrent request messages with physical and functional addressing
43 8.7.6 Multiple concurrent request messages with physical and functional addressing
9 Service description conventions
9.1 Service description
44 Table 8 โ€” A_PDU parameter conventions
9.2 Request message
9.2.1 Request message definition
45 Table 10 โ€” Request A_PDU definition without SubFunction
9.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 11 โ€” SubFunction parameter structure
46 Table 12 โ€” Request message SubFunction parameter definition
47 9.2.3 Request message data-parameter definition
9.3 Positive response message
9.3.1 Positive response message definition
48 9.3.2 Positive response message data-parameter definition
9.4 Supported negative response codes (NRC_)
49 Table 18 โ€” Supported negative response codes
9.5 Message flow examples
Table 19 โ€” Request message flow example
50 10 Diagnostic and communication management functional unit
10.1 Overview
Table 22 โ€” Diagnostic and communication management functional unit
10.2 DiagnosticSessionControl (1016) service
10.2.1 Service description
53 10.2.2 Request message
10.2.2.1 Request message definition
54 10.2.2 Request message
10.2.2.1 Request message definition
10.2.2.2 Request message SubFunction parameter $Level (LEV_) definition
55 10.2.2.3 Request message data-parameter definition
10.2.3 Positive response message
10.2.3.1 Positive response message definition
56 10.2.3.2 Positive response message data-parameter definition
Table 28 โ€” sessionParameterRecord definition
10.2.4 Supported negative response codes (NRC_)
57 10.2.5 Message flow example(s) DiagnosticSessionControl โ€“ Start programmingSession
10.3 ECUReset (1116) service
10.3.1 Service description
58 10.3.2 Request message
10.3.2.1 Request message definition
10.3.2.2 Request message SubFunction Parameter $Level (LEV_) definition
Table 34 โ€” Request message SubFunction parameter definition
59 10.3.2.3 Request message data-parameter definition
10.3.3 Positive response message
10.3.3.1 Positive response message definition
60 Table 35 โ€” Positive response message definition
10.3.3.2 Positive response message data-parameter definition
Table 36 โ€” Response message data-parameter definition
10.3.4 Supported negative response codes (NRC_)
Table 37 โ€” Supported negative response codes
10.3.5 Message flow example ECUReset
61 10.3.5 Message flow example ECUReset
10.4 SecurityAccess (2716) service
10.4.1 Service description
62 10.4.2 Request message
10.4.2.1 Request message definition
63 10.4.2 Request message
10.4.2.1 Request message definition
Table 41 โ€” Request message definition – SubFunction = sendKey
10.4.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 42 โ€” Request message SubFunction parameter definition
64 Table 42 โ€” Request message SubFunction parameter definition
10.4.2.3 Request message data-parameter definition
10.4.3 Positive response message
10.4.3.1 Positive response message definition
Table 44 โ€” Positive response message definition
65 10.4.3 Positive response message
10.4.3.1 Positive response message definition
Table 44 โ€” Positive response message definition
10.4.3.2 Positive response message data-parameter definition
Table 45 โ€” Response message data-parameter definition
10.4.4 Supported negative response codes (NRC_)
66 10.4.5 Message flow example(s) SecurityAccess
10.4.5.1 Assumptions
10.4.5.2 Example #1 – server is in a โ€œlockedโ€ state
10.4.5.2.1 Step #1: Request the Seed
67 10.4.5.2.2 Step #2: Send the Key
10.4.5.3 Example #2 – server is in an โ€œunlockedโ€ state
10.4.5.3.1 Step #1: Request the Seed
Table 52 โ€” SecurityAccess positive response message flow example #2 โ€“ step #2
68 Table 52 โ€” SecurityAccess positive response message flow example #2 โ€“ step #2
10.5 CommunicationControl (2816) service
10.5.1 Service description
10.5.2 Request message
10.5.2.1 Request message definition
Table 53 โ€” Request message definition
10.5.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 54 โ€” Request message SubFunction parameter definition
69 10.5.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 54 โ€” Request message SubFunction parameter definition
10.5.2.3 Request message data-parameter definition
70 Table 55 โ€” Request message data-parameter definition
10.5.3 Positive response message
10.5.3.1 Positive response message definition
Table 56 โ€” Positive response message definition
10.5.3.2 Positive response message data-parameter definition
Table 57 โ€” Response message data-parameter definition
10.5.4 Supported negative response codes (NRC_)
71 Table 58 โ€” Supported negative response codes
10.5.5 Message flow example CommunicationControl (disable transmission of network management messages)
Table 60 โ€” CommunicationControl positive response message flow example
10.5.6 Message flow example CommunicationControl (switch a remote network into the diagnostic-only scheduling mode where the node with address 000A16 is connected to)
72 Table 61 โ€” CommunicationControl request message flow example
10.5.7 Message flow example CommunicationControl (switch to application scheduling mode with enhanced address information, the node 000A16, which is connected to a sub-network, is addressed)
Table 63 โ€” CommunicationControl request message flow example
73 Table 64 โ€” CommunicationControl positive response message flow example
10.6 Authentication (2916) service
10.6.1 Service overview
10.6.2 Authentication with PKI Certificate Exchange (APCE)
74 10.6.2 Authentication with PKI Certificate Exchange (APCE)
79 10.6.3 Authentication with Challenge-Response (ACR)
83 Figure 10 โ€” Authentication sequence with Challenge-Response (ACR)
10.6.4 Common requirements
84 10.6.5 Request message
10.6.5.1 Request message definition
85 10.6.5 Request message
10.6.5.1 Request message definition
86 Table 67 โ€” Request message definition – SubFunction = verifyCertificateBidirectional
87 Table 69 โ€” Request message definition – SubFunction = transmitCertificate
Table 70 โ€” Request message definition – SubFunction = requestChallengeForAuthentication
88 Table 71 โ€” Request message definition – SubFunction = verifyProofOfOwnershipUnidirectional
Table 72 โ€” Request message definition – SubFunction = verifyProofOfOwnershipBidirectional
89 Table 72 โ€” Request message definition – SubFunction = verifyProofOfOwnershipBidirectional
90 Table 73 โ€” Request message definition – SubFunction = authenticationConfiguration
10.6.5.2 Request message SubFunction parameter $Level (LEV_) definition
Table 74 โ€” Request message SubFunction parameter definition
10.6.5.3 Request message data-parameter definition
91 10.6.6 Positive response message
10.6.6.1 Positive response message definition
92 10.6.6 Positive response message
10.6.6.1 Positive response message definition
Table 76 โ€” Response message definition – SubFunction = deAuthenticate
Table 78 โ€” Response message definition – SubFunction = verifyCertificateBidirectional
93 Table 78 โ€” Response message definition – SubFunction = verifyCertificateBidirectional
95 Table 81 โ€” Response message definition – SubFunction = requestChallengeForAuthentication
96 Table 83 โ€” Response message definition – SubFunction = verifyProofOfOwnershipBidirectional
97 10.6.6.2 Positive response message data-parameter definition
98 10.6.7 Supported negative response codes (NRC_)
99 10.6.7 Supported negative response codes (NRC_)
100 10.6.8 Message flow example(s) Authentication
10.6.8.1 Example #1 – Unidirectional Authentication with PKI Certificate Exchange without session key establishment (happy path)
10.6.8.1.1 Assumptions
101 10.6.8.1.2 Step #1: Request Authentication Configuration
Table 88 โ€” Unidirectional Authentication with PKI Certificate Exchange without session key establishment positive response message flow example #1 – step #1
10.6.8.1.3 Step #2: Send Certificate Client
102 Table 89 โ€” Unidirectional Authentication with PKI Certificate Exchange without session key establishment request message flow example #1 โ€“ step #2
10.6.8.1.4 Step #3: Validate the Proof of Ownership
103 Table 91 โ€” Unidirectional Authentication with PKI Certificate Exchange without session key establishment request message flow example #1 – step #3
Table 92 โ€” Unidirectional Authentication with PKI Certificate Exchange without session key establishment positive response message flow example #1 – step #3
10.6.8.1.5 Step #4: Attempt to send a random secured service
104 Table 94 โ€” ECUReset response message after successful Authentication request message attempt โ€“ example #1 – step #4
10.6.8.2 Example #2 – Unidirectional Authentication with PKI Certificate Exchange without session key establishment (failure path)
10.6.8.2.1 Assumptions
10.6.8.2.2 Step #1: Send Certificate Client
Table 95 โ€” Unidirectional Authentication with PKI Certificate Exchange without session key establishment request message flow example #2 โ€“ step #1
105 10.6.8.2.3 Step #2: Attempt to send a random secured service
Table 97 โ€” ECUReset request message after failed Authentication request message attempt โ€“ example #2 – step #2
106 Table 98 โ€” ECUReset response message after failed Authentication request message attempt โ€“ example #2 – step #2
10.6.8.3 Example #3 โ€“ Transmit Certificate after Authentication with PKI Certificate Exchange (happy path)
10.6.8.3.1 Assumptions
10.6.8.3.2 Step #1: Send Certificate
Table 99 โ€” Transmit Certificate request message flow example #3 – step #1
Table 100 โ€” Transmit Certificate positive response message flow example #3 – step #1
107 Table 100 โ€” Transmit Certificate positive response message flow example #3 – step #1
10.6.8.4 Example #4 – Unidirectional Authentication using Challenge-Response with asymmetric cryptography without session key establishment (happy path)
10.6.8.4.1 Assumptions
10.6.8.4.2 Step #1: Request Authentication Configuration
108 10.6.8.4.3 Step #2: Request the Challenge
109 10.6.8.4.4 Step #3: Validate the Proof of Ownership
Table 105 โ€” Unidirectional Authentication using Challenge-Response with asymmetric cryptography without session key establishment request message flow example #4 – step #3
111 10.6.8.5 Example #5 – Unidirectional Authentication using Challenge-Response (ACR) with asymmetric cryptography without session key establishment (failure path)
10.6.8.5.1 Assumptions
112 10.6.8.5.2 Step #1: Request the Challenge
Table 107 โ€” Unidirectional Authentication using Challenge-Response with asymmetric cryptography without session key establishment request message flow example #5 – step #1
113 10.6.8.5.3 Step #2: Validate the Proof of Ownership
Table 109 โ€” Unidirectional Authentication using Challenge-Response with asymmetric cryptography without session key establishment request message flow example #5 – step #2
114 Table 110 โ€” Unidirectional Authentication using Challenge-Response with asymmetric cryptography without session key establishment negative response message flow example #5 – step #2
10.6.8.6 Example #6 Unidirectional Authentication using Challenge-Response (ACR) with symmetric cryptography without session key establishment (happy path)
10.6.8.6.1 Assumptions
115 10.6.8.6.2 Step #1: Request challenge for Authentication
Table 111 โ€” Unidirectional Authentication using Challenge-Response (ACR) with symmetric cryptography without session key establishment request message flow example #6 – step #1
116 Table 112 โ€” Unidirectional Authentication using Challenge-Response (ACR) with symmetric cryptography without session key establishment positive response message flow example #6 – step #1
10.6.8.6.3 Step #2: Verify Proof of Ownership Unidirectional
117 Table 113 โ€” Unidirectional Authentication using Challenge-Response (ACR) with symmetric cryptography without session key establishment request message flow example #6 – step #2
118 Table 114 โ€” Unidirectional Authentication using Challenge-Response (ACR) with symmetric cryptography without session key establishment positive response message flow example #6 – step #2
10.6.8.7 Example #7 Unidirectional Authentication using Challenge-Response (ACR) with symmetric cryptography without session key establishment (failure path)
10.6.8.7.1 Assumptions
10.6.8.7.2 Step #1: Request challenge for Authentication
Table 115 โ€” Unidirectional Authentication using Challenge-Response (ACR) with symmetric cryptography without session key establishment request message flow example #7 – step #1
119 Table 115 โ€” Unidirectional Authentication using Challenge-Response (ACR) with symmetric cryptography without session key establishment request message flow example #7 – step #1
Table 116 โ€” Unidirectional Authentication using Challenge-Response (ACR) with symmetric cryptography without session key establishment positive response message flow example #7 – step #1
120 10.6.8.7.3 Step #2: Verify Proof of Ownership Unidirectional
121 Table 118 โ€” Unidirectional Authentication using Challenge-Response (ACR) with symmetric cryptography without session key establishment negative response message flow example #7 – step #2
10.7 TesterPresent (3E16) service
10.7.1 Service description
122 10.7 TesterPresent (3E16) service
10.7.1 Service description
10.7.2 Request message
10.7.2.1 Request message definition
Table 119 โ€” Request message definition
10.7.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 120 โ€” Request message SubFunction parameter definition
10.7.2.3 Request message data-parameter definition
10.7.3 Positive response message
10.7.3.1 Positive response message definition
Table 121 โ€” Positive response message definition
10.7.3.2 Positive response message data-parameter definition
123 Table 121 โ€” Positive response message definition
10.7.3.2 Positive response message data-parameter definition
Table 122 โ€” Response message data-parameter definition
10.7.4 Supported negative response codes (NRC_)
Table 123 โ€” Supported negative response codes
10.7.5 Message flow example(s) TesterPresent
10.7.5.1 Example #1 – TesterPresent (suppressPosRspMsgIndicationBit = FALSE)
Table 124 โ€” TesterPresent request message flow example #1
124 Table 125 โ€” TesterPresent positive response message flow example #1
10.7.5.2 Example #2 – TesterPresent (suppressPosRspMsgIndicationBit = TRUE)
Table 126 โ€” TesterPresent request message flow example #2
10.8 ControlDTCSetting (8516) service
10.8.1 Service description
10.8.2 Request message
10.8.2.1 Request message definition
125 10.8.2 Request message
10.8.2.1 Request message definition
Table 127 โ€” Request message definition
10.8.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 128 โ€” Request message SubFunction parameter definition
10.8.2.3 Request message data-parameter definition
Table 129 โ€” Request message data-parameter definition
126 Table 129 โ€” Request message data-parameter definition
10.8.3 Positive response message
10.8.3.1 Positive response message definition
Table 130 โ€” Positive response message definition
10.8.3.2 Positive response message data-parameter definition
Table 131 โ€” Response message data-parameter definition
10.8.4 Supported negative response codes (NRC_)
Table 132 โ€” Supported negative response codes
10.8.5 Message flow example(s) ControlDTCSetting
10.8.5.1 Example #1 – ControlDTCSetting (DTCSettingType = off)
Table 133 โ€” ControlDTCSetting request message flow example #1
127 10.8.5 Message flow example(s) ControlDTCSetting
10.8.5.1 Example #1 – ControlDTCSetting (DTCSettingType = off)
Table 133 โ€” ControlDTCSetting request message flow example #1
Table 134 โ€” ControlDTCSetting positive response message flow example #1
10.8.5.2 Example #2 – ControlDTCSetting ( DTCSettingType = on)
Table 135 โ€” ControlDTCSetting request message flow example #2
128 Table 136 โ€” ControlDTCSetting positive response message flow example #2
10.9 ResponseOnEvent (8616) service
10.9.1 Service description
130 Figure 13 โ€” Sampling of data identifiers
134 Table 137 โ€” Recommended services to be used with the ResponseOnEvent service
135 10.9.2 Request message
10.9.2.1 Request message definition
10.9.2.2 Request message SubFunction Parameter $Level (LEV_) Definition
10.9.2.2.1 ResponseOnEvent request message SubFunction Parameter definition
138 10.9.2.2.2 Detailed request message SubFunction onDTCStatusChange parameters specification
10.9.2.2.3 Detailed request message SubFunction reportMostRecentDtcOnStatusChange parameters specification
139 10.9.2.2.4 Detailed request message SubFunction reportDTCRecordInformationOnDtcStatusChange parameters specification
10.9.2.2.5 Detailed request message SubFunction onChangeOfDataIdentifier parameters specification
10.9.2.2.6 Detailed request message SubFunction onComparisonOfValues parameters specification
141 Table 143 โ€” Localization of value 16 bit bitfield parameter definition
10.9.2.3 Request message data-parameter definition
10.9.3 Positive response message
10.9.3.1 Positive response message definition
143 10.9.3.2 Positive response message data-parameter definition
Table 147 โ€” Response message data-parameter definition
10.9.4 Supported negative response codes (NRC_)
Table 148 โ€” Supported negative response codes
144 10.9.4 Supported negative response codes (NRC_)
Table 148 โ€” Supported negative response codes
145 10.9.5 Message flow example(s) ResponseOnEvent
10.9.5.1 Assumptions
10.9.5.2 Example #1 – ResponseOnEvent (finite event window)
146 Table 150 โ€” ResponseOnEvent initial positive response message flow example #1
147 Table 151 โ€” Start of ResponseOnEvent request message flow example #1
Table 153 โ€” ReadDTCInformation positive response message flow example #1
149 Table 156 โ€” ResponseOnEvent final positive response message flow example #1
151 Figure 17 โ€” Finite event window – multiple events during active event window
10.9.5.3 Example #2 – ResponseOnEvent (infinite event window)
Table 157 โ€” ResponseOnEvent request message flow example #2
152 Table 157 โ€” ResponseOnEvent request message flow example #2
Table 158 โ€” ResponseOnEvent initial positive response message flow example #2
153 Table 159 โ€” Start of ResponseOnEvent request message flow example #2
Table 160 โ€” ResponseOnEvent positive response message flow example #2
Table 161 โ€” ReadDTCInformation positive response message flow example #2
155 10.9.5.4 Example #3 – ResponseOnEvent (infinite event window) โ€“ SubFunction parameter โ€œonComparisonOfValuesโ€
156 10.9.5.4 Example #3 – ResponseOnEvent (infinite event window) โ€“ SubFunction parameter โ€œonComparisonOfValuesโ€
Table 162 โ€” ResponseOnEvent request message example #3
157 Table 162 โ€” ResponseOnEvent request message example #3
158 Table 163 โ€” ReadDataByIdentifier positive response message example #3
10.9.5.5 Example #4 – ResponseOnEvent request message (reportMostRecentDtcOnStatusChange)
Table 164 โ€” ResponseOnEvent request message flow example #4
159 Table 165 โ€” ReadDTCInformation positive response message flow example #4
10.9.5.6 Example #5 – ResponseOnEvent request message (reportDTCRecordInformationOnDtcStatusChange)
Table 166 โ€” ResponseOnEvent request message flow example #4
Table 167 โ€” ReadDTCInformation positive response message flow example #1
160 Table 167 โ€” ReadDTCInformation positive response message flow example #1
10.10 LinkControl (8716) service
10.10.1 Service description
161 10.10.2 Request message
10.10.2.1 Request message definition
Table 169 โ€” Request message definition (linkControlType = verifyModeTransitionWithSpecificParameter)
Table 170 โ€” Request message definition (linkControlType = transitionMode)
10.10.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 171 โ€” Request message SubFunction parameter definition
162 10.10.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 171 โ€” Request message SubFunction parameter definition
10.10.2.3 Request message data-parameter definition
10.10.3 Positive response message
10.10.3.1 Positive response message definition
163 10.10.3 Positive response message
10.10.3.1 Positive response message definition
10.10.3.2 Positive response message data-parameter definition
Table 174 โ€” Response message data-parameter definition
10.10.4 Supported negative response codes (NRC_)
Table 175 โ€” Supported negative response codes
10.10.5 Message flow example(s) LinkControl
10.10.5.1 Example #1 – Transition baudrate to fixed baudrate (PC baudrate 115,2 kBit/s)
10.10.5.1.1 Step#1: Verify if all criteria are met for a baudrate switch
Table 176 โ€” LinkControl request message flow example #1 – step #1
164 10.10.5 Message flow example(s) LinkControl
10.10.5.1 Example #1 – Transition baudrate to fixed baudrate (PC baudrate 115,2 kBit/s)
10.10.5.1.1 Step#1: Verify if all criteria are met for a baudrate switch
Table 176 โ€” LinkControl request message flow example #1 – step #1
Table 177 โ€” LinkControl positive response message flow example #1 – step #1
10.10.5.1.2 Step#2: Transition the baudrate
Table 178 โ€” LinkControl request message flow example #1 – step #2
10.10.5.2 Example #2 – Transition baudrate to specific baudrate (150 kBit/s)
10.10.5.2.1 Step#1: Verify if all criteria are met for a baudrate switch
165 Table 179 โ€” LinkControl request message flow example #2 – step #1
Table 180 โ€” LinkControl positive response message flow example #2 – step #1
10.10.5.2.2 Step#2: Transition the baudrate
Table 181 โ€” LinkControl request message flow example #2 – step #2
10.10.5.3 Example #3 – Transition FlexRay cycle design to ‘programming’
10.10.5.3.1 Step#1: Verify if all criteria are met for a scheduler switch
166 Table 182 โ€” LinkControl request message flow example #3 – step #1
Table 183 โ€” LinkControl positive response message flow example #3 – step #1
10.10.5.3.2 Step#2: Transition to programming scheduler
Table 184 โ€” LinkControl request message flow example #3 – step #2
11 Data transmission functional unit
11.1 Overview
Table 185 โ€” Data Transmission functional unit
167 11.2 ReadDataByIdentifier (2216) service
11.2.1 Service description
11.2.2 Request message
11.2.2.1 Request message definition
Table 186 โ€” Request message definition
11.2.2.2 Request message SubFunction parameter $Level (LEV_) Definition
11.2.2.3 Request message data-parameter definition
Table 187 โ€” Request message data-parameter definition
168 11.2.2.2 Request message SubFunction parameter $Level (LEV_) Definition
11.2.2.3 Request message data-parameter definition
Table 187 โ€” Request message data-parameter definition
11.2.3 Positive response message
11.2.3.1 Positive response message definition
Table 188 โ€” Positive response message definition
11.2.3.2 Positive response message data-parameter definition
169 Table 189 โ€” Response message data-parameter definition
11.2.4 Supported negative response codes (NRC_)
Table 190 โ€” Supported negative response codes
170 Figure 20 โ€” NRC handling for ReadDataByIdentifier service
11.2.5 Message flow example ReadDataByIdentifier
11.2.5.1 Assumptions
171 11.2.5 Message flow example ReadDataByIdentifier
11.2.5.1 Assumptions
11.2.5.2 Example #1: read single dataIdentifier F19016 (VIN number)
Table 192 โ€” ReadDataByIdentifier positive response message flow example #1
172 11.2.5.3 Example #2: Read multiple dataIdentifiers 010A16 and 011016
Table 194 โ€” ReadDataByIdentifier positive response message flow example #2
173 11.3 ReadMemoryByAddress (2316) service
11.3.1 Service description
11.3.2 Request message
11.3.2.1 Request message definition
174 11.3.2.2 Request message SubFunction parameter $Level (LEV_) definition
11.3.2.3 Request message data-parameter definition
11.3.3 Positive response message
11.3.3.1 Positive response message definition
175 11.3.3 Positive response message
11.3.3.1 Positive response message definition
11.3.3.2 Positive response message data-parameter definition
Table 198 โ€” Response message data-parameter definition
11.3.4 Supported negative response codes (NRC_)
Table 199 โ€” Supported negative response codes
177 11.3.5 Message flow example ReadMemoryByAddress
11.3.5.1 Assumptions
11.3.5.2 Example #1: ReadMemoryByAddress – 4-byte (32-bit) addressing
178 Table 201 โ€” ReadMemoryByAddress positive response message flow example #1
11.3.5.3 Example #2: ReadMemoryByAddress – 2-byte (16-bit) addressing.
179 11.3.5.4 Example #3: ReadMemoryByAddress, 3-byte (24-bit) addressing
11.4 ReadScalingDataByIdentifier (2416) service
11.4.1 Service description
180 11.4 ReadScalingDataByIdentifier (2416) service
11.4.1 Service description
11.4.2 Request message
11.4.2.1 Request message definition
Table 206 โ€” Request message definition
11.4.2.2 Request message SubFunction parameter $Level (LEV_) definition
11.4.2.3 Request message data-parameter definition
Table 207 โ€” Request message data-parameter definition
11.4.3 Positive response message
11.4.3.1 Positive response message definition
181 Table 208 โ€” Positive response message definition
11.4.3.2 Positive response message data-parameter definition
Table 209 โ€” Response message data-parameter definition
11.4.4 Supported negative response codes (NRC_)
182 Table 210 โ€” Supported negative response codes
183 11.4.5 Message flow example ReadScalingDataByIdentifier
11.4.5.1 Assumptions
11.4.5.2 Example #1: readScalingDataByIdentifier wth dataIdentifier F19016 (VIN number)
Table 211 โ€” ReadScalingDataByIdentifier request message flow example #1
184 11.4.5.2 Example #1: readScalingDataByIdentifier wth dataIdentifier F19016 (VIN number)
Table 211 โ€” ReadScalingDataByIdentifier request message flow example #1
Table 212 โ€” ReadScalingDataByIdentifier positive response message flow example #1
11.4.5.3 Example #2: readScalingDataByIdentifier wth dataIdentifier 010516 (Vehicle Speed)
185 Table 214 โ€” ReadScalingDataByIdentifier positive response message flow example #2
11.4.5.4 Example #3: readScalingDataByIdentifier wth dataIdentifier 096716
Table 215 โ€” Example data definition
Table 216 โ€” ReadScalingDataByIdentifier request message flow example #3
186 Table 216 โ€” ReadScalingDataByIdentifier request message flow example #3
Table 217 โ€” ReadScalingDataByIdentifier positive response message flow example #3
11.5 ReadDataByPeriodicIdentifier (2A16) service
11.5.1 Service description
189 11.5.2 Request message
11.5.2.1 Request message definition
190 11.5.2 Request message
11.5.2.1 Request message definition
11.5.2.2 Request message SubFunction parameter $Level (LEV_) definition
11.5.2.3 Request message data-parameter definition
Table 219 โ€” Request message data-parameter definition
11.5.3 Positive response message
11.5.3.1 Positive response message definition
Table 220 โ€” Positive response message definition
Table 221 โ€” Periodic data response message data definition
191 Table 221 โ€” Periodic data response message data definition
11.5.3.2 Positive response message data-parameter definition
Table 222 โ€” Periodic message data-parameter definition
11.5.4 Supported negative response codes (NRC_)
192 Table 223 โ€” Supported negative response codes
193 Figure 23 โ€” NRC handling for ReadDataByPeriodicIdentifier service
11.5.5 Message flow example ReadDataByPeriodicIdentifier
11.5.5.1 General assumptions
194 11.5.5 Message flow example ReadDataByPeriodicIdentifier
11.5.5.1 General assumptions
11.5.5.2 Example #1 – Read multiple periodicDataIdentifiers E316 and 2416 at medium rate
11.5.5.2.1 Assumptions
11.5.5.2.2 Step #1: Request periodic transmission of the periodicDataIdentifiers
Table 224 โ€” ReadDataByPeriodicIdentifier request message flow example โ€“ step #1
Table 225 โ€” ReadDataByPeriodicIdentifier initial positive response message flow example โ€“ step #1
195 Table 226 โ€” ReadDataByPeriodicIdentifier subsequent positive response message #1 flows โ€“ step #1
Table 227 โ€” ReadDataByPeriodicIdentifier subsequent positive response message #2 flows โ€“ step #1
11.5.5.2.3 Step #2: Stop the transmission of the periodicDataIdentifiers
Table 228 โ€” ReadDataByIdentifier request message flow example โ€“ step #2
196 Table 229 โ€” ReadDataByIdentifier positive response message flow example โ€“ step #2
11.5.5.3 Example #2 – Graphical and tabular example of ReadDataByPeriodicIdentifier service periodic schedule rates
11.5.5.3.1 ReadDataByPeriodicIdentifier example overview
11.5.5.3.2 Example #2 โ€“ Read multiple periodicDataIdentifiers E316 and 2416 at medium rate
199 Table 231 โ€” Example #2: Periodic scheduler table for scheduler type 2
11.5.5.4 Example #3 – Graphical and tabular example of ReadDataByPeriodicIdentifier service periodic schedule rates
11.5.5.4.1 ReadDataByPeriodicIdentifier example overview
11.5.5.4.2 Read multiple periodicDataIdentifiers at different periodic rates
200 Table 232 โ€” Example #3: Periodic scheduler table for scheduler type 1
201 Table 232 โ€” Example #3: Periodic scheduler table for scheduler type 1
202 11.5.5.5 Example #4 – Tabular example of ReadDataByPeriodicIdentifier service periodic schedule rates
203 11.5.5.5 Example #4 – Tabular example of ReadDataByPeriodicIdentifier service periodic schedule rates
11.5.5.6 Example #5 – Tabular example of ReadDataByPeriodicIdentifier service periodic schedule rates
204 11.5.5.6 Example #5 – Tabular example of ReadDataByPeriodicIdentifier service periodic schedule rates
Table 235 โ€” Example #5: Periodic scheduler table
11.6 DynamicallyDefineDataIdentifier (2C16) service
11.6.1 Service description
205 11.6 DynamicallyDefineDataIdentifier (2C16) service
11.6.1 Service description
206 11.6.2 Request message
11.6.2.1 Request message definition
Table 236 โ€” Request message definition – SubFunction = defineByIdentifier
Table 237 โ€” Request message definition – SubFunction = defineByMemoryAddress
207 Table 237 โ€” Request message definition – SubFunction = defineByMemoryAddress
11.6.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 239 โ€” Request message SubFunction parameter definition
208 11.6.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 239 โ€” Request message SubFunction parameter definition
11.6.2.3 Request message data-parameter definition
209 11.6.3 Positive response message
11.6.3.1 Positive response message definition
Table 241 โ€” Positive response message definition
11.6.3.2 Positive response message data-parameter definition
210 Table 242 โ€” Response message data-parameter definition
11.6.4 Supported negative response codes (NRC_)
Table 243 โ€” Supported negative response codes
11.6.5 Message flow examples DynamicallyDefineDataIdentifier
11.6.5.1 Assumptions
211 11.6.5 Message flow examples DynamicallyDefineDataIdentifier
11.6.5.1 Assumptions
212 Table 244 โ€” Composite data blocks – DataIdentifier definitions
Table 245 โ€” Elemental data records – DID definitions
213 Table 246 โ€” Memory data records – Memory address definitions
11.6.5.2 Example #1: DynamicallyDefineDataIdentifier, SubFunction = defineByIdentifier
Table 247 โ€” DynamicallyDefineDataIdentifier request DDDDI F30116 message flow example #1
214 Table 248 โ€” DynamicallyDefineDataIdentifier positive response DDDDI F30116 message flow example #1
Table 249 โ€” ReadDataByIdentifier request DDDDI F30116 message flow example #1
215 11.6.5.3 Example #2: DynamicallyDefineDataIdentifier, SubFunction = defineByIdentifier
Table 251 โ€” DynamicallyDefineDataIdentifier request DDDDI F30216 message flow example #2
216 Table 253 โ€” ReadDataByIdentifier request DDDDI F30216 message flow example #2
11.6.5.4 Example #3: DynamicallyDefineDataIdentifier, SubFunction = defineByMemoryAddress
Table 255 โ€” DynamicallyDefineDataIdentifier request DDDDI F30216 message flow example #3
217 Table 255 โ€” DynamicallyDefineDataIdentifier request DDDDI F30216 message flow example #3
218 Table 257 โ€” ReadDataByIdentifier request DDDDI F30216 message flow example #3
Table 258 โ€” ReadDataByIdentifier positive response DDDDI F30216 message flow example #3
11.6.5.5 Example #4: DynamicallyDefineDataIdentifier, SubFunction = defineByIdentifier
219 Table 259 โ€” DynamicallyDefineDataIdentifier request DDDDI F2E716 message flow example #4
Table 260 โ€” DynamicallyDefineDataIdentifier positive response DDDDI F2E716 message flow example #4
220 Table 262 โ€” ReadDataByPeriodicIdentifier initial positive message flow example #4
Table 263 โ€” ReadDataByPeriodicIdentifier periodic data response #1 DDDDI F2E716 message flow example #4
Table 264 โ€” ReadDataByPeriodicIdentifier periodic data response #n DDDDI F2E716 message flow example #4
11.6.5.6 Example #5: DynamicallyDefineDataIdentifier, SubFunction = clearDynamicallyDefined-DataIdentifier
Table 265 โ€” DynamicallyDefineDataIdentifier request clear DDDDI F30316 message flow example #5
221 11.6.5.6 Example #5: DynamicallyDefineDataIdentifier, SubFunction = clearDynamicallyDefined-DataIdentifier
Table 265 โ€” DynamicallyDefineDataIdentifier request clear DDDDI F30316 message flow example #5
Table 266 โ€” DynamicallyDefineDataIdentifier positive response clear DDDDI F30316 message flow example #5
11.6.5.7 Example #6: DynamicallyDefineDataIdentifier, concatenation of definitions (defineByIdentifier/defineByAddress)
11.6.5.7.1 Step #1: DynamicallyDefineDataIdentifier, SubFunction = defineByIdentifier (1 st portion)
Table 267 โ€” DynamicallyDefineDataIdentifier request DDDI F30116 message flow example #6 definition of 1st portion (defineByIdentifier)
222 Table 267 โ€” DynamicallyDefineDataIdentifier request DDDI F30116 message flow example #6 definition of 1st portion (defineByIdentifier)
Table 268 โ€” DynamicallyDefineDataIdentifier positive response DDDI F30116 message flow example #6 definition of first portion (defineByIdentifier)
11.6.5.7.2 Step #2: DynamicallyDefineDataIdentifier, SubFunction = defineByMemoryAddress (2 nd portion)
223 Table 269 โ€” DynamicallyDefineDataIdentifier request DDDDI F30116 message flow example #6 definition of 2nd portion (defineByMemoryAddress)
Table 270 โ€” DynamicallyDefineDataIdentifier positive response DDDI F30116 message flow example #6
11.6.5.7.3 Step #3: DynamicallyDefineDataIdentifier, SubFunction = defineByIdentifier (3 rd portion)
224 Table 271 โ€” DynamicallyDefineDataIdentifier request DDDI F30116 message flow example #6 definition of 3rd portion (defineByIdentifier)
Table 272 โ€” DynamicallyDefineDataIdentifier positive response DDDI F30116 message flow example #6
11.6.5.7.4 Step #4: ReadDataByIdentifier – dataIdentifier = DDDDI F30116
Table 273 โ€” ReadDataByIdentifier request DDDDI F30116 message flow example #6
225 Table 274 โ€” ReadDataByIdentifier positive response DDDDI F30116 message flow example #6
11.6.5.7.5 Step #5: DynamicallyDefineDataIdentifier – clear definition of DDDDI F30116
Table 275 โ€” DynamicallyDefineDataIdentifier request clear DDDDI F30116 message flow example #6
226 Table 276 โ€” DynamicallyDefineDataIdentifier positive response clear DDDDI F30116 message flow example #6
11.7 WriteDataByIdentifier (2E16) service
11.7.1 Service description
11.7.2 Request message
11.7.2.1 Request message definition
227 Table 277 โ€” Request message definition
11.7.2.2 Request message SubFunction parameter $Level (LEV_) definition
11.7.2.3 Request message data-parameter definition
Table 278 โ€” Request message data-parameter definition
11.7.3 Positive response message
11.7.3.1 Positive response message definition
Table 279 โ€” Positive response message definition
11.7.3.2 Positive response message data-parameter definition
Table 280 โ€” Response message data-parameter definition
11.7.4 Supported negative response codes (NRC_)
Table 281 โ€” Supported negative response codes
228 11.7.4 Supported negative response codes (NRC_)
Table 281 โ€” Supported negative response codes
229 Figure 26 โ€” NRC handling for WriteDataByIdentifier service
11.7.5 Message flow example WriteDataByIdentifier
11.7.5.1 Assumptions
11.7.5.2 Example #1: write dataIdentifier F19016 (VIN)
230 11.8 WriteMemoryByAddress (3D16) service
11.8.1 Service description
231 11.8.2 Request message
11.8.2.1 Request message definition
Table 284 โ€” Request message definition
11.8.2.2 Request message SubFunction parameter $Level (LEV_) definition
11.8.2.3 Request message data-parameter definition
232 Table 285 โ€” Request message data-parameter definition
11.8.3 Positive response message
11.8.3.1 Positive response message definition
Table 286 โ€” Positive response message definition
11.8.3.2 Positive response message data-parameter definition
Table 287 โ€” Response message data-parameter definition
233 11.8.3.2 Positive response message data-parameter definition
Table 287 โ€” Response message data-parameter definition
11.8.4 Supported negative response codes (NRC_)
Table 288 โ€” Supported negative response codes
234 Figure 27 โ€” NRC handling for WriteMemoryByAddress service
11.8.5 Message flow example WriteMemoryByAddress
11.8.5.1 Assumptions
11.8.5.2 Example #1: WriteMemoryByAddress, 2-byte (16-bit) addressing
235 11.8.5 Message flow example WriteMemoryByAddress
11.8.5.1 Assumptions
11.8.5.2 Example #1: WriteMemoryByAddress, 2-byte (16-bit) addressing
Table 289 โ€” WriteMemoryByAddress request message flow example #1
Table 290 โ€” WriteMemoryByAddress positive response message flow example #1
11.8.5.3 Example #2: WriteMemoryByAddress, 3-byte (24-bit) addressing
236 Table 291 โ€” WriteMemoryByAddress request message flow example #2
Table 292 โ€” WriteMemoryByAddress positive response message flow example #2
11.8.5.4 Example #3: WriteMemoryByAddress, 4-byte (32-bit) addressing
Table 293 โ€” WriteMemoryByAddress request message flow example #3
237 Table 294 โ€” WriteMemoryByAddress positive response message flow example #3
12 Stored data transmission functional unit
12.1 Overview
Table 295 โ€” Stored data transmission functional unit
12.2 ClearDiagnosticInformation (1416) service
12.2.1 Service description
238 12.2.2 Request message
12.2.2.1 Request message definition
12.2.2.2 Request message SubFunction parameter $Level (LEV_) definition
12.2.2.3 Request message data-parameter definition
239 Table 297 โ€” Request message data-parameter definition
12.2.3 Positive response message
12.2.3.1 Positive response message definition
12.2.3.2 Positive response message data-parameter definition
12.2.4 Supported negative response codes (NRC_)
Table 299 โ€” Supported negative response codes
240 12.2.5 Message flow example ClearDiagnosticInformation
241 Table 301 โ€” ClearDiagnosticInformation positive response message flow example #1
12.3 ReadDTCInformation (1916) service
12.3.1 Service description
12.3.1.1 General description
243 12.3.1.2 Retrieving the number of DTCs that match a client defined status mask (SubFunction = 0116 reportNumberOfDTCByStatusMask)
12.3.1.3 Retrieving the list of DTCs that match a client defined status mask (SubFunction = 0216 reportDTCByStatusMask)
244 12.3.1.4 Retrieving DTCSnapshot record identification (SubFunction = 0316 reportDTCSnapshotIdentification)
12.3.1.5 Retrieving DTCSnapshot record data for a client defined DTC mask (SubFunction = 0416 reportDTCSnapshotRecordByDTCNumber)
245 12.3.1.6 Retrieving DTCStoredData record data for a client defined record number (SubFunction = 0516 reportDTCStoredDataByRecordNumber)
246 12.3.1.7 Retrieving DTCExtendedData record data for a client defined DTC mask and a client defined DTCExtendedData record number (SubFunction = 0616 reportDTCExtDataRecordByDTCNumber)
247 12.3.1.8 Retrieving the number of DTCs that match a client defined severity mask record (SubFunction = 0716 reportNumberOfDTCBySeverityMaskRecord)
12.3.1.9 Retrieving severity and functional unit information that match a client defined severity mask record (SubFunction = 0816 reportDTCBySeverityMaskRecord)
12.3.1.10 Retrieving severity and functional unit information for a client defined DTC (SubFunction = 0916 reportSeverityInformationOfDTC)
248 12.3.1.10 Retrieving severity and functional unit information for a client defined DTC (SubFunction = 0916 reportSeverityInformationOfDTC)
12.3.1.11 Retrieving the status of all DTCs supported by the server (SubFunction = 0A16 reportSupportedDTC)
12.3.1.12 Retrieving the first/most recent failed DTC (SubFunction = 0B16 reportFirstTestFailedDTC, SubFunction = 0D16 reportMostRecentTestFailedDTC)
12.3.1.13 Retrieving the first/most recently detected confirmed DTC (SubFunction = 0C16 reportFirstConfirmedDTC,SubFunction = 0E16 reportMostRecentConfirmedDTC)
249 12.3.1.14 Retrieving a list of “prefailed” DTC status (SubFunction = 1416 reportDTCFaultDetection-Counter)
12.3.1.15 Retrieving a list of DTCs with “permanent DTC” status (SubFunction = 1516 reportDTCWithPermanentStatus)
12.3.1.16 Retrieving DTCExtendedData record data for a client defined DTCExtendedData record number (SubFunction = 1616 reportDTCExtDataRecordByRecordNumber)
12.3.1.17 Retrieving the list of DTCs out of the server’s user defined DTC memory that match a client defined DTC status mask (SubFunction = 1716 reportUserDefMemoryDTCByStatusMask)
250 12.3.1.17 Retrieving the list of DTCs out of the server’s user defined DTC memory that match a client defined DTC status mask (SubFunction = 1716 reportUserDefMemoryDTCByStatusMask)
12.3.1.18 Retrieving user defined memory DTCSnapshot record data for a client defined DTC mask and a client defined DTCSnapshotNumber out of the DTC user defined memory (SubFunction = 1816 reportUserDefMemoryDTCSnapshotRecordByDTCNumber)
251 12.3.1.19 Retrieving user defined memory DTCExtendedData record data for a client defined DTC mask and a client defined DTCExtendedData record number out of the DTC memory (SubFunction = 1916 reportUserDefMemoryDTCExtDataRecordByDTCNumber)
252 12.3.1.20 Retrieving the list of all DTCs that supports an specific DTCExtendedDataRecord (SubFunction = 1A16 reportSupportedDTCExtDataRecord)
12.3.1.21 Retrieving the list of VOBD DTCs from a functional group that match a client defined status mask (SubFunction = 4216 reportWWHOBDDTCByMaskRecord)
12.3.1.22 Retrieving a list of VOBD DTCs with “permanent DTC” status (SubFunction = 5516 reportWWHOBDDTCWithPermanentStatus)
12.3.1.23 Retrieve DTC information for a client defined DTCReadinessGroupIdentifier (SubFunction = 5616 reportDTCInformationByDTCReadinessGroupIdentifier)
12.3.2 Request message
12.3.2.1 Request message definition
254 Table 305 โ€” Request message definition – SubFunction = reportDTCExtDataRecordByDTCNumber
Table 306 โ€” Request message definition – SubFunction = reportNumberOfDTCBySeverityMaskRecord, reportDTCSeverityInformation
Table 307 โ€” Request message definition – SubFunction = reportSeverityInformationOfDTC
255 Table 308 โ€” Request message definition – SubFunction = reportSupportedDTC, reportFirstTestFailedDTC, reportFirstConfirmedDTC, reportMostRecentTestFailedDTC, reportMostRecentConfirmedDTC, reportDTCFaultDetectionCounter, reportDTCWithPermanentStatus
Table 309 โ€” Request message definition – SubFunction = reportDTCExtDataRecordByRecordNumber
Table 310 โ€” Request message definition – SubFunction = reportUserDefMemoryDTCByStatusMask
256 Table 311 โ€” Request message definition – SubFunction = reportUserDefMemoryDTCSnapshotRecordByDTCNumber
Table 313 โ€” Request message definition – SubFunction = reportSupportedDTCExtDataRecord
257 Table 314 โ€” Request message definition – SubFunction = reportWWHOBDDTCByMaskRecord
Table 315 โ€” Request message definition – SubFunction = reportWWHOBDDTCWithPermanentStatus
Table 316 โ€” Request message definition – SubFunction = reportDTCInformationByDTCReadinessGroupIdentifier
12.3.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 317 โ€” Request message SubFunction definition
261 12.3.2.3 Request message data-parameter definition
Table 318 โ€” Request data-parameter definition
262 12.3.3 Positive response message
12.3.3.1 Positive response message definition
263 12.3.3 Positive response message
12.3.3.1 Positive response message definition
Table 319 โ€” Response message definition – SubFunction = reportNumberOfDTCByStatusMask, reportNumberOfDTCBySeverityMaskRecord
264 Table 320 โ€” Response message definition – SubFunction = reportDTCByStatusMask, reportSupportedDTCs, reportFirstTestFailedDTC, reportFirstConfirmedDTC, reportMostRecentTestFailedDTC, reportMostRecentConfirmedDTC, reportDTCWithPermanentStatus
Table 322 โ€” Response message definition – SubFunction = reportDTCSnapshotRecordByDTCNumber
265 Table 322 โ€” Response message definition – SubFunction = reportDTCSnapshotRecordByDTCNumber
270 Table 328 โ€” Response message definition – SubFunction = reportUserDefMemoryDTCByStatusMask
271 Table 330 โ€” Response message definition – SubFunction = reportUserDefMemoryDTCExtDataRecordByDTCNumber
272 Table 330 โ€” Response message definition – SubFunction = reportUserDefMemoryDTCExtDataRecordByDTCNumber
273 Table 333 โ€” Response message definition – SubFunction = reportWWHOBDDTCWithPermanentStatus
274 12.3.3.2 Positive response message data-parameter definition
277 12.3.4 Supported negative response codes (NRC_)
278 Table 336 โ€” Supported negative response codes
12.3.5 Message flow examples โ€“ ReadDTCInformation
12.3.5.1 General asumption
12.3.5.2 Example #1 – ReadDTCInformation, SubFunction = reportNumberOfDTCByStatusMask
12.3.5.2.1 Example #1 overview
12.3.5.2.2 Example #1 assumptions
Table 337 โ€” statusOfDTC = 2416 of DTC P0805-11
279 Table 337 โ€” statusOfDTC = 2416 of DTC P0805-11
Table 338 โ€” statusOfDTC = 2616 of DTC P0A9B-17
Table 339 โ€” statusOfDTC = 2F16 of DTC P2522-1F
12.3.5.2.3 Example #1 message flow
280 12.3.5.2.3 Example #1 message flow
Table 341 โ€” ReadDTCInformation, SubFunction = reportNumberOfDTCByStatusMask, positive response, example #1
12.3.5.3 Example #2 – ReadDTCInformation, SubFunction = reportDTCByStatusMask, matching DTCs returned
12.3.5.3.1 Example #2 overview
12.3.5.3.2 Example #2 assumptions
281 12.3.5.3.2 Example #2 assumptions
Table 342 โ€” statusOfDTC= 2416 of DTC P0A9B-17
Table 343 โ€” statusOfDTC = 0016 of DTC P2522-1F
282 Table 344 โ€” statusOfDTC = 2F16 of DTC P0805-11
12.3.5.3.3 Example #2 message flow
Table 345 โ€” ReadDTCInformation, SubFunction = reportDTCByStatusMask, request message flow example #2
Table 346 โ€” ReadDTCInformation, SubFunction = reportDTCByStatusMask, positive response, example #2
283 12.3.5.4 Example #3 – ReadDTCInformation, SubFunction = reportDTCByStatusMask, no matching DTCs returned
12.3.5.4.1 Example #3 overview
12.3.5.4.2 Example #3 assumptions
Table 347 โ€” statusOfDTC= 2416 of DTC P2522-1F
284 Table 348 โ€” statusOfDTC = 0016 of DTC P0A9B-17
12.3.5.4.3 Example #3 message flow
Table 349 โ€” ReadDTCInformation, SubFunction = reportDTCByStatusMask, request message flow example #3
Table 350 โ€” ReadDTCInformation, SubFunction = reportDTCByStatusMask, positive response, example #3
12.3.5.5 Example #4 – ReadDTCInformation, SubFunction = reportDTCSnapshotIdentification
12.3.5.5.1 Example #4 overview
12.3.5.5.2 Example #4 assumptions
285 12.3.5.5 Example #4 – ReadDTCInformation, SubFunction = reportDTCSnapshotIdentification
12.3.5.5.1 Example #4 overview
12.3.5.5.2 Example #4 assumptions
12.3.5.5.3 Example #4 message flow
Table 351 โ€” ReadDTCInformation, SubFunction = reportDTCSnapshotIdentification, request message flow example #4
286 12.3.5.6 Example #5 – ReadDTCInformation, SubFunction = reportDTCSnapshotRecord-ByDTCNumber
12.3.5.6.1 Example #5 overview
12.3.5.6.2 Example #5 assumptions
Table 353 โ€” DTCSnapshot record content
287 Table 353 โ€” DTCSnapshot record content
12.3.5.6.3 Example #5 message flow
Table 354 โ€” ReadDTCInformation, SubFunction = reportDTCSnapshotRecordByDTCNumber, request message flow example #5
Table 355 โ€” ReadDTCInformation, SubFunction = reportDTCSnapshotRecordByDTCNumber, positive response, example #5
288 12.3.5.7 Example #6 – ReadDTCInformation, SubFunction = reportDTCStoredDataByRecordNumber
12.3.5.7.1 Example #6 overview
12.3.5.7.2 Example #6 assumptions
Table 356 โ€” DTCStoredData record content
12.3.5.7.3 Example #6 message flow
Table 357 โ€” ReadDTCInformation, SubFunction = reportDTCStoredDataByRecordNumber, request message flow example #6
289 12.3.5.7.3 Example #6 message flow
Table 357 โ€” ReadDTCInformation, SubFunction = reportDTCStoredDataByRecordNumber, request message flow example #6
12.3.5.8 Example #7 – ReadDTCInformation, SubFunction = reportDTCExtDataRecordByDTCNumber
12.3.5.8.1 Example #7 overview
12.3.5.8.2 Example #7 assumptions
290 12.3.5.8 Example #7 – ReadDTCInformation, SubFunction = reportDTCExtDataRecordByDTCNumber
12.3.5.8.1 Example #7 overview
12.3.5.8.2 Example #7 assumptions
Table 359 โ€” DTCExtDataRecordNumber 0516 content
Table 360 โ€” DTCExtDataRecordNumber 1016 content
12.3.5.8.3 Example #7 message flow
291 Table 361 โ€” ReadDTCInformation, SubFunction = reportDTCExtDataRecordByDTCNumber, request message flow example #7
Table 362 โ€” ReadDTCInformation, SubFunction = reportDTCExtDataRecordByDTCNumber, positive response, example #7
12.3.5.9 Example #8 – ReadDTCInformation, SubFunction = reportNumberOfDTC-BySeverityMaskRecord
12.3.5.9.1 Example #8 overview
12.3.5.9.2 Example #8 assumptions
Table 363 โ€” statusOfDTC = 2416 of DTC P0A9B-17
292 Table 363 โ€” statusOfDTC = 2416 of DTC P0A9B-17
Table 364 โ€” statusOfDTC = 0016 of DTC P2522-1F
293 Table 365 โ€” statusOfDTC = 2F16 of DTC P0805-11
12.3.5.9.3 Example #8 message flow
Table 366 โ€” ReadDTCInformation, SubFunction = reportNumberOfDTCBySeverityMaskRecord, request message flow example #8
294 Table 367 โ€” ReadDTCInformation, SubFunction = reportNumberOfDTCBySeverityMaskRecord, positive response, example #8
12.3.5.10 Example #9 – ReadDTCInformation, SubFunction = reportDTCBySeverityMaskRecord
12.3.5.10.1 Example #9 overview
12.3.5.10.2 Example #9 assumptions
12.3.5.10.3 Example #9 message flow
Table 368 โ€” ReadDTCInformation, SubFunction = reportDTCBySeverityMaskRecord, request message flow example #9
Table 369 โ€” ReadDTCInformation, SubFunction = reportDTCBySeverityMaskRecord, positive response, example #9
295 Table 369 โ€” ReadDTCInformation, SubFunction = reportDTCBySeverityMaskRecord, positive response, example #9
12.3.5.11 Example #10 – ReadDTCInformation, SubFunction = reportSeverityInformationOfDTC
12.3.5.11.1 Example #10 overview
12.3.5.11.2 Example #10 assumptions
12.3.5.11.3 Example #10 message flow
Table 370 โ€” ReadDTCInformation, SubFunction = reportSeverityInformationOfDTC, request message flow example #10
Table 371 โ€” ReadDTCInformation, SubFunction = reportSeverityInformationOfDTC, positive response, example #10
296 Table 371 โ€” ReadDTCInformation, SubFunction = reportSeverityInformationOfDTC, positive response, example #10
12.3.5.12 Example #11 โ€“ ReadDTCInformation – SubFunction = reportSupportedDTCs
12.3.5.12.1 Example #11 overview
12.3.5.12.2 Example #11 assumptions
Table 372 โ€” statusOfDTC = 2416
297 Table 373 โ€” statusOfDTC = 0016
Table 374 โ€” statusOfDTC = 2F16
12.3.5.12.3 Example #11 message flow
Table 375 โ€” ReadDTCInformation, SubFunction = reportSupportedDTCs, request message flow example #11
Table 376 โ€” ReadDTCInformation, SubFunction = readSupportedDTCs, positive response, example #11
298 Table 376 โ€” ReadDTCInformation, SubFunction = readSupportedDTCs, positive response, example #11
12.3.5.13 Example #12 – ReadDTCInformation, SubFunction = reportFirstTestFailedDTC, information available
12.3.5.13.1 Example #12 overview
12.3.5.13.2 Example #12 assumptions
Table 377 โ€” statusOfDTC = 2616
299 Table 377 โ€” statusOfDTC = 2616
12.3.5.13.3 Example #12 message flow
Table 378 โ€” ReadDTCInformation, SubFunction = reportFirstTestFailedDTC, request message flow example #12
Table 379 โ€” ReadDTCInformation, SubFunction = reportFirstTestFailedDTC, positive response, example #12
12.3.5.14 Example #13 – ReadDTCInformation, SubFunction = reportFirstTestFailedDTC, no information available
300 12.3.5.14 Example #13 – ReadDTCInformation, SubFunction = reportFirstTestFailedDTC, no information available
12.3.5.14.1 Example #13 overview
12.3.5.14.2 Example #13 assumptions
12.3.5.14.3 Example #13 message flow
Table 380 โ€” ReadDTCInformation, SubFunction = reportFirstTestFailedDTC, request message flow example #13
Table 381 โ€” ReadDTCInformation, SubFunction = reportFirstTestFailedDTC, positive response, example #13
12.3.5.15 Example #14 – ReadDTCInformation, SubFunction = reportDTCFaultDetectionCounter
12.3.5.15.1 Example #14 overview
301 12.3.5.15 Example #14 – ReadDTCInformation, SubFunction = reportDTCFaultDetectionCounter
12.3.5.15.1 Example #14 overview
12.3.5.15.2 Example #14 assumptions
12.3.5.15.3 Example #14 message flow
Table 382 โ€” ReadDTCInformation, SubFunction = reportDTCFaultDetectionCounter, request message flow example #14
12.3.5.16 Example #15 – ReadDTCInformation, SubFunction = reportDTCExtDataRecordByRecordNumber
12.3.5.16.1 Example #15 overview
302 12.3.5.16 Example #15 – ReadDTCInformation, SubFunction = reportDTCExtDataRecordByRecordNumber
12.3.5.16.1 Example #15 overview
12.3.5.16.2 Example #15 assumptions
Table 384 โ€” DTCExtDataRecordNumber 0516 content for DTC 12345616
Table 385 โ€” DTCExtDataRecordNumber 0516 content for DTC 23456116
12.3.5.16.3 Example #15 message flow
Table 386 โ€” ReadDTCInformation, SubFunction = reportDTCExtDataRecordByRecordNumber, request message flow example #15
303 12.3.5.16.3 Example #15 message flow
Table 386 โ€” ReadDTCInformation, SubFunction = reportDTCExtDataRecordByRecordNumber, request message flow example #15
304 Table 387 โ€” ReadDTCInformation, SubFunction = reportDTCExtDataRecordByRecordNumber, positive response, example #15
12.3.5.17 Example #16 โ€“ ReadDTCInformation – SubFunction = reportDTCExtendedDataRecordIdentification
12.3.5.17.1 Example #16 overview
12.3.5.17.2 Example #16 assumptions
12.3.5.17.3 Example #16 message flow
Table 388 โ€” ReadDTCInformation, SubFunction = reportDTCExtendedDataRecordIdentification, request message flow, example #16
305 Table 388 โ€” ReadDTCInformation, SubFunction = reportDTCExtendedDataRecordIdentification, request message flow, example #16
Table 389 โ€” ReadDTCInformation, SubFunction = reportDTCExtendedDataRecordIdentification, positive response, example #16
12.3.5.18 Example #17 – ReadDTCInformation, SubFunction = reportWWHOBDDTCByMaskRecord
12.3.5.18.1 Example #17 overview
306 12.3.5.18 Example #17 – ReadDTCInformation, SubFunction = reportWWHOBDDTCByMaskRecord
12.3.5.18.1 Example #17 overview
12.3.5.18.2 Example #17 assumptions
12.3.5.18.3 Example #17 message flow
Table 390 โ€” ReadDTCInformation request, SubFunction = reportNumberOfDTCByStatusMask
307 Table 392 โ€” ReadDTCInformation response, SubFunction = reportOBDDTCByStatusMask
12.3.5.19 Example #18 – ReadDTCInformation, SubFunction = reportOBDDTCWithPermanentStatus, matching DTCs returned
12.3.5.19.1 Example #18 overview
12.3.5.19.2 Example #18 assumptions
308 12.3.5.19 Example #18 – ReadDTCInformation, SubFunction = reportOBDDTCWithPermanentStatus, matching DTCs returned
12.3.5.19.1 Example #18 overview
12.3.5.19.2 Example #18 assumptions
12.3.5.19.3 Example #18 message flow
Table 394 โ€” ReadDTCInformation, SubFunction = reportWWHOBDDTCWithPermanentStatus, request message flow example #2
Table 395 โ€” ReadDTCInformation, SubFunction = reportWWHOBDDTCWithPermanentStatus, positive response, example #18
309 Table 395 โ€” ReadDTCInformation, SubFunction = reportWWHOBDDTCWithPermanentStatus, positive response, example #18
12.3.5.20 Example #19 โ€“ ReadDTCInformation – SubFunction = reportDTCByReadinessGroupIdentifier
12.3.5.20.1 Example #19 overview
12.3.5.20.2 Example #19 assumptions
12.3.5.20.3 Example #19 message flow
Table 396 โ€” ReadDTCInformation, SubFunction = reportDTCByReadinessGroupIdentifier, request message flow, example #19
310 13 InputOutput control functional unit
13.1 Overview
Table 398 โ€” InputOutput Control functional unit
13.2 InputOutputControlByIdentifier (2F16) service
311 13 InputOutput control functional unit
13.1 Overview
Table 398 โ€” InputOutput Control functional unit
13.2 InputOutputControlByIdentifier (2F16) service
13.2.1 Service description
13.2.2 Request message
13.2.2.1 Request message definition
312 13.2.2 Request message
13.2.2.1 Request message definition
13.2.2.2 Request message SubFunction parameter $Level (LEV_) definition
13.2.2.3 Request message data-parameter definition
Table 400 โ€” Request message data-parameter definition
313 13.2.3 Positive response message
13.2.3.1 Positive response message definition
Table 401 โ€” Positive response message definition
13.2.3.2 Positive response message data-parameter definition
314 Table 402 โ€” Response message data-parameter definition
13.2.4 Supported negative response codes (NRC_)
Table 403 โ€” Supported negative response codes
315 Figure 29 โ€” NRC handling for InputOutputControlByIdentifier service
13.2.5 Message flow example(s) InputOutputControlByIdentifier
13.2.5.1 Assumptions
13.2.5.2 Example #1 – “Air Inlet Door Position” shortTermAdjustment
13.2.5.2.1 Step #1: ReadDataByIdentifier
316 13.2.5.2 Example #1 – “Air Inlet Door Position” shortTermAdjustment
13.2.5.2.1 Step #1: ReadDataByIdentifier
13.2.5.2.2 Step #2: shortTermAdjustment
317 Table 407 โ€” InputOutputControlByIdentifier positive response message flow example #1 – step #2
13.2.5.2.3 Step #3: ReadDataByIdentifier
Table 408 โ€” ReadDataByIdentifier request message flow example #1 – step #3
Table 409 โ€” ReadDataByIdentifier positive response message flow example #1 – step #3
13.2.5.2.4 Step #4: returnControlToECU
318 13.2.5.2.4 Step #4: returnControlToECU
13.2.5.2.5 Step #5: freezeCurrentState
319 Table 413 โ€” InputOutputControlByIdentifier positive response message flow example #1 – step #5
13.2.5.3 Example #2 โ€“ EGR and IAC shortTermAdjustment
13.2.5.3.1 Assumptions
Table 414 โ€” Composite data blocks โ€“ DataIdentifier definitions โ€“ Example #2
320 Table 415 โ€” ControlEnableMaskRecordโ€“ Example #2
13.2.5.3.2 Case #1: Control IAC Pintle Position only
Table 416 โ€” InputOutputControlByIdentifier request message flow example #2 โ€“ Case #1
321 Table 417 โ€” InputOutputControlByIdentifier positive response message flow example #2 โ€“ Case #1
13.2.5.3.3 Case #2: Control RPM Only
Table 418 โ€” InputOutputControlByIdentifier request message flow example #2 โ€“ Case #2
Table 419 โ€” InputOutputControlByIdentifier positive response message flow example #2 โ€“ Case #2
322 Table 419 โ€” InputOutputControlByIdentifier positive response message flow example #2 โ€“ Case #2
13.2.5.3.4 Case #3: Control both Pedal Position A and EGR Duty Cycle
Table 420 โ€” InputOutputControlByIdentifier request message flow example #2 โ€“ Case #3
323 Table 421 โ€” InputOutputControlByIdentifier positive response message flow example #2 โ€“ Case #3
13.2.5.3.5 Case #4: Return control of all parameters to the ECU
324 Table 422 โ€” InputOutputControlByIdentifier request message flow example #2 โ€“ Case #4
14 Routine functional unit
14.1 Overview
325 Table 424 โ€” Routine functional unit
14.2 RoutineControl (3116) service
14.2.1 Service description
14.2.1.1 Overview
326 14.2.1.1 Overview
14.2.1.2 Start a routine referenced by a routineIdentifier
14.2.1.3 Stop a routine referenced by a routineIdentifier
14.2.1.4 Request routine results referenced by a routineIdentifier
14.2.2 Request message
14.2.2.1 Request message definition
327 Table 425 โ€” Request message definition
14.2.2.2 Request message SubFunction parameter $Level (LEV_) definition
Table 426 โ€” Request message SubFunction definition
14.2.2.3 Request message data-parameter definition
328 Table 427 โ€” Request message data-parameter definition
14.2.3 Positive response message
14.2.3.1 Positive response message definition
Table 428 โ€” Positive response message definition
14.2.3.2 Positive response message data-parameter definition
329 Table 429 โ€” Response message data-parameter definition
14.2.4 Supported negative response codes (NRC_)
Table 430 โ€” Supported negative response codes
331 Figure 30 โ€” NRC handling for RoutineControl service
14.2.5 Message flow example(s) RoutineControl
14.2.5.1 Example #1: SubFunction = startRoutine
Table 431 โ€” RoutineControl request message flow – example #1
332 Table 431 โ€” RoutineControl request message flow – example #1
Table 432 โ€” positive response message flow – example #1
14.2.5.2 Example #2: SubFunction = stopRoutine
333 Table 433 โ€” RoutineControl request message flow – example #2
Table 434 โ€” RoutineControl positive response message flow – example #2
14.2.5.3 Example #3: SubFunction = requestRoutineResults
Table 435 โ€” RequestRoutineResults request message flow โ€“ example #3
334 14.2.5.4 Example #4: SubFunction = startRoutine with routineControlOption
Table 437 โ€” RoutineControl request message flow – example #4
335 Table 438 โ€” RoutineControl positive response message flow – example #4
15 Upload download functional unit
15.1 Overview
Table 439 โ€” Upload Download functional unit
15.2 RequestDownload (3416) service
15.2.1 Service description
15.2.2 Request message
15.2.2.1 Request message definition
Table 440 โ€” Request message definition
336 15.2.2 Request message
15.2.2.1 Request message definition
Table 440 โ€” Request message definition
15.2.2.2 Request message SubFunction parameter $Level (LEV_) definition
15.2.2.3 Request message data-parameter definition
Table 441 โ€” Request message data-parameter definition
337 15.2.3 Positive response message
15.2.3.1 Positive response message definition
Table 442 โ€” Positive response message definition
15.2.3.2 Positive response message data-parameter definition
Table 443 โ€” Response message data-parameter definition
338 15.2.4 Supported negative response codes (NRC_)
339 Figure 31 โ€” NRC handling for RequestDownload service
15.2.5 Message flow example(s) RequestDownload
15.3 RequestUpload (3516) service
15.3.1 Service description
15.3.2 Request message
15.3.2.1 Request message definition
340 15.3.2 Request message
15.3.2.1 Request message definition
Table 445 โ€” Request message definition
15.3.2.2 Request message SubFunction parameter $Level (LEV_) definition
15.3.2.3 Request message data-parameter definition
341 15.3.3 Positive response message
15.3.3.1 Positive response message definition
Table 447 โ€” Positive response message definition
15.3.3.2 Positive response message data-parameter definition
Table 448 โ€” Response message data-parameter definition
342 15.3.4 Supported negative response codes (NRC_)
Table 449 โ€” Supported negative response codes
343 Figure 32 โ€” NRC handling for RequestUpload service
15.3.5 Message flow example(s) RequestUpload
15.4 TransferData (3616) service
15.4.1 Service description
344 15.4 TransferData (3616) service
15.4.1 Service description
15.4.2 Request message
15.4.2.1 Request message definition
Table 450 โ€” Request message definition
15.4.2.2 Request message SubFunction parameter $Level (LEV_) definition
15.4.2.3 Request message data-parameter definition
345 15.4.3 Positive response message
15.4.3.1 Positive response message definition
Table 452 โ€” Positive response message definition
15.4.3.2 Positive response message data-parameter definition
Table 453 โ€” Response message data-parameter definition
346 15.4.3.2 Positive response message data-parameter definition
Table 453 โ€” Response message data-parameter definition
15.4.4 Supported negative response codes (NRC_)
Table 454 โ€” Supported negative response codes
348 Figure 33 โ€” NRC handling for TransferData service
15.4.5 Message flow example(s) TransferData
15.5 RequestTransferExit (3716) service
15.5.1 Service description
15.5.2 Request message
15.5.2.1 Request message definition
Table 455 โ€” Request message definition
349 15.5.2 Request message
15.5.2.1 Request message definition
Table 455 โ€” Request message definition
15.5.2.2 Request message SubFunction parameter $Level (LEV_) definition
15.5.2.3 Request message data-parameter definition
Table 456 โ€” Request message data-parameter definition
15.5.3 Positive response message
15.5.3.1 Positive response message definition
Table 457 โ€” Positive response message definition
15.5.3.2 Positive response message data-parameter definition
350 15.5.4 Supported negative response codes (NRC_)
Table 459 โ€” Supported negative response codes
351 15.5.5 Message flow example(s) for downloading/uploading data
15.5.5.1 Download data to a server
15.5.5.1.1 Assumptions
Table 460 โ€” Definition of transferRequestParameter values
Table 461 โ€” Definition of transferResponseParameter value
352 Table 461 โ€” Definition of transferResponseParameter value
15.5.5.1.2 Step #1: Request for download
Table 462 โ€” RequestDownload request message flow example
Table 463 โ€” RequestDownload positive response message flow example
353 Table 463 โ€” RequestDownload positive response message flow example
15.5.5.1.3 Step #2: Transfer data
Table 464 โ€” TransferData request message flow example
Table 465 โ€” TransferData positive response message flow example
Table 467 โ€” TransferData positive response message flow example
354 Table 467 โ€” TransferData positive response message flow example
15.5.5.1.4 Step #3: Request Transfer exit
Table 468 โ€” RequestTransferExit request message flow example
Table 469 โ€” RequestTransferExit positive response message flow example
15.5.5.2 Upload data from a server
355 15.5.5.2.1 Step #1: Request for upload
Table 472 โ€” RequestUpload request message flow example
Table 473 โ€” RequestUpload positive response message flow example
356 Table 473 โ€” RequestUpload positive response message flow example
15.5.5.2.2 Step #2: Transfer data
Table 474 โ€” TransferData request message flow example
357 Table 475 โ€” TransferData positive response message flow example
Table 477 โ€” TransferData positive response message flow example
15.5.5.2.3 Step #3: Request Transfer exit
Table 479 โ€” RequestTransferExit positive response message flow example
358 Table 479 โ€” RequestTransferExit positive response message flow example
15.6 RequestFileTransfer (3816) service
15.6.1 Service description
15.6.2 Request message
15.6.2.1 Request message definition
Table 480 โ€” Request message definition
359 15.6.2.2 Request message SubFunction parameter $Level (LEV_) definition
15.6.2.3 Request message data-parameter definition
360 15.6.3 Positive response message
15.6.3.1 Positive response message definition
Table 482 โ€” Positive response message definition
361 15.6.3.2 Positive response message data-parameter definition
Table 483 โ€” Response message data-parameter definition
362 15.6.4 Supported negative response codes (NRC_)
Table 484 โ€” Supported negative response codes
364 Figure 35 โ€” NRC handling for requestFileTransfer service
15.6.5 Message flow example(s) RequestFileTransfer
15.6.5.1 Assumptions
365 Table 485 โ€” Definition RequestFileTransfer message parameter values
15.6.5.2 Request file transfer
Table 486 โ€” RequestFileTransfer request message example
367 Table 487 โ€” RequestFileTransfer positive response request message example
16 Security sub-layer definition
16.1 General
16.1.1 Purpose
16.1.2 Security sub-layer description
Figure 36 โ€” Security sub-layer implementation
368 Figure 36 โ€” Security sub-layer implementation
16.1.3 Security sub-layer access
369 Figure 37 โ€” Physical communication during defaultSession – with SOM.ind and security sub-layer
370 Figure 38 โ€” Physical communication during defaultSession – with enhanced response timing and security sub-layer
16.1.4 General server response behaviour
371 16.2 SecuredDataTransmission (8416) service
16.2.1 Service description
372 16.2 SecuredDataTransmission (8416) service
16.2.1 Service description
16.2.2 Request message
16.2.2.1 Request message definition
Table 488 โ€” Request message definition
16.2.2.2 Request message SubFunction parameter $Level (LEV_) definition
16.2.2.3 Request message data-parameter definition
Table 489 โ€” Request message data-parameter definition
373 16.2.2.2 Request message SubFunction parameter $Level (LEV_) definition
16.2.2.3 Request message data-parameter definition
Table 489 โ€” Request message data-parameter definition
Table 490 โ€” Definition of Administrative Parameter
374 16.2.3 Positive response message for successful internal message
16.2.3.1 Positive response message definition for successful internal message
Table 492 โ€” Positive response message definition
16.2.3.2 Positive response message data-parameter definition
Table 493 โ€” Response message data-parameter definition
375 16.2.3.2 Positive response message data-parameter definition
Table 493 โ€” Response message data-parameter definition
16.2.3.3 Positive response message definition for unsuccessful internal message
Table 494 โ€” Positive response message definition
376 16.2.3.4 Positive response message data-parameter definition
Table 495 โ€” Response message data-parameter definition
16.2.4 Supported negative response codes (NRC_)
377 Table 496 โ€” Supported negative response codes
16.2.5 Message flow example SecuredDataTransmission
16.2.5.1 Assumptions
16.2.5.2 Example #1: SecuredDataTransmission to Write DID
Table 497 โ€” SecuredDataTransmission request message flow example #1
378 16.2.5.3 Example #2: SecuredDataTransmission to Write DID
Table 499 โ€” SecuredDataTransmission request message flow example #2
379 Table 499 โ€” SecuredDataTransmission request message flow example #2
380 Table 500 โ€” SecuredDataTransmission response message flow example #2
17 Non-volatile server memory programming process
17.1 General information
383 17.2 Detailed programming sequence
384 17.2 Detailed programming sequence
17.2.1 Programming phase #1 โ€” Download of application software and/or application data
17.2.1.1 Pre-Programming step of phase #1 โ€” Setup of vehicle network for programming
386 17.2.1.2 Programming step of phase #1 โ€” Download of application software and data
387 17.2.1.2 Programming step of phase #1 โ€” Download of application software and data
389 17.2.1.3 Post-Programming step of phase #1 โ€” Re-synchronisation of vehicle network
390 17.2.1.3 Post-Programming step of phase #1 โ€” Re-synchronisation of vehicle network
Figure 43 โ€” Post-programming step of phase 1 (STP3)
17.2.1.4 Preprogramming step of phase #2 โ€” Server configuration
391 Figure 44 โ€” Preprogramming step of phase 2 (STP4)
17.2.1.5 Programming step of phase #2 โ€” Final server configuration
392 Figure 45 โ€” Programming step of phase 2 (STP5)
17.2.1.6 Post-programming step of phase #2 โ€” Re-synchronisation of vehicle network
17.3 Server reprogramming requirements
393 17.3 Server reprogramming requirements
17.3.1 Requirements for servers to support programming
17.3.1.1 Boot software description and requirements
17.3.1.1.1 Boot software general requirements
394 17.3.1.1.2 Boot software diagnostic service requirements
396 Table 503 โ€” Boot software diagnostic service support during post-programming step of phase #1
17.3.1.2 Security requirements
17.3.2 Software, data identification and fingerprints
17.3.2.1 Software and data identification
17.3.2.2 Software and data fingerprints
397 17.3.2.2 Software and data fingerprints
17.3.3 Server routine access
Table 504 โ€” routineIdentifiers for non-volatile memory access
17.4 Non-volatile server memory programming message flow examples
17.4.1 General information
17.4.2 Programming phase #1 โ€” Pre-Programming step
398 Table 505 โ€” StartDiagnosticSessionControl(extendedSession)
Table 506 โ€” ControlDTCSetting(off)
Table 507 โ€” CommunicationControl(disableRxAndTx in the application)
17.4.3 Programming phase #1 โ€” Programming step
Table 508 โ€” DiagnosticSessionControl(programmingSession)
399 Table 509 โ€” SecurityAccess(requestSeed)
Table 510 โ€” SecurityAccess(sendKey)
Table 511 โ€” RoutineControl(eraseMemory)
Table 512 โ€” RequestDownload โ€” Module #1
400 Table 513 โ€” TransferData โ€” Module #1 (block #1)
Table 514 โ€” TransferData โ€” Module #1 (block #2)
401 Table 516 โ€” RequestTransferExit โ€” Module #1
Table 517 โ€” RequestDownload โ€” Module #2
Table 518 โ€” TransferData โ€” Module #2 (block #1)
402 Table 519 โ€” TransferData โ€” Module #2 (block #2)
Table 520 โ€” TransferData โ€” Module #2 (block #3)
Table 521 โ€” RequestTransferExit โ€” Module #2
403 Table 522 โ€” RoutineControl(validate application)
Table 523 โ€” WriteDataByIdentifier โ€” dataIdentifier = VIN
17.4.4 Programming phase #1 โ€” Post-Programming step
404 Annex A (normative) Global parameter definitions
A.1 Negative response codes
414 Annex B (normative) Diagnostic and communication management functional unit data-parameter definitions
B.1 communicationType parameter definition
Table B.1 โ€” Definition of communicationType and subnetNumber byte
415 B.2 eventWindowTime parameter definition
B.3 linkControlModeIdentifier parameter definition
Table B.3 โ€” Definition of linkControlModeIdentifier values
416 B.3 linkControlModeIdentifier parameter definition
Table B.3 โ€” Definition of linkControlModeIdentifier values
B.4 nodeIdentificationNumber parameter definition
417 B.4 nodeIdentificationNumber parameter definition
B.5 AuthenticationReturnParameter definitions
Table B.5 โ€” authenticationReturnParameter definitions
419 Annex C (normative) Data transmission functional unit data-parameter definitions
C.1 DID parameter definitions
Table C.1 โ€” DID data-parameter definitions
426 C.2 scalingByte parameter definitions
429 Table C.3 โ€” scalingByte (Low Nibble) parameter definition
C.3 scalingByteExtension parameter definitions
C.3.1 scalingByteExtension for scalingByte high nibble of bitMappedReportedWithOutMask
Table C.4 โ€” scalingByteExtension for bitMappedReportedWithOutMask
C.3.2 scalingByteExtension for scalingByte high nibble of formula
430 Table C.5 โ€” scalingByteExtension Bytes for formula
Table C.6 โ€” formulaIdentifier encoding
Table C.7 โ€” Two byte real number format
C.3.3 scalingByteExtension for scalingByte high nibble of unit/format
431 C.3.3 scalingByteExtension for scalingByte high nibble of unit/format
Table C.8 โ€” Unit/format scalingByteExtension encoding
433 C.3.4 scalingByteExtension for scalingByte high nibble of stateAndConnectionType
Table C.9 โ€” Encoding of scalingByte High Nibble of stateAndConnectionType
434 Table C.9 โ€” Encoding of scalingByte High Nibble of stateAndConnectionType
C.4 transmissionMode parameter definitions
435 Table C.10 โ€” transmissionMode parameter definitions
C.5 Coding of UDS edition version number
Table C.11 โ€” Coding of UDS edition version number DID FF0016 โ€“ 4 bytes unsigned value
Table C.12 โ€” DID FF0016 UDS edition version values of this document
436 Annex D (normative) Stored data transmission functional unit data-parameter definitions
D.1 groupOfDTC parameter definition
Table D.1 โ€” Definition of groupOfDTC and range of DTC numbers
D.2 DTCStatusMask and statusOfDTC bit definitions
D.2.1 Convention and definition
438 D.2.2 Pseudocode data dictionary
439 Table D.2 โ€” Pseudocode data dictionary
D.2.3 DTC status bit definitions
440 Table D.4 โ€” DTC status bit 1 testFailedThisOperationCycle definitions
442 Table D.6 โ€” DTC status bit 3 confirmedDTC definitions
444 Table D.7 โ€” DTC status bit 4 testNotCompletedSinceLastClear definitions
448 Figure D.8 โ€” DTC status bit 7 WarningIndicator requested logic
D.2.4 Example for operation of DTC Status Bits
450 D.3 DTC severity and class definition
D.3.1 DTC severity and class byte definition
Table D.11 โ€” DTCSeverityMask/DTCSeverity byte definition
D.3.2 DTC severity bit definition
451 Table D.12 โ€” DTC severity bit definitions (bit 7 to 5)
D.3.3 DTC class definition
Table D.13 โ€” GTR DTC Class definition (bit 4 to 0)
452 D.4 DTCFormatIdentifier definition
Table D.14 โ€” Definition of DTCFormatIdentifier (DTCFID_)
453 D.5 FunctionalGroupIdentifier definition
Table D.15 โ€” Definition of FunctionalGroupIdentifiers (FGID_)
454 D.6 DTCFaultDetectionCounter operation implementation example
455 D.7 DTCAgingCounter example
456 D.7 DTCAgingCounter example
457 D.8 DTCExtendedDataRecordNumber value definition
Table D.16 โ€” DTCExtendedDataRecordNumber value definition
458 Annex E (normative) Input output control functional unit data-parameter definitions
459 Annex F (normative) Routine functional unit data-parameter definitions
461 Annex G (normative) Upload and download functional unit data-parameter
Table G.1 โ€” Definition of modeOfOperation values
462 Annex H (informative) Examples for addressAndLengthFormatIdentifier parameter values
Table H.1 โ€” addressAndLengthFormatIdentifier example
464 Annex I (normative) Security access state chart
I.1 General
I.2 Disjunctive normal form based state transition definitions
466 Table I.1 โ€” State transitions โ€“ parameters
472 Annex J (informative) Recommended implementation for multiple client environments
J.1 Introduction
J.2 Implementation specific limitations
J.3 Use cases relevant for system design
473 Figure J.1 โ€” Example vehicle topology with onboard clients
474 Table J.1 โ€” Use case (UC) matrix of multiple client scenarios to be addressed
J.4 Use case evaluation
475 J.4 Use case evaluation
Table J.2 โ€” Evaluation of multiple client use cases
J.5 Multiple client server level implementation
J.5.1 Definition of diagnostic protocol
476 J.5 Multiple client server level implementation
J.5.1 Definition of diagnostic protocol
J.5.2 Assumptions
J.5.3 Multiple client handling flow
478 Bibliography
BS ISO 14229-1:2020
$215.11