5 Diagnostic Management: Software Documentation Page 5-1 EDC7 Keyword Protocol 2000
5 Diagnostic Management: Software Documentation Page 5-1 EDC7 Keyword Protocol 2000
5 Diagnostic Management: Software Documentation Page 5-1 EDC7 Keyword Protocol 2000
5 Diagnostic Management
This message is used to enable different diagnostic modes in the ECU. A diagnostic mode (session) can
only be started if securityAccess service has been performed before (unless defaultMode-
StandardDiagnosticMode shall be enabled). If the ECU supports serial application, upon the
startDiagnosticSession service the flash memory data-set will - depending on the diagnostic mode selected -
automatically be set to the working page (for details refer to section "Serial Application"). As the copy
operation takes some time (about 1 second), the startDiagnosticSession request will be delayed responded
or possibly be negatively responded (negative response code "busy-RepeatRequest") until the working page
is active (refer to section "Negative Response Code Value Summary Table").
Upon the startDiagnosticSession request message with diagnosticMode "ECUProgrammingMode" the ECU
turns into the internal mode of operation (Bootblock software), where only programming functions are
available (refer to sections "EDC7 Modes of Operation" and "Flash Memory Programming"). Note: the
internal mode of operation can only be left by performing an ECU reset!
If the tester has already entered a diagnostic session and then requests another diagnostic session (with a
different parameter diagnosticMode), the previously active session will automatically be closed and the new
diagnostic mode becomes active immediately. The old session does not have to be stopped with the
stopDiagnosticSession request service. Nevertheless the tester has to take the following into account when
changing a diagnostic session:
• A diagnostic session can not be left or switched, if any local routine (started by
startRoutineByLocalIdentifier) is still running or if a "requestUpload/requestDownload - transferData -
requestTransferExit"-sequence or an EOL-write session is still in process.
© Robert Bosch GmbH (Germany) reserves all rights even in the event of industrial rights. We reserve all rights of disposal such as copying and passing to third parties.
• If serial application has been performed within a diagnostic session, the (adjusted) application-RAM
contents should be stored in the flash-EPROM (with a startRoutineByLocalIdentifier request message)
before leaving the session! Otherwise another startDiagnosticSession request would copy the data-set
from flash to RAM again and would therefore overwrite all adjustments!
The parameter diagnosticMode (DCM_) is used by the startDiagnosticSession service to select the desired
diagnostic mode. The following diagnostic modes are specified for EDC7:
EndOfLineProgrammingMode 83 DCM_
This diagnosticMode enables all keyword protocol 2000 EOL
services required for data programming. The EOL
programming services can be used with the Development,
Engine Manufacturer and Vehicle Manufacturer Factory
access. They differ in the EOL areas that might be
reprogrammed.
ECUProgrammingMode 85 DCM_
This diagnosticMode enables all keyword protocol 2000 ECUPM
services for memory programming of the ECU.
ECUDevelopmentMode 86 DCM_
This diagnosticMode enables all keyword protocol 2000 services ECUDM
supporting development and application/calibration of the ECU.
© Robert Bosch GmbH (Germany) reserves all rights even in the event of industrial rights. We reserve all rights of disposal such as copying and passing to third parties.
The baudrateIdentifier (BI_) causes the ECU to switch to a different communication baudrate. The ECU
("baudrateECU") tries to adapt to the tester baudrate ("baudratetester") as close as possible. The desired
baudrate becomes active after the positive response message is sent. If the baudrateIdentifier is not
transmitted, the baudrate will not be switched.
Note that the ECU baudrate is limited by the ECU specific hardware configuration (e. g. wiring harness) and
by the current operating conditions (CPU load). When the engine is out of action, higher baudrates may be
selected than in case the engine is running. For details refer to section "Timing". Using higher baudrates
than 10,4 kBaud is out of the keyword protocol 2000 standard.
A sample of possible baudrates (including all possible baudrates above 40 kbaud) is shown below:
To calculate the baudrateIdentifier from the tester baudrate, the following equation must be satisfied:
k + 32
baudrate tester = 6,4 ⋅ 2 i⋅ kbaud
32
where i is represented by the baudrateIdentifier bits 5, 6 and 7 and k by bits 0 - 4 (xx = iiikkkkkh).
Example: Switching the baudrate to 115 kbaud requires baudrateIdentifier xx = 84h (i = 4, k = 4).
© Robert Bosch GmbH (Germany) reserves all rights even in the event of industrial rights. We reserve all rights of disposal such as copying and passing to third parties.
The readEcuIdentification service requests identification data from the ECU. The type of identifcation data
requested by the tester is identified by the identifcationOption parameter. The ECU sends an identification
data record included in the readEcuIdentification positive response message. The format of the
identification data accords with section "Data Scaling". The first parameter of the positive response
message is always the repetition of the identificationOption of the request message. This is required
because the identificationOptions "EcuIdentificationDataTable" and "EcuIdentificationScalingTable" may
include multiple identificationOptions based on the definition of the vehicle manufacturer.
© Robert Bosch GmbH (Germany) reserves all rights even in the event of industrial rights. We reserve all rights of disposal such as copying and passing to third parties.
© Robert Bosch GmbH (Germany) reserves all rights even in the event of industrial rights. We reserve all rights of disposal such as copying and passing to third parties.
© Robert Bosch GmbH (Germany) reserves all rights even in the event of industrial rights. We reserve all rights of disposal such as copying and passing to third parties.
In case of external or internal programming e.g. DIA mode [83] the identifiers 81, 91, 92, 93, 9E can not be
read since this data are taken from the RAM which is already occupied by other data and code in this
mode.
© Robert Bosch GmbH (Germany) reserves all rights even in the event of industrial rights. We reserve all rights of disposal such as copying and passing to third parties.
© Robert Bosch GmbH (Germany) reserves all rights even in the event of industrial rights. We reserve all rights of disposal such as copying and passing to third parties.
© Robert Bosch GmbH (Germany) reserves all rights even in the event of industrial rights. We reserve all rights of disposal such as copying and passing to third parties.
The parameter resetMode (RM_) is used by the ecuReset request message to describe how the ECU has
to perform the reset. Refer to table below:
© Robert Bosch GmbH (Germany) reserves all rights even in the event of industrial rights. We reserve all rights of disposal such as copying and passing to third parties.