Shopping Cart

No products in the cart.

BS ISO 14229-1:2013

$215.11

Road vehicles. Unified diagnostic services (UDS) – Specification and requirements

Published By Publication Date Number of Pages
BSI 2013 404
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
5 Contents
8 Foreword
9 Introduction
10 1
Scope
2 Normative references
3 Terms, definitions, symbols and abbreviated terms
3.1 Terms and definitions
13 3.2 Abbreviated terms
14 4 Conventions
15 5 Document overview
16 6 Application layer services
6.1 General
18 6.2
Format description of application layer services
6.3
Format description of service primitives
6.3.1 General definition
19 6.3.2 Service request and service indication primitives
20 6.3.3
Service response and service confirm primitives
21 6.3.4
Service request-confirm and service response-confirm primiti
6.4
Service data unit specification
6.4.1
Mandatory parameters
6.4.1.1
General definition
6.4.1.2
A_Mtype, Application layer message type
22 6.4.1.3
A_SA, Application layer source address
6.4.1.4
A_TA, Application layer target address
23 6.4.1.5
A_TA_Type, Application layer target address type
6.4.1.6
A_Result
6.4.1.7
A_Length
6.4.1.8
A_Data
6.4.2
Vehicle system requirements
24 6.4.3
Optional parameters – A_AE, Application layer remote address
7
Application layer protocol
7.1
General definition
25 7.2
Protocol data unit specification
7.3
Application protocol control information
7.3.1
PCI, Protocol Control Information
26 7.3.2
SI, Service Identifier
7.3.3
NR_SI, Negative response service identifier
27 7.4
Negative response/confirmation service primitive
7.5
Server response implementation rules
7.5.1
General definitions
28 7.5.2
General server response behaviour
30 7.5.3
Request message with sub-function parameter and server respo
7.5.3.1
General server response behaviour for request messages with
31 7.5.3.2
Physically addressed client request message
32 7.5.3.3
Functionally addressed client request message
34 7.5.4
Request message without sub-function parameter and server re
General server response behaviour for request messages witho
Physically addressed client request message
35 Functionally addressed client request message
36 7.5.5
Pseudo code example of server response behaviour
38 7.5.6
Multiple concurrent request messages with physical and funct
8
Service description conventions
8.1
Service description
39 8.2
Request message
8.2.1
Request message definition
40 8.2.2
Request message sub-function parameter $Level (LEV_) definit
41 8.2.3
Request message data-parameter definition
42 8.3
Positive response message
8.3.1
Positive response message definition
8.3.2
Positive response message data-parameter definition
43 8.4
Supported negative response codes (NRC_)
8.5
Message flow examples
44 9
Diagnostic and Communication Management functional unit
9.1
Overview
45 9.2
DiagnosticSessionControl (0x10) service
9.2.1
Service description
48 9.2.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) definit
49 Request message data-parameter definition
9.2.3
Positive response message
Positive response message definition
50 Positive response message data-parameter definition
51 9.2.4
Supported negative response codes (NRC_)
9.2.5
Message flow example(s) DiagnosticSessionControl
Example #1 – Start programmingSession
52 9.3
ECUReset (0x11) service
9.3.1
Service description
9.3.2
Request message
Request message definition
Request message sub-function Parameter $Level (LEV_) definit
53 Request message data-parameter definition
54 9.3.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
9.3.4
Supported negative response codes (NRC_)
55 9.3.5
Message flow example ECUReset
56 9.4
SecurityAccess (0x27) service
9.4.1
Service description
57 9.4.2
Request message
Request message definition
58 Request message sub-function parameter $Level (LEV_) definit
59 Request message data-parameter definition
9.4.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
60 9.4.4
Supported negative response codes (NRC_)
9.4.5
Message flow example(s) SecurityAccess
Assumptions
61 Example #1 – server is in a “locked” state
Step #1: Request the Seed
Step #2: Send the Key
62 Example #2 – server is in an “unlocked” state
Step #1: Request the Seed
9.5
CommunicationControl (0x28) service
9.5.1
Service description
63 9.5.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) definit
64 Request message data-parameter definition
9.5.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
65 9.5.4
Supported negative response codes (NRC_)
9.5.5
Message flow example CommunicationControl (disable transmiss
66 9.5.6
Message flow example CommunicationControl (switch a remote n
9.5.7
Message flow example CommunicationControl (switch to applica
67 9.6
TesterPresent (0x3E) service
9.6.1
Service description
9.6.2
Request message
Request message definition
68 Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
9.6.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
69 9.6.4
Supported negative response codes (NRC_)
9.6.5
Message flow example(s) TesterPresent
Example #1 – TesterPresent (suppressPosRspMsgIndicationBit =
Example #2 – TesterPresent (suppressPosRspMsgIndicationBit =
70 9.7
AccessTimingParameter (0x83) service
9.7.1
Service description
71 9.7.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) definit
73 Request message data-parameter definition
9.7.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
74 9.7.4
Supported negative response codes (NRC_)
9.7.5
Message flow example(s) AccessTimingParameter
Example #1 – set timing parameters to default values
75 9.8
SecuredDataTransmission (0x84) service
9.8.1
Service description
Purpose
Security sub-layer
77 Security sub-layer access
79 9.8.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
9.8.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
80 9.8.4
Supported negative response codes (NRC_)
9.9
ControlDTCSetting (0x85) service
9.9.1
Service description
81 9.9.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) definit
82 Request message data-parameter definition
9.9.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
9.9.4
Supported negative response codes (NRC_)
83 9.9.5
Message flow example(s) ControlDTCSetting
Example #1 – ControlDTCSetting (DTCSettingType = off)
Example #2 – ControlDTCSetting ( DTCSettingType = on)
84 9.10
ResponseOnEvent (0x86) service
9.10.1
Service description
87 9.10.2
Request message
Request message definition
Request message sub-function Parameter $Level (LEV_) Definit
ResponseOnEvent request message sub-function Parameter defin
90 Detailed request message sub-function onTimerInterrupt param
Detailed request message sub-function onChangeOfDataIdentifi
Detailed request message sub-function onComparisonOfValues p
92 Request message data-parameter definition
9.10.3
Positive response message
Positive response message definition
94 Positive response message data-parameter definition
95 9.10.4
Supported negative response codes (NRC_)
9.10.5
Message flow example(s) ResponseOnEvent
Assumptions
96 Example #1 – ResponseOnEvent (finite event window)
99 Example #1 – flowcharts
102 Example #2 – ResponseOnEvent (infinite event window)
103 Example #2 – Flowcharts
106 Example #3 – ResponseOnEvent (infinite event window) – sub-f
108 9.11
LinkControl (0x87) service
9.11.1
Service description
109 9.11.2
Request message
Request message definition
110 Request message sub-function parameter $Level (LEV_) definit
111 Request message data-parameter definition
9.11.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
9.11.4
Supported negative response codes (NRC_)
112 9.11.5
Message flow example(s) LinkControl
Example #1 – Transition baudrate to fixed baudrate (PC baudr
Step#1: Verify if all criteria are met for a baudrate switch
113 Step#2: Transition the baudrate
Example #2 – Transition baudrate to specific baudrate (150kB
Step#1: Verify if all criteria are met for a baudrate switch
Step#2: Transition the baudrate
114 Example #3 – Transition FlexRay cycle design to ‘Programming
Step#1: Verify if all criteria are met for a scheduler switc
Step#2: Transition to programming scheduler
115 10
Data Transmission functional unit
10.1
Overview
10.2
ReadDataByIdentifier (0x22) service
10.2.1
Service description
116 10.2.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) Definit
Request message data-parameter definition
10.2.3
Positive response message
Positive response message definition
117 Positive response message data-parameter definition
10.2.4
Supported negative response codes (NRC_)
120 10.2.5
Message flow example ReadDataByIdentifier
Assumptions
Example #1: read single dataIdentifier 0xF190 (VIN number)
121 Example #2: Read multiple dataIdentifiers 0x010A and 0x0110
122 10.3
ReadMemoryByAddress (0x23) service
10.3.1
Service description
123 10.3.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
124 10.3.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
10.3.4
Supported negative response codes (NRC_)
126 10.3.5
Message flow example ReadMemoryByAddress
Assumptions
Example #1: ReadMemoryByAddress – 4-byte (32-bit) addressing
127 Example #2: ReadMemoryByAddress – 2-byte (16-bit) addressing
Example #3: ReadMemoryByAddress, 3-byte (24-bit) addressing
128 10.4
ReadScalingDataByIdentifier (0x24) service
10.4.1
Service description
10.4.2
Request message
Request message definition
129 Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
10.4.3
Positive response message
Positive response message definition
130 Positive response message data-parameter definition
10.4.4
Supported negative response codes (NRC_)
131 10.4.5
Message flow example ReadScalingDataByIdentifier
Assumptions
132 Example #1: readScalingDataByIdentifier wth dataIdentifier 0
Example #2: readScalingDataByIdentifier wth dataIdentifier 0
133 Example #3: readScalingDataByIdentifier wth dataIdentifier 0
135 10.5
ReadDataByPeriodicIdentifier (0x2A) service
10.5.1
Service description
136 10.5.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
137 10.5.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
138 10.5.4
Supported negative response codes (NRC_)
140 10.5.5
Message flow example ReadDataByPeriodicIdentifier
Assumptions
Example #1 – Read multiple periodicDataIdentifiers 0xE3 and
Assumptions
Step #1: Request periodic transmission of the periodicDataId
141 Step #2: Stop the transmission of the periodicDataIdentifier
142 Example #2 – Graphical and tabular example of ReadDataByPeri
ReadDataByPeriodicIdentifier example overview
143 Example #2 – Read multiple periodicDataIdentifiers 0xE3 and
145 Example #3 – Graphical and tabular example of ReadDataByPeri
ReadDataByPeriodicIdentifier example overview
Read multiple periodicDataIdentifiers at different periodic
147 Example #4 – Tabular example of ReadDataByPeriodicIdentifier
ReadDataByPeriodicIdentifier example overview
149 Example #5 – Tabular example of ReadDataByPeriodicIdentifier
ReadDataByPeriodicIdentifier example overview
10.6
DynamicallyDefineDataIdentifier (0x2C) service
10.6.1
Service description
151 10.6.2
Request message
Request message definition
153 Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
154 10.6.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
155 10.6.4
Supported negative response codes (NRC_)
10.6.5
Message flow examples DynamicallyDefineDataIdentifier
Assumptions
158 Example #1: DynamicallyDefineDataIdentifier, sub-function =
159 Example #2: DynamicallyDefineDataIdentifier, sub-function =
161 Example #3: DynamicallyDefineDataIdentifier, sub-function =
163 Example #4: DynamicallyDefineDataIdentifier, sub-function =
165 Example #5: DynamicallyDefineDataIdentifier, sub-function =
166 Example #6: DynamicallyDefineDataIdentifier, concatenation o
Step #1: DynamicallyDefineDataIdentifier, sub-function = def
167 Step #2: DynamicallyDefineDataIdentifier, sub-function = def
168 Step #3: DynamicallyDefineDataIdentifier, sub-function = def
169 Step #4: ReadDataByIdentifier – dataIdentifier = DDDDI 0xF30
170 Step #5: DynamicallyDefineDataIdentifier – clear definition
171 10.7
WriteDataByIdentifier (0x2E) service
10.7.1
Service description
10.7.2
Request message
Request message definition
172 Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
10.7.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
173 10.7.4
Supported negative response codes (NRC_)
175 10.7.5
Message flow example WriteDataByIdentifier
Assumptions
Example #1: write dataIdentifier 0xF190 (VIN)
176 10.8 WriteMemoryByAddress (0x3D) service
10.8.1
Service description
10.8.2
Request message
Request message definition
177 Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
178 10.8.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
10.8.4
Supported negative response codes (NRC_)
181 10.8.5
Message flow example WriteMemoryByAddress
Assumptions
Example #1: WriteMemoryByAddress, 2-byte (16-bit) addressing
Example #2: WriteMemoryByAddress, 3-byte (24-bit) addressing
182 Example #3: WriteMemoryByAddress, 4-byte (32-bit) addressing
183 11 Stored Data Transmission functional unit
11.1
Overview
184 11.2
ClearDiagnosticInformation (0x14) Service
11.2.1 Service description
11.2.2 Request message
Request message definition
185 Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
11.2.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
11.2.4
Supported negative response codes (NRC_)
186 11.2.5
Message flow example ClearDiagnosticInformation
187 11.3
ReadDTCInformation (0x19) Service
11.3.1
Service description
General description
189 Retrieving the number of DTCs that match a client defined st
Retrieving the list of DTCs that match a client defined stat
190 Retrieving DTCSnapshot record identification (sub-function =
Retrieving DTCSnapshot record data for a client defined DTC
191 Retrieving DTCStoredData record data for a client defined re
192 Retrieving DTCExtendedData record data for a client defined
193 Retrieving the number of DTCs that match a client defined se
Retrieving severity and functional unit information that mat
Retrieving severity and functional unit information for a cl
194 Retrieving the status of all DTCs supported by the server (s
Retrieving the first / most recent failed DTC (sub-function
Retrieving the first / most recently detected confirmed DTC
195 Retrieving the list of DTCs out of the server DTC mirror mem
Retrieving mirror memory DTCExtendedData record data for a c
Retrieving the number of mirror memory DTCs that match a cli
Retrieving the number of “only emissions-related OBD” DTCs t
Retrieving the list of “only emissions-related OBD” DTCs tha
196 Retrieving a list of “prefailed” DTC status (sub-function =
Retrieving a list of DTCs with “permanent DTC” status (sub-f
Retrieving DTCExtendedData record data for a client defined
Retrieving the list of WWH-OBD DTCs from a functional group
Retrieving a list of WWH-OBD DTCs with “permanent DTC” statu
197 Retrieving the list of DTCs out of the server’s user defined
Retrieving user defined memory DTCSnapshot record data for a
198 Retrieving user defined memory DTCExtendedData record data f
199 11.3.2
Request message
Request message definition
203 Request message sub-function parameter $Level (LEV_) definit
207 Request message data-parameter definition
208 11.3.3
Positive response message
Positive response message definition
219 Positive response message data-parameter definition
222 11.3.4
Supported negative response codes (NRC_)
11.3.5
Message flow examples – ReadDTCInformation
General assumption
Example #1 – ReadDTCInformation, sub-function = reportNumber
Example #1 overview
Example #1 assumptions
224 Example #1 message flow
Example #2 – ReadDTCInformation, sub-function = reportDTCByS
Example #2 overview
225 Example #2 assumptions
226 Example #2 message flow
227 Example #3 – ReadDTCInformation, sub-function = reportDTCByS
Example #3 overview
Example #3 assumptions
228 Example #3 message flow
229 Example #4 – ReadDTCInformation, sub-function = reportDTCSna
Example #4 overview
Example #4 assumptions
Example #4 message flow
230 Example #5 – ReadDTCInformation, sub-function = reportDTCSna
Example #5 overview
Example #5 assumptions
231 Example #5 message flow
232 Example #6 – ReadDTCInformation, sub-function = reportDTCSto
Example #6 overview
Example #6 assumptions
233 Example #6 message flow
234 Example #7 – ReadDTCInformation, sub-function = reportDTCExt
Example #7 overview
Example #7 assumptions
235 Example #7 message flow
236 Example #8 – ReadDTCInformation, sub-function = reportNumber
Example #8 overview
Example #8 assumptions
237 Example #8 message flow
238 Example #9 – ReadDTCInformation, sub-function = reportDTCByS
Example #9 overview
Example #9 assumptions
Example #9 message flow
239 Example #10 – ReadDTCInformation, sub-function = reportSever
Example #10 overview
Example #10 assumptions
Example #10 message flow
240 Example #11 – ReadDTCInformation – sub-function = reportSupp
Example #11 overview
Example #11 assumptions
241 Example #11 message flow
242 Example #12 – ReadDTCInformation, sub-function = reportFirst
Example #12 overview
Example #12 assumptions
243 Example #12 message flow
244 Example #13 – ReadDTCInformation, sub-function = reportFirst
Example #13 overview
Example #13 assumptions
Example #13 message flow
Example #14 – ReadDTCInformation, sub-function = reportNumbe
Example #14 overview
245 Example #14 assumptions
246 Example #14 message flow
247 Example #15 – ReadDTCInformation, sub-function = reportEmiss
Example #15 overview
Example #15 assumptions
Example #15 message flow
248 Example #16 – ReadDTCInformation, sub-function = reportEmiss
Example #16 overview
Example #16 assumptions
250 Example #16 message flow
Example #17 – ReadDTCInformation, sub-function = reportDTCEx
Example #17 overview
Example #17 assumptions
251 Example #17 message flow
252 Example #18 – ReadDTCInformation, sub-function = reportWWHOB
Example #18 overview
Example #18 assumptions
253 Example #18 message flow
254 12
InputOutput Control functional unit
12.1
Overview
12.2
InputOutputControlByIdentifier (0x2F) service
12.2.1
Service description
255 12.2.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) definit
256 Request message data-parameter definition
12.2.3
Positive response message
Positive response message definition
257 Positive response message data-parameter definition
12.2.4
Supported negative response codes (NRC_)
259 12.2.5
Message flow example(s) InputOutputControlByIdentifier
Assumptions
Example #1 – ”Air Inlet Door Position” shortTermAdjustment
Step #1: ReadDataByIdentifier
260 Step #2: shortTermAdjustment
Step #3: ReadDataByIdentifier
261 Step #4: returnControlToECU
262 Step #5: freezeCurrentState
263 Example #2 – EGR and IAC shortTermAdjustment
Assumptions
264 Case #1: Control IAC Pintle Position only
265 Case #2: Control RPM Only
266 Case #3: Control both Pedal Position A and EGR Duty Cycle
267 Case #4: Return control of all parameters to the ECU
268 13
Routine functional unit
13.1
Overview
269 13.2
RoutineControl (0x31) service
13.2.1
Service description
Overview
Start a routine referenced by a routineIdentifier
270 Stop a routine referenced by a routineIdentifier
Request routine results referenced by a routineIdentifier
13.2.2
Request message
Request message definition
271 Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
13.2.3
Positive response message
Positive response message definition
272 Positive response message data-parameter definition
13.2.4
Supported negative response codes (NRC_)
275 13.2.5
Message flow example(s) RoutineControl
Example #1: sub-function = startRoutine
Example #2: sub-function = stopRoutine
276 Example #3: sub-function = requestRoutineResults
277 Example #4: sub-function = startRoutine with routineControlO
279 14
Upload Download functional unit
14.1
Overview
14.2
RequestDownload (0x34) service
14.2.1
Service description
14.2.2
Request message
Request message definition
280 Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
281 14.2.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
282 14.2.4
Supported negative response codes (NRC_)
283 14.2.5
Message flow example(s) RequestDownload
284 14.3
RequestUpload (0x35) service
14.3.1
Service description
14.3.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) definit
285 Request message data-parameter definition
14.3.3
Positive response message
Positive response message definition
286 Positive response message data-parameter definition
287 14.3.4
Supported negative response codes (NRC_)
288 14.3.5
Message flow example(s) RequestUpload
289 14.4
TransferData (0x36) service
14.4.1
Service description
14.4.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) definit
290 Request message data-parameter definition
291 14.4.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
14.4.4
Supported negative response codes (NRC_)
293 14.4.5
Message flow example(s) TransferData
294 14.5
RequestTransferExit (0x37) service
14.5.1
Service description
14.5.2
Request message
Request message definition
Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
14.5.3
Positive response message
Positive response message definition
295 Positive response message data-parameter definition
14.5.4
Supported negative response codes (NRC_)
296 14.5.5
Message flow example(s) for downloading/uploading data
Download data to a server
Assumptions
297 Step #1: Request for download
298 Step #2: Transfer data
299 Step #3: Request Transfer exit
300 Upload data from a server
301 Step #1: Request for upload
Step #2: Transfer data
302 Step #3: Request Transfer exit
304 14.6
RequestFileTransfer (0x38) service
14.6.1
Service description
14.6.2
Request message
Request message definition
305 Request message sub-function parameter $Level (LEV_) definit
Request message data-parameter definition
306 14.6.3
Positive response message
Positive response message definition
Positive response message data-parameter definition
308 14.6.4 Supported negative response codes (NRC_)
310 14.6.5
Message flow example(s) RequestFileTransfer
Assumptions
Request file transfer
312 15 Non-volatile server memory programming process
15.1
General information
316 15.2
Detailed programming sequence
15.2.1
Programming phase #1 — Download of application software and/
Pre-Programming step of phase #1 — Setup of vehicle network
318 Programming step of phase #1 — Download of application softw
320 Post-Programming step of phase #1 — Re-synchronization of ve
Pre-programming step of phase #2 — Server configuration
321 Programming step of phase #2 — Final server configuration
323 Post-programming step of phase #2 — Re-synchronization of ve
324 15.3
Server reprogramming requirements
15.3.1
Requirements for servers to support programming
Boot software description and requirements
Boot software general requirements
326 Boot software diagnostic service requirements
327 Security requirements
328 15.3.2
Software, data identification and fingerprints
Software and data identification
Software and data fingerprints
15.3.3
Server routine access
15.4
Non-volatile server memory programming message flow examples
15.4.1
General information
329 15.4.2 Programming phase #1 — Pre-Programming step
15.4.3
Programming phase #1 — Programming step
333 15.4.4
Programming phase #1 — Post-Programming step
400 Bibliography
BS ISO 14229-1:2013
$215.11