# Patent

## Title
Feature enabling unit

## Abstract

An enabling unit for activating a feature in an electronic control unit on a vehicle includes a port for communicating with an electronic control unit included on the vehicle. A processor, which communicates with the port, includes a message for enabling a dormant feature included on the electronic control unit.

## Background
BACKGROUND
The present invention relates to communication modules that communicate with an electronic control unit (ECU) for enabling dormant (unactivated) features stored in the ECU. It finds particular application with communication modules that communicate with an ECU in a vehicle. It will be appreciated, however, that the invention is also amenable to other applications.
Software functions (features) are used in the automotive and heavy vehicle industries for controlling various aspects of a vehicle. For example, some software features control the operation of the engine while other features control the operation of the brakes (e.g., antilock braking systems (ABS)). Other software features may include base changes to an electronic control unit (ECU) operation. As an example, configuration options, parameter sets, or customer specific options of ABS may be changed. Sales of such software features are extremely difficult to control and monitor in the automotive and heavy vehicle industries, which results in a high rate of software piracy.
Because there is no reliable means for enforcing payment from end users of software features in the automotive and heavy vehicle industries, the software features are commonly given away as a bonus without charging end users. Likewise, software for interfacing with the ECU is also typically given away as a cost of doing business.
The present invention provides a new and improved apparatus and method which addresses the above-referenced problems.
SUMMARY
In one embodiment, an electronic module includes a connector communicating with an electronic control unit. A controller, communicating with the connector, includes software code for enabling a feature included on the electronic control unit.
In another embodiment, an enabling unit for activating a feature in an electronic control unit on a vehicle includes a port for communicating with an electronic control unit on the vehicle. A processor, communicating with the port, includes a message for enabling a dormant feature included on the electronic control unit.
An electronic module includes a port, which communicates with an electronic control unit on a vehicle, and a means for communicating software code, via the port, for enabling a feature on the electronic control unit.
In another embodiment, a system for controlling a vehicle includes an electronic control unit on the vehicle for controlling a vehicle system. A communication link on the vehicle communicates with the electronic control unit. An electronic module includes a port, which communicates with the electronic control unit, and a controller, which communicates with the port and includes a software message for enabling a feature included on the electronic control unit.



BRIEF DESCRIPTION OF THE DRAWINGS
In the accompanying drawings which are incorporated in and constitute a part of the specification, embodiments of the invention are illustrated, which, together with a general description of the invention given above, and the detailed description given below, serve to exemplify the embodiments of this invention.
FIG. 1 illustrates a front perspective view of an electronic module in accordance with one embodiment of the present invention;
FIG. 2 illustrates a rear perspective view of the electronic module in accordance with one embodiment of the present invention;
FIG. 3 illustrates a system including the electronic module communicating with an electronic control unit in accordance with one embodiment of the present invention;
FIG. 4 illustrates a functional diagram illustrating an electronic module communicating with a plurality of electronic control units in accordance with one embodiment of the present invention;
FIG. 5 illustrates an electronic module in accordance with another embodiment of the present invention; and
FIG. 6 illustrates a functional diagram for loading software onto the electronic module in accordance with one embodiment of the present invention.



DETAILED DESCRIPTION OF ILLUSTRATED EMBODIMENT
FIGS. 1 and 2 illustrate front and rear perspective views of an electronic module 10 (enabling unit) in accordance with one embodiment of the present invention. A front face 12 of the electronic module 10 includes an output means 14 (e.g., an output device including light emitting diodes (LEDs)) for communicating various messages to a user. In the illustrated embodiment, the output means 14 includes twelve (12) output devices, which are activated in various combinations and colors for communicating different messages to the user.
The front face 12 also includes a switching means 16, which is discussed in more detail below. In the illustrated embodiment, the switching means 16 is a magnetic switch that is activated when a user positions a magnet within a predetermined distance of the front face 12. However, other types of switching means 16, including single-pole double-throw switches, are also contemplated.
The rear portion 18 of the electronic module 10 includes a connector 20 (port), which is configured for communicating with an electronic control unit (ECU) 22 (see FIG. 3) of a vehicle. In the illustrated embodiment, the connector 20 is an electrical connector configured for communicating with a serial communication link 24 (see FIG. 3) of a vehicle. Although the present invention is described in terms of the ECU controlling a braking function of a vehicle, it is to be understood that the electronic module 10 may communicate with any type of ECU. Furthermore, as described below with reference to FIG. 4, it is to be understood that the electronic module 10 may communicate with a plurality of ECUs that, for example, control various functions (e.g., engine tasks, fuel usage, monitoring alternator performance via a voltage link, tire pressure monitoring of a vehicle axle via wheel speed sensors, etc.) on the vehicle.
With reference to FIGS. 1-3, the ECU 22 is used for controlling a braking function of the vehicle. Therefore, the ECU 22 includes primary software code that performs primary tasks (features) that may include, for example, causing a vehicle brake to be activated in a pulsed manner during certain driving conditions. Secondary software code may also be included in the ECU 22 for performing various ancillary tasks (features). However, it is to be understood that at least a portion of the secondary software is dormant (not enabled) at the time when the ECU 22 is installed in the vehicle. Consequently, the ancillary features associated with the secondary software are dormant and not performed.
A controller 30 (processor or microprocessor) in the electronic module 10 electrically communicates through the connector 20 and includes a message in the form of software code for enabling (activating) one or more of the dormant features on the ECU 22. The dashed lines representing the controller 30 are meant to illustrate that the controller is inside the electronic module 10. The controller 30 includes software code for enabling one or more features on the ECU 22. Therefore, the controller 30 acts as a means for communicating software code to the ECU 22 for activating the dormant feature.
A user causes the electronic module 10 to communicate with the ECU 22 when it becomes desirable to enable a dormant feature on the ECU 22. More specifically, in the embodiment illustrated in FIG. 3, the electronic module 10 is electrically connected to the communication link 24 of the vehicle via the connector 20. Once the electronic module 10 communicates with the ECU 22, the software included on the controller 30 for enabling the dormant feature on the ECU 22 is capable of being transmitted to the ECU 22.
In one embodiment, the software for enabling the dormant feature on the ECU 22 is only transmitted to the ECU 22 a predetermined number of times (e.g., once). If the software is only transmitted to the ECU 22 once, the electronic module 10 is a single use device. It is to be understood that the dormant feature may be temporarily enabled in the ECU 22 only during the time that the electronic module 10 is communicating with the ECU 22. Alternatively, the dormant feature may be permanently enabled in the ECU 22 even after the electronic module 10 no longer communicates with the ECU 22, in which case the configuration of the ECU 22 is changed by the electronic module 10. In either case, the electronic module 10 will only transmit the software for enabling the dormant feature on the ECU 22 the predetermined number of times (e.g., a single time to a single ECU).
Therefore, in this embodiment, once the electronic module 10 begins communicating with the ECU 22 (e.g., when the controller 30 is in a communication mode with the ECU 22), the controller 30 determines whether the software code for enabling the dormant feature should be transmitted to the ECU 22. For example, an electronic marker is transmitted from the controller 30 to the ECU 22 (or vice versa) along with the message. Then, when the controller 30 subsequently communicates with the ECU 22 again in the future, the controller 30 first determines whether the electronic marker was previously transmitted to the ECU 22. If the ECU 22 includes the electronic marker, the controller 30 will determine not to transmit the software message for enabling the feature. Alternatively, it is also to be understood that the electronic marker, which may include a specific identifier of the ECU, may be stored in the electronic module.
In another embodiment illustrated in FIG. 4, the controller 30 maintains a list (e.g., a lookup table) identifying all of the vehicles to which the software message is authorized to be transmitted. For example, all vehicles in a particular fleet may be identified in the lookup table. Furthermore, every time the controller 30 begins communicating with an ECU 22a, 22b, 22c of a particular vehicle, the controller 30 retrieves a vehicle identifier (e.g., a vehicle identifier from an engine ECU or a chassis ECU) or an ECU identifier via the vehicle's communication link and determines whether the vehicle is included on the authorized list. If the vehicle is not included on the authorized list, the controller 30 will not transmit the software message to the ECU 22a, 22b, 22c. 
With reference again to FIGS. 1-3, the message is only transmitted from the controller 30 to the ECU 22 in another embodiment when the switching means 16 is activated. For example, if the switching means 16 is a magnetic switch, the message is only transmitted to the ECU 22 when a magnet is held within a predetermined distance of the switching means 16 for a predetermined period of time. Furthermore, if a plurality of software messages are maintained on the controller 30 for enabling a plurality of respective features on the ECU 22, a user may determine which of the messages is to be transmitted to the ECU 22 by activating and deactivating the switching means 16 in a predetermined pattern. Also, the user may activate the switching means 16 for resetting the controller 30, the ECU 22, and/or the vehicle system associated with the ECU.
In another embodiment, the ECU 22 transmits a reply message (software code) to the controller 30 for identifying a status of the ECU and/or the associated vehicle system. For example, the reply message may include diagnostic information of the ECU and/or the associated vehicle system. The reply message is deciphered by the controller 30 and output to the user via the output means 14. For example, the electronic module 10 may have specific inputs or outputs for specific features. In one embodiment, the output means 14 may illuminate specific one(s) of the LEDs for a new type of diagnostic feature. Also, the switching means 16 may be used for enabling a specific feature option.
FIG. 5 illustrates another embodiment of the present invention. For ease of understanding this embodiment of the present invention, like components are designated by like numerals with a primed (′) suffix and new components are designated by new numerals. In this embodiment, the connector 40 of the electronic module 10′ is a wireless connector including a transmitter/receiver capable of communicating with a transmitter/receiver 42 (see FIG. 3) that communicates with the ECU 22 (see FIG. 3) via the communication link (see FIG. 3). In one embodiment, the wireless communications are achieved via radio frequency signals. Also, it is contemplated that the transmitter/receiver 42 is included within the ECU. However, other types of wireless communications are also contemplated.
FIG. 6 illustrates a functional diagram of how the electronic module is programmed with the software code message for enabling a feature on an ECU. The software message, which is illustrated as 50, is transmitted to a blank electronic module, which is illustrated as 52. In one embodiment, the software message is “burned” into the controller 54 as firmware and, therefore, is considered to be permanently stored in the controller 54. The electronic module including the software in the controller 54 is illustrated as 56. In one embodiment, the software is in an auxiliary design language (ADL) format. However, other types of software formats are also contemplated.
While the present invention has been illustrated by the description of embodiments thereof, and while the embodiments have been described in considerable detail, it is not the intention of the applicant to restrict or in any way limit the scope of the appended claims to such detail. Additional advantages and modifications will readily appear to those skilled in the art. Therefore, the invention, in its broader aspects, is not limited to the specific details, the representative apparatus, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or scope of the applicant's general inventive concept.

## Claims

1. An enabling unit for activating a feature in an electronic control unit on a vehicle, comprising:
a port selectively connected to a communication link of a vehicle, an electronic control unit on the vehicle communicating with the communication link; and
a processor, selectively communicating with the electronic control unit via the port, including a message for enabling a dormant feature included on the electronic control unit, the message temporarily enabling the feature while the processor is communicating with the electronic control unit.

2. An enabling unit for activating a feature in an electronic control unit on a vehicle, comprising:
a port selectively connected to a communication link of a vehicle, an electronic control unit on the vehicle communicating with the communication link; and
a processor, selectively communicating with the electronic control unit via the port, including a message for enabling a dormant feature included on the electronic control unit, the message permanently enabling the feature.

3. A method for enabling a feature on an electronic control unit, the method comprising:
removably connecting a portable connector to a communication link on a vehicle for connecting a controller on the connector to the electronic control unit on the vehicle via the communication link;
determining whether to communicate a message from the controller to the electronic control unit;
if it is determined to communicate the message:
communicating the message from the controller to the electronic control unit via the connector and the communication link; and
activating the feature on the electronic control unit as a function of the message; and

disconnecting the controller from the electronic control unit.

4. The method for enabling a feature on an electronic control unit as set forth in claim 3, wherein the determining includes:
determining whether the controller is in a communication mode with the electronic control unit.

5. The method for enabling a feature on an electronic control unit as set forth in claim 3, wherein the determining includes:
determining whether the message has been previously transmitted a predetermined number of times.

6. The method for enabling a feature on an electronic control unit as set forth in claim 3, wherein the determining includes:
determining whether the message has been previously transmitted to the electronic control unit.

7. The method for enabling a feature on an electronic control unit as set forth in claim 3, further including:
if it is determined to communicate the message, transmitting an electronic marker for storage on the electronic control unit, the electronic marker indicating the message has been transmitted to the electronic control unit.

8. The method for enabling a feature on an electronic control unit as set forth in claim 3, the determining including:
determining whether an electronic marker was previously transmitted to the electronic control unit for determining whether the message has previously been transmitted to the electronic control unit.

9. The method for enabling a feature on an electronic control unit as set forth in claim 3, further including:
before the determining, activating a switch;
the determining including:
determining whether to communicate the message from the controller to the electronic control unit as a function of the switch.

10. The method for enabling a feature on an electronic control unit as set forth in claim 3, further including:
transmitting a reply message from the electronic control unit to the controller.

11. The method for enabling a feature on an electronic control unit as set forth in claim 10, further including:
outputting the reply message on the controller.

12. The method for enabling a feature on an electronic control unit as set forth in claim 3, wherein the transmitting includes:
transmitting the message from the connector to the electronic control unit via an electrical connection.

13. The method for enabling a feature on an electronic control unit as set forth in claim 3, wherein the transmitting includes:
transmitting the message from the connector to the electronic control unit via a wireless connection.