Search Legislation

Commission Implementing Regulation (EU) 2016/799Show full title

Commission Implementing Regulation (EU) 2016/799 of 18 March 2016 implementing Regulation (EU) No 165/2014 of the European Parliament and of the Council laying down the requirements for the construction, testing, installation, operation and repair of tachographs and their components (Text with EEA relevance)

 Help about what version

What Version

 Help about UK-EU Regulation

Legislation originating from the EU

When the UK left the EU, legislation.gov.uk published EU legislation that had been published by the EU up to IP completion day (31 December 2020 11.00 p.m.). On legislation.gov.uk, these items of legislation are kept up-to-date with any amendments made by the UK since then.

Close

This item of legislation originated from the EU

Legislation.gov.uk publishes the UK version. EUR-Lex publishes the EU version. The EU Exit Web Archive holds a snapshot of EUR-Lex’s version from IP completion day (31 December 2020 11.00 p.m.).

Status:

This is the original version as it was originally adopted in the EU.
This legislation may since have been updated - see the latest available (revised) version

2.V.U. DATA DOWNLOADING

2.1. Download procedure

In order to carry on a VU data download, the operator must perform the following operations:

  • Insert his tachograph card inside a card slot of the VU(1);

  • Connect the IDE to the VU download connector;

  • Establish the connection between the IDE and the VU;

  • Select on the IDE the data to download and send the request to the VU;

  • Close the download session.

2.2. Data download protocol

The protocol is structured on a master-slave basis, with the IDE playing the master role and the VU playing the slave role.

The message structure, types and flow are principally based on the Keyword Protocol 2000 (KWP) (ISO 14230-2 Road vehicles — Diagnostic systems — Keyword protocol 2000 — Part2: Data link layer).

The application layer is principally based on the current draft to date of ISO 14229-1 (Road vehicles — Diagnostic systems — Part 1: Diagnostic services, version 6 of 22 February 2001).

2.2.1 Message structure
DDP_002All the messages exchanged between the IDE and the VU are formatted with a structure consisting of three parts:
  • Header composed by a Format byte (FMT), a Target byte (TGT), a Source byte (SRC) and possibly a Length byte (LEN),

  • Data field composed by a Service Identifier byte (SID) and a variable number of data bytes, which can include an optional diagnostic session byte (DS_) or an optional transfer parameter byte (TRTP or TREP).

  • Checksum composed by a Checksum byte (CS).

HeaderData fieldChecksum
FMTTGTSRCLENSIDDATACS
4 bytesMax 255 bytes1 byte

The TGT and SRC byte represent the physical address of the recipient and originator of the message. Values are F0 Hex for the IDE and EE Hex for the VU.

The LEN byte is the length of the Data field part.

The Checksum byte is the 8 bit sum series modulo 256 of all the bytes of the message excluding the CS itself.

FMT, SID, DS_, TRTP and TREP bytes are defined later in this document.

DDP_003In the case where the data to be carried by the message is longer than the space available in the data field part, the message is actually sent in several sub messages. Each sub message bears a header, the same SID, TREP and a 2-byte sub message counter indicating the sub message number within the total message. To enable error checking and abort the IDE acknowledges every sub message. The IDE can accept the sub message, ask for it to be re-transmitted, request the VU to start again or abort the transmission.
DDP_004If the last sub message contains exactly 255 bytes in the data field, a final sub message with an empty (except SID TREP and sub message counter) data field must be appended to show the end of the message.

Example:

HeaderSIDTREPMessageCS
4 BytesLonger than 255 Bytes

Will be transmitted as:

HeaderSIDTREP0001Sub message 1CS
4 Bytes255 Bytes
HeaderSIDTREP0002Sub message 2CS
4 Bytes255 Bytes

HeaderSIDTREPxxyySub message nCS
4 BytesLess than 255 Bytes

or as:

HeaderSIDTREP0001Sub message 1CS
4 Bytes255 Bytes
HeaderSIDTREP0002Sub message 2CS
4 Bytes255 Bytes

HeaderSIDTREPxxyySub message nCS
4 Bytes255 Bytes
HeaderSIDTREPxxyy + 1CS
4 Bytes4 bytes
2.2.2 Message types

The communication protocol for data download between the VU and the IDE requires the exchange of 8 different message types.

The following table summarises these messages.

Message StructureMax 4 BytesHeaderMax 255 BytesData1 ByteCheckSum
IDE -><- VUFMTTGTSRCLENSIDDS_/TRTPDATACS
Start Communication Request81EEF081E0
Positive Response Start Communication80F0EE03C1EA, 8F9B
Start Diagnostic Session Request80EEF0021081F1
Positive Response Start Diagnostic80F0EE02508131
Link Control Service
Verify Baud Rate (stage 1)
9 600 Bd80EEF0048701,01,01EC
19 200 Bd80EEF0048701,01,02ED
38 400 Bd80EEF0048701,01,03EE
57 600 Bd80EEF0048701,01,04EF
115 200 Bd80EEF0048701,01,05F0
Positive Response Verify Baud Rate80F0EE02C70128
Transition Baud Rate (stage 2)80EEF0038702,03ED
Request Upload80EEF00A3500,00,00,00,00,FF,FF,FF,FF99
Positive Response Request Upload80F0EE037500,FFD5
Transfer Data Request
Overview80EEF002360197
Activities80EEF0063602DateCS
Events & Faults80EEF002360399
Detailed Speed80EEF00236049A
Technical Data80EEF00236059B
Card download80EEF0023606SlotCS
Positive Response Transfer Data80F0EELen76TREPDataCS
Request Transfer Exit80EEF0013796
Positive Response Request Transfer Exit80F0EE0177D6
Stop Communication Request80EEF00182E1
Positive Response Stop Communication80F0EE01C221
Acknowledge sub message80EEF0Len83DataCS
Negative responses
General reject80F0EE037FSid Req10CS
Service not supported80F0EE037FSid Req11CS
Sub function not supported80F0EE037FSid Req12CS
Incorrect Message Length80F0EE037FSid Req13CS
Conditions not correct or Request sequence error80F0EE037FSid Req22CS
Request out of range80F0EE037FSid Req31CS
Upload not accepted80F0EE037FSid Req50CS
Response pending80F0EE037FSid Req78CS
Data not available80F0EE037FSid ReqFACS
Notes:
  • Sid Req = the Sid of the corresponding request.

  • TREP = the TRTP of the corresponding request.

  • Dark cells denote that nothing is transmitted.

  • The term upload (as seen from the IDE) is used for compatibility with ISO 14229. It means the same as download (as seen from the VU).

  • Potential 2-byte sub message counters are not shown in this table.

  • Slot is the slot number, either “1” (card on driver slot) or “2” (card on co-driver slot)

  • In case the slot is not specified, the VU shall select slot 1 if a card is inserted in this slot and it shall select slot 2 only in case it is specifically selected by the user.

2.2.2.1 Start Communication Request (SID 81)
DDP_005This message is issued by the IDE to establish the communication link with the VU. Initial communications are always performed at 9 600 baud (until baud rate is eventually changed using the appropriate Link control services).
2.2.2.2 Positive Response Start Communication (SID C1)
DDP_006This message is issued by the VU to answer positively to a start communication request. It includes the 2 key bytes ‘EA’‘8F’ indicating that the unit supports protocol with header including target source and length information.
2.2.2.3 Start Diagnostic Session Request (SID 10)
DDP_007The Start Diagnostic Session request message is issued by the IDE in order to request a new diagnostic session with the VU. The sub function ‘default session’ (81 Hex) indicates a standard diagnostic session is to be opened.
2.2.2.4 Positive Response Start Diagnostic (SID 50)
DDP_008The Positive Response Start Diagnostic message is sent by the VU to answer positively to Diagnostic Session Request.
2.2.2.5 Link Control Service (SID 87)
DDP_052The Link Control Service is used by the IDE to initiate a change in baud rate. This takes place in two steps. In step one the IDE proposes the baud rate change, indicating the new rate. On receipt of a positive message from the VU the IDE sends out confirmation of the baud rate change to the VU (step two). The IDE then changes to the new baud rate. After receipt of the confirmation the VU changes to the new baud rate
2.2.2.6 Link Control Positive Response (SID C7)
DDP_053The Link Control Positive Response is issued by the VU to answer positively to Link Control Service request (step one). Note that no response is given to the confirmation request (step two).
2.2.2.7 Request Upload (SID 35)
DDP_009The Request Upload message is issued by the IDE to specify to the VU that a download operation is requested. To meet the requirements of ISO14229 data is included covering address, the size and format details for the data requested. As these are not known to the IDE prior to a download, the memory address is set to 0, format is unencrypted and uncompressed and the memory size is set to the maximum.
2.2.2.8 Positive Response Request Upload (SID 75)
DDP_010The Positive Response Request Upload message is sent by the VU to indicate to the IDE that the VU is ready to download data. To meet the requirements of ISO 14229 data is included in this positive response message, indicating to the IDE that further Positive Response Transfer Data messages will include 00FF hex bytes maximum.
2.2.2.9 Transfer Data Request (SID 36)
DDP_011The Transfer Data Request is sent by the IDE to specify to the VU the type of data that are to be downloaded. A one byte Transfer Request Parameter (TRTP) indicates the type of transfer.

There are six types of data transfer:

  • Overview (TRTP 01),

  • Activities of a specified date (TRTP 02),

  • Events and faults (TRTP 03),

  • Detailed speed (TRTP 04),

  • Technical data (TRTP 05),

  • Card download (TRTP 06).

DDP_054It is mandatory for the IDE to request the overview data transfer (TRTP 01) during a download session as this only will ensure that the VU certificates are recorded within the downloaded file (and allow for verification of digital signature).

In the second case (TRTP 02) the Transfer Data Request message includes the indication of the calendar day ( format) to be downloaded.

2.2.2.10 Positive Response Transfer Data (SID 76)
DDP_012The Positive Response Transfer Data is sent by the VU in response to the Transfer Data Request. The message contains the requested data, with a Transfer Response Parameter (TREP) corresponding to the TRTP of the request.
DDP055In the first case (TREP 01), the VU will send data helping the IDE operator to choose the data he wants to download further. The information contained within this message is:
  • Security certificates,

  • Vehicle identification,

  • VU current date and time,

  • Min and Max downloadable date (VU data),

  • Indication of cards presence in the VU,

  • Previous download to a company,

  • Company locks,

  • Previous controls.

2.2.2.11 Request Transfer Exit (SID 37)
DDP_013The Request Transfer Exit message is sent by the IDE to inform the VU that the download session is terminated.
2.2.2.12 Positive Response Request Transfer Exit (SID 77)
DDP_014The Positive Response Request Transfer Exit message is sent by the VU to acknowledge the Request Transfer Exit.
2.2.2.13 Stop Communication Request (SID 82)
DDP_015The Stop Communication Request message is sent by the IDE to disconnect the communication link with the VU.
2.2.2.14 Positive Response Stop Communication (SID C2)
DDP_016The Positive Response Stop Communication message is sent by the VU to acknowledge the Stop Communication Request.
2.2.2.15 Acknowledge Sub Message (SID 83)
DDP_017The Acknowledge Sub Message is sent by the IDE to confirm receipt of each part of a message that is being transmitted as several sub messages. The data field contains the SID received from the VU and a 2-byte code as follows:
  • MsgC+1 Acknowledges correct receipt of sub message number MsgC.

    Request from the IDE to the VU to send next sub message

  • MsgC indicates a problem with the receipt of sub message number MsgC.

    Request from the IDE to the VU to send the sub message again.

  • FFFF requests termination of the message.

    This can be used by the IDE to end the transmission of the VU message for any reason.

The last sub message of a message (LEN byte < 255) may be acknowledged using any of these codes or not acknowledged.

The VU responses that will consist of several sub messages are:

  • Positive Response Transfer Data (SID 76)

2.2.2.16 Negative Response (SID 7F)
DDP_018The Negative Response message is sent by the VU in response to the above request messages when the VU cannot satisfy the request. The data fields of the message contains the SID of the response (7F), the SID of the request, and a code specifying the reason of the negative response. The following codes are available:
  • 10 general reject

    The action cannot be performed for a reason not covered below.

  • 11 service not supported

    The SID of the request is not understood.

  • 12 sub function not supported

    The DS_ or TRTP of the request is not understood, or there are no further sub messages to be transmitted.

  • 13 incorrect message length

    The length of the received message is wrong.

  • 22 conditions not correct or request sequence error

    The required service is not active or the sequence of request messages is not correct.

  • 31 Request out of range

    The request parameter record (data field) is not valid.

  • 50 upload not accepted

    The request cannot be performed (VU in a non appropriate mode of operation or internal fault of the VU).

  • 78 response pending

    The action requested cannot be completed in time and the VU is not ready to accept another request.

  • FA data not available

    The data object of a data transfer request are not available in the VU (e.g. no card is inserted, …).

2.2.3 Message flow

A typical message flow during a normal data download procedure is the following:

IDEVU
Start Communication Request
Positive Response
Start Diagnostic Service Request
Positive Response
Request Upload
Positive Response
Transfer Data Request Overview
Positive Response
Transfer Data Request #2
Positive Response #1
Acknowledge Sub Message #1
Positive Response #2
Acknowledge Sub Message #2
Positive Response #m
Acknowledge Sub Message #m
Positive Response (Data Field < 255 Bytes)
Acknowledge Sub Message (optional)
Transfer Data Request #n
Positive Response
Request Transfer Exit
Positive Response
Stop Communication Request
Positive Response
2.2.4 Timing
DDP_019During normal operation the timing parameters shown in the following figure are relevant:

Figure 1

Message flow, timing

Where:

P1

=

Inter byte time for VU response.

P2

=

Time between end of IDE request and start of VU response, or between end of IDE acknowledge and start of next VU response.

P3

=

Time between end of VU response and start of new IDE request, or between end of VU response and start of IDE acknowledge, or between end of IDE request and start of new IDE request if VU fails to respond.

P4

=

Inter byte time for IDE request.

P5

=

Extended value of P3 for card downloading.

The allowed values for the timing parameters are showed in the following table (KWP extended timing parameters set, used in case of physical addressing for faster communication).

a

If the VU responds with a Negative Response containing a code meaning ‘request correctly received, response pending’, this value is extended to the same upper limit value of P3.

Timing ParameterLower limitValue (ms)Upper limitValue (ms)
P1020
P2201 000a
P3105 000
P4520
P51020 minutes
2.2.5 Error handling

If an error occurs during the message exchange, the message flow scheme is modified depending on which equipment has detected the error and on the message generating the error.

In figure 2 and figure 3 the error handling procedures for the VU and the IDE are respectively shown.

2.2.5.1 Start Communication phase
DDP_020If the IDE detects an error during the Start Communication phase, either by timing or by the bit stream, then it will wait for a period P3 min before issuing again the request.
DDP_021If the VU detects an error in the sequence coming from the IDE, it shall send no response and wait for another Start Communication Request message within a period P3 max.
2.2.5.2 Communication phase

Two different error handling areas can be defined:

1.

The VU detects an IDE transmission error.

DDP_022

For every received message the VU shall detect timing errors, byte format errors (e.g. start and stop bit violations) and frame errors (wrong number of bytes received, wrong checksum byte).

DDP_023

If the VU detects one of the above errors, then it sends no response and ignores the message received.

DDP_024

The VU may detect other errors in the format or content of the received message (e.g. message not supported) even if the message satisfies the length and checksum requirements; in such a case, the VU shall respond to the IDE with a Negative Response message specifying the nature of the error.

Figure 2

VU error handling

2.

The IDE detects a VU transmission error.

DDP_025

For every received message the IDE shall detect timing errors, byte format errors (e.g. start and stop bit violations) and frame errors (wrong number of bytes received, wrong checksum byte).

DDP_026

The IDE shall detect sequence errors, e.g. incorrect sub message counter increments in successive received messages.

DDP_027

If the IDE detects an error or there was no response from the VU within a P2 max period, the request message will be sent again for a maximum of three transmissions in total. For the purposes of this error detection a sub message acknowledge will be considered as a request to the VU.

DDP_028

The IDE shall wait at least for a period of P3 min before beginning each transmission; the wait period shall be measured from the last calculated occurrence of a stop bit after the error was detected.

Figure 3

IDE error handling

2.2.6 Response Message content

This paragraph specifies the content of the data fields of the various positive response messages.

Data elements are defined in Appendix 1 data dictionary.

Remark: For generation 2 downloads, each top-level data element is represented by a record array, even if it contains only one record. A record array starts with a header; this header contains the record type, the record size and the number of records. Record arrays are named by ‘…RecordArray’ (with header) in the following tables.

2.2.6.1 Positive Response Transfer Data Overview
DDP_029The data field of the ‘Positive Response Transfer Data Overview’ message shall provide the following data in the following order under the SID 76 Hex, the TREP 01 Hex and appropriate sub message splitting and counting:
Data structure generation 1
Data elementComment
VU Security certificates
Vehicle identification
VU current date and time
Downloadable period
Type of cards inserted in the VU
Previous VU download
All company locks stored. If the section is empty, only noOfLocks = 0 is sent.
All control records stored in the VU. If the section is empty, only noOfControls = 0 is sent
RSA signature of all data (except certificates) starting from VehicleIdentificationNumber down to last byte of last VuControlActivityData.
Data structure generation 2
Data elementComment
Member state certificate
VU certificate
Vehicle identification
Vehicle registration number
VU current date and time
Downloadable period
Type of cards inserted in the VU
Previous VU download
All company locks stored. If the section is empty, an array header with noOfRecords = 0 is sent
All control records stored in the VU. If the section is empty, an array header with noOfRecords = 0 is sent
ECC signature of all preceding data except the certificates.
2.2.6.2 Positive Response Transfer Data Activities
DDP_030The data field of the ‘Positive Response Transfer Data Activities’ message shall provide the following data in the following order under the SID 76 Hex, the TREP 02 Hex and appropriate sub message splitting and counting:
Data structure generation 1
Data elementComment
Date of day downloaded
Odometer at end of downloaded day

Cards insertion withdrawal cycles data.

  • If this section contains no available data, only noOfVuCardIWRecords = 0 is sent.

  • When a VuCardIWRecord lies across 00:00 (card insertion on previous day) or across 24:00 (card withdrawal the following day) it shall appear in full within the two days involved.

Slots status at 00:00 and activity changes recorded for the day downloaded.
Places related data recorded for the day downloaded. If the section is empty, only noOfPlaceRecords = 0 is sent.
Specific conditions data recorded for the day downloaded. If the section is empty, only noOfSpecificConditionRecords=0 is sent
RSA signature of all data starting from TimeReal down to last byte of last specific condition record.
Data structure generation 2
Data elementComment
Date of day downloaded
Odometer at end of downloaded day

Cards insertion withdrawal cycles data.

  • If this section contains no available data, an array header with noOfRecords = 0 is sent.

  • When a VuCardIWRecord lies across 00:00 (card insertion on previous day) or across 24:00 (card withdrawal the following day) it shall appear in full within the two days involved.

Slots status at 00:00 and activity changes recorded for the day downloaded.
Places related data recorded for the day downloaded. If the section is empty, an array header with noOfRecords = 0 is sent.
GNSS positions of the vehicle if the continuous driving time of the driver reaches a multiple of three hours. If the section is empty, an array header with noOfRecords = 0 is sent.
Specific conditions data recorded for the day downloaded. If the section is empty, an array header with noOfRecords =0 is sent
ECC signature of all preceding data.
2.2.6.3 Positive Response Transfer Data Events and Faults
DDP_031The data field of the ‘Positive Response Transfer Data Events and Faults’ message shall provide the following data in the following order under the SID 76 Hex, the TREP 03 Hex and appropriate sub message splitting and counting:
Data structure generation 1
Data elementComment

All faults stored or on-going in the VU.

If the section is empty, only noOfVuFaults = 0 is sent.

All events (except over speeding) stored or on-going in the VU.

If the section is empty, only noOfVuEvents = 0 is sent.

Data related to last over speeding control (default value if no data).

All over speeding events stored in the VU.

If the section is empty, only noOfVuOverSpeedingEvents = 0 is sent.

All time adjustment events stored in the VU (outside the frame of a full calibration).

If the section is empty, only noOfVuTimeAdjRecords = 0 is sent.

RSA signature of all data starting from noOfVuFaults down to last byte of last time adjustment record
Data structure generation 2
Data elementComment

All faults stored or on-going in the VU.

If the section is empty, an array header with noOfRecords = 0 is sent.

All events (except over speeding) stored or on-going in the VU.

If the section is empty, an array header with noOfRecords = 0 is sent.

Data related to last over speeding control (default value if no data).

All over speeding events stored in the VU.

If the section is empty, an array header with noOfRecords = 0 is sent.

All time adjustment events stored in the VU (outside the frame of a full calibration).

If the section is empty, an array header with noOfRecords = 0 is sent.

ECC signature of all preceding data.
2.2.6.4 Positive Response Transfer Data Detailed Speed
DDP_032The data field of the ‘Positive Response Transfer Data Detailed Speed’ message shall provide the following data in the following order under the SID 76 Hex, the TREP 04 Hex and appropriate sub message splitting and counting:
Data structure generation 1
Data elementComment

All detailed speed stored in the VU (one speed block per minute during which the vehicle has been moving)

60 speed values per minute (one per second).

RSA signature of all data starting from noOfSpeedBlocks down to last byte of last speed block.
Data structure generation 2:
Data elementComment

All detailed speed stored in the VU (one speed block per minute during which the vehicle has been moving)

60 speed values per minute (one per second).

ECC signature of all preceding data.
2.2.6.5 Positive Response Transfer Data Technical Data
DDP_033The data field of the ‘Positive Response Transfer Data Technical Data’ message shall provide the following data in the following order under the SID 76 Hex, the TREP 05 Hex and appropriate sub message splitting and counting:
Data structure generation 1
Data elementComment
All calibration records stored in the VU.
RSA signature of all data starting from vuManufacturerName down to last byte of last VuCalibrationRecord.
Data structure generation 2:
Data elementComment
All MS pairings stored in the VU
All external GNSS facility couplings stored in the VU
All calibration records stored in the VU.
All card insertion data stored in the VU.
ECC signature of all preceding data.
2.3. ESM File storage
DDP_034When a download session has included a VU data transfer, the IDE shall store within one single physical file all data received from the VU during the download session within Positive Response Transfer Data messages. Data stored excludes message headers, sub-message counters, empty sub-messages and checksums but include the SID and TREP (of the first sub-message only if several sub-messages).
(1)

The card inserted will trigger the appropriate access rights to the downloading function and to the data. It shall, however, be possible to download data from a driver card inserted into one of the VU slots when no other card type is inserted in the other slot.

Back to top

Options/Help

Print Options

You have chosen to open the Whole Regulation

The Whole Regulation you have selected contains over 200 provisions and might take some time to download. You may also experience some issues with your browser, such as an alert box that a script is taking a long time to run.

Would you like to continue?

You have chosen to open Schedules only

The Schedules you have selected contains over 200 provisions and might take some time to download. You may also experience some issues with your browser, such as an alert box that a script is taking a long time to run.

Would you like to continue?

Close

Legislation is available in different versions:

Latest Available (revised):The latest available updated version of the legislation incorporating changes made by subsequent legislation and applied by our editorial team. Changes we have not yet applied to the text, can be found in the ‘Changes to Legislation’ area.

Original (As adopted by EU): The original version of the legislation as it stood when it was first adopted in the EU. No changes have been applied to the text.

Close

Opening Options

Different options to open legislation in order to view more content on screen at once

Close

More Resources

Access essential accompanying documents and information for this legislation item from this tab. Dependent on the legislation item being viewed this may include:

  • the original print PDF of the as adopted version that was used for the EU Official Journal
  • lists of changes made by and/or affecting this legislation item
  • all formats of all associated documents
  • correction slips
  • links to related legislation and further information resources
Close

More Resources

Use this menu to access essential accompanying documents and information for this legislation item. Dependent on the legislation item being viewed this may include:

  • the original print PDF of the as adopted version that was used for the print copy
  • correction slips

Click 'View More' or select 'More Resources' tab for additional information including:

  • lists of changes made by and/or affecting this legislation item
  • confers power and blanket amendment details
  • all formats of all associated documents
  • links to related legislation and further information resources