ISO 22900-2:2022
(Main)Road vehicles — Modular vehicle communication interface (MVCI) — Part 2: Diagnostic protocol data unit (D-PDU API)
Road vehicles — Modular vehicle communication interface (MVCI) — Part 2: Diagnostic protocol data unit (D-PDU API)
This document specifies the diagnostic protocol data unit application programming interface (D‑PDU API) as a modular vehicle communication interface (MVCI) protocol module software interface and common basis for diagnostic and reprogramming software applications. This document covers the descriptions of the application programming interface (API) functions and the abstraction of diagnostic protocols, as well as the handling and description of MVCI protocol module features. Sample MVCI module description files accompany this document. The purpose of this document is to ensure that diagnostic and reprogramming applications from any vehicle or tool manufacturer can operate on a common software interface and can easily exchange MVCI protocol module implementations.
Véhicules routiers — Interface de communication modulaire du véhicule (MVCI) — Partie 2: Interface de programmation d'application d'unité de données du protocole de diagnostic (D-PDU API)
General Information
Relations
Standards Content (Sample)
INTERNATIONAL ISO
STANDARD 22900-2
Third edition
2022-06
Road vehicles — Modular vehicle
communication interface (MVCI) —
Part 2:
Diagnostic protocol data unit (D-PDU
API)
Véhicules routiers — Interface de communication modulaire du
véhicule (MVCI) —
Partie 2: Interface de programmation d'application d'unité de
données du protocole de diagnostic (D-PDU API)
Reference number
© ISO 2022
All rights reserved. Unless otherwise specified, or required in the context of its implementation, no part of this publication may
be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on
the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below
or ISO’s member body in the country of the requester.
ISO copyright office
CP 401 • Ch. de Blandonnet 8
CH-1214 Vernier, Geneva
Phone: +41 22 749 01 11
Email: copyright@iso.org
Website: www.iso.org
Published in Switzerland
ii
Contents Page
Foreword . vi
Introduction . vii
1 Scope . 1
2 Normative references . 1
3 Terms, definitions and abbreviated terms . 1
3.1 Terms and definitions . 2
3.2 Abbreviated terms . 3
4 Specification release version information . 6
4.1 Specification release version location . 6
4.2 Specification release version. 6
5 Modular VCI use cases . 6
5.1 OEM merger . 6
5.2 OEM cross vehicle platform ECU(s) . 6
5.3 Central source diagnostic data and exchange during ECU development . 7
5.4 OEM franchised dealer and aftermarket service outlet diagnostic tool support . 7
6 Modular VCI software architecture . 7
6.1 Overview . 7
6.2 Modular VCI D-Server software . 8
6.3 Runtime format based on ODX . 9
6.4 MVCI protocol module software . 9
6.5 MVCI protocol module configurations . 9
7 D-PDU API use cases . 10
7.1 Overview . 10
7.2 Use case 1: Single MVCI protocol module . 11
7.3 Use case 2: Multiple MVCI protocol modules supported by same D-PDU API
implementation . 12
7.4 Use case 3: Multiple MVCI protocol modules supported by different D-PDU API
implementations . 13
8 Diagnostic protocol data unit (D-PDU) API . 14
8.1 Software requirements . 14
8.1.1 General requirements . 14
8.1.2 Vehicle protocol requirements . 15
8.1.3 Timing requirements for protocol handler messages . 16
8.1.4 Serialization requirements for protocol handler messages . 17
8.1.5 Compatibility requirements . 19
8.1.6 Timestamp requirements . 19
8.2 API function overview and communication principles . 20
8.2.1 Terms used within the D-PDU API . 20
8.2.2 Function overview . 20
8.2.3 General usage . 21
8.2.4 Asynchronous and synchronous communication . 24
8.2.5 Usage of resource locking and resource unlocking . 25
8.2.6 Usage of ComPrimitives . 25
8.3 Tool integration . 42
8.3.1 Requirement for generic configuration. 42
8.3.2 Tool integrator — Use case . 42
8.4 API functions — Interface description . 44
8.4.1 Overview .44
8.4.2 PDUConstruct .44
8.4.3 PDUDestruct .45
8.4.4 PDUIoCtl .46
8.4.5 PDUGetVersion .48
8.4.6 PDUGetStatus .49
8.4.7 PDUGetLastError .50
8.4.8 PDUGetResourceStatus .51
8.4.9 PDUCreateComLogicalLink .52
8.4.10 PDUDestroyComLogicalLink .55
8.4.11 PDUConnect .57
8.4.12 PDUDisconnect .59
8.4.13 PDULockResource .60
8.4.14 PDUUnlockResource .61
8.4.15 PDUGetComParam .62
8.4.16 PDUSetComParam .69
8.4.17 PDUStartComPrimitive .72
8.4.18 PDUCancelComPrimitive .76
8.4.19 PDUGetEventItem .77
8.4.20 PDUDestroyItem .78
8.4.21 PDURegisterEventCallback .79
8.4.22 EventCallback prototype .81
8.4.23 PDUGetObjectId .83
8.4.24 PDUGetModuleIds .84
8.4.25 PDUGetResourceIds .86
8.4.26 PDUGetConflictingResources .87
8.4.27 PDUGetUniqueRespIdTable .88
8.4.28 PDUSetUniqueRespIdTable .90
8.4.29 PDUModuleConnect .95
8.4.30 PDUModuleDisconnect .98
8.4.31 PDUGetTimestamp .99
8.5 I/O control section .99
8.5.1 IOCTL API command overview .99
8.5.2 PDU_IOCTL_RESET . 102
8.5.3 PDU_IOCTL_CLEAR_TX_QUEUE. 102
8.5.4 PDU_IOCTL_SUSPEND_TX_QUEUE . 103
8.5.5 PDU_IOCTL_RESUME_TX_QUEUE . 103
8.5.6 PDU_IOCTL_CLEAR_RX_QUEUE . 104
8.5.7 PDU_IOCTL_CLEAR_TX_QUEUE_PENDING . 104
8.5.8 PDU_IOCTL_READ_VBATT . 105
8.5.9 PDU_IOCTL_SET_PROG_VOLTAGE . 105
8.5.10 PDU_IOCTL_READ_PROG_VOLTAGE . 106
8.5.11 PDU_IOCTL_GENERIC . 107
8.5.12 PDU_IOCTL_SET_BUFFER_SIZE . 108
8.5.13 PDU_IOCTL_GET_CABLE_ID . 108
8.5.14 PDU_IOCTL_START_MSG_FILTER . 109
8.5.15 PDU_IOCTL_STOP_MSG_FILTER . 111
8.5.16 PDU_IOCTL_CLEAR_MSG_FILTER .
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.