Field of application
[0001] The present invention relates to a method for programming an electronic control unit
of a vehicle and to a corresponding electronic device.
[0002] In particular, the invention relates to a method and a device of the abovementioned
type for transmitting programming commands to a microprocessor of the electronic control
unit of the vehicle, in order to perform tuning of the control unit, maintenance or
debugging thereof.
Prior Art
[0003] Methods and devices for programming the electronic control unit of a vehicle, used
for tuning, carrying out maintenance on or debugging the control unit, are known.
These methods comprise reading or reprogramming the contents of a solid-state memory
of the control unit, in particular the memory of a microprocessor mounted in the control
unit.
[0004] According to a first known method, communication with the control unit is performed
by connecting a programming device (programmer) to a diagnostics socket or EOBD2 socket
of the vehicle, inside the passenger compartment, generally underneath the steering
wheel, and electrically connected directly to the control unit via a data line, for
example a CAN bus or a PWM or LIN bus.
[0005] Since the microprocessor of the electronic control unit and its memory are protected
in reading and writing by means of a secure communication protocol, for example based
on encryption keys predefined by the manufacturers of the control units or vehicles,
communication with the programming device is protected.
[0006] This protection is restrictive since it prevents tuning, diagnosis or maintenance
of the control unit in the absence of the hardware and/or software required to implement
the secure communication protocol, for example in the absence of the encryption keys,
thus preventing anyone who does not know the secure communication protocol from making
use of the diagnostics socket and the data line.
[0007] Another method for programming the control unit is also known where there is the
possibility of communicating therewith also in the absence of the secure communication
protocol.
[0008] However, this method is complex and costly because it comprise removing the control
unit from the vehicle, disassembling the control unit, performing a sort of reverse
engineering operation, identifying certain circuit components which are involved by
the signals sent to the microprocessor and intended for programming or debugging thereof,
and then connecting a number of electrical wires to said circuit components.
[0009] The electrical wires have their opposite ends connected to a programming device (programmer).
The latter must be specifically selected in order to communicate with the microprocessor
of the control unit, i.e. must implement a hardware communication protocol which can
be understood by the microprocessor, and send unencrypted programming commands to
the microprocessor. According to these methods, it is also necessary to use a stabilized
power supplier for supplying the programmer, thus allowing the programmer to read
correctly the contents of the solid-state memory, modify these contents and retransmit
them to the memory, for reprogramming thereof.
[0010] It is evident that this second method has significant disadvantages, especially due
to the fact that the control unit must be removed from the vehicle and disassembled
whenever reprogramming or reading of the memory must be performed. Moreover, the electrical
wires connected to the circuit components of the control unit must be removed after
reprogramming, so as to allow reinsertion of the control unit in the vehicle, or connected
again for subsequent reprogramming of the control unit. This operation may result
in errors with regard to connection of the electrical wires, between one reprogramming
operation and another, and result in a considerable amount of lost time.
[0011] In other words, this second method of reprogramming the electric control unit has
the advantage that it may be applied without a secure communication protocol, but
is subject to significant limitations associated with its implementation which requires
technical experts and a step for testing correct connection between the programmer
and the control unit, before proceeding with the actual reprogramming operation.
[0012] The problem at the basis of the present invention is that of devising a method for
programming an electronic control unit for vehicles and a corresponding device which
is able to perform reprogramming also in the absence of the hardware and/or software
means needed to implement the security protocol predefined by the manufacturers of
the control unit or the vehicles, but at the same time is also able to speed up and
simplify the steps for electrical connection of the control unit to the programmer,
overcoming the drawbacks which hitherto are associated with the known method and devices.
Summary of the invention
[0013] The idea at the basis of the present invention is to mount on the control unit an
electrical device which is arranged between the microprocessor of the control unit
and a programming device (programmer) connected to a diagnostics socket or EOBD2 socket
of the vehicle, this electrical device being designed to receive unencrypted signals
from the programmer and transfer the unencrypted signals as programming commands for
the microprocessor, thus avoiding to remove the control unit from the vehicle and
providing a permanent electrical connection between said socket and the microprocessor.
[0014] Advantageously, the device according to the present invention is mounted only once
on the control unit and remains permanently on it and inside the vehicle and is programmed
to intercept the programming signals from the diagnostics socket of the vehicle and
from the data network of the vehicle, i.e. intercept the signals of the programming
device and transfer these signals to the microprocessor and to the associated solid-state
memory.
[0015] In other words, the EOBD2 socket and the data network of the vehicle, for example
the CAN bus or PWM or LIN bus, are used to transfer commands to the electrical device
mounted on the control unit according to the present invention, without using a secure
or proprietary communication protocol and this device is programmed to reprogram the
memory of the specific microprocessor on the basis of the commands received from the
vehicle data network.
[0016] On the basis of this proposed solution, the technical problem mentioned above is
solved by an electronic device
characterized in that it is adapted to be applied onto an electronic control unit of a vehicle and comprises
first terminals, adapted to be connected to the control unit, for sending programming
signals to the control unit, and second terminals, adapted to be connected to a data
network of the vehicle, for receiving said programming signals.
[0017] According to a feature of the invention, the data network comprises a diagnostics
socket or EOBD2 socket of the vehicle and the electronic device receives the programming
signals via the diagnostics socket or EOBD2 socket of the vehicle. The data network
comprises for example a CAN bus or PWM or LIN bus and the electronic device receives
the programming signals via this bus.
[0018] According to another aspect of the present invention, the second terminals are adapted
to be connected to a comb connector of the control unit.
[0019] In particular, the electronic device is configured to receive the programming signals
in unencrypted form on the data network and receive said unencrypted signals from
a programming device connected to the data socket or EOBD2 socket of the vehicle.
[0020] Even more particularly, the electronic device is arranged between the control unit
and the programming device and comprises a programming software for encoding the programming
signals in the form of commands which can be interpreted by a microprocessor mounted
in the control unit.
[0021] According to a preferred embodiment, the electronic device is applied in an irremovable
manner onto the control unit. Preferably the device is adapted to be applied to the
microprocessor of the control unit. For example, the electronic device comprises an
adhesive substrate for quick fixing to the control unit, the adhesive substrate being
heat-resistant.
[0022] According to another aspect of the present invention, connection of the first terminals
to the control unit is configured to send the programming signals to the microprocessor
of the control unit as programming commands. Connection of the first terminals to
the control unit is performed via pads associated with the debug signals of the microprocessor.
[0023] The technical problem described above is also solved by an electronic control unit
which comprises or incorporates an electronic device of the type described above.
[0024] The technical problem is also solved by a method for programming an electronic control
unit of a vehicle comprising the steps of:
- applying an electronic device onto an electronic control unit of a motor vehicle,
said electronic device application step comprising:
- connecting first terminals to the control unit, for sending programming signals to
the control unit, and
- connecting second terminals to a data network of the vehicle, for receiving the programming
signals.
Brief technical description of the accompanying drawings
[0025]
Figure 1 shows schematically the electric device according to the present invention,
mounted on a control unit of a vehicle.
Detailed description
[0026] With reference to Figure 1, an electronic device according to the present invention
is schematically represented and indicated with numeral reference 1, mounted on an
electronic control unit 2 of a vehicle engine.
[0027] The control unit 2 is provided with a microprocessor 7 and a respective solid-state
memory, which is programmed to control and operate electrically the components of
the vehicle. The control unit 2 is also provided with a comb connector 6 and a data
line 10 which extends from the microprocessor 7 to the comb connector 6.
[0028] Figure 1 also represents a diagnostics socket 9 or EOBD2 socket of the vehicle, for
example installed inside a compartment or in a box underneath the steering wheel.
A data line 5, for example a CAN bus or a PWM or LIN bus extends from the diagnostics
socket 9 to the comb connector 6 of the control unit 2 and forms a data network together
with the data line 10 between the comb connector 6 and the microprocessor 7. The data
network allow signals to be sent from the diagnostics port directly to the microprocessor,
using a secure communication protocol, which is known to the manufacturers of the
control unit or the vehicles which are fitted with it.
[0029] According to the present invention, the electronic device 1 is installed on the control
unit 2, for example on a surface of the control unit 2 directed upwards, when the
control unit is installed in the vehicle, or on a surface of the microprocessor 7,
preferably in an irremovable manner, for example via adhesive means which are resistant
to the heat which is generated inside the engine compartment (bonnet) of the vehicle,
during use.
[0030] The electrical device 1 is electrically connected to the data network and in particular
to the data line 10 which connects the comb connector 6 to the microprocessor 7 and
is also connected to the microprocessor 7, via connection points or pads 8 through
which the debug signals of the microprocessor 1 pass. The electrical device 1 is then
connected inside the control unit.
[0031] More particularly, the electronic device 1 has first terminals 3 for connection to
the microprocessor 7, connected via the pads 8, and second terminals 4 for connection
to the data network. The pads 8 in turn communicate with the microprocessor 7 via
a debug bus or a JTAG, BOOT or BDM port.
[0032] The device 1 forms a communication node between the microprocessor and a programmer
or programming device, not shown in the figures, adapted to be connected to the diagnostics
port or EOBD2 port of the vehicle, for sending programming signals to the control
unit 2. The communication signals sent from the programmer to the microprocessor 7,
although passing over the data network, do not directly reach the microprocessor 7,
but are intercepted by the electronic device 1 which encodes them in the form of programming
commands to be interpreted by the microprocessor 7. The electronic device therefore
acts as a bypass. The commands allow rewriting or updating of the solid-state memory
of the microprocessor and therefore reprogramming of the control unit.
[0033] Advantageously the programmer sends unencrypted signals on the data network and the
unencrypted signals are transferred from the electronic device 1 to the microprocessor
as memory programming commands, therefore allowing reprogramming of the control unit
without knowing the secure protocol provided by the manufacturers of the control unit
or the vehicle for communication via the EOBD2 port or diagnostics port of the vehicle.
[0034] Advantageously, once the device 1 has been installed on the control unit, it is no
longer necessary to disassemble the control unit or remove it from the vehicle in
order to perform reprogramming or tuning, thereby simplifying and speeding up all
the control unit maintenance, debugging or upgrading operations.
1. Electronic device (1), characterized in that it is adapted to be applied onto an electronic control unit (2) of a vehicle and
comprises first terminals (3), adapted to be connected to the control unit (2), for
sending programming signals to the control unit, and second terminals (4), adapted
to be connected to a data network (5) of the vehicle, for receiving said programming
signals.
2. Electronic device (1) according to claim 1, characterized in that said second terminals (4) are adapted to be connected to a comb connector (6) of
the control unit (2).
3. Electronic device (1) according to claim 1, characterized in that said data network (5) comprises a diagnostics socket or EOBD2 socket (9) of said
vehicle and the electronic device (1) is adapted to receive said programming signals
via the diagnostics socket or EOBD2 socket of the vehicle.
4. Electronic device (1) according to claim 3, characterized in that it is configured to receive the programming signals in unencrypted form on the data
network and to receive said unencrypted signals from a programming device connected
to the data socket of the vehicle.
5. Electronic device (1) according to claim 3, characterized in that it is adapted to be arranged between the control unit (2) and the programming device
and comprises a software for encoding the programming signals in the form of commands
to be interpreted in a microprocessor (7) of the control unit.
6. Electronic device (1) according to claim 1, characterized in that it is adapted to be applied irremovably onto the control unit (2).
7. Electronic device (1) according to claim 1, characterized in that it is adapted to be applied to a microprocessor (7) of the control unit.
8. Electronic device (1) according to claim 1, characterized in that it comprises an adhesive substrate for quick fixing to the control unit (2), said
adhesive being heat-resistant.
9. Electronic device (1) according to claim 1, characterized in that the connection of said first terminals (3) to said control unit (2) is configured
to send the programming signals to a microprocessor (7) of the control unit (2).
10. Electronic device (1) according to claim 9, characterized in that the connection of said first terminals (3) to said control unit (2) is performed
via pads (8) associated with the debug signals of the microprocessor.
11. Electronic device (1) according to claim 1, characterized in that said data network comprises a CAN bus or a PWM or LIN bus and the electronic device
(1) is adapted to receive the programming signals on the CAN bus or on the PWM or
LIN bus.
12. Electronic control unit comprising an electronic device according to one of the preceding
claims.
13. Method for programming an electronic control unit of a vehicle, comprising the steps
of applying an electronic device (1) onto an electronic control unit (2) of a vehicle,
said electronic device application step comprising connecting first terminals (3)
to the control unit (2), for sending programming signals to the control unit, and
connecting second terminals (4) to a data network (5) of the vehicle, for receiving
said programming signals.
14. Method for programming an electronic control unit according to claim 13, characterized in that said data network comprises a diagnostic socket or EOBD2 socket of the vehicle.