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 |
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 |