Apparatus and method for modifying control of an originally manufactured engine control module
RELATED APPLICATIONS 
     The present application is a continuation-in-part application of application Ser. No. 08/205,686 filed Mar. 3, 1994, now U.S. Pat. No. 5,446,665 entitled &#34;Automotive Multiple Memory Selector Apparatus,&#34; which is a continuation of Ser. No. 033,040 filed Mar. 18, 1993 now U.S. Pat. No. 5,293,317, which in turn is a continuation of Ser. No. 830552 filed Jan. 30, 1992,now U.S. Pat. No. 5,200,900, each of which are expressly incorporated herein by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The invention relates to the field of electronic controls for automobiles, and more particularly to the modification of the originally installed and manufactured electronic control modules for internal combustion engines. 
     2. Description of the Prior Art 
     Most automobiles have engine functions controlled by onboard computer chips. Air/fuel mixture, timing, temperature and RPM are input into an onboard computer which then calculates the desired engine timing, fuel injection and other control outputs according to a prestored fixed program. 
     In addition to control of engine parameters, control of anti-theft features, choices of fuel in an alternatively fueled vehicle, and a wide variety of passenger comfort, and safety functions are similarly controlled by onboard computers. In particular, the computer which controls the engine performance is variously referred to as an engine control module, ECM, vehicle control module, VCM, powertrain control module, PCM, or engine control unit, ECU, are used to control the engine, transmission and braking functions among others. For the purposes of this specification all types of electronic control circuits which are used to control the engine will be collectively defined as &#34;engine control modules&#34;. 
     In virtually all engine control modules, an input/output port or means of some type is provided which allows communication between the onboard computer and exterior sources. The input/output port is sometimes referred to as a diagnostic port and is used primarily for engine, powertrain or transmission diagnostics and error detection, or is referenced as emulation port which may be used both for diagnostic purposes and to input various test protocols into the onboard computer for purposes either testing that computer or other automotive systems controlled by the onboard computer. 
     Regardless of how sophisticated or intelligent the onboard computer system program is, it invariably arises that there are additional functions which should or can be performed, or that the vehicle in certain applications will need to be customized to perform differently than originally intended or designed. For example, most engines and systems are originally devised to burn one type of fuel, such as gasoline or diesel. In certain applications, the same engine can be converted through appropriate conversion of the computer system to burn alternative types of fuel such as propane, compressed natural gas or liquefied natural gas. In fact, the vehicle must be reconfigured in the field, or possibly even when operating, to switch between alternative fuels or various alternative fuels either automatically through sensor feedbacks, preprogrammed feedbacks or through manual control. 
     What is needed then is a simple system which can be retrofitted to an originally manufactured engine control modules, which are mass produced originally for other purposes and functions. The method must not only be simple and economic, but also must be able to convert the originally manufactured engine control systems without substantial modification or alteration of the original designs. 
     BRIEF SUMMARY OF THE INVENTION 
     The invention is an improvement in a vehicle having a predetermined combination of operational elements for controlling vehicular operation according to at least one originally provided program. The predetermined combination of operational elements is defined in a fixed system having a bus with a predetermined operable design for operation of the vehicle. The elements of the system are controlled by an electronic control module according to the originally provided program. The electronic control module is coupled to the bus and is exteriorly accessible for at least diagnostic purposes. Typically, exterior access is achieved either through a diagnostic or emulation port, or directly through a portion of the engine wiring harness. The improvement comprises a universal module externally coupled to the bus for arbitrarily reconfiguring programmed control of the electronic control module regardless of the design of the system in which the electronic control module is employed. The universal module permits selection among a plurality of additional operational protocols not originally included within the fixed system design. The universal module comprises a plurality of preprogrammed memories. Each of the memories stores at least one additional program for use in controlling operation of the vehicle in a distinguishable protocol in addition to those provided by the originally provided program and in lieu of control provided by the originally provided program. A control circuit is coupled only to the plurality of preprogrammed memories and selectively communicates one of the plurality of preprogrammed memories to the electronic control module. The operation of the vehicle is changed by the control while the vehicle is in transit and thereafter becomes controlled according to the additional program in the selected preprogrammed memory in lieu of the originally provided program. As a result, the vehicle is caused to operate in a protocol selected from among a plurality of alternatives available in the plurality of preprogrammed memories. 
     The control circuit comprises a circuit for sensing a plurality of operating conditions. The selected protocol causes the vehicle to operate in a manner consistent with the sensed operating conditions according to the selected protocol. The control circuit also comprises a circuit for selectively operating the vehicle without selection of one of the plurality of preprogrammed memories. 
     In one embodiment the control comprises a circuit for disabling the originally provided program memory and controlling the computer according to one of the plurality of preprogrammed memories. 
     In another embodiment the control circuit comprises a circuit for erasing the originally provided memory and writing a new program into the originally provided memory from one of the preprogrammed memories. 
     In the illustrated embodiment the vehicle includes an engine and wherein the programs stored within the plurality of memories are operating parameters for engine performance according to fuel burned within the engine. 
     More specifically the control circuit comprises logic circuitry for generating a plurality of memory enable signals and a control switch or circuitry for allowing selection of one of the plurality of memory enable signals. The selected memory enable signal is coupled to the plurality of memories for selecting one of the memories for operation of the vehicle. 
     The invention is alternatively characterized as an improved automotive computer for controlling engine performance comprising a first computer for providing control signals to the engine. The control signals comprise engine operating parameters. A plurality of memories are coupled to the first computer for providing a plurality of originally provided programmed modes for operating the engine. A bus is coupled to the first computer and the plurality of memories. A diagnostic/emulation port can be coupled to the bus to permit communication with the bus from exterior sources. The first computer, bus and plurality of memories are combined to provide a fixed system of control to the engine. The fixed system has an originally provided fixed selection of programmed modes for operating the engine. A control circuit is coupled to the bus through the diagnostic/emulation port to select one of an additional plurality of programmed modes from the plurality of memories for operating the engine. The selected one of the additional plurality of programmed modes is not one of the originally included ones in the plurality of memories. The memory having the additional programmed modes is coupled to the first computer to control the operation of the engine during actual transit. The engine or other function is controlled according to selection among the plurality of programmed modes. As a result, engine operation is made responsive to the control. 
     The control circuit in one illustrated embodiment comprises a second computer coupled to the plurality of memories and to the first computer. The second computer selectively generates a plurality of memory select commands. The control circuit comprises a circuit for allowing selection of one of the memory select commands according to the sensed operation of the vehicle. 
     In another embodiment the automotive computer control system further comprises a plurality of sensors coupled to the second computer for communication to the first computer according to the selected one of the modes corresponding to a selected one of the memories. 
     The improved automotive computer control system also further comprises an input circuit for loading operating parameters into the second computer for communication to the first computer for control of the engine. 
     The engine is originally provided with the first computer coupled to one of the plurality of memories. The remainder of the plurality of memories and the control circuit are coupled to the first computer and the one originally provided memory through the diagnostic/emulation port. The diagnostic/emulation port is also originally provided with the first computer and the one memory. As a result, retrofitting the enhanced automotive computer control system to the originally provided first computer control circuit and the one memory is simplified. 
     The invention is also a method of controlling an automotive computer comprising the steps of providing control signals to an engine from a first computer. The control signals comprise engine operating parameters. A plurality of originally provided programmed modes are provided for operating the engine from at least one originally provided memory coupled to the first computer. A superseding signal is communicated to a bus coupled to the first computer and the plurality of memories through a diagnostic/emulation port or harness coupled to the bus from an adapter module. The superseding signal alters control of the engine by the first computer. The engine is selectively controlled by means of the first computer through a selected one of an additional plurality of programmed modes provided by the adapter module. The selected one of the additional plurality of programmed modes is not originally included in the originally provided memory. 
     In one embodiment the step of selectively controlling the engine is automatically performed in response to detection of a condition exterior to the engine, such as the need to make a fuel conversion. 
     The invention and its various embodiments may be better visualized by turning to the following drawings wherein like elements are referenced by like numerals. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a diagrammatic block diagram of a first embodiment of the invention wherein the engine control module, ECM, is accessed through a separate input/output diagnostic/emulation port. 
     FIG. 2 is a diagrammatic block diagram of another embodiment of the invention wherein the ECM is directly accessed through the factory harness which is coupled to the ECM bus. 
    
    
     The invention and its various embodiments may now be understood by turning to the following detailed description. 
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     Conventional control modules, such as vehicle control modules, VCM, powertrain control modules, PCM, or engine control modules, ECM, provided with diagnostic and/or emulation ports, or simply with portions of the wiring harnesses which are devoted to diagnostic or emulation functions, are retrofitted with an adapter module which allows the originally manufactured control module to be reconfigured to operate in a dramatically different protocol without any system redesign. The memory within the originally manufactured control module can be disabled, bypassed or rewritten to store a new program contained in one of a plurality of programs in an adapter memory or contained in one of a plurality of memories in the adapter module. One application includes retrofitting conventionally manufactured gasoline or diesel vehicles to run on alternative fuel, such as propane, compressed natural gas or liquefied natural gas and the like. 
     FIG. 1 is a simplified block diagram which illustrates a control module for an internal combustion engine, generally denoted by reference numeral 10, which may be variously designated in the industry as a vehicle control module, VCM, for controlling performance of the engine, transmission and antilock brakes, a powertrain control module, PCM, for controlling the engine and transmission functions, or an engine control module, ECM, for controlling engine performance only. Each of these and similar types of control modules will simply be referenced as engine control module 10 in FIGS. 1 and 2. 
     In FIG. 1 control module 10 includes a central processing malt 12, CPU, which is coupled to a memory 14 by means of a shared data and address bus 16. A separate input and output port is also coupled to bus 16 and defines an independent diagnostic or emulation port, symbolically denoted by arrow 20. The originally intended purpose of diagnostic/emulation port 20 is to provide a circuit for diagnosing or error checking the various functions which control module 10 is to control, or to input test signals to cause control module 10 or other subsystems within the automobile that control module 10 controls to perform in a predetermined way. The performance of these subsystems can then be checked to determine not the actual functioning of the control module 10, but the subsystem in question. 
     Bus 16 is also coupled to engine harness 22, which is then hard-wired into the plurality of subsystems which control module 10 is intended to control. 
     Thus far, the description of control module 10 describes what is conventional and existing in originally manufactured automobiles. It is not the intention of the original design of control module 10 that it be operated in any different mode than the protocol that is stored in memory 14, which may be understood to include a plurality of onboard memory chips or a plurality of programs in a single memory chip. 
     In any case, the control module adapter of the invention, generally denoted by reference numeral 24, is coupled through diagnostic/emulation port 20 to switch, erase, substitute or otherwise perform the function of memory 14 and/or CPU 12 within control module 10. 
     For example, in FIG. 1, adapter module 24 is shown as having its own data/address bus 26 coupled to diagnostic/emulation port 20. Bus 26 in turn is coupled to one or more preprogrammed memories 28, which in turn are coupled to an adapter control bus 30 to which a control circuit 32 is connected. Control circuit 32 is also coupled to data/address bus 26 communicated to control module 10. The structure of adapter module 24 can be substantially varied from what is diagrammatically shown in FIG. 1 and may include any of the embodiments described in greater detail in the above-denoted parent applications which are expressly incorporated within the present continuation-in-part application. Therefore, further embodiments and details concerning adapter module 24 will not be provided, it being understood that module 24 may be modified in any one of the ways in which the incorporated specifications provide or suggest. 
     FIG. 2 diagrammatically illustrates another embodiment of the invention wherein control module 10 is not provided with a separate input/output diagnostic/emulation port 20 as in the case of FIG. 1, but has harness 34 directly wired into bus 16. A portion 36 of harness 34 is then reserved for what would ordinarily be the similar diagnostic or emulation functions served within control module 10 had control module 10 been provided with a separate port for these functions. Portion 36 of harness 34 is then coupled to bus 26, memories 28, control circuit 32 and control bus 30 in the same manner as previously described in connection with FIG. 1. 
     The operation of either of the embodiments of FIGS. 1 and 2 may be performed so as to disable memory 14 and to substitute one of the plurality of memories 28 effectively into the operation control module 10. 
     Alternatively, an instruction can be loaded in to control module 10 from adapter module 24 so that CPU 12 reads directly from a memory from adapter module 24 instead of memory 14, although memory 14 may remain enabled. 
     It is within the contemplation of the invention that even CPU 12 will be entirely or partially disabled with respect to all or some of its functions and the disabled functions and added functions directly controlled by adapter module 24 through control circuit 32. 
     Still further, memory 1.4 may be an erasable memory and through appropriate instructions loaded in through adapter module 24, the contents of memory 14 may be erased and/or downloaded into one of memories 28, while the contents in another one of memories 28 is uploaded into the now erased memory 14 so that memory 14 is essentially rewritten and CPU 12 controlled accordingly by the newly written program in memory 14. The newly written program may be only temporarily stored within memory 14 and the old program may be restored upon predetermined conditions, or the memory swap may be more permanent. 
     There is no limitation to the type of applications in which modifications to control module 10 may be made according to the present invention. For example, one of the presently most useful applications is in alternatively fueled vehicles. A sensor, measuring the level of one type of fuel in a tank or some other condition, can be automatically triggered and provided as an input signal to adapter module 24. Alternatively, the signal may come into control module 10 through harness 22 or 34 in the embodiments of FIGS. 1 and 2, respectively, and then be detected by adapter module 24 on bus 16. In any case, when the trigger even occurs to switch fuels, adapter module 24 can be manually or automatically triggered to selectively disable memory 14, if necessary, and provide access to CPU 12 to one of memories 28 to retime the engine and remeter the fuel injection to switch to the new fuel type. Alternatively, according to the invention, memory 14 may be rewritten as described above. 
     Adaptive module 24 thus allows mass produced control modules 10 and the vehicles in which such modules 10 are installed, which vehicles were never intended to be operated on dual fuels, to be inexpensively and easily converted to dual fuel vehicles by inclusion of adapter module 24, which connects into control module 10 either through the diagnostic/emulation port 20 or through the appropriate portion 36 of harness 34, both of which are provided in the originally manufactured equipment. A vehicle conversion is thus effected insofar as engine control module 10 is concerned with no redesign of the system whatsoever. 
     Many alterations and modifications may be made by those having ordinary skill in the art without departing from the spirit and scope of the invention. Therefore, it must be understood that the illustrated embodiment has been set forth only for the purposes of example and that it should not be taken as limiting the invention as defined by the following claims. The following claims are, therefore, to be read to include not only the combination of elements which are literally set forth, but all equivalent elements for performing substantially the same function in substantially the same way to obtain substantially the same result. The claims are thus to be understood to include what is specifically illustrated and described above, what is conceptionally equivalent, and also what essentially incorporates the essential idea of the invention.