Skip to product information
1 of 12

PayPal, credit cards. Download editable-PDF and invoice in 1 second!

GB/T 40822-2021 English PDF (GBT40822-2021)

GB/T 40822-2021 English PDF (GBT40822-2021)

Regular price $8,005.00 USD
Regular price Sale price $8,005.00 USD
Sale Sold out
Shipping calculated at checkout.
Quotation: In 1-minute, 24-hr self-service. Click here GB/T 40822-2021 to get it for Purchase Approval, Bank TT...

GB/T 40822-2021: Road vehicles -- Unified diagnostic services

GB/T 40822-2021
NATIONAL STANDARD OF THE
PEOPLE’S REPUBLIC OF CHINA
ICS 43.040
CCS T 36
Road vehicles - Unified diagnostic services
[ISO 14229-1:2020, ISO 14229-2:2013, ISO 14229-3:2012, ISO 14229-
4:2012, ISO 14229-5:2013, ISO 14229-6:2013, ISO 14229-7:2015, ISO 14229- 8:2020, Road vehicles - Unified diagnostic services (UDS), MOD]
ISSUED ON: OCTOBER 11, 2021
IMPLEMENTED ON: MAY 01, 2022
Issued by: State Administration for Market Regulation;
Standardization Administration of the PRC.
Table of Contents
Foreword ... 16
Introduction ... 18
1 Scope ... 20
2 Normative references ... 20
3 Terms, definitions and abbreviations ... 22
3.1 Terms and definitions ... 22
3.2 Abbreviations ... 26
4 Conventions ... 29
5 Overview ... 30
6 Application layer ... 31
6.1 Application layer services ... 31
6.1.1 General ... 31
6.1.2 Format description of application layer services ... 33
6.1.3 Format description of service primitives ... 34
6.1.3.1 General definition ... 34
6.1.3.2 Service request and service indication primitives ... 34
6.1.3.3 Service response and service confirm primitives ... 35
6.1.3.4 Service request-confirm and service response-confirm primitives ... 36 6.1.4 Service data unit specification ... 37
6.1.4.1 Mandatory parameters ... 37
6.1.4.2 Vehicle system requirements ... 40
6.1.4.3 Optional parameters - A_AE, application layer remote address ... 40 6.2 Application layer protocol ... 41
6.2.1 General definition ... 41
6.2.2 A_PDU, application protocol data unit ... 42
6.2.3 A_PCI, protocol control information ... 42
6.2.4 SI, service identifier ... 43
6.2.5 A_NR_SI, Negative response service identifier ... 44
6.2.6 Negative response/confirmation service primitive ... 45
6.2.7 Server response implementation rules ... 45
6.2.7.1 General definitions ... 45
6.2.7.2 General server response behaviour ... 46
6.2.7.3 Request message with SubFunction parameter and server response behaviour ... 48
6.2.7.4 Request message without SubFunction parameter and server response behaviour ... 54
6.2.7.5 Pseudo code example of server response behaviour ... 56
6.2.7.6 Multiple concurrent request messages with physical and functional addressing ... 58
6.3 Service description conventions ... 59
6.3.1 Service description ... 59
6.3.2 Request message ... 59
6.3.2.1 Request message definition ... 59
6.3.2.2 Request message SubFunction parameter $Level (LEV_) definition ... 60 6.3.2.3 Request message data-parameter definition ... 62
6.3.3 Positive response message ... 63
6.3.3.1 Positive response message definition ... 63
6.3.3.2 Positive response message data-parameter definition ... 64
6.3.4 Supported negative response codes (NRC_) ... 64
6.3.5 Message flow examples ... 65
6.4 Diagnostic and communication management functional unit ... 66
6.4.1 Overview ... 66
6.4.2 DiagnosticSessionControl (1016) service ... 66
6.4.2.1 Service description ... 66
6.4.2.2 Request message ... 70
6.4.2.3 Positive response message ... 72
6.4.2.4 Supported negative response codes (NRC_) ... 73
6.4.2.5 Message flow example(s) DiagnosticSessionControl - Start
programmingSession ... 74
6.4.3 ECUReset (1116) service ... 75
6.4.3.1 Service description ... 75
6.4.3.2 Request message ... 75
6.4.3.3 Positive response message ... 77
6.4.3.4 Supported negative response codes (NRC_) ... 78
6.4.3.5 Message flow example ECUReset ... 78
6.4.4 SecurityAccess (2716) service ... 79
6.4.4.1 Service description ... 79
6.4.4.2 Request message ... 81
6.4.4.3 Positive response message ... 83
6.4.4.4 Supported negative response codes (NRC_) ... 84
6.4.4.5 Message flow example(s) SecurityAccess ... 85
6.4.5 CommunicationControl (2816) service ... 87
6.4.5.1 Service description ... 87
6.4.5.2 Request message ... 87
6.4.5.3 Positive response message ... 89
6.4.5.4 Supported negative response codes (NRC_) ... 89
6.4.5.5 Message flow example CommunicationControl (disable transmission of network management messages) ... 90
6.4.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) ... 90
6.4.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) ... 91
6.4.6 Authentication (2916) service ... 92
6.4.6.1 Service overview... 92
6.4.6.2 Authentication with PKI Certificate Exchange (APCE) ... 93
6.4.6.3 Authentication with Challenge-Response (ACR) ... 99
6.4.6.4 Common requirements ... 105
6.4.6.5 Request message ... 106
6.4.6.6 Positive response message ... 115
6.4.6.7 Supported negative response codes (NRC_) ... 123
6.4.6.8 Message flow example(s) Authentication ... 124
6.4.7 TesterPresent (3E16) service ... 148
6.4.7.1 Service description ... 148
6.4.7.2 Request message ... 148
6.4.7.3 Positive response message ... 149
6.4.7.4 Supported negative response codes (NRC_) ... 149
6.4.7.5 Message flow example(s) TesterPresent ... 150
6.4.8 ControlDTCSetting (8516) service ... 151
6.4.8.1 Service description ... 151
6.4.8.2 Request message ... 151
6.4.8.3 Positive response message ... 153
6.4.8.4 Supported negative response codes (NRC_) ... 153
6.4.8.5 Message flow example(s) ControlDTCSetting ... 153
6.4.9 ResponseOnEvent (8616) service ... 155
6.4.9.1 Service description ... 155
6.4.9.2 Request message ... 163
6.4.9.3 Positive response message ... 171
6.4.9.4 Supported negative response codes (NRC_) ... 174
6.4.9.5 Message flow example(s) ResponseOnEvent ... 175
6.4.10 LinkControl (8716) service ... 192
6.4.10.1 Service description ... 192
6.4.10.2 Request message ... 193
6.4.10.3 Positive response message ... 195
6.4.10.4 Supported negative response codes (NRC_) ... 196
6.4.10.5 Message flow example(s) LinkControl ... 196
6.5 Data transmission functional unit ... 199
6.5.1 Overview ... 199
6.5.2 ReadDataByIdentifier (2216) service ... 200
6.5.2.1 Service description ... 200
6.5.2.2 Request message ... 200
6.5.2.3 Positive response message ... 201
6.5.2.4 Supported negative response codes (NRC_) ... 202
6.5.2.5 Message flow example ReadDataByIdentifier ... 204
6.5.3 ReadMemoryByAddress (2316) service ... 207
6.5.3.1 Service description ... 207
6.5.3.2 Request message ... 207
6.5.3.3 Positive response message ... 208
6.5.3.4 Supported negative response codes (NRC_) ... 209
6.5.3.5 Message flow example ReadMemoryByAddress ... 211
6.5.4 ReadScalingDataByIdentifier (2416) service ... 214
6.5.4.1 Service description ... 214
6.5.4.2 Request message ... 214
6.5.4.3 Positive response message ... 215
6.5.4.4 Supported negative response codes (NRC_) ... 216
6.5.4.5 Message flow example ReadScalingDataByIdentifier ... 217
6.5.5 ReadDataByPeriodicIdentifier (2A16) service ... 221
6.5.5.1 Service description ... 221
6.5.5.2 Request message ... 225
6.5.5.3 Positive response message ... 226
6.5.5.4 Supported negative response codes (NRC_) ... 227
6.5.5.5 Message flow example ReadDataByPeriodicIdentifier ... 230
6.5.6 DynamicallyDefineDataIdentifier (2C16) service ... 244
6.5.6.1 Service description ... 244
6.5.6.2 Request message ... 246
6.5.6.3 Positive response message ... 250
6.5.6.4 Supported negative response codes (NRC_) ... 251
6.5.6.5 Message flow examples DynamicallyDefineDataIdentifier ... 252
6.5.7 WriteDataByIdentifier (2E16) service ... 268
6.5.7.1 Service description ... 268
6.5.7.2 Request message ... 269
6.5.7.3 Positive response message ... 269
6.5.7.4 Supported negative response codes (NRC_) ... 270
6.5.7.5 Message flow example WriteDataByIdentifier ... 271
6.5.8 WriteMemoryByAddress (3D16) service ... 272
6.5.8.1 Service description ... 272
6.5.8.2 Request message ... 273
6.5.8.3 Positive response message ... 274
6.5.8.4 Supported negative response codes (NRC_) ... 275
6.5.8.5 Message flow example WriteMemoryByAddress ... 277
6.6 Stored data transmission functional unit ... 280
6.6.1 Overview ... 280
6.6.2 ClearDiagnosticInformation (1416) service ... 281
6.6.2.1 Service description ... 281
6.6.2.2 Request message ... 281
6.6.2.3 Positive response message ... 282
6.6.2.4 Supported negative response codes (NRC_) ... 282
6.6.2.5 Message flow example ClearDiagnosticInformation ... 284
6.6.3 ReadDTCInformation (1916) service ... 285
6.6.3.1 Service description ... 285
6.6.3.2 Request message ... 301
6.6.3.3 Positive response message ... 313
6.6.3.4 Supported negative response codes (NRC_) ... 330
6.6.3.5 Message flow examples - ReadDTCInformation ... 331
6.7 InputOutput control functional unit ... 369
6.7.1 Overview ... 369
6.7.2 InputOutputControlByIdentifier (2F16) service ... 369
6.7.2.1 Service description ... 369
6.7.2.2 Request message ... 371
6.7.2.3 Positive response message ... 372
6.7.2.4 Supported negative response codes (NRC_) ... 373
6.7.2.5 Message flow example(s) InputOutputControlByIdentifier ... 374 6.8 Routine functional unit ... 384
6.8.1 Overview ... 384
6.8.2 RoutineControl (3116) service ... 385
6.8.2.1 Service description ... 385
6.8.2.2 Request message ... 386
6.8.2.3 Positive response message ... 388
6.8.2.4 Supported negative response codes (NRC_) ... 389
6.8.2.5 Message flow example(s) RoutineControl ... 392
6.9 Upload download functional unit ... 395
6.9.1 Overview ... 395
6.9.2 RequestDownload (3416) service ... 396
6.9.2.1 Service description ... 396
6.9.2.2 Request message ... 396
6.9.2.3 Positive response message ... 397
6.9.2.4 Supported negative response codes (NRC_) ... 398
6.9.2.5 Message flow example(s) RequestDownload ... 400
6.9.3 RequestUpload (3516) service ... 400
6.9.3.1 Service description ... 400
6.9.3.2 Request message ... 401
6.9.3.3 Positive response message ... 402
6.9.3.4 Supported negative response codes (NRC_) ... 403
6.9.3.5 Message flow example(s) RequestUpload ... 405
6.9.4 TransferData (3616) service ... 406
6.9.4.1 Service description ... 406
6.9.4.2 Request message ... 406
6.9.4.3 Positive response message ... 407
6.9.4.4 Supported negative response codes (NRC_) ... 408
6.9.4.5 Message flow example(s) TransferData ... 410
6.9.5 RequestTransferExit (3716) service ... 410
6.9.5.1 Service description ... 410
6.9.5.2 Request message ... 411
6.9.5.3 Positive response message ... 411
6.9.5.4 Supported negative response codes (NRC_) ... 412
6.9.5.5 Message flow example(s) for downloading/uploading data ... 413 6.9.6 RequestFileTransfer (3816) service ... 421
6.9.6.1 Service description ... 421
6.9.6.2 Request message ... 421
6.9.6.3 Positive response message ... 423
6.9.6.4 Supported negative response codes (NRC_) ... 425
6.9.6.5 Message flow example(s) RequestFileTransfer ... 427
6.10 Security sub-layer definition ... 430
6.10.1 General ... 430
6.10.1.1 Purpose ... 430
6.10.1.2 Security sub-layer description ... 430
6.10.1.3 Security sub-layer access ... 432
6.10.1.4 General server response behaviour ... 434
6.10.2 SecuredDataTransmission (8416) service ... 436
6.10.2.1 Service description ... 436
6.10.2.2 Request message ... 436
6.10.2.3 Positive response message for successful internal message ... 438 6.10.2.4 Supported negative response codes (NRC_) ... 441
6.10.2.5 Message flow example SecuredDataTransmission ... 441
6.11 Non-volatile server memory programming process ... 445
6.11.1 General information ... 445
6.11.2 Detailed programming sequence ... 450
6.11.2.1 Programming phase #1 - Download of application software and/or application data ... 450
6.11.2.2 Preprogramming step of phase #2 - Server configuration ... 458 6.11.2.3 Programming step of phase #2 - Final server configuration ... 459 6.11.2.4 Post-programming step of phase #2 - Re-synchronisation of vehicle network ... 460
6.11.3 Server reprogramming requirements ... 461
6.11.3.1 Requirements for servers to support programming... 461
6.11.3.2 Software, data identification and fingerprints ... 466
6.11.3.3 Server routine access ... 466
6.11.4 Non-volatile server memory programming message flow examples ... 467 6.11.4.1 General information ... 467
6.11.4.2 Programming phase #1 - Pre-Programming step ... 467
6.11.4.3 Programming phase #1 - Programming step ... 468
6.11.5 Programming phase #1 - Post-Programming step ... 472
7 Session layer services ... 472
7.1 Document overview ... 472
7.2 Service content ... 473
7.2.1 General ... 473
7.2.2 Specification of session layer service primitives ... 476
7.2.2.1 General ... 476
7.2.2.2 S_Data.request ... 476
7.2.2.3 S_Data.confirm ... 476
7.2.2.4 S_Data.indication ... 477
7.2.3 Session data unit specification ... 477
7.2.3.1 S_Mtype, Session layer message type ... 477
7.2.3.2 S_SA, Session layer source address ... 477
7.2.3.3 S_TA, Session layer target address ... 478
7.2.3.4 S_TAtype, Session layer target address type ... 478
7.2.3.5 S_AE, Session layer Address Extension (optional parameter) ... 478 7.2.3.6 S_Length ... 478
7.2.3.7 S_Data ... 479
7.2.3.8 S_Result ... 479
7.2.3.9 Mapping of S_PDU onto T_PDU and vice versa for message transmission ... 479
7.3 Timing parameter definition ... 480
7.3.1 General application timing considerations ... 480
7.3.1.1 Server ... 480
7.3.1.2 Client ... 481
7.3.2 Application timing parameter definitions - defaultSession ... 481 7.3.3 Example for P4Server without enhanced response timing ... 485
7.3.4 Example for P4Server with enhanced response timing ... 486
7.3.5 Session timing parameter definitions for the non-default session ... 488 7.3.6 Client and server timer resource requirements ... 490
7.3.7 Error handling ... 490
7.4 Timing handling during communication ... 492
7.4.1 Physical communication ... 492
7.4.1.1 Physical communication during defaultSession - without SOM.ind ... 492 7.4.1.2 Physical communication during defaultSession - with SOM.ind ... 492 7.4.1.3 Physical communication during defaultSession with enhanced response timing ... 493
7.4.1.4 Physical communication during a non-default session ... 495
7.4.2 Functional communication ... 503
7.4.2.1 Functional communication during defaultSession - without SOM.ind ... 503 7.4.2.2 Functional communication during defaultSession - with SOM.ind ... 504 7.4.2.3 Functional communication during defaultSession with enhanced response timing - with SOM.ind ... 505
7.4.2.4 Functional communication during non-default session - with SOM.ind ... 507 7.4.3 Minimum time between client request messages ... 512
8 UDSonCAN ... 520
8.1 Document overview ... 520
8.2 Unified diagnostic services implementation on CAN ... 522
8.2.1 General ... 522
8.2.2 UDS on CAN services overview ... 522
8.2.3 ResponseOnEvent (8616) service DoCAN implementation requirements ... 523 8.2.4 ReadDataByPeriodicIdentifier (2A16) service ... 525
8.2.4.1 Periodic transmission response message ... 525
8.2.4.2 Periodic transmission response message handling ... 526
8.2.4.3 CAN frame format ... 527
8.3 Application layer requirements ... 532
8.3.1 Application layer services ... 532
8.3.2 Application layer protocol ... 533
8.3.3 Application layer timing ... 533
8.3.3.1 General ... 533
8.3.3.2 Message timing parameter values ... 533
8.3.3.3 Unsolicited response messages ... 533
8.4 Presentation layer requirements ... 533
8.5 Session layer requirements ... 533
8.6 Transport/Network layer interface adaptation ... 533
8.6.1 General information ... 533
8.6.2 DoCAN Transport/Network layer interface adaptation ... 534
8.6.2.1 Mapping of data link independent service primitives onto CAN data link dependent service primitives ... 534
8.6.2.2 Mapping of T_PDU onto N_PDU for message transmission ... 534
8.7 Data link layer diagnostic implementation requirements ... 535
8.7.1 Usage of legislated 11-bit OBD CAN Identifiers for enhanced diagnostics ... 535 8.7.2 Usage of legislated 29-bit OBD CAN Identifiers for enhanced diagnostics ... 535 9 UDSonFR ... 536
9.1 Document overview ... 536
9.2 Unified diagnostic services implementation on FlexRay ... 538
9.2.1 General ... 538
9.2.2 UDS on FlexRay services overview ... 538
9.2.3 CommunicationControl (2816) service ... 539
9.2.4 ResponseOnEvent (8616) service ... 540
9.2.5 LinkControl (8716) service ... 542
9.2.6 ReadDataByPeriodicIdentifier (2A16) service ... 543
9.2.6.1 Periodic transmission response message ... 543
9.2.6.2 Periodic transmission response message handling ... 544
9.2.6.3 Periodic transmission message flow ... 546
9.3 Application layer requirements ... 550
9.3.1 Application layer services ... 550
9.3.2 Application layer protocol ... 551
9.3.3 Application layer timing ... 551
9.4 Presentation layer requirements ... 551
9.5 Session layer requirements ... 551
9.6 Transport/Network layer interface adaptation ... 551
9.6.1 General information ... 551
9.6.2 DoFR Transport/Network layer interface adaptation ... 551
9.6.2.1 Mapping of data link independent service primitives onto FlexRay data link dependent service primitives ... 551
9.6.2.2 Mapping of T_PDU onto C_PDU for message transmission ... 552
9.7 Data Link layer diagnostic implementation requirements ... 552
10 UDSonIP ... 553
10.1 Document overview ... 553
10.2 Unified diagnostic services implementation on Internet Protocol ... 555 10.2.1 General ... 555
10.2.2 UDS on IP services overview ... 555
10.2.3 DiagnosticSessionControl (1016) service ... 556
10.2.4 ECUReset (1116) service ... 556
10.2.5 ReadDataByPeriodicIdentifier (2A16) service DoIP implementation requirements ... 557
10.2.5.1 Periodic data response message ... 557
10.2.5.2 Periodic transmission response message handling ... 557
10.3 Application layer requirements ... 565
10.3.1 Application layer services ... 565
10.3.2 Application layer protocol ... 565
10.3.3 Application layer timing ... 565
10.4 Presentation layer requirements ... 565
10.5 Session layer requirements ... 565
10.6 Transport/network layer interface adaptation ... 565
10.6.1 General information ... 565
10.6.2 DoIP transport/network layer interface adaptation ... 566
10.6.2.1 Mapping of data link-independent service primitives onto IP data link- dependent service primitives ... 566
10.6.2.2 Mapping of T_PDU onto DoIP_PDU for message transmission ... 566 10.7 Data link layer diagnostic implementation requirements ... 567
11 UDSonK-Line ... 567
11.1 Document overview ... 567
11.2 Unified diagnostic services implementation on K-Line ... 569
11.2.1 General ... 569
11.2.2 UDSonK-Line services overview ... 5...

View full details