1、 Reference numberISO 22900-2:2009(E)ISO 2009INTERNATIONAL STANDARD ISO22900-2First edition2009-02-01Road vehicles Modular vehicle communication interface (MVCI) Part 2: Diagnostic protocol data unit application programming interface (D-PDU API) Vhicules routiers Interface de communication modulaire
2、du vhicule (MVCI) Partie 2: Interface de programmation dapplication dunit de donnes du protocole de diagnostic (D-PDU API) ISO 22900-2:2009(E) PDF disclaimer This PDF file may contain embedded typefaces. In accordance with Adobes licensing policy, this file may be printed or viewed but shall not be
3、edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In downloading this file, parties accept therein the responsibility of not infringing Adobes licensing policy. The ISO Central Secretariat accepts no liability in this area. Adobe is
4、a trademark of Adobe Systems Incorporated. Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member
5、 bodies. In the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below. COPYRIGHT PROTECTED DOCUMENT ISO 2009 All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by
6、any means, electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or ISOs member body in the country of the requester. ISO copyright office Case postale 56 CH-1211 Geneva 20 Tel. + 41 22 749 01 11 Fax + 41 22 749 09 47 E-mai
7、l copyrightiso.org Web www.iso.org Published in Switzerland ii ISO 2009 All rights reservedISO 22900-2:2009(E) ISO 2009 All rights reserved iiiContents Page Foreword vi Introduction.vii 1 Scope1 2 Normative references1 3 Terms and definitions .2 4 Symbols and abbreviated terms 2 5 Specification rele
8、ase version information4 5.1 Specification release version location 4 5.2 Specification release version.4 6 Modular VCI use cases .4 6.1 OEM merger .4 6.2 OEM cross vehicle platform ECU(s) 4 6.3 Central source diagnostic data and exchange during ECU development 5 6.4 OEM franchised dealer and afterm
9、arket service outlet diagnostic tool support5 7 Modular VCI software architecture 5 7.1 Overview.5 7.2 Modular VCI D-Server software6 7.3 Runtime format based on ODX 7 7.4 MVCI protocol module software 7 7.5 MVCI protocol module configurations 7 8 D-PDU API use cases8 8.1 Overview.8 8.2 Use case 1:
10、Single MVCI protocol module8 8.3 Use case 2: Multiple MVCI protocol modules supported by same D-PDU API implementation 9 8.4 Use case 3: Multiple MVCI protocol modules supported by different D-PDU API implementations 10 9 Diagnostic protocol data unit (D-PDU) API.11 9.1 Software requirements11 9.1.1
11、 General requirements .11 9.1.2 Vehicle protocol requirements.12 9.1.3 Timing requirements for protocol handler messages .12 9.1.4 Serialization requirements for protocol handler messages14 9.1.5 Compatibility requirements15 9.1.6 Timestamp requirements16 9.2 API function overview and communication
12、principles17 9.2.1 Terms used within the D-PDU API .17 9.2.2 Function overview.17 9.2.3 General usage19 9.2.4 Asynchronous and synchronous communication 21 9.2.5 Usage of resource locking and resource unlocking22 9.2.6 Usage of ComPrimitives .22 9.3 Tool integration .38 9.3.1 Requirement for generic
13、 configuration.38 9.3.2 Tool integrator use case38 9.4 API functions interface description40 9.4.1 Overview.40 ISO 22900-2:2009(E) iv ISO 2009 All rights reserved9.4.2 PDUConstruct 40 9.4.3 PDUDestruct.41 9.4.4 PDUIoCtl .42 9.4.5 PDUGetVersion 43 9.4.6 PDUGetStatus 44 9.4.7 PDUGetLastError .45 9.4.8
14、 PDUGetResourceStatus47 9.4.9 PDUCreateComLogicalLink 48 9.4.10 PDUDestroyComLogicalLink50 9.4.11 PDUConnect.51 9.4.12 PDUDisconnect53 9.4.13 PDULockResource.54 9.4.14 PDUUnlockResource.55 9.4.15 PDUGetComParam 56 9.4.16 PDUSetComParam.63 9.4.17 PDUStartComPrimitive65 9.4.18 PDUCancelComPrimitive 69
15、 9.4.19 PDUGetEventItem 70 9.4.20 PDUDestroyItem.71 9.4.21 PDURegisterEventCallback 72 9.4.22 EventCallback prototype.74 9.4.23 PDUGetObjectId.75 9.4.24 PDUGetModuleIds76 9.4.25 PDUGetResourceIds78 9.4.26 PDUGetConflictingResources 79 9.4.27 PDUGetUniqueRespIdTable80 9.4.28 PDUSetUniqueRespIdTable 8
16、2 9.4.29 PDUModuleConnect 87 9.4.30 PDUModuleDisconnect .88 9.4.31 PDUGetTimestamp 89 9.5 I/O control section .90 9.5.1 IOCTL API command overview.90 9.5.2 PDU_IOCTL_RESET.92 9.5.3 PDU_IOCTL_CLEAR_TX_QUEUE.93 9.5.4 PDU_IOCTL_SUSPEND_TX_QUEUE93 9.5.5 PDU_IOCTL_RESUME_TX_QUEUE94 9.5.6 PDU_IOCTL_CLEAR_
17、RX_QUEUE 94 9.5.7 PDU_IOCTL_READ_VBATT 95 9.5.8 PDU_IOCTL_SET_PROG_VOLTAGE .95 9.5.9 PDU_IOCTL_READ_PROG_VOLTAGE 96 9.5.10 PDU_IOCTL_GENERIC 97 9.5.11 PDU_IOCTL_SET_BUFFER_SIZE.97 9.5.12 PDU_IOCTL_GET_CABLE_ID .98 9.5.13 PDU_IOCTL_START_MSG_FILTER98 9.5.14 PDU_IOCTL_STOP_MSG_FILTER100 9.5.15 PDU_IOC
18、TL_CLEAR_MSG_FILTER .101 9.5.16 PDU_IOCTL_SET_EVENT_QUEUE_PROPERTIES .101 9.5.17 PDU_IOCTL_SEND_BREAK102 9.5.18 PDU_IOCTL_READ_IGNITION_SENSE_STATE 103 9.6 API functions error handling104 9.6.1 Synchronous error handling 104 9.6.2 Asynchronous error handling 104 9.7 Installation 104 9.7.1 Generic de
19、scription .104 9.7.2 Windows installation process 105 9.7.3 Linux installation process 106 9.7.4 Selecting MVCI protocol modules106 9.8 Application notes.106 9.8.1 Interaction with the MDF.106 9.8.2 Accessing additional hardware features for MVCI protocol modules .106 ISO 22900-2:2009(E) ISO 2009 Al
20、l rights reserved v9.8.3 Documentation and information provided by MVCI protocol module vendors 107 9.8.4 Performance Testing.107 10 Using the D-PDU API with existing applications108 10.1 SAE J2534-1 and RP1210a existing standards 108 11 Data structures 108 11.1 API functions data structure definiti
21、ons 108 11.1.1 Abstract basic data types.108 11.1.2 Definitions 109 11.1.3 Bit encoding for UNUM32 .109 11.1.4 API data structures110 Annex A (normative) D-PDU API compatibility mappings123 Annex B (normative) D-PDU API standard ComParams and protocols141 Annex C (informative) D-PDU API manufacturer
22、 specific ComParams and protocols209 Annex D (normative) D-PDU API constants .211 Annex E (normative) Application defined tags225 Annex F (normative) Description files 226 Annex G (informative) Resource handling scenarios .269 Annex H (informative) D-PDU API partitioning.274 Annex I (informative) Us
23、e case scenarios278 Annex J (normative) OBD protocol initialization.310 Bibliography325 ISO 22900-2:2009(E) vi ISO 2009 All rights reservedForeword ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO member bodies). The work of prepari
24、ng International Standards is normally carried out through ISO technical committees. Each member body interested in a subject for which a technical committee has been established has the right to be represented on that committee. International organizations, governmental and non-governmental, in lia
25、ison with ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical Commission (IEC) on all matters of electrotechnical standardization. International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2. The main task of
26、technical committees is to prepare International Standards. Draft International Standards adopted by the technical committees are circulated to the member bodies for voting. Publication as an International Standard requires approval by at least 75 % of the member bodies casting a vote. Attention is
27、drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO shall not be held responsible for identifying any or all such patent rights. ISO 22900-2 was prepared by Technical Committee ISO/TC 22, Road vehicles, Subcommittee SC 3, Electrical and electr
28、onic equipment. ISO 22900 consists of the following parts, under the general title Road vehicles Modular vehicle communication interface (MVCI): Part 1: Hardware design requirements Part 2: Diagnostic protocol data unit application programming interface (D-PDU API) Part 3: Diagnostic server applicat
29、ion programming interface (D-Server API) ISO 22900-2:2009(E) ISO 2009 All rights reserved viiIntroduction ISO 22900 is applicable to vehicle electronic control module diagnostics and programming. This part of ISO 22900 was established in order to more easily exchange software and hardware of vehicle
30、 communication interfaces (VCIs) among diagnostic applications. It defines a generic and protocol independent software interface towards the modular vehicle communication interface (MVCI) protocol module, such that a diagnostic application based on this software interface can exchange the MVCI proto
31、col module or add a new MVCI protocol module with minimal effort. Today, the automotive after market requires flexible usage of different protocol modules for vehicles of different brands. Many of todays protocol modules are incompatible with regard to their hardware and software interface, such tha
32、t, depending on the brand, a different protocol module is required. The objective of this part of ISO 22900 is to specify the diagnostic protocol data unit application programming interface (D-PDU API) as a generic software interface, and to provide a “plug and play” concept for access onto differen
33、t MVCI protocol modules from different tool manufacturers. The D-PDU API will address the generic software interface, the protocol abstraction, its exchangeability as well as the compatibility towards existing standards such as SAE J2534-1 and RP1210a. The implementation of the modular VCI concept f
34、acilitates co-existence and re-use of MVCI protocol modules, especially in the after market. As a result, diagnostic or programming applications can be adapted for different vehicle communication interfaces and different vehicles with minimal effort, thus helping to reduce overall costs for the tool
35、 manufacturer and end user. Vehicle communication interfaces compliant with ISO 22900 support a protocol-independent D-PDU API as specified in this part of ISO 22900. INTERNATIONAL STANDARD ISO 22900-2:2009(E) ISO 2009 All rights reserved 1Road vehicles Modular vehicle communication interface (MVCI)
36、 Part 2: Diagnostic protocol data unit application programming interface (D-PDU API) 1 Scope This part of ISO 22900 specifies the diagnostic protocol data unit application programming interface (D-PDU API) as a modular vehicle communication interface (MVCI) protocol module software interface and com
37、mon basis for diagnostic and reprogramming software applications. This part of ISO 22900 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
38、 module description files accompany this part of ISO 22900. Migration from and to the existing standards SAE J2534-1 and RP1210a is addressed. This part of ISO 22900 contains a description of how to convert between the APIs. Corresponding wrapper APIs accompany this part of ISO 22900. The purpose of
39、 this part of ISO 22900 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. 2 Normative references The following referenced documents are indispensa
40、ble for the application of this document. For dated references, only the edition cited applies. For undated references, the latest edition of the referenced document (including any amendments) applies. ISO 9141-2, Road vehicles Diagnostic systems Part 2: CARB requirements for interchange of digital
41、information ISO 14229-1, Road vehicles Unified diagnostic services (UDS) Part 1: Specification and requirements ISO 14230 (all parts), Road vehicles Diagnostic systems Keyword Protocol 2000 ISO 15031-5, Road vehicles Communication between vehicle and external equipment for emissions-related diagnost
42、ics Part 5: Emissions-related diagnostic services ISO 15765 (all parts), Road vehicles Diagnostics on Controller Area Networks (CAN) ISO 22901-1, Road vehicles Open diagnostic data exchange (ODX) Part 1: Data model specification ISO/IEC 8859-1, Information technology 8-bit single-byte coded graphic
43、character sets Part 1: Latin alphabet No. 1 ISO 22900-2:2009(E) 2 ISO 2009 All rights reserved3 Terms and definitions For the purposes of this document, the following terms and definitions apply. 3.1 application way of accessing the diagnostic protocol data unit application programming interface (D-
44、PDU API) NOTE From the perspective of the D-PDU API, it does not make any difference whether an application accesses the software interface directly, or through an MVCI D-Server. Consequently, in this part of ISO 22900, the term “application” represents both ways of accessing the D-PDU API. 3.2 ComL
45、ogicalLink logical communication channel towards a single electronic control unit (ECU) or towards multiple electronic control units 3.3 COMPARAM-SPEC protocol-specific set of predefined communication parameters (ComParams), the value of which can be changed in the context of a layer or specific dia
46、gnostic service NOTE This part of the model can also contain OEM-specific ComParams. 3.4 ComPrimitive smallest aggregation of a communication service or function EXAMPLE A request message to be sent to an ECU. 3.5 Ethernet physical network media type 4 Symbols and abbreviated terms API Application P
47、rogramming Interface ASCII American Standard for Character Information Interchange CAN Controller Area Network CDF Cable Description File CLL ComLogicalLink ComParam Communication Parameter COP Communication Primitive CRC Cyclic Redundancy Check DLC Data Link Connector DLL Dynamic Link Library D-PDU
48、 Diagnostic Protocol Data Unit D-Server Diagnostic Server ECU Electronic Control Unit ISO 22900-2:2009(E) ISO 2009 All rights reserved 3HDD Hard Disk Drive HI Differential Line High HW Hardware IEEE 1394 Firewire serial bus IFR In-Frame Response IGN Ignition IOCTL Input/Output Control K UART K-Line
49、KWP Keyword Protocol L UART L-Line LOW Differential Line Low MDF Module Description File MVCI Modular Vehicle Communication Interface ODX Open Diagnostic Data Exchange OEM Original Equipment Manufacturer OSI Open Systems Interconnection PC Personal Computer PCI Protocol Control Information PGN Parameter Group Number PROGV Programmable Voltage PWM Pulse Width Modulation RDF Root Description File RX UART uni-directional receive SCI Serial Communications Interface SCP Standard Corporate P