REAL-TIME PERFORMANCE TUNING
20170341603 · 2017-11-30
Inventors
Cpc classification
G06F9/4411
PHYSICS
G06F9/44505
PHYSICS
G01C25/00
PHYSICS
G06F2212/65
PHYSICS
B60R16/023
PERFORMING OPERATIONS; TRANSPORTING
International classification
B60R16/023
PERFORMING OPERATIONS; TRANSPORTING
Abstract
The present invention is a system and method of making setpoint adjustments to a vehicle control computer in a real time manner in order to enable the one performing the programming to observe the changes in vehicle characteristics in real time. The system and method is an improvement over known methods in that it does not require the programmer to repeatedly stop and start the operation of the vehicle in order to verify that any changes have the desired result.
Claims
1. A method of programming a vehicle control computer comprising the steps of: receiving at a personal controller existing data pertaining to a programmable performance parameter for a vehicle; identifying an existing pointer in said existing data for pointing to a first existing memory location where a first existing setpoint for said performance parameter is located in a first memory; modifying said existing pointer to point to a second location for said performance parameter, said second location in a second memory; storing said first existing setpoint for the selected performance parameter at the second location; changing the setting of said first existing setpoint at said second location through operation of said personal controller, to a desired second setpoint which is different from said first setpoint, and storing the second setpoint in the second location; storing the second setpoint in said first memory; changing the modified pointer to point to the second setpoint location in the first memory.
2. The method of claim 1 wherein the first memory is ROM (read only memory) and the second memory is RAM (random access memory).
3. The method of claim 1 wherein data is communicated to the first and second memory using a controller area network.
4. The method of claim 1 wherein the programmable performance parameter is a parameter which controls an operating characteristic of the vehicle.
5. The method of claim 4 wherein the operating characteristic of the vehicle is an engine operating characteristic.
6. The method of claim 4 wherein the operating characteristic of the vehicle is a transmission operating characteristic.
7. The method of claim 1 wherein the existing data further comprises data representing a pointer, a pointer type, a calibration item, and a calibration item size.
8. The method of claim 1 wherein the second memory is located within the vehicle control computer.
9. The method of claim 1 wherein at least the step of changing the setting of the existing setpoint is performed while the vehicle engine is running.
10. The method of claim 1 wherein when the second setpoint is stored in the first memory it replaces the first existing setpoint.
11. A system for real time programming of a vehicle computer, comprising: a user control device including a processor; a display in communication with the processor; an input device in communication with the processor; an interface in communication with the processor, the interface adapted for electronic communication with a vehicle computer communications bus, said vehicle computer having a first memory and a second memory adapted for electronic communication with the processor, and an actuatable software pointer associated with said first memory, said pointer associated with a performance parameter for said vehicle that when actuated invokes a first value of a first data setpoint stored at a location in said first memory to be used in the operation of said vehicle, and said computer having a second data setpoint location in said second memory; said user control device adapted to input a desired value for said second data setpoint and to redirect said pointer to said second setpoint location; said user control device further adapted to cause said second data setpoint value to replace said first data setpoint value in said first memory, and to redirect said pointer to once again point to said first setpoint location.
12. The system of claim 11 wherein the first memory is a read only memory.
13. The system of claim 11 wherein the vehicle performance parameter comprises a parameter which controls an operating characteristic of the vehicle.
14. The system of claim 13 wherein the operating characteristic of the vehicle is an engine operating characteristic.
15. The system of claim 13 wherein the operating characteristic of the vehicle is a transmission operating characteristic.
16. The system of claim 11 wherein said user control device is operable to change the vehicle performance parameter setpoint while the vehicle engine is running.
17. The system of claim 11 wherein the second memory is a random access memory.
18. The system of claim 11 wherein the user control device is a handheld unit adapted to connect to a port in said vehicle that facilitates electronic communication with said vehicle computer.
19. A method of programming a vehicle control computer comprising the steps of: receiving at a first controller at least one data set identifying a programmable performance parameter, the data set comprising a calibration data value, a pointer, an identifier identifying the pointer type, a performance parameter identifier, and a calibration data value size; receiving from a user a selection of at least one received performance parameter for adjustment; modifying a pointer associated with the selected performance parameter to identify a memory location in a random access memory; storing the modified pointer in a read only memory; storing the calibration data value at the predetermined location of the random access memory; receiving a change to the calibration data value and storing that changed value in the predetermined location of the random access memory; changing the previously modified pointer to a pointer location to which the pointer identified prior to the previous modification and storing the modified pointer in the read only memory; and storing the received change to the calibration data value in the read only memory.
20. The method of claim 19 wherein the read only memory is an electrically erasable programmable read only memory.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0007] In addition to the features mentioned above, other aspects of the present invention will be readily apparent from the following descriptions of the drawings and exemplary embodiments, wherein like reference numerals across the several views refer to identical or equivalent features, and wherein:
[0008]
[0009]
[0010]
[0011]
[0012]
DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENT(S)
[0013] Various embodiments of the present invention will now be described in detail with reference to the accompanying drawings. In the following description, specific details such as detailed configuration and components are merely provided to assist the overall understanding of these embodiments of the present invention. Therefore, it should be apparent to those skilled in the art that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present invention. In addition, descriptions of well-known functions and constructions are omitted for clarity and conciseness.
[0014] A basic diagram of a Vehicle Electronic Control Unit (ECU) is illustrated in
[0015] As was noted above, a controller may retrieve programming instructions from ROM. These programming instructions may comprise instructions to cause the processor 102 to perform various operating functions needed to control vehicle components such as engine fuel injection or ignition processes. Included in these instructions are directions to the storage locations of various setpoints. These directions are commonly referred to as “pointers”. As a greatly simplified example, if a program is comparing such inputs as a throttle position and engine speed in order to determine an amount of fuel to be injected into an engine cylinder, that program may use a pointer to identify a memory location in which data is stored that represents the proper amount of fuel. As with program instructions and setpoints, pointers are generally stored in ROM. ROM is a memory technology that is generally not intended to be regularly reprogrammed and as such, changing information stored in the ROM of an ECU or other vehicle controller must generally be performed when the controller is not actively performing its control function. As a result, making changes while a vehicle is running is generally not possible without the risk of damage.
[0016] When making adjustments to the various parameters of a vehicle, a user may wish to make those adjustments while the vehicle is running in order to receive immediate feedback with regard to the result of the adjustments. As was noted above, known methods of changing setpoint information are generally not able to be performed while a vehicle is running. In order to avoid making changes to ROM while a vehicle is running but be able to receive the desired immediacy of feedback, an embodiment of the invention may modify program pointers to direct the processor 102 to an unused portion of RAM and then place the updated setpoints at that portion of RAM.
[0017] Because the manufacturer of the ECU may be unwilling to disclose the details regarding software instructions and pointers, those instructions must be analyzed to identify the various pointers used by the software instructions of an ECU. Referring to
[0018] Once the various calibration items and pointers are identified as described above, those items may be used to enable a user to make adjustments to a vehicle while it is in operation (in real-time). An embodiment of the invention may employ a computerized real time tuning device to perform the real time tuning operation. An example of such a device is illustrated in
[0019] Once pointer and setpoint information is identified, the information may be loaded into a real-time tuning device 400 such as illustrated in
[0020] Any embodiment of the present invention may include any of the optional or preferred features of the other embodiments of the present invention. The exemplary embodiments herein disclosed are not intended to be exhaustive or to unnecessarily limit the scope of the invention. The exemplary embodiments were chosen and described in order to explain the principles of the present invention so that others skilled in the art may practice the invention. Having shown and described exemplary embodiments of the present invention, those skilled in the art will realize that many variations and modifications may be made to the described invention. Many of those variations and modifications will provide the same result and fall within the spirit of the claimed invention. It is the intention, therefore, to limit the invention only as indicated by the scope of the claims.