ISO 14230-3:1999
(Main)Road vehicles — Diagnostic systems — Keyword Protocol 2000 — Part 3: Application layer
Road vehicles — Diagnostic systems — Keyword Protocol 2000 — Part 3: Application layer
This part of ISO 14230 specifies the requirements for the Keyword Protocol 2000 data link on which one or several on-vehicle Electronic Control Units are connected to an off-board tester in order to perform diagnostic functions. This part of ISO 14230 specifies the requirements of the implementation of the Diagnostic Services specified in ISO 14229, including - byte-encoding and hexadecimal values for the service identifiers; - byte-encoding for the parameters of the diagnostic service requests and responses; - hexadecimal values for the standard parameters. The vehicle environment to which this part of ISO 14230 applies may consist of a single tester that may be temporarily connected to the on-vehicle diagnostic data link and several on-vehicle Electronic Control Units connected directly or indirectly.
Véhicules routiers — Systèmes de diagnostic — Protocole "Keyword 2000" — Partie 3: Couche application
La présente partie de l’ISO 14230 fixe les exigences relatives à la liaison de données du protocole «Keyword 2000» sur laquelle une ou plusieurs unités de contrôle électronique embarquées sont connectées à un équipement non embarqué afin d'effectuer des fonctions de diagnostic. Elle fixe les prescriptions de mise en oeuvre des services de diagnostic spécifiés dans l'ISO 14229, y compris: - le codage en octets et les valeurs hexadécimales pour les identificateurs du service; - le codage en octets pour les paramètres des demandes et réponses du service de diagnostic; - les valeurs hexadécimales pour les paramètres normalisés. L'environnement du véhicule auquel la présente partie de l’ISO 14230 s'applique comprend un équipement de diagnostic unique pouvant être connecté, de manière temporaire ou permanente, à la liaison de données de diagnostic embarquée et plusieurs unités de contrôle électronique embarquées connectées directement ou indirectement.
General Information
Buy Standard
Standards Content (Sample)
INTERNATIONAL ISO
STANDARD 14230-3
First edition
1999-03-15
Road vehicles — Diagnostic systems —
Keyword Protocol 2000 —
Part 3:
Application layer
Véhicules routiers — Systèmes de diagnostic —
Protocole «Keyword 2000» —
Partie 3: Couche application
A
Reference number
ISO 14230-3:1999(E)
---------------------- Page: 1 ----------------------
ISO 14230-3:1999(E)
Contents
1 Scope .1
2 Normative references .1
3 Definitions .2
4 Conventions .2
4.1 General.2
4.2 Service description convention .3
4.3 Functional unit table.6
4.4 Service Identifier value summary table .6
4.5 Response Code value summary table .6
4.6 Response handling.8
5 General implementation rules .9
5.1 Parameter definitions .9
5.2 Functional and physical addressed service requests .10
5.3 Message flow examples of physical/functional addressed services.10
6 Diagnostic Management functional unit.16
6.1 StartDiagnosticSession service .16
6.2 StopDiagnosticSession service .17
6.3 SecurityAccess service.19
6.4 TesterPresent service.22
6.5 ECUReset service .23
6.6 ReadECUIdentification service.25
7 Data Transmission functional unit.26
7.1 ReadDataByLocalIdentifier service.27
© ISO 1999
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means, electronic
or mechanical, including photocopying and microfilm, without permission in writing from the publisher.
International Organization for Standardization
Case postale 56 • CH-1211 Genève 20 • Switzerland
Internet iso@iso.ch
Printed in Switzerland
ii
---------------------- Page: 2 ----------------------
© ISO
ISO 14230-3:1999(E)
7.2 ReadDataByCommonIdentifier service . 29
7.3 ReadMemoryByAddress service. 31
7.4 DynamicallyDefineLocalIdentifier service. 32
7.5 WriteDataByLocalIdentifier service . 37
7.6 WriteDataByCommonIdentifier service . 38
7.7 WriteMemoryByAddress service. 39
7.8 SetDataRates service . 41
8 Stored Data Transmission functional unit . 42
8.1 ReadDiagnosticTroubleCodes service. 42
8.2 ReadDiagnosticTroubleCodesByStatus service . 44
8.3 ReadStatusOfDiagnosticTroubleCodes service. 45
8.4 ReadFreezeFrameData service. 46
8.5 ClearDiagnosticInformation service . 51
9 InputOutput Control functional unit . 52
9.1 InputOutputControlByLocalIdentifier service. 52
9.2 InputOutputControlByCommonIdentifier service . 53
10 Remote Activation Of Routine functional unit. 55
10.1 StartRoutineByLocalIdentifier service. 55
10.2 StartRoutineByAddress service. 56
10.3 StopRoutineByLocalIdentifier service. 57
10.4 StopRoutineByAddress service. 59
10.5 RequestRoutineResultsByLocalIdentifier service . 60
10.6 RequestRoutineResultsByAddress service. 62
11 Upload Download functional unit . 63
11.1 RequestDownload service. 63
11.2 RequestUpload service. 65
11.3 TransferData service . 66
11.4 RequestTransferExit service . 68
12 Keyword Protocol 2000 extended service. 70
12.1 EscapeCode service. 70
iii
---------------------- Page: 3 ----------------------
© ISO
ISO 14230-3:1999(E)
13 Application examples.71
13.1 Description of on-vehicle ECUs .71
13.2 Functional initialization and functional addressed communication .73
13.3 Single and multiple response and termination of communication.73
13.4 SecurityAccess, data transfer and modification of timing parameters.74
13.5 ReadDataByLocalIdentifier service with dynamicallyDefineLocalIdentifier .77
Annex A (informative) Bibliography .81
iv
---------------------- Page: 4 ----------------------
© ISO
ISO 14230-3:1999(E)
Foreword
ISO (the International Organization for Standardization) is a worldwide federation of national standards bodies (ISO
member bodies). The work of preparing 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
liaison with ISO, also take part in the work. ISO collaborates closely with the International Electrotechnical
Commission (IEC) on all matters of electrotechnical standardization.
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.
International Standard ISO 14230-1 was prepared by Technical Committee ISO/TC 22, Road vehicles,
subcommittee SC 3, Electrical and electronic equipment.
ISO 14230 consists of the following parts, under the general title Road vehicles — Diagnostic systems — Keyword
Protocol 2000:
Part 1: Physical layer
Part 2: Data link layer
Part 3: Application layer
Part 4: Requirements for emissions-related systems
Annex A of this part of ISO 14230 is for information only.
v
---------------------- Page: 5 ----------------------
© ISO
ISO 14230-3:1999(E)
Introduction
ISO 14230 has been established in order to define common requirements for diagnostic systems implemented on a
serial data link.
To achieve this, it is based on the Open Systems Interconnection (OSI) Basic Reference Model in accordance with
ISO 7498 which structures communication systems into seven layers. When mapped on this model, the services
used by a diagnostic tester and an Electronic Control Unit (ECU) are broken into
diagnostic services (layer 7),
communication services (layers 1 to 6).
See figure 1.
Application
Diagnostic Data
Service request Service response
Service.conf. Service.ind. Diagnostic Services
Specification
Application
Diagnostic Services
Layer
Implementation
(Layer #7) KEYWORD PROTOCOL 2000
(Part 3)
Presentation Layer (Layer #6) Layer #6 to #3
Session Layer (Layer #5) are not defined
Transport Layer (Layer #4) within this
Network Layer (Layer #3) document
Data Link Layer Data Link Layer
(Layer #2) (Part 2)
KEYWORD PROTOCOL 2000
Physical Layer Physical Layer
(Layer #1) (Part 1)
Example of serial data links: KWP2000, VAN, CAN, J1850, etc.
Figure 1 — Mapping of Diagnostic Services and Keyword Protocol 2000 on OSI Model
vi
---------------------- Page: 6 ----------------------
INTERNATIONAL STANDARD © ISO ISO 14230-3:1999(E)
Road vehicles — Diagnostic systems — Keyword Protocol 2000 —
Part 3:
Application layer
1 Scope
This part of ISO 14230 specifies the requirements for the Keyword Protocol 2000 data link on which one or several
on-vehicle Electronic Control Units are connected to an off-board tester in order to perform diagnostic functions.
This part of ISO 14230 specifies the requirements of the implementation of the Diagnostic Services specified in
ISO 14229, including
byte-encoding and hexadecimal values for the service identifiers;
byte-encoding for the parameters of the diagnostic service requests and responses;
hexadecimal values for the standard parameters.
The vehicle environment to which this part of ISO 14230 applies may consist of a single tester that may be
temporarily connected to the on-vehicle diagnostic data link and several on-vehicle Electronic Control Units
connected directly or indirectly (see figure 2).
Vehicle 1 within the scope
Vehicle 2
within the scope
of the proposal
of the proposal
ECU
ECU
ECU
ECU
Tester
Tester
ECU
ECU
Gateway
may or may not be
ECU
ECU
within the scope
of the proposal
In vehicle 1, the ECUs are connected by an internal data link and indirectly connected to the
diagnostic data link through a gateway. This standard applies to the diagnostic communications
over the diagnostic data link; the diagnostic communications over the internal data link may conform
to this standard or to another protocol.
In vehicle 2, the ECUs are directly connected to the diagnostic data link.
Figure 2 — Vehicle diagnostic architecture
2 Normative references
The following standards contain provisions which, through reference in this text, constitute provisions of this
document. All standards are subject to revision, and parties to agreement based on this document are encouraged
1
---------------------- Page: 7 ----------------------
© ISO
ISO 14230-3:1999(E)
to investigate the possibility of applying the most recent editions of the standards listed below. Members of ISO
maintain registers of currently valid International Standards.
1)
ISO 14229:— , Road vehicles — Diagnostic systems — Diagnostic services specification.
1)
ISO 14230-2:— , Road vehicles — Diagnostic systems — Keyword Protocol 2000 — Part 2 : Data link layer.
SAE J 1930: 1995, Electrical/electronic systems diagnostic — Terms, definitions, abbreviations and acronyms.
SAE J 1979: 1997, E/E diagnostic test modes— Terms, definitions, abbreviations and acronyms.
3 Definitions
For the purposes of this part of ISO 14230, the definitions given in ISO 14229 and SAE J 1930 apply.
4 Conventions
4.1 General
4.1.1 This part of ISO 14230 is guided by the OSI service conventions (CVT; see ISO 8509) to the extent that they
are applicable to the diagnostic services. These conventions define the interactions between the service use and
the service provider by the supplier through service primitives which themselves may convey parameters.
4.1.2 Table 1 indicates the different ranges of service identifier values, which are defined in SAE J 1979, ISO
14230 or by the vehicle manufacturer.
Table 1 — Service Identifier value convention table
1)
Service Identifier Where defined
Service type
Hex Value
(bit 6)
00 - 0F Request SAE J 1979
10 - 1F
20 - 2F Request (bit 6 = 0) ISO 14230-3
30 - 3E
3F Not applicable reserved
40 - 4F Response SAE J1979
50 - 5F Positive Response
60 - 6F to Services ($10 - $3E)
70 - 7E (bit 6 = 1) ISO 14230-3
7F Negative Response
80 Request 'ESC' - Code
81 - 8F Request (bit 6 = 0) ISO 14230-2
90 - 9F Request (bit 6 = 0) reserved for future exp. as needed
A0 - BF Request (bit 6 = 0) defined by vehicle manufacturer
C0 Positive Resp. 'ESC' - Code ISO 14230-3
C1 - CF Positive Response (bit 6 = 1) ISO 14230-2
D0 - DF Positive Response (bit 6 = 1) reserved for future exp. as needed
E0 - FF Positive Response (bit 6 = 1) defined by vehicle manufacturer
1) There is a one-to-one correspondence between request messages and positive response messages, with
"bit 6" of the service identifier hex value indicating the service type.
1)
To be published.
2
---------------------- Page: 8 ----------------------
© ISO
ISO 14230-3:1999(E)
4.1.3 The table content consists of the following:
under the Request Message are listed the parameters specific to the service
request/indication;
under the Positive Response Message are listed the parameters specific to the service
response/confirmation in case the requested service was successful;
under the Negative Response Message are listed the parameters specific to the service
response/confirmation in case the requested service has failed or could not be completed in time.
4.1.4 For a given primitive, the presence of each parameter is described by one of the following values:
M: mandatory;
U: user option; the parameter may or may not be supplied, depending on dynamic usage by the user;
C: conditional; the presence of the parameter depends upon other parameters within the service;
S: mandatory (unless specified otherwise) selection of a parameter from a parameter list.
4.2 Service description convention
This clause defines the layout used to describe the diagnostic services. It includes
Parameter Definition;
Message Data Bytes;
Message Description;
Message Flow Example.
4.2.1 Parameter definition
This section defines the use and the values of parameters used by the service.
4.2.2 Message data bytes
The definition of each message includes a table which lists the parameters of its primitives: request/indication
("Req/Ind"), response/confirmation ("Rsp/Cnf") for positive or negative result. All have the same structure. Table 2
describes the request message, table 3 the positive response message and table 4 the negative response
message.
A positive response message shall be given by the server if it can carry out all the operations requested. It shall
otherwise give a negative response.
The response messages are listed in separate tables because the list of parameters differs between positive and
negative response messages.
3
---------------------- Page: 9 ----------------------
© ISO
ISO 14230-3:1999(E)
Table 2 — Request message
1)
Type Parameter Name Hex Value Mnemonic
CVT
Header Format Byte M xx FMT
2) 3)
Target Byte xx TGT
Bytes C
3)
Source Byte xx SRC
C
Length Byte xx LEN
4)
C
Request Service Identifier M xx SN
5)
= [ xx=[ PN
C
Type> xx
: : :
xx
Type> ] ]
2)
Checksum Byte M xx CS
CS
1) See 4.1.4
2) Defined in ISO 14230-2.
3) The header bytes "Target" and "Source" depend on the content of the "Format Byte" which is specified in ISO 14230-
2 (KWP 2000 Part 2: Data Link Layer) document. Both either exist or do not exist in the header of each message.
4): The header byte "Length" depends on the content of the "Format Byte" which is specified in ISO DIS 14230-2.
5): These parameters may be either mandatory (M) or user optional (U), depending on the individual message.
Table 3 — Positive response message
1)
Type Parameter Name Hex Value Mnemonic
CVT
Header Format Byte M xx FMT
2) 3)
Target Byte xx TGT
Bytes C
3)
Source Byte xx SRC
C
Length Byte xx LEN
4)
C
Positive Response Service Identifier M xx SNPR
5
= [ xx=[ PN
C
Type> xx
: : :
xx
Type> ] ]
2)
Checksum Byte M xx CS
CS
1) See 4.1.4
2) Defined in ISO 14230-2.
3) The header bytes "Target" and "Source" depend on the content of the "Format Byte" which is specified in ISO 14230-
2 (KWP 2000 Part 2: Data Link Layer) document. Both either exist or do not exist in the header of each message.
4): The header byte "Length" depends on the content of the "Format Byte" which is specified in ISO DIS 14230-2.
5): These parameters may be either mandatory (M) or user optional (U), depending on the individual message.
4
---------------------- Page: 10 ----------------------
© ISO
ISO 14230-3:1999(E)
Table 4 — Negative response message
1)
Type Parameter Name Hex Value Mnemonic
CVT
Header Format Byte M xx FMT
2) 3)
TGT
Target Byte xx
Bytes C
3)
Source Byte xx SRC
C )
Length Byte 4) xx LEN
C
NegativeResponse Service Identifier M xx NACK
Request Service Identifier M xx SN
Type> KWP2000ResponseCode, 00-7F,
ManufacturerSpecific 80-FF
] ]
2)
Checksum Byte M xx CS
CS
1) See 4.1.4
2) Defined in ISO 14230-2.
3) The header bytes "Target" and "Source" depend on the content of the "Format Byte" which is specified in ISO 14230-
2 (KWP 2000 Part 2: Data Link Layer) document. Both either exist or do not exist in the header of each message.
4): The header byte "Length" depends on the content of the "Format Byte" which is specified in ISO DIS 14230-2.
4.2.3 Message description
This section"Message description" provides a description of the actions performed by the client and the server which
are specific to the KWP 2000 Protocol (see ISO 14230-2).
The response condition is service specific and defined separately for each service.
4.2.4 Message flow examples
This section provides message flow descriptions presented in a table format (see table 5). The table consists of
three columns:
column 1: includes the relevant inter-message timing which is specified in the document ISO/DIS 14230-2. The
message shall be started within the relevant inter-message timing;
column 2: includes all requests send by the client to the server;
column 3: includes all responses send by the server to the client.
Sending of a message shall start during the period of time between appropriate messages.
Time relates to the table in a top to bottom sequence. The reading entry of the message flow table always starts
with the first item in the time column "P3" (1st column) followed by a request message of the client (2nd column)
The next entry is the timing parameter "P2" (1st column) for the server to send the positive or negative response
message (3rd column).
For simplification all messages are described without any identifiers and/or data values. Details of messages are
always specified in the section: Message data bytes.
The message flow example above is not documented for each service. Only services, which call for more detailed
message flow description shall have their own message flow section.
Table 5 — Message flow example of physical addressed service
time client (tester) server (ECU)
P3 Request[.]
P2 PositiveResponse[.]
5
---------------------- Page: 11 ----------------------
© ISO
ISO 14230-3:1999(E)
4.3 Functional unit table
The intention of specifying functional unit tables is to group similar Keyword Protocol (KWP) 2000 services into a
functional unit. The definition of each functional unit includes a table such as table 6 which lists its services.
Table 6 — Keyword Protocol 2000 functional units
Functional Unit Description
Diagnostic Management This functional unit includes Keyword Protocol 2000 services which
are used to realise diagnostic management functions between the
client (tester) and the server (ECU).
Data Transmission This functional unit includes Keyword Protocol 2000 services which
are used to realise data transmission functions between the client
(tester) and the server (ECU).
Stored Data Transmission This functional unit includes Keyword Protocol 2000 services which
are used to realise stored data transmission functions between the
client (tester) and the server (ECU).
Input / Output Control This functional unit includes Keyword Protocol 2000 services which
are used to realise input / output control functions between the client
(tester) and the server (ECU).
Remote Activation of Routine This functional unit includes Keyword Protocol 2000 services which
are used to realise remote activation of routine functions between
the client (tester) and the server (ECU).
Upload / Download This functional unit includes Keyword Protocol 2000 services which
are used to realise upload / download functions between the client
(tester) and the server (ECU).
4.4 Service Identifier value summary table
The left column of table 7 lists all services of the Diagnostic Services Specification, the middle column assigns the
KWP 2000 Implementation "Request Hex Value" and the right column assigns the KWP 2000 Implementation
"Positive Response Hex Value". The positive response service identifier values are built from the request service
identifier values by setting "bit 6 = 1".
4.5 Response Code value summary table
Table 8 lists and assigns hex values for all response codes used in KWP 2000. The definition of each response
code is described in ISO 14229.
6
---------------------- Page: 12 ----------------------
© ISO
ISO 14230-3:1999(E)
Table 7 — Service Identifier value summary table
KWP 2000 Implementation
Request Hex Value Response Hex Value
Diagnostic Service Name
StartDiagnosticSession 10 50
ECUReset 11 51
ReadFreezeFrameData 12 52
ReadDiagnosticTroubleCodes 13 53
ClearDiagnosticInformation 14 54
ReadStatusOfDiagnosticTroubleCodes 17 57
ReadDiagnosticTroubleCodesByStatus 18 58
ReadECUIdentification 1A 5A
StopDiagnosticSession 20 60
ReadDataByLocalIdentifier 21 61
ReadDataByCommonIdentifier 22 62
ReadMemoryByAddress 23 63
SetDataRates 26 66
SecurityAccess 27 67
DynamicallyDefineLocalIdentifier 2C 6C
WriteDataByCommonIdentifier 2E 6E
InputOutputControlByCommonIdentifier 2F 6F
InputOutputControlByLocalIdentifier 30 70
StartRoutineByLocalIdentifier 31 71
StopRoutineByLocalIdentifier 32 72
RequestRoutineResultsByLocalIdentifier 33 73
RequestDownload 34 74
RequestUpload 35 75
TransferData 36 76
RequestTransferExit 37 77
StartRoutineByAddress 38 78
StopRoutineByAddress 39 79
RequestRoutineResultsByAddress 3A 7A
WriteDataByLocalIdentifier 3B 7B
WriteMemoryByAddress 3D 7D
TesterPresent 3E 7E
1)
80 C0
EscCode
1) Does not form part of diagnostic services specification but only of KWP Protocol 2000.
7
---------------------- Page: 13 ----------------------
© ISO
ISO 14230-3:1999(E)
Table 8 —Response Code value summary table
Hex Value Response Code
10 GeneralReject
11 ServiceNotSupported
12 SubFunctionNotSupported-invalidFormat
21 Busy-RepeatRequest
22 ConditionsNotCorrect or requestSequenceError
23 RoutineNotComplete
31 RequestOutOfRange
33 SecurityAccessDenied
35 InvalidKey
36 ExceedNumberOfAttempts
37 RequiredTimeDelayNotExpired
40 DownloadNotAccepted
41 ImproperDownloadType
42 Can'tDownloadToSpecifiedAddress
43 Can'tDownloadNumberOfBytesRequested
50 UploadNotAccepted
51 ImproperUploadType
52 Can'tUploadFromSpecifiedAddress
53 Can'tUploadNumberOfBytesRequested
71 TransferSuspended
72 TransferAborted
74 IllegalAddressInBlockTransfer
75 IllegalByteCountInBlockTransfer
76 IllegalBlockTransferType
77 BlockTransferDataChecksumError
78 ReqCorrectlyRcvd-RspPending
79 IncorrectByteCountDuringBlockTransfer
80 - FF ManufacturerSpecificCodes
1) RequestCorrectlyReceived-ResponsePending
4.6 Response handling
Figure 3 specifies the server behaviour on a client request message. It shows the logic as specified in the
description of the response codes and to be implemented in the server and client as appropriate.
The use of (a) negative response message(s) by the server shall be in case the server can not respond with a
positive response message on a client (tester) request message. In such case the server shall send one of the
response codes listed as specified in figure 3.
8
---------------------- Page: 14 ----------------------
© ISO
ISO 14230-3:1999(E)
Start of service
NO
No Response Message
Valid Message?
YES
NO
Request Message
supported?
YES
case #1
YES RC=$78
Extended P2
timing window?
NO
case #2
YES
RC=$23
Service in
progress?
NO
NO
Positive Response
case #3
Message Ready?
YES
RC=$21
Server busy?
YES
NO
case #4
YES
RC=$10
General reject?
NO
RC=$xx
Negative Response Negative Response
Negative Response
Message RC=$10, Message RC=$23,
general reject routineNotComplete Message RC=$11,
serviceNotSupported or
Negative Response Negative Response
RC=$12,
Negative Response
Positive Response Message Message RC=$21, Message RC=$78,
Message RC=$xx subFunctionNotSupported
busyRepeatRequest responsePending
End of service
Figure 3 — Server positive and negative response message behaviour
5 General implementation rules
5.1 Parameter definitions
The following rules in regard to parameter definitions shall apply:
clauses 6 to 12 define the services of each functional unit. In these clauses, the service structure makes
reference to parameters, in order to describe the allowable values for such parameters. The parameters of
general purpose are defined in ISO 14229. Parameters which are specific to a functional unit are described in
the corresponding clause;
t
...
NORME ISO
INTERNATIONALE 14230-3
Première édition
1999-03-15
Véhicules routiers — Systèmes de
diagnostic — Protocole «Keyword 2000» —
Partie 3:
Couche application
Road vehicles — Diagnostic systems — Keyword Protocol 2000 —
Part 3: Application layer
A
Numéro de référence
ISO 14230-3:1999(F)
---------------------- Page: 1 ----------------------
ISO 14230-3:1999(F)
Sommaire
1 Domaine d'application.1
2 Références normatives .2
3 Définitions .2
4 Conventions .2
4.1 Généralités .2
4.2 Convention de description des services.4
4.3 Tableau d'unité fonctionnelle .6
4.4 Récapitulatif des valeurs de l’identificateur de service.7
4.5 Récapitulatif des valeurs du code de réponse .7
4.6 Traitement du code de réponse .7
5 Règles générales de mise en œuvre.10
5.1 Définitions des paramètres.10
5.2 Demandes de services à adressage fonctionnel ou physique.11
5.3 Exemples de flux de messages de service à adressage physique ou fonctionnel.11
6 Unité fonctionnelle de gestion de diagnostic .19
6.1 Service StartDiagnosticSession.19
6.2 Service StopDiagnosticSession.21
6.3 Service SecurityAccess .22
6.4 Service TesterPresent .25
6.5 Service ECUReset.27
6.6 Service ReadECUIdentification .29
7 Unité fonctionnelle de transmission de données.30
7.1 Service ReadDataByLocalIdentifier .30
© ISO 1999
Droits de reproduction réservés. Sauf prescription différente, aucune partie de cette publication ne peut être reproduite ni utilisée sous quelque
forme que ce soit et par aucun procédé, électronique ou mécanique, y compris la photocopie et les microfilms, sans l'accord écrit de l'éditeur.
Organisation internationale de normalisation
Case postale 56 • CH-1211 Genève 20 • Suisse
Internet iso@iso.ch
Imprimé en Suisse
ii
---------------------- Page: 2 ----------------------
© ISO
ISO 14230-3:1999(F)
7.2 Service ReadDataByCommonIdentifier. 33
7.3 Service ReadMemoryByAddress . 35
7.4 Service DynamicallyDefineLocalIdentifier . 36
7.5 Service WriteDataByLocalIdentifier. 42
7.6 Service WriteDataByCommonIdentifier. 44
7.7 Service WriteMemoryByAddress . 45
7.8 Service SetDataRates. 46
8 Unité fonctionnelle de transmission de données enregistrées . 47
8.1 Service ReadDiagnosticTroubleCodes. 48
8.2 Service ReadDiagnosticTroubleCodesByStatus. 50
8.3 Service ReadStatusOfDiagnosticTroubleCodes . 52
8.4 Service ReadFreezeFrameData . 53
8.5 Service ClearDiagnosticInformation. 58
9 Unité fonctionnelle de contrôle d'entrée/sortie . 60
9.1 Service InputOutputControlByLocalIdentifier . 60
9.2 Service InputOutputControlByCommonIdentifier. 61
10 Unité fonctionnelle de télécommande de routines . 63
10.1 Service StartRoutineByLocalIdentifier . 63
10.2 Service StartRoutineByAddress . 64
10.3 Service StopRoutineByLocalIdentifier . 66
10.4 Service StopRoutineByAddress. 68
10.5 Service RequestRoutineResultsByLocalIdentifier . 69
10.6 Service RequestRoutineResultsByAddress . 71
11 Unité fonctionnelle de téléchargement vers l’amont ou l’aval. 72
11.1 Service RequestDownload. 72
11.2 Service RequestUpload. 74
11.3 Service TransferData. 76
11.4 Service RequestTransferExit. 78
12 Extension de service du protocole «Keyword 2000». 80
12.1 Service EscapeCode . 80
13 Exemples d'application. 81
iii
---------------------- Page: 3 ----------------------
© ISO
ISO 14230-3:1999(F)
13.1 Description des UCE embarquées .81
13.2 Initialisation fonctionnelle et communication à adressage fonctionnel .82
13.3 Messages de réponse uniques et multiples et achèvement de la communication.83
13.4 Paramètre SecurityAccess, transfert des données et modification des paramètres de temps.84
13.5 Service ReadDataByLocalIdentifier avec DynamicallyDefineLocalIdentifier.87
Annexe A (informative) Bibliographie .92
iv
---------------------- Page: 4 ----------------------
© ISO
ISO 14230-3:1999(F)
Avant-propos
L'ISO (Organisation internationale de normalisation) est une fédération mondiale d'organismes nationaux de
normalisation (comités membres de l'ISO). L'élaboration des Normes internationales est en général confiée aux
comités techniques de l'ISO. Chaque comité membre intéressé par une étude a le droit de faire partie du comité
technique créé à cet effet. Les organisations internationales, gouvernementales et non gouvernementales, en
liaison avec l'ISO participent également aux travaux. L'ISO collabore étroitement avec la Commission
électrotechnique internationale (CEI) en ce qui concerne la normalisation électrotechnique.
Les projets de Normes internationales adoptés par les comités techniques sont soumis aux comités membres pour
vote. Leur publication comme Normes internationales requiert l'approbation de 75 % au moins des comités
membres votants.
La Norme internationale ISO 14230-3 a été élaborée par le comité technique ISO/TC 22, Véhicules routiers, sous-
comité SC 3, Équipement électrique et électronique.
L'ISO 14230 comprend les parties suivantes, présentées sous le titre général Véhicules routiers — Systèmes de
diagnostic — Protocole «Keyword 2000»:
Partie 1: Couche physique
Partie 2: Couche de liaison de données
Partie 3: Couche application
Partie 4: Exigences pour les systèmes relatifs aux émissions
L'annexe A de la présente partie de l’ISO 14230 est donnée uniquement à titre d'information.
v
---------------------- Page: 5 ----------------------
© ISO
ISO 14230-3:1999(F)
Introduction
L’ISO 14230 a été élaborée afin de définir les exigences communes aux systèmes de diagnostic mis en œuvre sur
une liaison de données série.
Pour ce faire, elle est fondée sur le modèle de référence de base de l'interconnexion de systèmes ouverts (OSI)
conforme à l'ISO 7498, qui structure les systèmes de communication en sept couches. Lorsqu'ils sont appliqués
selon ce modèle, les services utilisés par un équipement de diagnostic et une unité de contrôle électronique (UCE)
se divisent en:
services de diagnostic (couche 7);
services de communication (couches 1 à 6).
Voir la figure 1.
Application
Données de diagnostic
Demande
Réponse
Confirmation
de service de service Indication
de service de service
Définition du service
Couche
Services de diagnostic
d'application
Mise en œuvre
(couche 7)
Protocole Keyword 2000
(ISO 14230-3)
Couche de présentation (couche 6)
Les couches 6 à 3
Couche de session (couche 5)
ne sont pas définies
Couche de transport (couche 4)
dans l'ISO 14230
Couche de réseau (couche 3)
Couche de
Communication
liaison de données
Protocole Keyword 2000
(ISO 14230-2)
(couche 2)
Couche physique
Couche physique
(couche 1)
(ISO 14230-1)
Exemple de liaisons de données série: KWP 2000, VAN, CAN, J1850, etc.
Figure 1 — Application des services de diagnostic et du protocole «Keyword 2000» selon le modèle OSI
vi
---------------------- Page: 6 ----------------------
NORME INTERNATIONALE © ISO ISO 14230-3:1999(F)
Véhicules routiers — Systèmes de diagnostic — Protocole
«Keyword 2000» —
Partie 3:
Couche application
1 Domaine d'application
La présente partie de l’ISO 14230 fixe les exigences relatives à la liaison de données du protocole «Keyword 2000»
sur laquelle une ou plusieurs unités de contrôle électronique embarquées sont connectées à un équipement non
embarqué afin d'effectuer des fonctions de diagnostic.
Elle fixe les prescriptions de mise en œuvre des services de diagnostic spécifiés dans l'ISO 14229, y compris:
le codage en octets et les valeurs hexadécimales pour les identificateurs du service;
le codage en octets pour les paramètres des demandes et réponses du service de diagnostic;
les valeurs hexadécimales pour les paramètres normalisés.
L'environnement du véhicule auquel la présente partie de l’ISO 14230 s'applique comprend un équipement de
diagnostic unique pouvant être connecté, de manière temporaire ou permanente, à la liaison de données de
diagnostic embarquée et plusieurs unités de contrôle électronique embarquées connectées directement ou
indirectement (voir la figure 2).
Dans le domaine Dans le domaine
d'application de la d'application de la
Véhicule 1
Véhicule 2
présente partie de présente partie de
l'ISO 14230 l'ISO 14230
UCE
UCE
UCE
UCE
Outil de
Outil de
diagnostic
diagnostic
UCE
UCE
Passerelle
UCE
UCE
Peut être compris
dans le domaine
d'application de la
présente partie de
l'ISO 14230
Figure 2 — Architecture de diagnostic d'un véhicule
1
---------------------- Page: 7 ----------------------
© ISO
ISO 14230-3:1999(F)
2 Références normatives
Les normes suivantes contiennent des dispositions qui, par suite de la référence qui en est faite, constituent des
dispositions valables pour la présente partie de l’ISO 14230. Au moment de la publication, les éditions indiquées
étaient en vigueur. Toute norme est sujette à révision, et les parties prenantes des accords fondés sur la présente
partie de l’ISO 14230 sont invitées à rechercher la possibilité d'appliquer les éditions les plus récentes des normes
indiquées ci-après. Les membres de la CEI et de l'ISO possèdent le registre des Normes internationales en vigueur
à un moment donné.
1)
ISO 14229:— , Véhicules routiers — Systèmes de diagnostic — Spécification des services de diagnostic.
1)
ISO 14230-2:— , Véhicules routiers — Systèmes de diagnostic — Protocole «Keyword 2000» — Partie 2: Couche
de liaison de données.
SAE J 1930:1995, Electrical/electronic systems diagnostic — Terms, definitions, abbreviations and acronyms.
[Systèmes de diagnostic électriques et électroniques — Termes, définitions, abréviations et acronymes].
SAE J 1979:1996, E/E diagnostic test modes [Modes d'essai de diagnostic E/E].
3 Définitions
Pour les besoins de la présente partie de l’ISO 14230, les définitions données dans l'ISO 14229 et dans la
SAE J 1930 s'appliquent.
4 Conventions
4.1 Généralités
4.1.1 La présente partie de l’ISO 14230 est guidée par les conventions du service OSI (CVT; voir l’ISO 8509) dans
la mesure où elles s'appliquent aux services de diagnostic. Ces conventions définissent les interactions entre
l'utilisateur et le fournisseur de service par le biais de primitives de service, qui elles-mêmes peuvent acheminer des
paramètres.
4.1.2 Le tableau 1 indique les différentes plages des valeurs d’identificateur de services définies dans la
SAE J 1979, dans l'ISO 14230 ou par le constructeur du véhicule.
À publier.
1)
2
---------------------- Page: 8 ----------------------
© ISO
ISO 14230-3:1999(F)
Tableau 1 — Table des conventions d'écriture des valeurs d’identificateur de service
1)
Identificateur de service Défini dans (par)
Type du service
(valeur hexadécimale)
(bit 6)
00 à 0F Demande SAE J 1979
10 à 1F
20 à 2F Demande (bit 6 = 0) la présente partie de l’ISO 14230
30 à 3E
3F Sans objet (réservé)
40 à 4F Réponse SAE J 1979
50 à 5F Réponse positive
60 à 6F aux services ($10 à $3E)
70 à 7E (bit 6 = 1) la présente partie de l’ISO 14230
7F Réponse négative
80 Demande code ESC
81 à 8F Demande (bit 6 = 0) ISO 14230-2
90 à 9F Demande (bit 6 = 0) (réservé pour exploitation éventuelle future)
A0 à BF Demande (bit 6 = 0) le constructeur du véhicule
C0 Réponse positive Code ESC la présente partie de l’ISO 14230
C1 à CF Réponse positive (bit 6 = 1) ISO 14230-2
D0 à DF Réponse positive (bit 6 = 1) (réservé pour exploitation éventuelle future)
E0 à FF Réponse positive (bit 6 = 1) le constructeur du véhicule
1) Il existe une correspondance bijective entre les messages de demande et les messages de réponse positive, le
bit 6 de la valeur hexadécimale de l’identificateur de service indiquant le type de service.
4.1.3 Le contenu d'un tableau se décompose comme suit:
sous «Message de demande du service » sont listés les paramètres spécifiques à la
demande ou à l’indication du service;
sous «Message de réponse positive de » sont listés les paramètres spécifiques à la réponse
ou à la confirmation du service si le service demandé a réussi;
sous «Message de réponse négative de » sont listés les paramètres spécifiques à la réponse
ou à la confirmation du service si le service demandé a échoué ou ne pouvait être assuré en temps voulu.
4.1.4 Pour une primitive donnée, la présence de chaque paramètre est décrite par une des valeurs suivantes:
M: obligatoire;
U: option de l’utilisateur; le paramètre peut ou ne peut pas être fourni, selon l'usage dynamique qu'en fait
l'utilisateur;
C: conditionnelle; la présence du paramètre dépend d'autres paramètres du service;
S: sélection obligatoire (sauf spécification contraire) d'un paramètre dans une liste de paramètres.
3
---------------------- Page: 9 ----------------------
© ISO
ISO 14230-3:1999(F)
4.2 Convention de description des services
Le présent paragraphe définit le plan utilisé pour décrire les services de diagnostic dans la présente partie de
l’ISO 14230. Il comprend les catégories suivantes:
la définition des paramètres;
les octets des données de message;
la description du message;
des exemples de flux de messages.
4.2.1 Définition des paramètres
Le paragraphe «Description du message» définit l'utilisation et les valeurs des paramètres employés par le service.
4.2.2 Octets des données de message
Le paragraphe «Octets des données de message» donne la définition de chaque message à l’aide de tableaux qui
répertorient les paramètres des primitives du message: demande/indication, réponse/confirmation pour un résultat
positif ou négatif. Ils ont tous la même structure. Le tableau 2 donne la structure du message de demande, le
tableau 3 du message de réponse positive et le tableau 4 du message de réponse négative.
Un message de réponse positive doit être émis par le serveur s'il est en mesure d'effectuer la totalité des opérations
demandées. Dans le cas contraire, il doit émettre un message de réponse négative.
NOTE — Ils sont tous deux énumérés dans des tableaux séparés car la liste des paramètres diffère selon que le message
donne une réponse positive ou négative.
Tableau 2 — Message de demande
Pré- Valeur
Type Nom du paramètre Mnémonique
1)
hexadécimale
sence
Octets de Octet de format M xx FMT
message
3)
Octet cible xx TGT
C
2)
d'en-tête
3)
Octet source xx SRC
C
4)
Octet de longueur xx LEN
C
M xx SN
du service>
5)
= [, ., C xx = [xx, ., PN
paramètres> ] xx]
2)
Octet de total de contrôle M xx CS
CS
1) Voir 4.1.4.
2) Défini dans l’ISO 14230-2.
3) Les octets cible et source du message d'en-tête dépendent du contenu de l'octet de format prescrit dans l’ISO 14230-2.
Mais tous les deux existent ou n'existent pas dans l'en-tête de chaque message.
4) L'octet de longueur du message d'en-tête dépend du contenu de l'octet de format prescrit dans l’ISO 14230-2.
5) Ces paramètres peuvent être obligatoires (M) ou au choix de l'utilisateur (U), en fonction du message particulier.
4
---------------------- Page: 10 ----------------------
© ISO
ISO 14230-3:1999(F)
Tableau 3 — Message de réponse positive
Pré- Valeur
Type Nom du paramètre Mnémonique
1)
hexadécimale
sence
Octets de Octet de format M xx FMT
message
3)
Octet cible xx TGT
C
2)
d'en-tête
3)
Octet source xx SRC
C
4)
Octet de longueur xx LEN
C
du service> service>
5)
= [, ., xx = [xx, ., PN
C
paramètres> ] xx]
2)
CS Octet de total de contrôle M xx CS
1) Voir 4.1.4.
2) Défini dans l’ISO 14230-2.
3) Les octets cible et source du message d'en-tête dépendent du contenu de l'octet de format prescrit dans l’ISO 14230-2.
Mais tous les deux existent ou n'existent pas dans l'en-tête de chaque message.
4) L'octet de longueur du message d'en-tête dépend du contenu de l'octet de format prescrit dans l’ISO 14230-2.
5) Ces paramètres peuvent être obligatoires (M) ou au choix de l'utilisateur (U), en fonction du message particulier.
Tableau 4 — Message de réponse négative
Pré- Valeur
Type Nom du paramètre Mnémonique
1)
hexadécimale
sence
Octets de Octet de format M xx FMT
message
3)
Octet cible xx TGT
C
2)
d'en-tête
3)
Octet source xx SRC
C
4)
Octet de longueur xx LEN
C
du service> service>
M xx SN
du service>
paramètres> ManufacturerSpecific] 80 à FF]
2)
Octet de total de contrôle M xx CS
CS
1) Voir 4.1.4.
2) Défini dans l’ISO 14230-2.
3) Les octets cible et source du message d'en-tête dépendent du contenu de l'octet de format prescrit dans l’ISO 14230-2.
Mais tous les deux existent ou n'existent pas dans l'en-tête de chaque message.
4) L'octet de longueur du message d'en-tête dépend du contenu de l'octet de format prescrit dans l’ISO 14230-2.
5
---------------------- Page: 11 ----------------------
© ISO
ISO 14230-3:1999(F)
4.2.3 Description du message
Le paragraphe «Description du message» fournit une description des opérations effectuées par le client et le
serveur et spécifiques à la liaison de données du protocole KWP 2000 (voir l’ISO 14230-2).
La condition de la réponse est spécifique au service et définie séparément pour chacun.
4.2.4 Exemples de flux de messages
Le paragraphe «Exemples de flux de messages» fournit des descriptions de flux de messages présentés en format
tabulaire (voir tableau 5). Le tableau se compose de trois colonnes:
la colonne 1 contient le laps de temps entre les messages, prescrit dans l’ISO 14230-2;
la colonne 2 contient toutes les demandes transmises par le client au serveur;
la colonne 3 contient toutes les réponses transmises par le serveur au client.
L’émission du message doit débuter dans le laps de temps entre les messages approprié.
Le temps est donné dans le tableau suivant une séquence chronologique de haut en bas. La lecture du tableau du
ère
flux de messages commence toujours par le premier élément P3 dans la colonne intitulée «Temps» (1 colonne),
e ère
suivi d'un message de demande du client (2 colonne). L'entrée suivante est le paramètre de temps P2 (1
e
colonne) permettant au serveur d'émettre le message de réponse positive ou négative (3 colonne).
Pour simplifier, tous les messages sont décrits sans identificateur ni valeur pour les données. Les détails des
messages sont prescrit dans le paragraphe «Octets des données de message».
L'exemple ci-dessus de flux de messages n'est pas documenté pour chaque service. Seuls les services qui
demandent une description plus détaillée du flux de messages ont leur propre dans le paragraphe «Exemples de
flux de messages».
Tableau 5 — Exemple de flux de messages d'un service à adressage physique
Temps Client (équipement de diagnostic) Serveur (UCE)
P3 Demande de [.]
P2 Réponse positive [.]
4.3 Tableau d'unité fonctionnelle
La spécification de tableaux d'unités fonctionnelles a pour but de grouper des services similaires du protocole
KWP 2000 en une unité fonctionnelle. La définition de chaque unité fonctionnelle comprend un tableau comme le
tableau 6 qui répertorie ses services.
6
---------------------- Page: 12 ----------------------
© ISO
ISO 14230-3:1999(F)
Tableau 6 — Unités fonctionnelles du protocole «Keyword 2000»
Unité fonctionnelle Description
Gestion de diagnostic Cette unité fonctionnelle comprend les services du protocole
«Keyword 2000» utilisés pour assurer les fonctions de gestion de
diagnostic entre le client (équipement de diagnostic) et le serveur (UCE).
Transmission des données Cette unité fonctionnelle comprend les services du protocole
«Keyword 2000» utilisés pour assurer les fonctions de transmission des
données entre le client (équipement de diagnostic) et le serveur (UCE).
Transmission des données stockées Cette unité fonctionnelle comprend les services du protocole
«Keyword 2000» utilisés pour assurer les fonctions de transmission des
données stockées entre le client (équipement de diagnostic) et le serveur
(UCE).
Commande d'entrée/sortie Cette unité fonctionnelle comprend les services du protocole
«Keyword 2000» utilisés pour assurer les fonctions de commande
d'entrée/sortie entre le client (équipement de diagnostic) et le serveur
(UCE).
Activation à distance d’une routine Cette unité fonctionnelle comprend les services du protocole
«Keyword 2000» utilisés pour assurer les fonctions d’activation à distance
des fonctions de routine entre le client (équipement de diagnostic) et le
serveur (UCE).
Téléchargement vers l’amont ou l’aval Cette unité fonctionnelle comprend les services du protocole
«Keyword 2000» utilisés pour assurer les fonctions de téléchargement vers
l’amont ou l’aval entre le client (équipement de diagnostic) et le serveur
(UCE).
4.4 Récapitulatif des valeurs de l’identificateur de service
Le tableau 7 répertorie tous les services de la spécification des services de diagnostic, avec la valeur hexadécimale
de la demande de la mise en œuvre du protocole KWP 2000 et celle de la réponse positive de la mise en œuvre du
protocole KWP 2000. Les valeurs de l’identificateur du service de réponse positive sont établies à partir des valeurs
d’identificateur du service de demande en posant bit 6 = 1.
4.5 Récapitulatif des valeurs du code de réponse
Le tableau 8 répertorie et attribue des valeurs hexadécimale à tous les codes de réponse utilisés dans le protocole
KWP 2000. La définition de chaque code de réponse est décrite dans l’ISO 14229.
4.6 Traitement du code de réponse
La figure 3 prescrit le comportement du serveur en cas de message de demande du client. Elle présente la logique
telle qu'elle est prescrite dans la description des codes de réponse et telle qu'elle doit être mise en œuvre par le
serveur et le client, selon le cas.
L'emploi d'un ou de plusieurs message(s) de réponse négative par le serveur doit intervenir lorsque le serveur ne
peut pas répondre par un message de réponse positive à un message de demande du client (équipement de
diagnostic). En pareil cas, le serveur doit émettre l'un des codes de réponse donnés dans la présente partie de
l’ISO 14230, comme prescrit à la figure 3.
7
---------------------- Page: 13 ----------------------
© ISO
ISO 14230-3:1999(F)
Tableau 7 — Récapitulatif des valeurs de l’identificateur de service
Mise en œuvre du protocole
KWP 2000
Valeur Valeur
Nom du service de diagnostic
hexadécimale de hexadécimale de
la demande la réponse
StartDiagnosticSession 10 50
ECUReset 11 51
ReadFreezeFrameData 12 52
ReadDiagnosticTroubleCodes 13 53
ClearDiagnosticInformation 14 54
ReadStatusOfDiagnosticTroubleCodes 17 57
ReadDiagnosticTroubleCodesByStatus 18 58
ReadECUIdentification 1A 5A
StopDiagnosticSession 20 60
ReadDataByLocalIdentifier 21 61
ReadDataByCommonIdentifier 22 62
ReadMemoryByAddress 23 63
SetDataRates 26 66
SecurityAccess 27 67
DynamicallyDefineLocalIdentifier 2C 6C
WriteDataByCommonIdentifier 2E 6E
InputOutputControlByCommonIdentifier 2F 6F
InputOutputControlByLocalIdentifier 30 70
StartRoutineByLocalIdentifier 31 71
StopRoutineByLocalIdentifier 32 72
RequestRoutineResultsByLocalIdentifier 33 73
RequestDownload 34 74
RequestUpload 35 75
TransferData 36 76
RequestTransferExit 37 77
StartRoutineByAddress 38 78
StopRoutineByAddress 39 79
RequestRoutineResultsByAddress 3A 7A
WriteDataByLocalIdentifier 3B 7B
WriteMemoryByAddress 3D 7D
TesterPresent 3E 7E
1)
80 C0
ESCCode
1) Ne fait pas partie de la spécification des services de diagnostic mais du protocole KWP 2000 seulement.
8
---------------------- Page: 14 ---------
...
Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.