Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
USER CONFIGURABLE BIMODULAR ENGINE MANAGEMENT COMPUTER
Document Type and Number:
WIPO Patent Application WO/1999/036839
Kind Code:
A1
Abstract:
A base module to provide control signals to the engine and a daughter module to provide controlling signals to the base module. When fitting the engine management computer to an engine the base module will be specific to a particular engine but is connected with a standard daughter board. The base module will typically include a power supply, relay/solenoid/motor coil driver, injector driver, igniter driver and interfaces while the daughter module will typically include an oscillator circuit which is shown in the figure, a microcontroller, a non-volatile memory and a reset circuit. In one embodiment the daughter module may include a communication interface.

Inventors:
FROST WAYNE KENNETH (NZ)
COWL JEFFREY DAVID (NZ)
WINKLE STEWART TREVOR (NZ)
Application Number:
PCT/NZ1999/000004
Publication Date:
July 22, 1999
Filing Date:
January 15, 1999
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CAR COMPUTER COMPANY AUSTRALAS (NZ)
FROST WAYNE KENNETH (NZ)
COWL JEFFREY DAVID (NZ)
WINKLE STEWART TREVOR (NZ)
International Classes:
F02D41/26; (IPC1-7): G05B15/00; G05B15/02
Foreign References:
US5535620A1996-07-16
US5214582A1993-05-25
US5056026A1991-10-08
US4796206A1989-01-03
US4497057A1985-01-29
US4404639A1983-09-13
Attorney, Agent or Firm:
Hawkins, Michael Howard (Baldwin Shelston Waters NCR Building 342 Lambton Quay Wellington, NZ)
Download PDF:
Claims:
CLAIMS:
1. An engine management computer including: a base module suitable for providing controlling signals to the engine; and a daughter module suitable for providing controlling singals to the base module.
2. An engine management computer as claimed in claim 1 wherein the daughter module includes a microcontroller.
3. An engine management computer as claimed in claim 1 or claim 2 including a communication interface suitable for allowing an external computer to configure/reconfigure the engine management computer.
4. An engine management computer as claimed in claim 1 wherein the daughter module includes a serial communication interface for an external computer means.
5. An engine management computer substantially as herein described with reference to any one of the embodiments of the invention as shown in the accompanying drawings.
6. A set of engine management computers for use with a given set of engine types, the engine management computers each including first and second modules, wherein the first modules are each suited for use with a particular engine type of the given set of engine types and all of the second modules including substantially identical hardware.
7. A set of engine management computers as claimed in claim 6 wherein the second modules each include a microcontroller to provide control signals for the engine in accordance with embedded software.
8. A set of engine management computers as claimed in claim 6 or claim 7 and including a serial communication interface for an external computer.
9. A set of engine management computers as claimed in claim 7 wherein the embedded software includes a routine for providing control signals for fuel injection and initial advance and also includes a starter routine.
10. A set of engine management computers substantially as herein described with reference to any one of the embodiments of the invention and as shown in the accompanying drawings.
11. A engine management system which allows reconfiguration of an engine management computer including: an engine management computer which controls an engine according to stored configuration information; software which in use is run on an external computer; a communication interface associated with the engine management computer to allow communication between the engine management computer and said external computer; wherein the engine management computer is arranged suitably to communicate initial configuration information to the external computer and to receive and store updated configuration information from the external computer.
12. An engine management system as claimed in claim 11 wherein the software is arranged suitably to allow, in use, updated configuration information to be created by modification of the initial configuration information.
13. An engine management system as claimed in claim 12 wherein the software is also arranged suitably to allow creation of the updated configuration information entirely by the user.
14. An engine management system as claimed in claim 13 wherein the creation of the updated configuration information is done using a graphical user interface.
15. An engine management system as claimed in claim 11 which is arranged suitably to allow creation of the updated configuration information by reference to a predefined library of configuration information.
16. An engine management system as claimed in claim 15 which is arranged to allow reconfiguration of the engine management computer during operation of the engine associated with the engine management computer.
17. An engine management system as claimed in claim 16 in which engine monitoring information is communicated to the external computer.
18. An engine management system substantially as herein described with reference to any one of the embodiments of the invention as shown in the accompanying drawings.
19. A method for updating the configuration of an engine management computer including the steps of: interfacing an external computer with the engine management computer; receiving initial configuration information from the engine management computer at the external computer; sending updated configuration information from the external computer to the engine management computer to replace the initial configuration information.
20. A method as claimed in claim 19 in which the initial and/or updated configuration information includes a fuel injection map.
21. A method as claimed in claim 19 or claim 20 in which the initial and/or updated configuration information includes an ignition map.
22. A method as claimed in any one of claims 19 to 21 in which the initial and/or updated configuration information includes information from sensors associated with the engine.
23. A method as claimed in any one of claims 19 to 22 which includes creating the updated configuration information by modifying the initial configuration information.
24. A method as claimed in claim 19 which includes selecting the updated configuration information from a predefined library of configuration information.
25. A method for updating the configuration of an engine management computer substantially as herein described with reference to any one of the embodiments of the invention as shown in the accompanying drawings.
Description:
USER CONFIGURABLE BIMODULAR ENGINE MANAGEMENT COMPUTER The present invention relates to an engine management computer. In particular, it relates to an engine management computer which consists of two modules, one containing hardware specific to a type of engine and the other containing hardware generic to all types of engine which use the engine management computer.

BACKGROUND OF THE INVENTION Engine management computers or electronic fuel injection computers are commonly used and provide improved power, fuel efficiency and reduced engine emissions.

One of the disadvantages of conventional engine management computers is that is that the entire engine management computer is included in a single unit, or module, which is suited for use with one or a few types of engine. The manufacture, supply and stock handling of these units must cater for a variety of different engine management computers. More efficient manufacture, supply and stock handling could be facilitated if our computers include a module or modules that are standard for all applications.

A further disadvantage of conventional engine management computers is that they are generally suited only to wiring to a car at the manufacture stage and that they are generally only suited to interface with a narrow range of sensors. These constraints may render conventional engine management computers poorly suited to retrofitting in engines that are already assembled.

A yet further disadvantage of some conventional engine management computers and their accompanying tuning systems is that they are not suited for tuning or reconfiguration of their operation while the engine is running. Such systems are not adapted to send. information on the current operation configuration to an external computer to allow modification of that configuration. Rather, a new operation configuration must be sent to the engine management computer each time it is tuned or reconfigured.

Accordingly, it is an object of one embodiment of the present invention to provide an engine management computer that includes two modules, a base board, specifically adapted for a particular type of engine and a daughter board standard for all types of engine with which the engine management computer is used, or at least to provide the public with a useful choice.

It is a further object of a possible embodiment of the present invention to provide an engine management computer that is adaptable for use with a range of different engine sensors, or at least to provide the public with a useful choice.

It is a yet further objective of a possible embodiment of the present invention to provide an engine management system that allows tuning or reconfiguration of an engine management computer while the engine is running, or at least to provide the public with a useful choice.

SUMMARY OF THE INVENTION According to one aspect of the present invention, there is provided an engine management computer including: -a base module suitable for providing control signals to the engine; and -a daughter module suitable for providing controlling signals to the base module.

Possibly a communication interface suitable for allowing an external computer may be provided to configure/reconfigure the engine management computer.

Preferably, the daughter module includes a microcontroller.

Possibly, the daughter module may include a serial communication interface for an external computer means.

According to another aspect of a possible enbodiment of the present invention, there is provided a set of engine management computers for use with a given set of engine types, the engine management computers each including first and second modules, wherein the first modules are each suited for use with a particular engine type of the given set of engine types and all of the second modules including substantially identical hardware.

Preferably, the second modules each include a microcontroller and may provide control signals for the engine in accordance with embedded software.

Possibly, the engine management computer may include a serial communication interface for the external computer.

Preferably, the embedded software includes a routine for providing control signals for fuel injection and ignition advance and also includes a starter routine.

According to another aspect of one possibl embodiment of the present invention there is provided an engine management system which allows reconfiguration of an engine management computer including: -an engine management computer which controls an engine according to stored configuration information; -software which, in use, is run on an external computer; -a communication interface associated with the engine management computer to allow communication between the engine management computer and said external computer; -wherein the engine management computer is arranged suitably to communicate initial configuration information to the external computer and to receive and store updated configuration information from the external computer.

Preferably, the software is arranged suitably to allow, in use, updated configuration information to be created by modification of the initial configuration information.

Preferably, the software is also arranged suitably to allow creation of the updated configuration information entirely by the user. In one embodiment this may be done involving a graphical user interface.

Preferably, the software is also arranged suitably to allow creation of the updated configuration information by reference to a pre- defined library of configuration information.

Preferably, the engine management system is arranged suitably to allow reconfiguration of the engine management computer during operation of the engine associated with the engine management computer.

Preferably, the engine management computer is also arranged suitably to communicate engine monitoring information to the external computer.

According to a further aspect of one possible embodiment of the present invention, there is provided a method for updating the configuration of an engine management computer including the steps of: -interfacing an external computer with the engine management computer; -receiving initial configuration information from the engine management computer at the external computer; -sending updated configuration information from the external computer to the engine management computer to replace the initial configuration information.

Preferably the initial and/or updated configuration information includes a fuel injection map.

Preferably the initial and/or updated configuration information includes an ignition map.

Preferably the initial and/or updated configuration information includes information from sensors associated with the engine.

Preferably the initial and/or updated configuration information includes information from the engine.

In one possible embodiment the method includes creating the updated configuration information by modifying the initial configuration information.

In another possible embodiment the method includes selecting the updated configuration information from a pre-defined library of configuration information.

Preferably, the method includes receiving engine monitoring information from the engine management computer at the external computer.

BRIEF DESCRIPTION OF THE DRAWINGS AND APPENDIX Figure 1: is a circuit diagram of an oscillator module included on a base board according to the present invention.

Figure 2: is a circuit diagram of a serial communication interface which may possibly be included on a base board according to one possible embodiment of the present invention.

Figure 3: is a diagram of a non-volatile memory included on a base board according to an embodiment of the present invention.

Figure 4: is a circuit diagram of a reset circuit included on a base board according to an embodiment of the present invention.

Figure 5: is a diagram of a microcontroller according to an embodiment of the present invention.

Figure 6: is a circuit diagram of a relay/solenoid/motor coil driver included on a base board in accordance with an embodiment of the present invention.

Figure 7: is a circuit diagram of the power supply for the engine management computer included on a base board in accordance with an embodiment of the present invention.

Figure 8: is a circuit diagram of an injector driver included on a base board in accordance with an embodiment of the present invention.

Figure 9: is a circuit diagram of an igniter driver included on a base board in accordance with an embodiment of the present invention.

Figure 10: is a circuit diagram of a switch input/passive temperature sensor interface included on a base board in accordance with an embodiment of the present invention.

Figure 11: is a circuit diagram of an open collector transistor interface included on a base board in accordance with an embodiment of the present invention.

Figure 12: Schematically depicts the operation of the engine management computer in accordance with the present invention.

Figure 13: Schematically depicts the operation of the software operated on an external computer to reconfigure the engine management computer in accordance with the present invention.

Appendix A: Gives a schedule of possible communication protocol which may be used in a possible embodiment of the present invention.

Appendix B: Schematically depicts in more detail operation of the engine management computer in accordance with the present invention.

Appendix C: Schematically depicts in more detail operation of software operated on a external computer to reconfigure the engine management computer in accordance with the present invention.

DETAILED DESCRIPTION OF THE DIAGRAMS The present invention provides an engine management computer which consists of two modules. According to one preferred embodiment the first module consists of a base board which includes hardware specific to applications of the engine management computer to types of engines which incorporate it. According to this embodiment, the base board is designed to allow the engine management computer to be substitutable for existing engine management computers, either when the engine is being assembled or after the engine has been assembled as a retro fit. According to this embodiment, the second module includes hardware that is standard for all applications of the engine management computer. The second module may include a microcontroller which may run software that may be suited to a particular model of engine and also a serial communication interface standard for all applications. When fitting an engine management computer according to the present invention, to an engine, the specifically chosen base board is fitted with a standard daughter board. Therefore, a manufacturer would receive a supply of specific base boards and a supply of standard daughter boards.

The base board may typically include a power supply for the engine management computer, and a combination of: a relay/solenoid/ motor coil driver, an injector driver, an igniter driver, a switch input/ passive temperature sensor interface, a twelve volt signal interface and an open collector transistor interface.

The daughter module typically includes an oscillator circuit, possibly in one embodiment a serial communication interface, a non- volatile memory, a reset circuit, and a microcontroller.

The software used by the engine management computer may include embedded software to control start up, ignition advance, fuel injection, possibly communications, and diagnostic and possibly controlling/configuration software. If controlling/configuration software is provided it may have three different versions, a user version that includes facilities for parameter modification and to provide telemetry information, a workshop version which provides telemetry information, and a manufacturer version which provides a facility for setting up the sensors used in conjunction with the engine management computer.

The control and configuration software may typically be run on an external computer interfaced with the engine management computer.

Alternatively, a configuration tool, including a computer or microprocessor may be provided to interface with the engine management computer. In a preferred embodiment, the configuration tool is hand held.

Figure 1 shows an oscillator circuit 1 in accordance with a preferred embodiment of the present invention. The oscillator circuit 1 is included on the daughter board. The oscillator circuit includes a 32MHz 3rd overtone crystal 2 and two 22 picofarad capacitors 3. The two terminals of the crystal respectively connect two oscillator input pins of the microcontroller discussed below. The capacitors 3 ensure the stability of the clock frequency. It will be ctear to those skilled in the art that alternative oscillator circuits may suitably be substituted.

Figure 2 shows a serial communication interface 7 which may in one possible embodiment be included on the daughter board. The serial communication interface typically includes a MAX232 integrated circuit 8 and a 9 pin D-type female connector 9. Also typically included are four 1 microfarad capacitors 10 to 13 to generate the + 1 OV and-1 OV levels required for the RS232 serial signals. The integrated circuit 8 includes T1 IN 14 and R1 OUT 15 pins which are connected to corresponding pins of the microcontroller discussed below. The D-type connector 9 is, typically, located on the base board.

Figure 3 shows a non-volatile memory 17 which is typically located on the daughter board. The non-volatile memory typically consists of one X24C08S8 12C bus serial EEPROM integrated circuit 18.

The EEPROM integrated circuit 18 includes pins 19 and 20 which are connected to corresponding pins of the microcontroller discussed below.

The non-volatile memory circuit includes resistors 21 and 22 connected between the upper rail 23 at a voltage denoted by VCC and pins 19 and 20 respectively to provide a pull-up for each of the 12C bus signals.

Figure 4 shows a reset circuit 25, typically, included on the daughter board. The reset circuit, preferably, consists of a 1 kilo OHM resister 26 and a 0.1 microfarad capacitor connected between the voltage supply 23 ground, and a terminal connected between the resister 26 and capacitor 27. The RC time constant of these values is 100 microseconds providing approximately 400 micro seconds delay before the terminal 28 reaches a threshold voltage of the reset pin of the microcontroller discussed below. This delay allows that when the circuit is reset, the microcontroller program execution starts after a delay long enough for any transient response of the oscillator circuit to die down.

Figure 5 shows a typical microcontroller 30 included on or contributing the daughter board. The microcontroller shown here is a PIC17C756-PLCC. The microcontroller shown is a self-contained microprocessor and peripheral system. The following features of this microcontroller are used by the embedded software.

Analog to digital conversion.

Digital in/out.

Internal timer functions.

External hardware and internal timer/peripheral function interrupts.

On-chip 12C interface.

On-chip RS232-compatible interface.

The microcontroller 30 uses the analog-digitai converter to measure sensor voltages, the digital in/out to monitor switches and signals, the 12C interface to store information on the configuration of the desired engine management operation in non-volatile memory, and the RS232 interface to communicate with control and configuration computers, such as the configuration tool or a personal computer. An analog-digital converter included in the microcontroller allows it to receive both analog and digital signals which improves flexibility of the computer. Also, the analog-digital converters being in the same unit as the processor improves reliability.

The following drawings and corresponding descriptions relate to components of the base module. The base module is typically produced in a wide variety of forms, each being a mechanical replacement for existing engine management computers. These forms are typically configured individually for individual types or classes of engines. The base module must be combined with a daughter module to provide an existing engine management computer system for a vehicle.

Below is given a list of circuits included in different base boards: Relay/solenoid/motor coil driver.

Power supply + 5V directs current. injector driver. igniter driver.

Switch input/passive temperature sensor interface.

+ 12V signal interface.

Open collector transistor input interface.

Figure 6 shows a driver circuit 32 which includes two individual drivers 33 and 34. Each driver can drive an individual component connected to the terminals 35 or 36. The driver circuit includes two power transistors 37 and 38, typically BC817 transistors, and two shunt diodes 39 and 40, typically BAV70 diodes. Each transistor circuit shown can drive a continuous load of up to 500 milliAmps. The diodes 39 and 40 are included to dissipate any voltage spikes produced when current to any inductive load is switched off. The base of each transistor is driven directly from the microcontroller via a 220 resistor.

The circuits are used to drive solenoids, relays and stepper motors used to manage the function of an engine. The driver circuits are typically suitable for driving high or low impedance elements.

Figure 7 shows a power supply 42 used to power both the base module and daughter module. The power supply 42 is typically included on the base module. The power supply shown consists of a D44C10 power transistor 43, the base of which is connected to a 5.6 Volt, 5 Watt zener diode and a 470hm, 2 Watt resistor 45. Also included is a 1 N4148 diode 46 and a C101 16 Volt, 470 microfarad capacitor. The resistor 45 supplies the base current for the transistor 43 and biases the zener diode 44. The emitter of the transistor 43 cannot rise above 5V without turning the transistor off and thereby regulation of the output voltage VCC at terminal 48 is achieved. This is because the base/ emitter junction requires approximately a 0.6 Volt forward bias. The diode 46 prevents the transistor emitter voltage from rising above the collector voltage when the battery voltage drops. The capacitor 47 provides a current tank to provide a very short duration of high current when required by the direct current to direct current converter circuit in the MAX232 integrated circuit 8. The capacitor 47 also serves to filter noise. De-coupling capacitors (not shown) of 0.1 microfarads are also, typically, placed near the various integrated circuits to assist in supplying noise suppression. It will be apparent to those skilled in the art that an alternative power supply circuit, or circuits, may suitably be substituted and that alternative noise filtering arrangements may be substituted.

Figure 8 shows an injector driver 50 included on the base module.

The injector driver typically used is a MC33293A which is a four channel, integrated MOSFET driver with fault detection. The maximum output at pins 51 to 54 is 3 Amps and all outputs are internally clamped to a maximum of 65 Volts. Each channel, connected to pins 51 to 54 respectively is driven directly from the microcontroller, via a 1 kilo Ohm resistor, not shown. The fault output 55 is connected to an input on the microcontroller. The mode selection pin 56 is connected to ground, which selects individual drive mode. The fault output 55 is active under the following conditions: Open circuit load with output off.

Excessive output current.

Open circuit load with output on.

Figure 9 shows an igniter driver 62 which is, preferably, included on the base module and also, typically, includes two individual igniter circuits 62 and 63 having respective outputs 64 and 65 and respective inputs 66 and 67 which may be driven directly from the microcontroller 30 via 220 Ohm resistors, not shown. Each individual driver circuit may drive a continuous load of up to 500 milliAmps. The shunt diodes 68 and 69 are included to dissipate any voltage spikes produced when a current to any inductive load is switched off. In use, the driver circuits drive solid state ignition coil drivers which may be Bipolar, Darlington or MOSFET.

Figure 10 shows a switch input/passive temperature sensor interface which is, preferably, included on the base module and which receives inputs from various temperature sensors and switch inputs associated with the engine. The interface 71 a, typically, consists of a series of input terminals 72 respectively connected to a series of 1 kilo Ohm resistors 73, in turn, connected with the voltage supply at voltage VCC23. This arrangement provides half a resisted divider for passive temperature sensors or a pull-up for switch inputs.

The microcontroller 30 includes a 12V signal interface which includes a single shunt resistor connected to the microcontroller input and the 12V signal. The microcontroller inputs are internally clamped to five volts, typically a 1 kilo Ohm shunt resistor is used so that the current through the resistor is 7 milli Amps when the signal is at 12 Volts.

Figure 11 shows an open collector transistor interface 75 which is, also preferably, included on the base module. The open collector transistor interface includes a 1 kilo Ohm resistor 76 connected to the voltage supply VCC to provide a pull-up for the open collector. The interface 75 has an input terminal 77. Also included is a 100 Ohm resistor and 0.1 microfarad capacitor which collectively form an RC low pass filter having a time constant of 10 micro seconds to suppress noise.

The engine management computer, typically, is housed in a case that is arranged to act as a Faraday Cage. Also, substantial energy spike and surge protection by way of suitable transorb or varistor devices.

The preferred embodiment of the engine management computer includes an engine monitoring function which is conducted by the various engine sensors. Typically, the engine monitoring is done over a range of RPM of 0 to 15000RPM at 150RPM spacings. Information on the monitored engine can be sent by telemetry or other suitable means, to a user interface or an external computer. This information may be used to allow real time tuning of the engine management computer while the engine is running.

The microcontroller 30 runs one of two forms of embedded software, one for the modular system described above and one for a one piece system according to an alternative embodiment of the present invention.

The version produced for modular systems is designed for maximum flexibility, and the version for one piece systems is designed for maximum performance (up to 15000RPM). Each system uses the same communication protocol which is OBDII compliant.

The software has the following sections: Start up.

Ignition advance.

Fuel injection.

Communications (when provided).

Diagnostics.

The start up section is executed by the microcontroller immediately after the power is applied. The microcontroller partially configures itself, then reads the non-volatile memory to determine if a valid sensor set up pattern exists. If there is no sensor set up, the microcontroller waits for one to be sent from a host PC. When a sensor set up message is sent, the microcontroller saves it in non-volatile memory, then restarts itself to use the new loaded sensor setup. When the sensor setup is read from non-volatile memory, the microcontroller configures itself according to the bytes read. The in/out pin types are part of the sensor setup pattern.

Next, the control relay output is switched on. The system waits for the ignition signal to be switched on. When the key is turned on and the ignition signal appears, the fuel pump output is switched on. The engine cycle timer is started at this point, this measures the time taken for one engine cycle. If the engine is not yet rotating, and the timer overflows, which takes 1.05 seconds, the fuel pump is switched off.

The system now awaits for a crank angle signal, which indicates that the engine is rotating. The fuel pump is switched on and the engine cycle time is also started when this is detected.

The ignition advance is calculated in the main program loop.

The engine Revolutions Per Minute (RPM) is calculated and the RPM/ advance value is obtained from the non-volatile memory 17. Each sensor is monitored and a corresponding adjustment made to the initial ignition advance value by reference to values stored in the non-volatile memory 17. The result is stored in the non-volatile memory 17 as the current ignition advance value. When the Top Dead Centre (TDC) sensor indicates that a cylinder firing position is approaching, the current ignition advance value is subtracted from the angle between the TDC signal and the 0° firing point. The resulting angle is converted to a delay time, calculated in micro seconds, based on the engine RPM. This calculated delay time is then loaded into a timer which is started and the correct igniter for the current cylinder is turned on via the igniter driver circuit 62. When the timer has finished counting out the calculated delay time, the igniter is turned off. The above sequence occurs for each cylinder in turn.

Fuel injection may be calculated in two different ways in the main program loop. If a standard fuel map method is selected, the engine RPM/injection time value is obtained from the non-volatile memory with reference to the calculated engine RPM value. Each sensor measurement value is used to make the corresponding adjustments to the initial injection time value and the adjustment values are stored in non-volatile memory. The result is stored as the current injection time value in the non-volatile memory 17. As usual herein, the term fuel/ignition curves and fuel/ignition maps are used interchangeably and refer to any relationship between the fuel injection/ignition spark, and any other given parameter of the operating engine, such as the Revolutions Per Minute rate.

If a closed loop operation is selected, the fuel injection time is calculated by a fuzzy logic routine based on the outgoing emission level, the engine load and the throttle position. A lambda or oxygen sensor, is required for this mode of operation. When the Top Dead Centre (TDC) sensor indicates that a cylinder is approaching Top Dead Centre, a timer is started. This timer is loaded with a preset value to time 100 micro seconds. In sequential injection mode, which is selectable, a counter for the given cylinder is loaded with the injection time value and the corresponding injector is turned on. In grouped injection mode, all counters for all cylinders are loaded with the time value, but are only activated once per second engine revolution, at which time, all injectors are turned on. Each time the counter overflows, the counters are checked and any that do not register 0 are reduced by 1. When each counter for each cylinder reaches 0, the corresponding injector is turned off. This operation allows a single timer to control more than one injector to be on at any given time. The communications when these are provided are performed via the RS232 port on the microcontroller. It is, typically, free running without any hand shake. A 500 microsecond inter-character delay must be concluded with any data transmission into the system. A 50 microsecond inter-character delay is included with any data transmitted from the system. Messages must conform to the communications protocol included in Appendix B. Telemetry and memory dump messages originating from the system which are purely used by the controlling configuration software run on a host computer are not transmitted in readable form.

On-Board diagnostics are provided and conform to the On-Board Diagnostics Two (OBDII) standard. Fault codes can be obtained by shorting the correct diagnostic pins and noting the flash pattern of the engine emission light in the dash board. If no emission light exists, the flash pattern can be viewed at the system where a LED is visible and flashes the same pattern. The control and configuration software may be used to obtain a more detailed diagnostic report.

The non-volatile memory of the modular engine management is divided in three sections corresponding to operational maps for fuel and ignition advance identification information of the sensors and their configuration and the engine configuration in terms of firing order and such like.

The non-volatile memory of the one piece system is divided into only two sections corresponding to the operational maps and the engine configuration. Sensor configuration is fixed and the engine management computer only requires information on which sensors are connected.

The engine management computer may be reconfigured or tuned either when the engine is running or when it is shut down.

Information on the configuration or current tuning of the engine management computer is sent to the external computer used to re-tune engine management computer. This information may typically include ignition or fuel curves/maps, information of the model as special features of the engine and information on the sensors or drive is included with the engine.

If the engine is running during tuning, the information on engine parameters may be continually sent to the external computer by the engine management computer. Tuning may consist of receiving this information, particularly ignition/fuel maps and information from the engine monitoring and on board diagnostics operations of the engine management computer, then modifying the ignition/fuel curves and these replacing the original curves with the modified curves. According to a preferred embodiment, the curves may be modified by shifting one or more data points located along the curve. Reconfiguration software operated on the external computer may then create a new curve incorporating the new data points by extrapolation, interpolation, curve fitting or any other method known to those skilled in the art. The tuning process will typically be iteratively repeated to achieve optimal tuning.

The ignition/fuel curve sent to the engine management computer may be saved on the external computer for later reference.

Also, the external computer may be provided with a library of ignition/ fuel curves suitable for various engine types, engine applications or sets of sensors associated with the engine. This may be necessary where a sensor or driver associated with the engine fails necessitating the need to replace the fuel/ignition curves or operating configuration of the engine management computer for optimal operation of the engine given the failure of the component. According to a preferred embodiment of the present invention the software which is operated on the external computer is Windows 95 (TM) compatible.

An overview of embedded software of the engine management computer is shown in Figure 12. After start up task 1 101 proceeds to step 102 where the setup is loaded from the memory which is, typically, an EEPROM memory. At step 103 the outputs are initialised at predetermined start positions. At step 104 tasks 110 and 120 are initialised. At step 105 measurements are taken froni the various engine sensors. At step 106 the ignition advance and fuel injection parameters are calculated. At 107 signals and inputs into the engine management computer are processed and then the process returns to step 105 forming a loop with steps 105,106 and 107.

When initiated by task 101 and coincidence of a cylinder being at top dead centre task 2 110 moves to step 111 where a fuel injection pulse occurs. Next, step 112 is initiated and an ignition pulse occurs, before task 2 110 halts. Upon initiation during task 101 and upon the engine crank being at a predetermined angle, which is determined by a dedicated sensor, task 3 120 moves to step 121 where the firing order of the cylinders is set. Next, the engine cycle time is calculated at step 122 and then the cylinder cycle timer is reset at step 123 before the task 2 120 is halted.

The operation of software for the control and configuration of the engine management computer by way of an external computer is shown in Figure 13. This software is, typically, operated on the external computer. Initially, the main page 150 is arrived at via an introduction step 151. From the main page the edit engine parameters page 152; save file page 153 for saving files; open file page 154, for accessing files; fuel injection maps page 155; ignition maps page 156 and communications page 157 may be deceased. A map editor page 158 may be accessed from either the fuel injection maps page 155 or ignition maps page 156 and a map point editor page may be accessed from the map editor page and allows that points be edited in a current map 160. Help screens 161 may be shown from the map editor page 158. From the communications page 157 maps may be uploaded 162 or downloaded 163 and telemetry information may be sent or received 164 to or from the engine management computer. Files containing maps may be loaded 165 from the open file page 154 and saved 166 from the save file page 153.

The present invention facilitates the flexible supply of engine management computers for a range of different engine types. The use of a module common to all engine types facilitate economical supply of engine management computers.

The present invention also provides an engine management computer which is conveniently reconfigured to tune the engine of a car, for example, with the use of an easily accessible external computer or configuration tool during operation of the engine.

Where in the foregoing description, reference has been made to specific components or integers of the invention having known equivalents then such equivalents are herein incorporated as if individually set forth.

Although this invention has been described by way of example and with reference to possible embodiments thereof, it is to be understood that modifications or improvements may be made thereto without departing from the scope of the invention as defined in th appended claims.

APPENDIX A Communications Protocol Message Format Overview An message trafic to and from the system is in the following format: ilHeader I Message Type I Address I Content I Termmator Header/Terminator FE (254) Message Header Character FF (255) Message Terminator Character Hex(Dec) Message Types 01 (01) Single Parameter Change Message 02 (02) Telemetry Message 03 (03) Sensor Setup Message 04 (04) Parameter Set I Change Message 05 (05) Parameter Set 2 Change Message Hex (Dec) Device Address This can be any number from 0 to FD (253) and for a given system is set when a sensor setup message is received.

Message Content Message Type Description of Bytes Number of bytes 01 Address of parameter I byte New value 1 byte 02 On or Off Command (0 or 1) 1 fi-te <BR> <BR> <BR> <BR> <BR> 03 Type of injection 1 byte<BR> <BR> <BR> Type of ignition 1 byte Number of analog channels 1 byte Injection angle from top dead centre 1 btyte Ignition reference point 1 byte Number of cylinders 1 byte Dwell time 1 byte RPM limit 1 byte Speed limit 1 byte Advance angle during cranking 1 byte <BR> <BR> Cylinder numbers in firing order 8 bytes (unused positions must be 0)<BR> <BR> <BR> <BR> Sensor type table 46 bytes Sensor address table 71 bytes 04 RPM Injection Table 100 botes RPM Advance Table 100 butes MAP Sensor Injection Table 25 botes MAP Sensor Advance Table 25 botes RPM Limit byte1 CutPoint1byteCoastInjection Clutch Injection Cut Point I byte Speed Limit Point 1 byte Turbo Boost byte1 Shift Light byte1 05 Coolant Temp Injection Table 21 bytes Coolant Temp 21bytesTable Air Temp Injection Table 11 byes Air Temp Advance Table 11 byes Air Flow Injection Table 26 b,-tes Air Table26bytesAdvance Lambda Sensor Inject Taole 21 bstes Altitude Injection bytes21 Air Conditioner 1byteLevel Value1byteCrankingInjection Cranking Advance byte1 Clutch Cut Throttle Level 1 value APPENDIX B CycleMainProgram y Load Setup Fom From into EEPROM EEPROM OndY------ Yes Yes Y i I. Set Up', Is a Setup No Has &etup: Outputs and aded ? B No NO No I Oulputs to ( Reset Start' Counters Position,. : Wait 5 I and Start and 1 Seconds : -tiers 'PowerOn : : '':. Read :.- Sensors and I Action StoreMessage Results' H ! No r hais No__ Messaae-Yes-.-'s'taSetup\Y_ Timers and Been Sent : Message ? AIIutputs Off w BeenSent ? Action Return Frorrt Interntpt Interrupt ".... a,.. :... P P ' :,." FromEEPROMReadSetup .. ;... ;.. . iiikf:: ii> yte m Send Slave Counter Address Coni ks..,- ------ r---jL Memory Send ACK Send. Stop . 4- No Memory! 'p Send Stop No ACK: Address Condition Received ? Pointer v. Nô tes Nu r I i Receive Send Word Decrement Address No NoBute Byte Data I/ACK ACK.. Bute Table Start Address) i ! ! \- \./Address) I No Yes i r 1.., 'Stoe Table i Is Byte , Counter=0 ? Memor Read i Address i p Yes ! f Send Stop Condition I i Finish , \,, \ Write EEPROMInto Load Page a : ;. , :. :.., ; :..... ;. A. ;. Loa I Ier. : > j age Counter Byte Counter Address Yes , Yes Y w conter) I Memory I Send Stop No Address i Condition pointer' ' ! Yes 1 ; 'i I i Send Slave./'I i Send Start r p j Address and Finis ; i frite Condition ; v i v Yes Yes Yes Yes -AC Send Stop No/ACK Yes-),. No/Page Byte nôin bute rye Yes No No No yens Send Word Address i (Memory/ACK Decrement Address Received ? Byte ver ? Table Start) Yes ! I r Load Page Send Byte i Decrement Memory Byte Data (Setup Page Byte Address Counter Tbile) Counter v v andStartTimersResetCounters / (Reset ! Reset : :> : ; ;"' ». : : : t:::::. s:;:;.. Timin C linder tte Counter'4 Counter ,, Y.. si,"...", _. _.. _. _ J r i Reset Rotation Counter ! i I Reset Putse Time Counter i Time . Reset Speed Pulse Counter I I r I Reset Air Flow Pulse Counter t ! Setup Base Start Base Timer Finish tirer StartPosition,Outputsto OutputPowerOnSensorand 0 :-Start' , 1. i Ignitor Injector Drives Otf Drives Off I Set ISC f rISC Motor Yes Stepper __________ -sPresent ?,/t Vaive to No Fully Open No No i Set Injection Open ISC Time to Turbo ? No \Present?. Solenoid Canking .. t Value Value Yes Nu nô t Waste Gate Sensor and Solenoid Output Ciosed | Power On ,, I v Finish 0 \ andStoreResultsReadSensors .. Read and Store Store' Frequency &tart/MAP Sensari No or Analog I t,.. , Air Flow : value Value Yes y Read and Read and Store. St re AP i Store MAP | <4FI>Yeso'hl orAnaiO9 ; 0Sensor A Flow 2 ? Yes--'orAnalog :.- Value Flow nô Value o Read and StoreAir Y Sensor Temperature ? Value No ! ! i Read and Read and Store 'Coolant Store Turb .. Store Turbo Collant- Value Value Value No Rend rand Spore Store y s Lambda. Sensor"Sensor ? Value-; No f- ? r Finish 1 w ActionMessage n sStart I i. 9>. ;,',} > ;. <Start I Telemetry S af Timer \:;, : : _ : : : : : :.. :... : : : : :, :. :,- ' ;'iS., 7- ; 'Yes 'Yes i rimer Yes Telemetry-Telemetry Message7,'. On ? N° Telemetry Timer Timer \ 1 1 XUpdate ! Write Message ? Parameter i > Parameter to Table i EEPROM i' i i Assemble /Diagnosttc\ _ a"d /Diagnostic and \:/Message Diagnostic- Message , i I Transmit Clear ErrorError Message ! Message i Buffer I x,,. i' Finish j ,. \ fX ;. 'd~., ; X ment Base Timer Yes, gase Interrupt ? i No No Action Peripheral Yes interrupt and InterruptInterrupt and Clear-I Request = No Finis I i Fi; Finish, ActionInterrupt Interrupt&ActionPeripheral Clear Request ; v ;..' :" ; : s rt'- : :. : -input , : " -Seriat Input Analog s : l2C Receive. : : Changed... Conversion Inierrupt ?' uffer Full7, State ? : :- Complete9 te ? ! > ,,, ; Seiect Store Set Set : Interrupt :. I Analog | Appropriate HandshaXe _ . pg Action Value Flags , : ! I i i I I i Read and Store Byte ; I Message Set t I ; Timer Message I Set Message Interru t? . Terminato9 Flag s f v il i; I i I Increment ----* Finish Appropriate i Timer , J StoreFrequencyorAnalogReadand SignalAirFlow start stärt A.. i 'Begin Next Sensor Set pnaog Analo Sen r ? hinnel Conversion zon i I--W 1 ? rend rad Current Air Current Air Air Flow Flow Pulse Count Fiow Analog Value V- REND Rend Current Air Convert to Flow Pulse', 0-100, Count Scale Channell Store Value Finish s s Finish.

StopandAllOutputsOffTimers . ; h. « X. ; \\ star. i l f i Output and Sensor Power Off _i , = i Injector Drives Off J r {- \ I Ignitor DrivesOff I"1, l Stop Base Timer ~. Finish ,. v \ APPENDIX C: ,,,., : ; Edit E gine ICOmmunicaitons t I. n ,'I Perametecc. l Manifoll I nillon M p v v. _ _ . a.".; Ih ectlon Ma s. ^: RPM..: (gnltlon Maps'.'ManNold Vacuum Coolant Temperature Videz /EnterFlle Air Temperalure :---------- Name Enter File Nase Flou p'r t, ; Turbo Boost "' Enabie Ok. da Factor Setup Pages Open Configuration File select FllelEnle File., Nome Save Conllgurallon FlleCencel"' Manifold Vacuum Coolant Temperalure------- Coolant Temperature ° &elecled 0 Air.Flow ; :Turbo Boosi ; : Select File/Enter File Enter File Set Up Name. Name Graph for Cancel ° N Map y Over Y Over.--. "G: Write ?' N? 1..- L j MapEdnor __ senoea Folle Edlt Engine . Pa e e ers parameters Coarse/Fine"'"''CoeraelFine"Coarse/Fine v Coaree/Fine .. Coast Injection Cut Down,,., Shift Light-evel Down CdaraelFine. '°''v S,. : CoerselFlne T°w ' CoaraelFlne'F r^- ^v : CoarsalFfne ,,/\/\\"/\ t eut Idle/ile Spas R6 Llmii Rev Limit ast Ci, !',/Coast Cut >-\ "d :- Level ,/\/ \ Rev Coas) ! Shift . /\ Idle Idle Speed a\ Rev Umil = Llmit < :'\ oeat Cut aCut < (Idle 8hift LightAhevel < l 8peed a 150' 1509 l (Id ; e150 ea.. (dle Speed a, (de150) ed gPeed >SPe' (Id ; ., (Idle &peed j d+150 ' °.,. i U \°'%'', so) :--.,., so,, \ f a i Aevel Up Select RPM Mods L 'cocu A/C Cut Level Dow :./o..., Select Throttle Position. CoarselFine Mode = RPM Menltold Mode (AIC Cut) M. /? \vaut /.. :. 'Mode (A/C Cut) :. AIC Cut. AIC Cul \. . ; :' : A ! C Cut. : :.. IA/C Cut. :, : ; A Cut'-E ; 4 ; Selact Alr Flow Mode Made (A/C Cut) '.. Nona :. 150009 Levsi 98% Level > E-J Level ».,... ;. Lsval = : (AIC Cul). 100% ?/None', L-,/ i \,/ A ! C Cut \-=AIC Cut F' : f ; ;-.- ; ;. Edit Crank :Nô Lsvsl. (Idle 51 5,. _ < 4%". Level 4%'Cut Mode' $pd i 150) SPeed t't, !.., Level « 0%. SpeedNon Le /./\r :,/ r Parameters, N , :'Crank Inj. Time< Crank Inj.- OmS7, Y/Tlme ; OmS/ \./ 1IN JN Crank Injectian Time Up ik' Crank InJ.' Coarse/Fine > :, : _ \ time > i".. : Time = Co. r. e, Fi. Crank Injection Time Down ;' r .''". , Ctank Advance-Angle. Up"%ank Adv Crank Adv.z cote rX \ degrees Crank Advance Angle ! v. 8 ne Crank Adv. Crank Adv. ; : : Angle < 0.. Angle = p :. \degress _'degrees- N ... ii ; kt'e7. apEditor: « e Ui p ; au--7 Confirm - i- 'son 1, -'Valid Poi First Point'0 point A A/A , L.,. Sho v Ha Sho H) p ot>-e. n Double-CIkit) W +'w- I N LN | N :,, _. : \ _ y : Clicked9. :' ygelseted9 y'y _ w : &eleeted9 =°"Left Doubie-Click."i IN ...... ele tison Valid Point Ra -;cDeited?"< tFoiw f : Huhl ! ghl S Redo IN I N r ;s, Undo'rmD"',U d L.. __ _ k'^ : :.. :a x, = s', 7-.-''" 2y'Edlir. '\F ? j''. s-tr . undo Lazi'/ +-, r> n, Re f : Redaw Graph Lar , ^ Zoom In fir u., : Graph Large --y ; :.i&lie., ++_.oom Out h S. 117- '