Cylinder and valve mode control for an engine with valves that may be deactivated

Abstract

A method to select cylinder and valve operational modes in an internal combustion engine with valves that may be deactivated. A simplified method to select cylinder and valve modes is presented.

Claims

28. A control method for selecting valve actuating modes in a multi-valve engine having at least two intake valves that may be individually actuated, comprising: a first mode of operation to actuate said intake valves simultaneously; a second mode of operation to actuate said intake valves alternately; a third mode of operation to actuate said intake valves asynchronously; and selecting among said first, second, and third modes of operation to provide a desired engine torque.

29. A control method for selecting valve actuating modes in a multi-valve engine having two intake and two exhaust valves that may be individually actuated, comprising: a first mode of operation to actuate said intake valves simultaneously and to actuate the exhaust valves simultaneously; a second mode of operation to actuate said intake valves simultaneously and to alternately actuate the exhaust valves; a third mode of operation to alternately actuate said intake valves and to actuate the exhaust valves simultaneously; a fourth mode of operation to alternately actuate said intake valves and to alternately actuate said exhaust valves; and selecting among said first, second, third, and forth modes of operation to provide a desired engine torque while reducing a different engine variable.

30. The method of claim 29 wherein said reducing a different engine variable is reducing an amount of emissions of said engine.

31. The method of claim 29 wherein said amount of emissions of said engine are an amount of emitted hydrocarbons.

32. The method of claim 29 wherein said amount of emissions of said engine are an amount of emitted oxides of nitrogen.

33. The method of claim 29 wherein said regulating a different engine variable is reducing an amount of fuel combusted by said engine.

Description

FIELD

[0001] The present description relates to a method for controlling valves and cylinders in an internal combustion engine and more particularly to a method for controlling valves that may be deactivated.

BACKGROUND

[0002] The inventors herein have recognized that valves that may be deactivated, including electromagnetically actuated valves, present an opportunity to improve fuel economy and vehicle emissions by presenting valve control options that have not been previously available. However, since the valves may be individually controlled, configured in various patterns, and employed in various numbers per cylinder, the control possibilities and permutations seem nearly endless.

[0003] One method to control intake and exhaust valve operation during engine operation is described in U.S. Pat. No. 6,374,813. This method presents a means to control electromagnetically actuated valves to promote EGR control. The approach selects different valve modes and patterns to regulate internal EGR, i.e., EGR flow through a cylinder as opposed to EGR routed to the intake manifold. Valves are operated independently and control is based on operating conditions of the engine. Further, the disclosure also describes several valve configurations that may be operated in one or more operational modes to promote cylinder air charge swirl.

[0004] The above-mentioned method also can have several disadvantages. Namely, the approach selects valve mode based simply on engine speed, load, and desired EGR. The approach does not consider many other constraints that can affect valve mode selection. Further, the approach does not address valve selection in alternate cylinder modes, i.e., six-stroke, twelve-stroke, or cylinder deactivation. In addition, even if one of ordinary skill in the art attempted to extend the method to include additional modes, complexity would increase dramatically using the prior art approach.

SUMMARY

[0005] One embodiment includes a control method for selecting cylinder and valve actuation modes in an engine having at least a valve that may be deactivated, the method comprising: [0006] generating a set of available cylinder and valve modes; removing cylinder and valve modes from said available set of cylinder and valve modes, based on a group of operating conditions; determining a cylinder and a valve mode, from remaining active cylinder and valve modes, based on a second group of operating conditions. This method can be used to reduce the above-mentioned limitations of the prior art approaches.

[0007] By generating a group of available cylinder and valve modes, and then removing modes based on a group of operating conditions, the inventors herein have reduced control complexity necessary to select cylinder and valve modes in an internal combustion engine with electromagnetic valves while also providing a wide variety of available modes.

[0008] Also, in one example, available modes are grouped into a matrix, array, or structure to provide an efficient organization that can be easily queried to determine operational status. Thus, the method can provide a simple way to track how the mode selection is determined.

[0009] Additionally, in another example, valve and cylinder mode selection criteria can be logically grouped in function specific tasks to further reduce complexity. For example, the desired engine torque and emissions objectives can be grouped as separate tasks. This can reduce calibration complexity and may reduce calibration time.

[0010] Still other advantages may be obtained, such as the ability to select cylinder and valve modes from a large group of available modes. This allows an engine controller to better match the engine performance and emissions to engine operating constraints. For example, for an engine operating at part load, fuel economy may be improved by reducing the number of active cylinders. Further fuel economy improvements or emissions reductions may be possible by selecting a specific valve pattern.

[0011] Yet another potential advantage is simplification of control logic. In one example, by grouping available cylinder and valve modes together in a unified structure disjointed mode selection decisions are reduced. Mode logic decisions are made within a single well-defined structure, e.g., a matrix or vector, as opposed to a scattered set of combinational logic or Boolean operations. Further, the available modes are organized in a preferential manner that minimizes search time for the final valve and cylinder modes.

[0012] The above advantages and other advantages, objects and features will be readily apparent from the following detailed description of the embodiments when taken alone or in connection with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] The advantages described herein will be more fully understood by reading an example of an embodiment, referred to herein as the Detailed Description, when taken alone or with reference to the drawings, wherein:

[0014] FIG. 1 is a schematic diagram of an engine;

[0015] FIG. 2 is a flowchart of a method to determine engine torque and delivery;

[0016] FIG. 3 is a plot of actual PMEP vs. predicted PMEP for active cylinders, determined from a polynomial with regressed coefficients;

[0017] FIG. 4 is a plot of actual FMEP vs. predicted FMEP for active cylinders, determined from a polynomial with regressed coefficients;

[0018] FIG. 5 is a plot of actual PMEP vs. predicted PMEP for inactive cylinders, determined from a polynomial with regressed coefficients;

[0019] FIG. 6 is a plot of actual FMEP vs. predicted FMEP for inactive cylinders, determined from a polynomial with regressed coefficients;

[0020] FIG. 7 is a plot of actual spark torque reduction vs. predicted spark torque reduction determined from a polynomial with regressed coefficients;

[0021] FIG. 8 is a plot of actual fuel mass vs. predicted fuel mass determined from a polynomial with regressed coefficients;

[0022] FIG. 9 is a plot of actual cylinder air charge volume vs. predicted cylinder air charge volume determined from a polynomial with regressed coefficients;

[0023] FIG. 10 is a flowchart to determine the number of active cylinders and valves in an engine with electromechanically actuated valves;

[0024] FIG. 11 is an example of an initialized cylinder and valve mode matrix;

[0025] FIG. 12 is an example of a mode matrix that has been through a cylinder and valve mode selection method;

[0026] FIG. 13 is a diagram that shows engine warm-up states for cylinder and valve mode selection;

[0027] FIG. 14 is a flowchart of a routine to determine cylinder and valve modes based on the state of a catalyst;

[0028] FIG. 15 is a flowchart of a routine to determine cylinder and valve modes based on operational limits;

[0029] FIG. 16 is a flowchart of a routine to determine cylinder and valve modes based on noise, vibration, and harshness (NVH);

[0030] FIG. 17 is a flowchart of a routine to determine cylinder and valve modes based on desired engine brake torque;

[0031] FIG. 18 is a flowchart of a routine to select cylinder and valve modes;

[0032] FIG. 19 is a valve timing sequence for a cylinder operating in an alternating intake valve mode;

[0033] FIG. 20 is a valve timing sequence for a cylinder operating with phased intake valves;

[0034] FIGS. 21 and 21a are mechanical/electromechanical valve and cylinder grouped configuration;

[0035] FIG. 22 is another mechanical/electromechanical valve and cylinder grouped configuration;

[0036] FIG. 23 is grouped cylinder and valve control configuration of selected valves;

[0037] FIG. 24 is another cylinder and valve control configuration of selected valves;

[0038] FIG. 25 is another cylinder and valve control configuration of selected valves;

[0039] FIG. 26 is another cylinder and valve control configuration of selected Valves;

[0040] FIG. 27 is another cylinder and valve control configuration of selected valves;

[0041] FIG. 28 is a plot of a speed dependent cylinder and valve mode transition;

[0042] FIG. 29 is a plot that shows torque capacity of a V8 engine operating in a variety of cylinder modes;

[0043] FIG. 30 is a plot of torque dependent cylinder and valve mode changes;

[0044] FIG. 31 is a plot of independent speed and torque based cylinder and valve mode changes;

[0045] FIG. 32 is a flowchart of a routine of a method to control electromechanical valves during a start of an engine;

[0046] FIG. 33a is a plot that shows representative intake valve timing at a relatively constant desired torque;

[0047] FIG. 33b is a plot that shows representative exhaust valve timing at a relatively constant desired torque;

[0048] FIG. 34a is a plot that shows representative intake valve timing for the first of two different engine starts;

[0049] FIG. 34b is a plot that shows representative intake valve timing for the second of two different engine starts;

[0050] FIG. 35a is a plot of representative intake valve timing during a start at sea level by the method of FIG. 32;

[0051] FIG. 35b is a plot of representative intake valve timing during starts at altitude by the method of FIG. 32;

[0052] FIG. 36 is a representative plot of intake valve timing, desired engine torque, and engine speed during a start of an engine by the method of FIG. 32;

[0053] FIG. 37 is a flowchart of a method to control valve timing after a request to stop an engine or to deactivate a cylinder;

[0054] FIG. 38 is a plot of an example of a representative intake valve timing sequence during a stop of a four-cylinder engine;

[0055] FIG. 39 is a flowchart of a method to restart electromechanical valves in an internal combustion engine;

[0056] FIG. 40 is a plot of an example of valve trajectory regions during a valve opening and closing event;

[0057] FIG. 41 is a plot of example current during several valve restart attempts;

[0058] FIG. 42 is a flowchart of a method to improve individual cylinder air-fuel detection and control;

[0059] FIG. 43 is a plot of example simulated exhaust mass vs. crankshaft angle produced by the method of FIG. 42;

[0060] FIG. 44 is a plot of example alternating intake/dual exhaust valve events over a crankshaft angle interval;

[0061] FIG. 45 is a plot of example alternating intake/alternating exhaust valve events over a crankshaft angle interval;

[0062] FIG. 46 is a plot of example single intake/alternating exhaust valve events over a crankshaft angle interval;

[0063] FIG. 47 is a plot of example alternating intake/single exhaust valve events over a crankshaft angle interval;

[0064] FIG. 48 is a plot of example dual intake/alternating exhaust valve events over a crankshaft angle interval;

[0065] FIG. 49a is a plot of example intake valve events over a crankshaft angle interval during start;

[0066] FIG. 49b is a plot of example exhaust valve events over a crankshaft angle interval during start;

[0067] FIG. 50a is a plot of example intake valve events over a crankshaft angle interval during start;

[0068] FIG. 50b is a plot of example exhaust valve events over a crankshaft angle interval during start;

[0069] FIG. 51a is a plot of example intake valve events over a crankshaft angle interval during start;

[0070] FIG. 51b is a plot of example exhaust valve events over a crankshaft angle interval during start;

[0071] FIG. 52a is a plot of example intake valve events over a crankshaft angle interval during start;

[0072] FIG. 52b is a plot of example exhaust valve events over a crankshaft angle interval during start;

[0073] FIG. 53a is a plot of example intake valve events over a crankshaft angle interval during start;

[0074] FIG. 53b is a plot of example exhaust valve events over a crankshaft angle interval during start;

[0075] FIG. 54 is a plot showing piston trajectories and example decision boundaries for determining the stroke of an engine during a start; and

[0076] FIG. 55 is a flowchart of a method to adjust fuel based on selected cylinder and/or valve mode.

DETAILED DESCRIPTION

[0077] Referring to FIG. 1, internal combustion engine 10, comprising a plurality of cylinders, one cylinder of which is shown in FIG. 1, is controlled by electronic engine controller 12. Engine 10 includes combustion chamber 30 and cylinder walls 32 with piston 36 positioned therein and connected to crankshaft 40. Combustion chamber 30 is shown communicating with intake manifold 44 and exhaust manifold 48 via respective intake valve 52 an exhaust valve 54. Each intake and exhaust valve is operated by an electromechanically controlled valve coil and armature assembly 53. Armature temperature is determined by temperature sensor 51. Valve position is determined by position sensor 50. In an alternative example, each of valves actuators for valves 52 and 54 has a position sensor and a temperature sensor.

[0078] Intake manifold 44 is also shown having fuel injector 66 coupled thereto for delivering liquid fuel in proportion to the pulse width of signal FPW from controller 12. Fuel is delivered to fuel injector 66 by fuel system (not shown) including a fuel tank, fuel pump, and fuel rail (not shown). Alternatively, the engine may be configured such that the fuel is injected directly into the engine cylinder, which is known to those skilled in the art as direct injection. In addition, intake manifold 44 is shown communicating with optional electronic throttle 125.

[0079] Distributorless ignition system 88 provides ignition spark to combustion chamber 30 via spark plug 92 in response to controller 12. Universal Exhaust Gas Oxygen (UEGO) sensor 76 is shown coupled to exhaust manifold 48 upstream of catalytic converter 70. Alternatively, a two-state exhaust gas oxygen sensor may be substituted for UEGO sensor 76. Two-state exhaust gas oxygen sensor 98 is shown coupled to exhaust manifold 48 downstream of catalytic converter 70. Alternatively, sensor 98 can also be a UEGO sensor. Catalytic converter temperature is measured by temperature sensor 77, and/or estimated based on operating conditions such as engine speed, load, air temperature, engine temperature, and/or airflow, or combinations thereof.

[0080] Converter 70 can include multiple catalyst bricks, in one example. In another example, multiple emission control devices, each with multiple bricks, can be used. Converter 70 can be a three-way type catalyst in one example.

[0081] Controller 12 is shown in FIG. 1 as a conventional microcomputer including: microprocessor unit 102, input/output ports 104, and read-only memory 106, random access memory 108, 110 keep alive memory, and a conventional data bus. Controller 12 is shown receiving various signals from sensors coupled to engine 10, in addition to those signals previously discussed, including: engine coolant temperature (ECT) from temperature sensor 112 coupled to cooling sleeve 114; a position sensor 119 coupled to a accelerator pedal; a measurement of engine manifold pressure (MAP) from pressure sensor 122 coupled to intake manifold 44; a measurement (ACT) of engine air amount temperature or manifold temperature from temperature sensor 117; and a engine position sensor from a Hall effect sensor 118 sensing crankshaft 40 position. In a preferred aspect of the present description, engine position sensor 118 produces a predetermined number of equally spaced pulses every revolution of the crankshaft from which engine speed (RPM) can be determined.

[0082] In an alternative embodiment, a direct injection type engine can be used where injector 66 is positioned in combustion chamber 30, either in the cylinder head similar to spark plug 92, or on the side of the combustion chamber.

[0083] Referring to FIG. 2, a high level flowchart of a routine that shows engine torque calculations from desired engine brake torque through engine output torque is shown.

[0084] As illustrated below, determination of engine torque loss for an engine capable of cylinder deactivation and multi-stroke operation can be improved by determining cylinder losses in both active and inactive cylinders. Typically, in conventional four-stroke engines, engine indicated torque is calculated from engine friction losses, engine pumping losses, and engine brake torque. However, when a cylinder is deactivated, friction and pumping losses of the cylinder change. Therefore, a better estimation of total torque losses may be possible by using both active an inactive friction and pumping losses, as described by FIG. 2.

[0085] Furthermore, by controlling torque in individual cylinders, transitions from a number of active cylinders to another number of active cylinders may be improved by the method of FIG. 2. For example, controlling torque in individual cylinders may allow individual cylinder torque amounts to smooth the transition from an eight-cylinder mode to a four-cylinder mode. Torque in individual cylinders may be ramped, stepped, and/or follow a predetermined trajectory during a cylinder and/or valve mode change to reduce torque disturbances. In contrast, controlling torque based on the number of active cylinders may result in a torque disturbance as the number of active cylinders changes from one engine revolution to the next.

[0086] In addition, an engine operating at altitude may have different losses due to the operating environment. Namely, the pressure differential across the combustion chamber may be altered, when compared to sea level operation, so that the pumping efficiency may affect the engine torque production. By controlling and estimating engine torque in individual cylinders (including inactive cylinders), errors introduced by a change in altitude and/or air temperature may be reduced using the method of FIG. 2.

[0087] Also, cylinder stroke changes in multi-stroke operation, e.g., twelve-stroke to four-stroke, can be improved. The method of FIG. 2 may allow four-stroke operation to be resumed by simply eliminating any benign pumping strokes and resuming a predetermined firing order after a combustion event in the multi-stroke cylinder, for example, since both inactive and active cylinder torque losses are considered. In contrast, other methods may require cylinders to complete the current cylinder cycle.

[0088] In step 210, desired engine brake torque is determined. In one example, driver demand engine brake torque is input into engine controller via position sensor 119, FIG. 1, and can be further adjusted based on vehicle speed, engine speed, and/or gear ratio, for example. The signal can represent a fraction of the available engine torque at the current engine speed. For example, at an engine speed where an engine has a capacity of 300 N-M and a driver input is fifty percent of sensor range, the desired engine brake torque can be interpreted as 150 N-M. Alternatively, the driver demand can be determined from a cruise control system or a traction control system for reducing wheel slip. After desired engine brake torque is determined, the routine proceeds to step 212.

[0089] In step 212, engine cylinder and valve modes are selected. In one example, an appropriate cylinder and valve mode is selected based on the desired engine brake torque, and other engine operating conditions and vehicle operating conditions. A detailed description of an example mode selection process is discussed in the description of FIG. 10. The cylinder mode can indicate cylinder operation and/or valve configuration. For example, cylinder modes may include, but are not limited to, V8, V6, V4, V2, I6, I5, I4, I3, I2, four-stroke, six-stroke, and twelve-stroke. Valve modes indicate valve operation and/or configuration in an active or inactive cylinder. For example, valve modes may include, but are not limited to, dual intake/dual exhaust (operating two intake valves and two exhaust valves during a combustion cycle of the engine, whether it is 4, 6, or 12 stroke), dual intake/single exhaust (operating two intake valves and one exhaust valve during a combustion cycle of the engine, whether it is 4, 6, or 12 stroke), single intake/dual exhaust (operating a single intake valve and two exhaust valves during a combustion cycle of the engine, whether it is 4, 6, or 12 stroke), single intake/single exhaust (operating a single intake valve and a single exhaust valve during a combustion cycle of the engine, whether it is 4, 6, or 12 stroke), alternating intake/dual exhaust (operating two intake valves during alternate cycles of a cylinder while operating two exhaust valves, whether it is 4, 6, or 12 stroke), dual intake/alternating exhaust (operating two intake valves while operating two exhaust valves during alternate cycles of a cylinder, whether it is 4, 6, or 12 stroke), alternating intake/alternating exhaust (operating two intake valves during alternate cycles of a cylinder while operating two exhaust valves during alternate cycles of an cylinder, whether it is 4, 6, or 12 stroke), single intake/alternating exhaust (operating as single intake valve while operating two exhaust valves during alternate cycles of an cylinder, whether it is 4, 6, or 12 stroke), and alternating intake/single exhaust (operating two intake valves during alternate cycles of a cylinder while operating a single exhaust valve, whether it is 4, 6, or 12 stroke). Some example unique valve and cylinder modes are detailed in the description of FIGS. 21-27. Further, the alternative valve modes are described in more detail with regard to FIGS. 44-48. As described herein, the engine can be controlled so that any (or all) or groups of the cylinders are operated between variations of the above modes. After the cylinder and valve modes have been selected, the routine proceeds to step 214.

[0090] In step 214, engine accessory losses are determined. Typical accessory losses include, but are not limited to, air conditioning, alternator/generator, power steering pumps, water pump, and/or vacuum pumps and combinations thereof. A total accessory loss amount can be determined by collectively summing individual accessory loss amounts that are stored in tables or functions and are indexed by one or more variables. For example, power steering pump losses can be determined from a table that is indexed by ambient air temperature and steering angle input.

[0091] Furthermore, torque loss due to power conversion and electrical valve operation can be determined by indexing an array containing torque losses that result from electromechanical valve operation based on engine speed, load and valve mode. The routine then continues on to step 216.

[0092] In step 216, engine friction and pumping losses are determined. In one example, the routine determines individual cylinder losses based on the number of active and inactive cylinders, by looking up stored polynomial coefficients that are based on engine operating conditions. Coefficients are determined by analyzing cylinder pressure-volume (P-V) diagrams collected at various engine speed/load conditions. Active and inactive cylinder pressure data are collected, and then data are regressed to determine polynomial coefficients for active and inactive cylinders.

[0093] FIGS. 3 and 4 show example regression fit data for cylinder pumping and friction losses of an active cylinder. The data are based on the following regression equations A and B: PMEP.sub.Act=C.sub.0+C.sub.1V.sub- .IVO+C.sub.2V.sub.EVC+C.sub.3V.sub.IVC-IVO+C.sub.4N Equation A Where PMEP.sub.Act is pumping mean effective pressure, C.sub.0-C.sub.4 are stored, predetermined, polynomial coefficients, V.sub.IVO is cylinder volume at intake valve opening position, V.sub.EVC is cylinder volume at exhaust valve closing position, V.sub.IVC is cylinder volume at intake valve closing position, V.sub.IVO is cylinder intake valve opening position, and N is engine speed. Valve timing locations IVO and IVC are based on the last set of determined valve timings. FMEP.sub.Act=C.sub.0+C.sub.1N+C.sub.2N.sup.2 Equation B Where FMEP.sub.Act is friction mean effective pressure, C.sub.0-C.sub.2 stored, predetermined polynomial coefficients, and N is engine speed.

[0094] FIGS. 5 and 6 show example regression fit data for cylinder pumping and friction losses of a deactivated cylinder. Data are based on the following regression equations C and D: PMEP.sub.Deact=C.sub.0=C.sub.1N+C- .sub.2N.sup.2 Equation C Where PMEP.sub.Deact is friction mean effective pressure, C.sub.0-C.sub.2 are stored, predetermined polynomial coefficients, and N is engine speed. FMEP.sub.Deact=C.sub.0=C.sub.1N+C.su- b.2N.sup.2 Equation D Where FMEP.sub.Deact is friction mean effective pressure, C.sub.0-C.sub.2 are stored, predetermined polynomial coefficients, and N is engine speed.

[0095] The following describes further exemplary details for the regression and interpolation schemes. One dimensional functions are used to store friction and pumping polynomial coefficients for active and inactive cylinders. The data taken to determine the coefficients are collected at a sufficient number of engine speed points to provide the desired torque loss accuracy. Coefficients are interpolated between locations where no data exists. For example, data is collected and coefficients are determined for an engine at engine speeds of 600, 1000, 2000, and 3000 RPM. If the engine is then operated at 1500 RPM, coefficients from 1000 and 2000 RPM are interpolated to determine the coefficients for 1500 RPM. Total friction losses are then determined by at least one of the following equations: FMEP total = [ Numcyl Act FMEP Act + Numcyl Dact FMEP Dact .function. ( t deact ) ] Numcyl total or FMEP total = Modfact FMEP Act + ( 1 - Modfact ) FMEP Deact Where Numcyl.sub.Act is the number of active cylinders, Numcyl.sub.Dact is the number of deactivated cylinders, Modfact is the ratio of the number of active cylinders to total number of cylinders, and FMEP.sub.total is the total friction mean effective pressure. Total pumping losses are then determined by one of the following equations: PMEP total = [ Numcyl Act * PMEP Act + Numcyl Dactt * PMEP Dact .function. ( t deact ) ] Numcyl total or PMEP total = Modfact PMEP Act + ( 1 - Modfact ) PMEP Dact Where Numcyl.sub.Act is the number of active cylinders, Numcyl.sub.Dact is the number of deactivated cylinders, Modfact is the ratio of the number of active cylinders to total number of cylinders, and PMEP.sub.total is the total pumping mean effective pressure. Additional or fewer polynomial terms may be used in the regressions for PMEP.sub.Act, PMEP.sub.Deact, FMEP.sub.Act, and FMEP.sub.Deact based on the desired curve fit and strategy complexity.

[0096] The losses based on pressure are then transformed into torque by the following equations: .GAMMA. friction_total = FMEP total V D 4 .pi. N / m 2 ( 1 10 - 5 .times. .times. bar ) .GAMMA. pumping_total = PMEP total V D 4 .pi. N / m 2 ( 1 10 - 5 .times. .times. bar ) Where V.sub.D is the displacement volume of active cylinders.

[0097] In step 218, indicated mean effective pressure (IMEP) for each cylinder is determined, for example via the equation: IMEP cyl .function. ( bar ) = ( .GAMMA. brake - ( .GAMMA. friction_total + .GAMMA. pumping_total + .GAMMA. accessories_total ) Num_cyl Act ) * 4 .times. .pi. V D * ( 1 * 10 - 5 .times. .times. bar ) N / m 2 SPKTR Where Num_cyl.sub.Act is the number of active cylinders determined in step 212, V.sub.D is the displacement volume of active cylinders, SPKTR is a torque ratio based on spark angle retarded from minimum best torque (MBT), i.e., the minimum amount of spark angle advance that produces the best torque amount. Additional or fewer polynomial terms may be used in the regression based on the desired curve fit and strategy complexity. Alternatively, different estimation formats can also be used. The term SPKTR is based on the equation: SPKTR = .GAMMA. .DELTA. .times. .times. SPK .GAMMA. MBT Where .GAMMA..sub..DELTA.SPK is the torque at a spark angle retarded from minimum spark for best torque (MBT), and .GAMMA..sub.MBT is the torque at MBT. In one example, the actual value of SPKTR is determined from a regression based on the equation: SPKTR=C.sub.0+C.sub.1*.DELTA..sub.spark.sup.2+C.sub.2*.DELTA..sub.spark.s- up.2*N+C.sub.3*.DELTA..sub.spark*IMEP.sub.MBT Where C.sub.0-C.sub.3 are stored, predetermined, regressed polynomial coefficients, N is engine speed, and IMEP.sub.MBT is IMEP at MBT spark timing. The value of SPKTR can range from 0 to 1 depending on the spark retard from MBT. The correlation between estimated and actual spark torque ratio is shown in FIG. 7. The routine then proceeds to step 220.

[0098] In step 220, individual cylinder fuel charges are determined. An individual cylinder fuel mass is determined, in one example, for each cylinder by the following equation: M.sub.f=C.sub.0+C.sub.1*N+C.sub.2*AFR- +C.sub.3*AFR.sup.2+C.sub.4*IMEP+C.sub.5*IMEP.sup.2+C.sub.6*IMEP*N Where M.sub.f is mass of fuel, C.sub.0-C.sub.6 are stored, predetermined, regressed polynomial coefficients, N is engine speed, AFR is the air-fuel ratio, and IMEP is indicated mean effective pressure. The correlation between estimated and actual fuel mass is shown in FIG. 8. As indicated previously, additional or fewer polynomial terms may be used in the regression based on the desired curve fit and strategy complexity. For example, polynomial terms for engine temperature, air charge temperature, and altitude might also be included. The routine then proceeds to step 222.

[0099] In step 222, a desired air charge is determined from the desired fuel charge. In one example, a predetermined air-fuel mixture (based on engine speed, temperature, and load), with or without exhaust gas sensor feedback, determines a desired air-fuel ratio. The determined fuel mass from step 220 is multiplied by the predetermined desired air-fuel ratio to determine a desired cylinder air amount. The desired mass of air is determined from the equation: M.sub.a=M.sub.fAFR Where M.sub.a is the desired mass of air entering a cylinder, M.sub.f is the desired mass of fuel entering a cylinder, and AFR is the desired air-fuel ratio. The routine then proceeds to step 224.

[0100] In step 224, exhaust valve opening (EVO), intake valve opening (IVO), and exhaust valve closing (EVC) timing are determined from center point of overlap and desired overlap. Center point of intake and exhaust valve overlap is a reference point, in crank angle degrees, from where IVO and EVC are determined. Overlap is the duration, in degrees, that intake valves and exhaust valves are simultaneously open. IVO and EVC are determined by the following equations: IVO = CPO - OL 2 EVC = CPO + OL 2 Where CPO is center point of overlap and OL is overlap. The location of CPO and OL are predetermined and stored in a table that is indexed by engine speed and air mass entering a cylinder. The amount of overlap and the center point of overlap are selected based on desired exhaust residuals and engine emissions.

[0101] Exhaust valve opening (EVO) is also determined from a table indexed by engine speed and air mass entering a cylinder. The predetermined valve opening positions are empirically determined and are based on a balancing engine blow down, i.e., exhaust gas evacuation, and lowering expansion losses. Further, the valve timings may be adjusted based on engine coolant or catalyst temperature. The routine then proceeds to step 226.

[0102] In step 226, intake valve closing is determined. Since EVO, EVC, and IVO are scheduled in one example, i.e., predefined looked-up locations, intake valve closing (IVC) is determined based on these predetermined locations and the desired mass of air entering a cylinder, from step 222. The desired mass of air entering a cylinder is translated into a cylinder volume by the ideal gas law: V a = M a R T P Where V.sub.a is the volume of air in a cylinder, M.sub.a is a desired amount of air entering a cylinder, from step 222, R is a ideal gas constant, T is the intake manifold temperature, and P is the intake manifold pressure. By using the ideal gas law, individual cylinder volumes be adjusted to provide the desired cylinder air amount at altitude. Furthermore, an altitude factor may be added to regression equations to provide additional altitude compensation.

[0103] From the determined cylinder volume V.sub.a, a model-based regression determines a relationship between a volume of air in a cylinder and intake valve closing volume (IVC) from the equation: V a = C 0 + C 1 * ( V IVC - V Res Ti ) + C 2 * dV Res + C 3 * ( N 1000 ) * ( V IVC - V Res Ti ) + C 4 * ( N 1000 ) * dV Res + C 5 * ( T i T e ) * ( V IVC - V Res Ti ) Where V.sub.a is the volume of air inducted into the cylinder, C.sub.0-C.sub.5 are stored, predetermined, regressed polynomial coefficients, V.sub.IVC is cylinder volume at intake valve closed, V.sub.RES|Ti is the residual volume evaluated at the cylinder inlet temperature, dV.sub.res is a residual pushback volume, i.e., the volume of exhaust residuals entering the intake manifold, N is engine speed, T.sub.i is intake manifold temperature, and T.sub.e is exhaust manifold temperature. Additional or fewer polynomial terms may be used in the regression based on the desired curve fit and strategy complexity. The unknown value of V.sub.IVC is solved from the above-mentioned regression to yield: V IVC = V Res Ti + ( V a - C 0 - ( C 2 + C 4 N 1000 ) dV Res ) C 1 + C 3 N 1000 + C 5 ( T i T e ) The solution of V.sub.IVC is further supported by the following equations derived from cylinder residual estimation: V Res = V EVC + ( V IVO - V EVC ) [ 1 - ( V E V I ) ( A E A I ) ] dV Res = V Res - V TDC V Res Ti = V Res ( T i T e ) V E V I = P m + 1 2 V TDC = V Dcyl ( CR - 1 ) V .function. ( x ) = .pi. r 2 ( L + s 2 - s 2 cos .function. ( .THETA. ) - L 2 - ( s 2 sin .function. ( .THETA. ) ) ) Where V(x) is the cylinder volume at crank angle .THETA. relative to top dead center of the respective cylinder, L is the length of a connecting rod, s/2 is the crank shaft offset where the connecting rod attaches to the crankshaft, relative to the centerline of the crank shaft, r is the cylinder radius, CR is the cylinder compression ratio, V.sub.Dcyl is cylinder displacement volume, V.sub.TDC is cylinder volume at top dead center, V.sub.E/V.sub.I is the air velocity ratio across exhaust and intake valves, A.sub.E/A.sub.I is the area ratio across exhaust and intake valves, V.sub.Res is the residual cylinder volume, V.sub.IVO is cylinder volume at intake valve opening, V.sub.EVC is cylinder volume at exhaust valve closing, and V.sub.TDC is cylinder volume at top dead center. Thus, cylinder volumes V.sub.EVC and V.sub.IVO are determined by solving for V(x) at the respective EVC and IVO crank angles.

[0104] Note that this is one example approach for setting valve timing and overlap. An alternative approach could interrogate a series of predetermined tables and/or functions based on driver demand, engine speed, and engine temperature to determine intake and exhaust valve timing. The routine then proceeds to step 228.

[0105] In step 228, valve timings associated with IVO, IVC, EVO, and EVC are compared against valve constraints. For example, the determined valve timings are compared to a limited valve opening duration, i.e., valve timing below a specified duration is avoided to improve valve-opening consistency. If the determined valve timing is below a specified threshold the valve timings are increased to a predetermined duration. If determined valve timings are above the specified threshold no valve timing adjustments are made. Further, there may be other valve constraints, such as a maximum opening duration, which can be considered. The routine then continues to step 230.

[0106] In step 230, final cylinder air amount is determined. This step can be performed to account for any adjustments in cylinder air amount resulting from valve timing adjustment in step 228. In one example, cylinder inducted air amount is determined from the valve timings of step 228 and the equation: V adjusta = C 0 + C 1 * ( V IVC - V Res Ti ) + C 2 * dV Res + C 3 * ( N 1000 ) * ( V IVC - V Res Ti ) + C 4 * ( N 1000 ) * dV Res + C 5 * ( T i T e ) * ( V IVC - V Res Ti ) Where V.sub.a is determined from the same equation as in step 226, but that uses revised valve timings. The correlation between estimated and actual cylinder air charge volume is shown in FIG. 9. Additional or fewer polynomial terms may be used in the regression based on the desired curve fit and strategy complexity. Cylinder air mass is then determined from: M.sub.aadjust=.rho..sub.int akeV.sub.a Where M.sub.aadjust is mass of air entering a cylinder, .rho. is density of air in the intake manifold determined from the ideal gas law, and V.sub.a is a volume of air inducted into the cylinder. The desired mass of fuel entering a cylinder is then determined from the equation: M fadjust = M aadjust AFR Where M.sub.aadjust is the desired mass of air entering a cylinder, M.sub.fadjust is the desired mass of fuel entering a cylinder, and AFR is the desired air-fuel ratio. Further, the desired mass of fuel can be adjusted here for lost fuel, unaccounted fuel that passes cylinder rings or attaches to intake port walls, or for cylinder enleanment or enrichment based on cylinder and valve mode, or based on catalyst conditions. Lost fuel is preferably based on a number of fueled cylinder events.

[0107] In step 232, the spark angle delivered to a cylinder is determined. In one example, the final spark angle is based on MBT spark timing, but is adjusted to deliver the desired IMEP. From the above mentioned IMEP equation, desired air-fuel ratio, M.sub.fadjust, engine speed, and IMEP adjusted for revised valve timings is determined. The adjusted IMEP is then divided by the IMEP amount determined in step 218 to produce a ratio of IMEP. This ratio is then substituted into the spark torque ratio regression equation of step 218 and solved for the final spark angle. In one example, MBT spark timing is determined by the equation: SPK.sub.MBT=C.sub.0+C.sub.1N+C.sub.2N.sup.2+C.sub.3N.sup.3+C.sub.4M.sub.f- +C.sub.5M.sub.f.sup.2+C.sub.6FDR+C.sub.7FDR.sup.2+C.sub.8FDR.sup.3 Where C.sub.0-C.sub.8 are stored, predetermined, regressed polynomial coefficients, N is engine speed, M.sub.f is mass of fuel injected into a cylinder, and FDR is fuel dilution ratio (mass of fuel)/(air mass amount+residual mass amount).

[0108] This example method of torque control permits individual cylinder valve timing and spark control in an engine capable of a variety of valve and cylinder modes without storing extensive engine maps within the torque control strategy.

[0109] Referring to FIG. 10, a high level flowchart of cylinder and valve mode selection for an engine with electromechanically actuated valves is shown. Depending on mechanical complexity, cost, and performance objectives an engine can be configured with an array of electromechanical valve configurations. For example, if good performance and reduced cost are desired, a plausible valve configuration may include electromechanical intake valves and mechanically actuated exhaust valves. This configuration provides flexible cylinder air amount control while reducing the cost that is associated with higher voltage valve actuators that can overcome exhaust gas pressure. Another conceivable mechanical/electrical valve configuration is electromechanical intake valves and variable mechanically driven exhaust valves (mechanically driven exhaust valves that can be controlled to adjust valve opening and closing events relative to a crankshaft location). This configuration may improve low speed torque and increase fuel economy at reduced complexity when compared to a full electromechanically actuated valve train. On the other hand, electromechanical intake and exhaust valves can provide greater flexibility but at a potentially higher system cost.

[0110] However, unique control strategies for every conceivable valve system configuration could be expensive and could waste valuable human resources. Therefore, it is advantageous to have a strategy that can control a variety of valve system configurations in a flexible manner. FIG. 10 is an example cylinder and valve mode selection method that can reduce complexity and yet is capable of flexibly controlling a variety of different valve configurations with few modifications.

[0111] One example method described herein makes a set of cylinder and valve modes available each time the routine is executed. As the steps of the method are executed, different cylinder and valve modes may be removed from a set of available modes based on engine, valve, and vehicle operating conditions. However, the method may be reconfigured to initialize cylinder and valve modes in an unavailable state and then make desired cylinder and valve modes available as the different steps of the routine are executed. Thus, various options are available for the selection of an initialization state, order of execution, and activation and deactivation of available modes.

[0112] In step 1010, row and column cells of a matrix (mode matrix) representing valve and cylinder modes are initialized by inserting numerical 1's into all matrix row and column cells. An example mode matrix is shown in FIG. 11 for an eight cylinder engine having two banks of four-cylinders each in a V-type configuration. The mode matrix is a construct that holds binary ones or zeros in this example, although other constructs can be used. The matrix can represent cylinder and valve mode availability. In this example, the ones represent available modes while zeros represent unavailable modes.

[0113] The mode matrix is initialized each time the routine is called, thereby making all modes initially available. FIGS. 21-27 illustrate some potential valve and cylinder modes, and are described in more detail below. Although a matrix is shown, it is possible to substitute other structures such as words, bytes, or arrays in place of the matrix. Once the mode matrix is initialized the routine continues to step 1012.

[0114] In step 1012, some valve and/or cylinder modes that are affected by engine warm-up conditions are deactivated from the mode matrix. In one example, warm-up valve and cylinder mode selection is based on engine operating conditions that determine an operating state of the engine. The description of FIG. 13 provides further details of warm-up valve and/or cylinder mode selection. The routine then proceeds to step 1014.

[0115] In step 1014, some valve and/or cylinder modes that affect engine emissions or that are affected by emissions are deactivated. The description of FIG. 14 provides further details of cylinder and/or valve mode selection that is based on engine emissions. The routine then continues to step 1016.

[0116] In step 1016, some valve and/or cylinder modes that are affected by engine operating region and valve degradation are deactivated. Catalyst and engine temperatures along with indications of valve degradation, are used in one example to determine cylinder and/or valve mode deactivation in this step. The description of FIG. 15 provides further details of the selection process. The routine then continues to step 1018.

[0117] In step 1018, some valve and/or cylinder modes that affect engine and vehicle noise, vibration, and harshness (NVH) are deactivated. For example, electromechanical valves can be selectively activated and deactivated to change the number of active cylinders and therefore the cylinder combustion frequency. It can be desirable, under selected circumstances, to avoid (or reduce) valve and cylinder modes that can excite vibrational frequencies or modes of a vehicle, i.e., frequencies where the mechanical structure has little or no damping characteristics. The valve and/or cylinder modes that affect these frequencies are deactivated in step 1018. The description of FIG. 16 provides further details of NVH based valve and cylinder mode deactivation. The routine then proceeds to step 1020.

[0118] In step 1020, some cylinder and/or valve modes that do not provide sufficient torque to produce the desired engine brake torque are deactivated. In this step desired engine brake torque is compared to the torque capacity of the cylinder and valve modes contained within the mode matrix. In one example, if the desired brake torque is greater than the torque capacity (including a margin of error, if desired) of a given cylinder and valve mode, then the cylinder and/or valve mode is deactivated. Additional details of the torque based cylinder and valve mode selection process can be found in the description of FIG. 17. The routine then continues to step 1022.

[0119] In step 1022, the mode matrix is evaluated and the cylinder and valve modes are determined. At this point, based on the criteria of steps 1010-1020, deactivated cylinder and valve operating modes have been made unavailable by writing zeros into the appropriate mode matrix cell row/column pair. The mode matrix is searched starting from the matrix origin (0,0) cell, row by row, to determine row and column pairs containing ones. The last matrix row/column containing a value of one determines the valve and cylinder mode. In this way, the design of the mode matrix and the selection process causes the fewest number of cylinders and valves to meet the control objectives.

[0120] If a cylinder and/or valve mode change is requested, that is, if the method of FIG. 10 determines that a different cylinder and/or valve mode is appropriate since the last time the method of FIG. 10 executed, then an indication of an impending mode change is indicated by setting the requested mode variable to a value indicative of the new cylinder and/or valve mode. After a predetermined interval, the target mode variable is set to the same value as the requested mode variable. The requested mode variable is used to provide an early indication to peripheral systems of an impending mode change so that those systems may take action before the actual mode change. The transmission is one example where such action is taken, as described in FIG. 28. The actual cylinder and/or valve mode change is initiated by changing the target mode variable. Furthermore, the method may delay changing requested and target torque while adjusting fuel to suit the new cylinder and/or valve mode by setting the MODE_DLY variable. Cylinder and/or valve mode changes are inhibited while the MODE_DLY variable is set.

[0121] The chosen valve and cylinder mode is then output to the torque determination and delivery routine. The cylinder and valve mode selection routine is then exited.

[0122] In addition, the cylinder and valve mode matrix structure can take alternate forms and have alternate objectives. In one example, instead of writing ones and zeros to the cells of the matrix an alternate embodiment might write numbers to the matrix that are weighted by torque capacity, emissions, and/or fuel economy. In this example, selection of the desired mode might be based on the values of the numbers written into the matrix cells. Further, modes that define the axis of the matrix do not have to be in increasing or decreasing torque amounts; fuel economy, power consumption, audible noise, and emissions are a few additional criteria that may be used to define the structure of the mode control matrix organization. In this way, the matrix structure can be designed to determine cylinder and valve modes based on goals other than fewest cylinders and valves.

[0123] Also, the method of FIG. 10 may be configured to determine operating conditions of a valve, valve actuator, engine, chassis, electrical system, catalyst system, or other vehicle system. The before-mentioned operating conditions may be used to determine a number of active cylinders, number of active valves, valve patterns, cylinder strokes in a cylinder cycle, cylinder grouping, alternate valve patterns, and valve phasing desired. Determining a variety of operating conditions and selecting an appropriate cylinder and valve configuration may improve engine performance, fuel economy, and customer satisfaction.

[0124] In one example, at least the following two degrees of freedom can be used to regulate torque capacity of an engine:

[0125] (1) the number of cylinders carrying out combustion; and

[0126] (2) the number of valves operating in each cylinders

[0127] Thus, it is possible to increase the resolution of torque capacity beyond that obtained by simply using the number of cylinders.

[0128] Furthermore, the method of FIG. 10 can switch between cylinder and valve modes during a cycle of the engine based on engine operating conditions.

[0129] In another example, an eight-cylinder engine operates four-cylinders in four-stroke mode and four-cylinders in twelve-stroke mode, all cylinders using four valves in each cylinder. This mode may generate the desired torque and a level of increased fuel efficiency by reducing the number of active cylinders and by operating the active cylinders at a higher thermal efficiency. In response to a change in operating conditions, the controller might switch the engine operating mode to four-cylinders operating in a four-stroke mode and using two valves in each cylinder. The remaining four-cylinders might operate in twelve-stroke mode with alternating exhaust valves.

[0130] In another example, under other operating conditions, some cylinders are operated with fuel injection deactivated, and others are operated with 4 valves active per cylinder. This mode may generate the desired torque while further increasing fuel efficiency. Also, the exhaust valves in the cylinders operating in twelve-stroke mode may cool due to the alternating pattern. In this way, the method of FIG. 10 permits an engine to change the number of active cylinders, number of strokes in a cycle of a cylinder, number of operating valves, and the valve pattern based on operating conditions and the mode matrix calibration and design.

[0131] Because an engine with electromechanical valves is capable of operating different cylinders in different modes, e.g., half the number of available cylinders in four-stroke and the remainder of cylinders in six-stroke, a cycle of an engine is defined herein as the number of angular degrees over which the longest cylinder cycle repeats. Alternatively, the cycle of a cylinder can be individually identified for each cylinder. For example, again, where an engine is operating with cylinders in both four and six stroke modes, a cycle of the engine is defined by the six-stroke cylinder mode, i.e., 1080 angular degrees. The cylinder and valve mode selection method described by FIG. 10 may also be used in conjunction with a fuel control method to further improve engine emissions. One such fuel control method is described by the flowchart illustrated in FIG. 55.

[0132] Referring to FIG. 11, an example of an initialized cylinder and valve mode matrix for a V8 engine with electromechanical intake and exhaust valves is shown. The x-axis columns represent a few of potentially many valve modes for a cylinder with four valves. Dual intake/dual exhaust (DIDE), dual intake/alternating exhaust (DIAE), alternating intake/dual exhaust (AIDE), and alternating intake/alternating exhaust (AIAE) are shown from left to right, from higher to lower torque capacity. The y-axis rows represent a few of potentially many cylinder modes for a V8 engine. The cylinder modes with more cylinders begin at the bottom and end at the top with fewer cylinders, from higher to lower torque capacity.

[0133] In this example, the mode matrix is advantageously constructed to reduce search time and mode interpretation. The intersection of a row and column, a cell, identifies a unique cylinder and valve mode. For example, cell (1,1) of the mode matrix in FIG. 12 represents V4 cylinder mode and dual intake/alternating exhaust (DIAE) valve mode. The mode matrix is organized so that engine torque capacity in the cylinder/valve mode decreases as the distance from the origin increases. The reduction in torque capacity is greater by row than by column because the number of active cylinders per engine cycle decreases as the row number increases, whereas the different valve modes reduce the engine torque by a fraction of a cylinder torque capacity.

[0134] Since the mode matrix construction is based on valves and cylinders, it naturally allows cylinder and valve modes to be defined that determine the number of active cylinders and valves as well as the cylinder and valve configuration. In addition, the mode matrix can identify cylinder and valve configurations that group cylinders and that have unique numbers of operating valves and valve patterns. For example, the mode matrix can be configured to provide half of active cylinders with two active valves and the other half of active cylinders with three active valves. Also, the mode matrix supports selection of multi-stroke modes. Multi-stroke operation generally includes a combustion cycle of greater than a four stroke combustion cycle. As described herein, multistroke operation includes greater than four stroke combustion, and variation of the number of strokes in the combustion cycle, such as, for example, variation between four-stroke, six-stroke, and/or twelve-stroke.

[0135] Further, different cylinders may be made active for a single cylinder mode, e.g., in a four-cylinder engine I2 cylinder mode may be produced by cylinders 1-4 or 2-3, by defining and selecting from two unique matrix cells.

[0136] Any of the cylinder and valve modes represented in the mode matrix can be deactivated with the exception of the cylinder and valve mode that is located in the (0,0) cell. Cell (0,0) is not deactivated so that at least one mode is available.

[0137] Referring to FIG. 12, an example of a matrix that has been through the cylinder and valve mode selection process is shown. The figure shows the zeros in the matrix cells that were initially set to ones in the mode matrix initialization, step 1010. Also, in the steps of the method of FIG. 10, when a cylinder and valve mode is deactivated, cylinder and valve modes of lesser torque capacity are also deactivated. For example, cell (1,2) has the higher torque capacity of the cells containing zeros. Based on the cylinder selected and valve mode selection criteria described above, cell (1,1) is selected as the current cylinder and valve mode, i.e., V4-dual intake/alternating exhaust (DIAE). This can reduce search time of the matrix if searching ceases after a zero is encountered in the matrix.

[0138] Referring to FIG. 13, a diagram of the state machine that selects cylinder and valve modes based on warm-up conditions is shown. Four states are shown but fewer or additional states are possible. State 1316, the cold state, is the default state entered when the cylinder and valve mode selection routine is executed for the first time (e.g., after a start). Engine and/or vehicle operating conditions thereafter determine the occupied state. Further, the arrows connecting states 1310-1316 designate operational conditions that trigger a state change, transferring state control from one state to another. For example, upon receiving a key on indication the cold state 1316 is entered. Vehicle and engine operating conditions are then determined, and if conditions permit the operational state is changed. A representative condition that triggers state change from the cold state 1316 to the warm stabilized state 1310 via arrow 1320 is: If(((ECT>ECTSTBL)&(CAT>CATWRM))or((EC- T>ECTWRM)&(CAT>CATSTBL))) Where ECT is measured or inferred engine temperature, ECTSTBL is a predetermined engine temperature that indicates the engine is at a warm operating temperature, CAT is a measured or inferred catalyst temperature, CATWRM is a predetermined catalyst temperature that indicates at least a partially warm catalyst system, ECTWRM is a predetermined engine temperature that indicates that the engine is warm but not at a stabilized operating temperature ECTSTBL, and CATSTBL is a predetermined catalyst temperature that indicates that the catalyst is at a temperature that permits efficient catalytic reactions.

[0139] Similar rule sets control the transitions between the other states. Thus, if the statement is true, the cold state 1316 is exited and the warm stabilized state 1310 is entered. Contained within each state is a predetermined state matrix of the same dimensions as the mode matrix. The predetermined state matrix can contain ones and zeros. When in a given state any zeros entered in the predetermined state matrix are copied into the mode matrix. Each time the mode selection routine is executed there is potential to change states. In this way, the different warm-up states update the mode matrix. Further, calibration of predetermined state matrices allows catalyst temperature and engine temperature to determine active and inactive cylinder and valve modes. That is, engine and catalyst temperatures can determine the number of active cylinders and the number of strokes in the active cylinders, plus they can determine the number and configuration or pattern of operational valves.

[0140] Warm-up cylinder and valve mode selection determination based on operational conditions of an engine are not constrained to engine temperature and catalyst temperature. Transitions between operating states may also be determined by engine oil temperature, ambient air temperature, barometric pressure, humidity, and a number of fueled cylinder events after a start, such as a number of combustion events.

[0141] Although engine and catalyst temperature provide an indication of engine operating conditions, conditions of an electromechanical valve can provide additional information and in some cases a basis for cylinder and valve mode changes. For example, armature temperature determined by sensor 50 (or estimated) may be included into the above-mentioned representative condition that triggers a state change. Further, the number of valve operations, time since start, valve operating time, valve current, valve voltage, power consumed by the valve, valve impedance sensing devices, combinations thereof, and/or sub-combinations thereof can augment (or supplant) the armature temperature sensor by providing additional operating conditions of a valve. Consequently, operating conditions of an electromechanical valve can be used to determine the number of active cylinders and/or the number of strokes in the active cylinders, plus they can optionally be used to determine the number and configuration or pattern of operational valves. These valve operating conditions may be included with engine and catalyst conditions in the state transition logic or they can comprise state transition logic without engine and catalyst operating conditions.

[0142] Selecting valve patterns, e.g., opposed intake and/or exhaust valves or diagonally opposed intake and exhaust valves, may also be based on warm-up conditions, cylinder stroke mode, and number of active cylinders by the state machine. This is accomplished by leaving desired valve patterns, cylinder stroke modes, and cylinder modes active in a given warm-up state. Then the remaining selection criteria of FIG. 2 can determine the cylinder mode, number of active valves, active valve pattern, and cylinder stroke mode by applying the conditional constraints of steps 1014-1022 of FIG. 10.

[0143] Selection of electromechanical valves operation during the engine warm-up in this way can improve engine operation in a number of ways, such as, for example, by operating all cylinders of an engine with a fewer number of valves. One example of such an option would be a V8 with four electromagnetic valves per cylinder operated with eight cylinders and two valves per cylinder. Not only can such operation increase fuel economy (by saving electrical energy by reduced valve current), but engine noise, vibration, and harshness (NVH) can also be reduced since engine torque peaks are closer together. Further, valve power consumption at low temperature increases while power supply capacity may decrease. Therefore, selecting a fewer number of valves during a low temperature condition (such as, for example, during an engine start) can make more current available to the engine starter so that longer engine cranking (rotating the engine until the engine is rotating under its own power) and higher cranking torque is possible without depleting battery capacity.

[0144] The state machine of FIG. 13 can be further configured to accommodate warm-up states that are entered based on operating conditions of a transmission. For example, transmission oil temperature, gear selector position, or estimated transmission torque losses may also be incorporated into warm-up state determination logic and used to select engine and valve modes.

[0145] Continuing with the remaining transitions of FIG. 13, the transition from cold state 1316 to the warm stabilized state 1310 is performed if: (((ECT>ECTSTBL)&(CAT>CATWRM))or((ECT>ECTWRM)&(CAT&- gt;CATSTBL))) The transition from cold state 1316 to the warm state 1312 is performed if: (((ECT>ECTWRM)&(CAT>CATCOL))or((ECT>ECTCOL)&(CA- T>CATWRM)))&((ECT<ECTS TBL)&(CAT<CATSTBL)) The transition from cold state 1316 to the cool state 1314 is performed if: (((ECT>ECTCOL)&(CAT>CATCLD))or((ECT>ECTCLD)&(CAT>CATCOL)))&((- ECT<ECTW RM)&(CAT<CATWRM)) The transition from cool state 1314 to warm state 1312 is performed if: (((ECT>ECTWRM) & (CAT>CATCOOL)) or ((CAT>CATWRM) & (ECT>ECTCOL))) The transition from warm state 1312 to warm stabilized state 1310 is performed if: (((ECT>ECTSTBL) & (CAT>CATWRM)) or ((CAT>CATSTBL) & (ECT>ECTWRM))) The transition from warm stabilized 1310 to warm 1312 is performed if: ((ECT<ECTSTBL) & (CAT<CATSTBL)) The transition from warm 1312 to cool 1314 is performed if: ((ECT<ECTWRM) & (CAT<CATWRM)) And finally, the transition from cool 1314 to cold 1316 is performed if: ((ECT<ECTCOL) & (CAT<CATCOL)) Where CATCOL is a catalyst temperature threshold that identifies a cool cat temp (e.g., 400 deg F.), ECTCOL is a engine temperature threshold that identifies a cool engine (e.g., 110 deg F.), CATCLD is a catalyst temperature threshold that identifies a cold cat (e.g., 70 deg F.), and ECTCLD is a temperature that identifies a cold engine temperature (e.g., 70 deg F.).

[0146] Referring to FIG. 14, a method to deactivate cylinder and valve modes from the mode matrix based on catalyst operating conditions (for example, catalyst state) is shown. In one example, an oxidant storage state (such as an amount of oxidants stored) is used. In one example, oxygen is the primary oxidant. In one approach, catalyst temperature can be used in determining a catalyst operating condition. However, in another example, catalyst temperature (even though a factor in determining an oxidant storage state) is not explicitly used to determine cylinder and valve modes since this feature can be captured in the warm-up cylinder and valve mode selection, see FIG. 13. The method evaluates each cylinder and/or valve mode represented in the mode matrix and deactivates selected modes based on the evaluation.

[0147] In steps 1410 and 1412, Catalyst storage capacity (such as a maximum oxidant storage availability at the current operating conditions) and oxidant storage amount are determined. In one example, these can be determined using the method in accordance with U.S. Pat. No. 6,453,662, which is hereby fully incorporated by reference.

[0148] In one example, catalyst capacity is determined after filling the catalyst with oxidants by running the engine with a lean air/fuel ratio for an extended period of time. After the catalyst is filled, the air/fuel ratio provided to the engine is made rich. The pre-catalyst oxygen sensor 76 detects the rich air/fuel condition in the exhaust almost immediately. However, because the HC and CO produced by the rich engine air/fuel ratio reacts with the stored oxidants in the catalyst, there is a time delay until the post-catalyst oxygen sensor 98 detects a rich air/fuel ratio in the downstream exhaust. The length of the time delay is indicative of the oxidant storage capacity of the catalyst. Based upon the measured time delay, a deterioration factor between 0 and 1 (0 representing total deterioration and 1 representing no deterioration) is calculated. Alternatively, the method could be used in reverse, i.e., the catalyst could be depleted due to extended rich operation, after which the air/fuel ratio would be switched to lean operation. Similar to the original method, the length of the time delay until the post-catalyst sensor 98 registered a change in state would be indicative of the catalyst storage capacity. Also, the duration of delay can be affected by catalyst space velocity, air flow, temperature, etc., and these parameters can be therefore included in the calculation. The routine then proceeds to step 1414.

[0149] In step 1414, an engine emissions amount is determined by looking up stored empirical emissions concentrations of HC, CO, and NO.sub.x at the current engine speed/load operating conditions. These concentrations can be integrated over time to determine a mass weight of each constituent. Further, functions that represent spark advance and air-fuel modifiers alter emissions concentrations, and can be included. Alternatively, emissions sensors may be employed to make a direct measurement of a constituent of interest. Still further, combinations of estimates and measurements can also be used. The routine then proceeds to step 1416.

[0150] In step 1416, estimated catalyst oxidant storage capacity, CAT_CAP, is compared to a predetermined matrix of oxidant catalyst storage capacity amounts, CAT_STOR. In other words, each cylinder and valve mode may have a unique desired catalyst storage capacity that is compared to the estimated catalyst oxidant storage capacity. If the current catalyst oxidant storage capacity is above the amount stored in the predetermined catalyst storage matrix (which can represent a desired catalyst oxidant capacity for a selected cylinder and/or valve mode) the routine proceeds to step 1418. Otherwise, the routine continues to step 1420.

[0151] In step 1420, cylinder and valve modes are deactivated based on the catalyst oxidant storage capacity. Cylinder and valve modes are deactivated based on the comparison of catalyst oxidant storage capacity verses the predetermined matrix of catalyst oxidant storage from step 1416. In other words, if current catalyst oxidant storage capacity is below a predetermined amount for a specific cylinder and valve mode, then the cylinder and valve mode is deactivated. In this way, cylinder and valve mode are determined, in part, by catalyst oxidant storage capacity.

[0152] In step 1418, an amount of estimated stored oxidants, CAT_OXY, is compared to a predetermined matrix of oxidant catalyst storage capacity amounts, CAT_STOR, from step 1416. If the current catalyst oxidant storage capacity is greater than X % of the amount stored in the predetermined catalyst storage matrix the routine proceeds to step 1422. The value of X may be determined by indexing an array based on engine speed, engine air amount, and vehicle speed.

[0153] To estimate the amount of oxidants, CAT_OXY, that are actually adsorbed/desorbed by the catalytic converter, (which can be done on a per brick basis) this estimation depends on several factors, including the volume of the catalytic converter 70, the flow rate of oxidants in the exhaust manifold 48, the percentage of the catalytic converter that is already full of oxidants, and other physical and operational characteristics of the catalytic converter. The change in the amount of oxidants stored in the catalytic converter 70 between two preset times (.DELTA.T) is estimated based on the following model: .DELTA.O 2 = C 1 * C 2 * C 3 * C 4 .function. [ K a * ( 1 - Stored .times. .times. O 2 Max .times. .times. O 2 ) N 1 * ( O 2 .times. .times. Flow .times. .times. Rate Base .times. .times. Value ) Z 1 * Cat .times. .times. Vol * .DELTA. .times. .times. T ] .times. .times. for .times. .times. Oxygen .times. .times. being .times. .times. absorbed ( A ) .DELTA.O 2 = C 1 * C 2 * C 3 * C 4 .function. [ K d * ( Stored .times. .times. O 2 Max .times. .times. O 2 ) N 2 * ( O 2 .times. .times. Flow .times. .times. Rate Base .times. .times. Value ) Z 2 * Cat .times. .times. Vol * .DELTA. .times. .times. T ] .times. .times. for .times. .times. Oxygen .times. .times. being .times. .times. desorbed ( B ) As indicated above, Equation (A) is used to calculate the change in oxidant storage in the catalytic converter if the catalyst is in an adsorption mode and Equation (B) is used if the catalyst is in a desorption mode.

[0154] In Equations (A) and (B), the variables C.sub.1, C.sub.2, and C.sub.3 are assigned values to compensate for various functional and operational characteristics of the catalytic converter. The value of C.sub.1 is determined according to a mathematical function or look-up table based on the catalyst temperature. One embodiment uses a mathematical function that illustrates that a catalytic converter is most active when the catalyst is hot and least active when it is cold. The catalyst temperature can be determined according to several different methods that are well-known to those of skill in the art, including by a catalyst temperature sensor.

[0155] The value of C.sub.2 in Equations (A) and (B) is determined based on the deterioration of the catalytic converter. The deterioration of the catalytic converter can be determined by a variety of well-known methods, including, for example, inferring such age or deterioration from the vehicle's total mileage (recorded by the vehicle's odometer) or total amount of fuel used over the vehicle's lifetime. Further, a catalytic deterioration factor can be calculated according to one of the preferred methods described hereinabove.

[0156] The value of C.sub.3 is determined by a mathematical function or map based on the air mass flow in the exhaust manifold 48 which can be measured or inferred. The mathematical function used to assign values to C.sub.3 depends on the mass airflow rate in the induction manifold 44. The adsorption/desorption efficiency of the catalyst decreases as the mass flow rate increases.

[0157] The C.sub.4 value is read from a two-dimensional look-up table of adaptive parameters. The primary index to the look-up table is air mass flow. For each air mass flow, there are two C.sub.4 values--one for when the catalyst is adsorbing oxidants (equation (A)) and one for when the catalyst is desorbing oxidants (equation (B)). Thus, the value of C.sub.4 used in equations (A) and (B) above varies from time to time with the determined air mass flow.

[0158] In Equation (A), the value of k.sub.a represents the maximum adsorbing rate of the catalytic converter in terms of grams of oxidants per second per cubic inch. Similarly, in Equation (B), the value of k.sub.d represents the maximum desorbing rate of the catalytic converter in terms of grams of oxidants per second per cubic inch. The values of k.sub.a and k.sub.d are pre-determined based on the specifications of the particular catalytic converter being used.

[0159] The value for Max O.sub.2 in both Equation (A) and Equation (B) represents the maximum amount of oxidants that the catalyst 70 is capable of storing in terms of grams. This is a constant value that is pre-determined according to the specifications of the particular catalytic converter used in the system. The value for Stored O.sub.2 in Equations (A) and (B) represents the previously-calculated current amount of oxidants stored in the catalytic converter 70 in terms of grams. The value for Stored O.sub.2 is read from RAM 108.

[0160] The value for O.sub.2 Flow Rate in Equation (A) and Equation (B) represents the cylinder air amount. The Base Value in Equation (A) and Equation (B) represents the oxygen flow rate where K.sub.d and K.sub.a were determined and it is (PPM O.sub.2 of input gas)*(volumetric flow rate)*(density of O.sub.2).

[0161] The Cat Vol parameter in Equation (A) and Equation (B) represents the total volume of the catalytic converter in terms of cubic inches. This value is pre-determined based on the type of catalytic converter being used. The value .DELTA.T in both equations represents the elapsed time in seconds since the last estimation of the change in oxidant storage in the catalyst.

[0162] Finally, the values of N.sub.1, N.sub.2, Z.sub.1, and Z.sub.2 are exponents that express the probability of desorption/adsorption and they are determined by experimentally measuring rates of adsorption/desorption at given levels of storage and flow. The exponents are regressed from measurements and can be used to describe linear to sigmoid probabilities.

[0163] After the change in estimated oxidant storage in the catalyst 70 is calculated according to Equation (A) or Equation (B), the running total of the current oxidant storage maintained in RAM memory 108 is updated accordingly. Specifically, the amount of oxidants either adsorbed or desorbed is added/subtracted to the running total of oxidant storage, which is maintained in RAM memory 108.

[0164] If the current catalyst oxidant storage capacity is not greater than X % of the amount stored in the predetermined catalyst storage matrix, the routine continues and exits, signifying that the catalyst has a desired oxidant storage capacity and that a desired amount of the storage capacity remains for storing oxidants.

[0165] In step 1422, cylinder and valve modes are deactivated based on the amount of oxidants stored in the catalyst. Cylinder and valve modes are deactivated based on the comparison of oxidants stored in a catalyst to a percentage of an amount stored in the predetermined catalyst storage matrix. In other words, if the amount of oxidants stored in a catalyst are greater than a percentage of a predetermined amount then those cylinder and valve modes that are greater than the desired amount are deactivated. For example, if a catalyst has a predetermined oxidant storage capacity of 0.0001 gm and has a desired oxidant storage capacity of 60% or less of the predetermined oxidant storage capacity then the cylinder and valve mode will be deactivated if the stored oxidant amount is greater than 0.00006 gm.

[0166] An alternative to the method of FIG. 14 is to recognize that deactivation of cylinder and valve modes can affect engine feed gas emissions. Therefore, cylinder and valve modes may be selected to alter the catalyst state. That is, deactivating certain cylinder and valve modes can constrain engine feed gas emissions altering the gas concentrations that enter the catalyst. For example, a V8 engine operating in V4 cylinder and dual intake/dual exhaust mode may produce higher levels of oxidants as compared to a V8 cylinder mode due to higher in cylinder temperatures and pressures. If a catalyst oxidant storage capacity is less than desired, V4 cylinder mode could be deactivated in an effort to reduce NOx emissions.

[0167] In addition, engine fuel may be adjusted before and during a cylinder/valve mode change to further affect the amount of oxidants stored in a catalyst. For example, if an engine is operating in an eight cylinder mode and mode selection criteria permits switching to another mode, four-cylinder mode for example, fuel may be added or subtracted from the base fuel amount to bias the total fuel amount in a rich or lean direction, before the mode change is initiated, to precondition the catalyst for the mode change. Further, during and after a mode change, fuel may be added or subtracted from the base fuel amount to bias the total fuel amount in a rich or lean direction. The fuel adjustments may provide compensation for gas constituent changes that may occur due to different cylinder air amounts.

[0168] In one example embodiment, advantageous operation can be obtained for an engine with electromechanical valves that is first operating in a first operating mode with a first valve and/or cylinder configuration (e.g., a first group of cylinders operating with a first number of valves and a second group operating with a second number of valves, or some cylinders in 4-stroke and some cylinders in 12 stroke mode, or some cylinders deactivated and remaining cylinders having differing number of active valves, or combinations or subcombinations thereof), and transitions to operating in a second operating mode with a second valve and/or cylinder configuration. And, before and/or during the transition, the exhaust gas mixture air-fuel ratio is temporarily biased lean or rich to precondition the exhaust system (by, for example, changing the air-fuel mixture in one or more cylinders carrying out combustion).

[0169] Referring to FIG. 15, a flowchart of a method to deactivate cylinder modes (from available modes, for example) based on engine and valve operational limits is shown. The method evaluates engine and catalyst temperatures to determine which available cylinder and valve modes should be deactivated. Further, if valve degradation is indicated the method deactivates cylinder and valve modes influenced by the degradation, with the exception of the cylinder and valve mode in cell (0,0) of the mode matrix, if desired.

[0170] In step 1510, engine operating conditions are determined. Engine temperature sensor 112 and catalyst brick temperature 77 are measured. Alternatively, the temperatures may be inferred. In addition, exhaust valve temperature can be inferred from empirical data based on engine temperature, exhaust residuals, engine speed, engine air amount, and spark advance. The routine then proceeds to step 1512.

[0171] In step 1512, catalyst temperature, CAT_TEMP, is compared to a predetermined variable CAT_tlim. If the catalyst temperature is greater than CAT_tlim the routine proceeds to step 1514. If catalyst temperature is less than CAT_tlim then the routine proceeds to step 1516.

[0172] In step 1514, cylinder and valve modes are deactivated based on predetermined matrix, CAT_LIM_MTX. The matrix has the same dimension as the mode matrix, i.e., the matrices have the same number of elements. Within CAT_LIM_MTX, the cylinder and valve modes that produce higher temperatures are deactivated. The deactivated modes are then copied from the CAT_LIM_MTX to the mode matrix. For example, if a measured or inferred catalyst temperature is higher than desired for a V8 engine, partial cylinder modes, V4, six-stroke, and V2 are deactivated. Deactivating the partial cylinder modes lowers exhaust temperatures by decreasing the load per cylinder at the same desired torque. The routine then proceeds to step 1516.

[0173] In step 1516, engine temperature, ENG_TEMP, is compared to a predetermined variable ENG_tlim. If the engine temperature is greater than ENG_tlim the routine proceeds to step 1518. If the engine temperature is less than ENG_tlim then the routine proceeds to step 1520.

[0174] In step 1518, cylinder and valve modes are deactivated based on predetermined matrix, ENG_LIM_MTX, where the matrix has the same dimension as the mode matrix, i.e., the matrices have the same number of elements. Within ENG_LIM_MTX the cylinder and valve modes that produce higher temperatures are deactivated. The deactivated modes are then copied from the ENG_LIM_MTX to the mode matrix. For example, if a measured or inferred catalyst temperature is higher than desired for a V8 engine, partial cylinder modes, V4, six-stroke, and V2 are deactivated. Deactivating the partial cylinder modes can lower exhaust temperatures by decreasing the load per cylinder at the same desired torque. The routine then proceeds to step 1520.

[0175] In step 1520, the inferred exhaust valve temperature, EXH_vlv_tmp, is to a predetermined variable EXH_tlim. If the inferred exhaust valve temperature is greater than EXH_tlim the routine proceeds to step 1522. If the inferred exhaust valve temperature is less than the EXH_tlim then the routine proceeds to step 1524.

[0176] In step 1522, cylinder and valve modes are deactivated based on predetermined matrix, EXH_LIM_MTX, where the matrix has the same dimension as the mode matrix, i.e., the matrices have the same number of elements. Within EXH_LIM_MTX the cylinder and valve modes that produce higher temperatures are deactivated. The deactivated modes are then copied from the ENG_LIM_MTX to the mode matrix. For example, if a measured or inferred exhaust valve temperature is higher than desired for a V8 engine, partial cylinder modes, V4, six-stroke, and V2 are deactivated and the exhaust valves operate in an alternating mode. Deactivating the partial cylinder modes lowers exhaust temperatures by decreasing the load per cylinder while alternating valves facilitates heat transfer between the inactive exhaust valve and the cylinder head. The routine then proceeds to step 1524.

[0177] In step 1524, valve degradation is evaluated. The valve degradation can be indicated in a number of ways that may include but are not limited to: valve position measurements, temperature measurements, current measurements, voltage measurements, by inference from oxygen sensors, or by an engine speed sensor. If valve degradation is detected, a variable, VLV_DEG, is loaded with the number of cylinders with degraded valves and a cylinder identifier, CYL_DEG, is loaded with the latest cylinder number where the degraded valve is located, in step 1528. If valve degradation is present, the routine continues to step 1526. If valve degradation is not indicated the routine exits.

[0178] In step 1526, cylinder and valve modes that are affected by valve degradation are deactivated, which can include deactivating the cylinder(s) with the degraded valve(s). Specifically, the cylinder in which the degraded valve is located, CYL_DEG, is an index into a matrix, FN_DEGMODES_MTX, that contains cylinder modes that are affected by the cylinder that contains the degraded valve. The routine then deactivates the cylinder modes that are identified by the FN_DEGMODES_MTX. However, in one example, the cylinder mode of row zero is not deactivated so that the engine is capable of delivering torque from at least some (or all) cylinders with non-degraded valves when requested. In addition, if more than one cylinder has degraded performance due to degraded valve performance, i.e., VLV_DEG is greater than one, the cylinder mode corresponding to row zero is the single active cylinder mode. In this way, a cylinder identified to have degraded performance causes affected cylinder modes to be deactivated, which may include disabling combustion, fuel injection, and/or ignition plug activation in the cylinders with degraded valves. Thus, fuel and/or spark can be deactivated in cylinders with degraded valve performance.

[0179] Valve performance degradation may also be compensated in step 1526. Valve temperature is sensed by temperature sensor 50, but additional valve operating conditions may be determined as well. For example, valve voltage, impedance, and power consumption may be sensed or inferred. These parameters may be compared to predetermined target amounts to form error amounts that are then used to adjust an operating parameter of a vehicle electrical system. For example, if ambient air temperature increases and a voltage amount, measured or inferred, at a valve is lower than desired, a signal may be sent to the vehicle electrical system to increase the supply voltage. In this way, operating conditions of the valve may be used to adjust an operating condition of a vehicle electrical system so that valve operation is improved. The routine then proceeds to step 1530.

[0180] In step 1530, operating conditions of a vehicle electrical system are assessed. If electrical system available power, available current, and/or available voltage is below a predetermined amount or is degraded, the routine proceeds to step 1532. Furthermore, if an external electrical load, e.g., a computer or video game powered by the vehicle electrical system, or an ancillary, lower priority electrical load, e.g., a vehicle component, such as an air pump or fan, is loading the vehicle electrical system more than a predetermined amount or more than a fraction of the total available electrical system capacity, the routine proceeds to step 1532. The routine then proceeds to exit.

[0181] In step 1532, cylinder and valve modes are deactivated based on electrical system operating conditions. Copying zeros from selected matrices into the mode matrix deactivates cylinder and valve modes. If electrical system available power, available current, and/or available voltage are below a first set of predetermined amounts, matrix FNVLVRED zeros are copied into the mode matrix. In this example, the zeros restrict valve operation to the number of engine cylinders with two operational valves per cylinder. If the above-mentioned electrical parameters are below a second set of predetermined amounts, matrix FNCYLRED zeros are copied into the mode matrix. In this example, the zeros restrict valve operation to a reduced number of active cylinders and a reduced number of valves in active cylinders.

[0182] Further, if power to external or ancillary loads exceeds predetermined amounts, controlling a power switch, e.g., a relay or transistor, deactivates power to these devices. The combination of deactivating cylinder and valve modes along with reducing the affect of external and ancillary electrical loads can improve likelihood of starting during conditions of reduced electrical system capacity. For example, during cold ambient temperatures, engine friction increases and battery power may be reduced. By deactivating lower priority electrical loads and selecting a reduced number of active cylinders and valves, additional electrical power is available for an engine starter and active valves during starting. In addition, vehicle range may be increased if electrical system performance degrades during engine operation by deactivating lower priority electrical loads and reducing active cylinders and valves.

[0183] Referring to FIG. 16, a flowchart of a method to deactivate cylinder modes based on frequencies of modal vibration of a vehicle chassis and components. The method evaluates engine speed and predicts future engine speed so that excitation of modal frequencies of the vehicle chassis and components can be reduced. Components whose modal frequencies are desirable to reduce or avoid include, for example: drive shafts, brackets, and transmission housing. The method deactivates cylinder modes if the engine combustion frequency approaches a predetermined modal frequency.

[0184] Engine speed is anticipated because cylinder mode transitions take a period of time to initiate and because it also may take time to allow a torque converter to exit lock-up mode and begin to slip, reducing driveline torque surges. In other words, when transitioning between different valve and/or cylinder modes, in one example, the torque converter is unlocked before the transition, to dampen any uncompensated torque disturbance.

[0185] In step 1610, engine speed is determined. Engine speed is determined from engine position sensor 118. The routine then proceeds to step 1612.

[0186] In step 1612, variables for current transmission gear, CUR_GR, and target (future) transmission gear, TAR_GR, are evaluated to determine if a gear shift is pending. The transmission controller determines current and target gears from engine speed, driver brake torque demand, transmission temperature, and signals alike, for example. If CUR_GR and TAR_GR are different, a transmission shift is pending or is in progress. If a gear shift is pending or is in progress the routine proceeds to step 1614. If a gear shift is not in progress or pending, the routine proceeds to step 1616.

[0187] In step 1614, engine speed is predicted into the future by multiplying the current engine speed by the ratio of current and target gear ratios. In automatic transmissions, the slip of a torque converter can also be incorporated into gear based anticipation. This allows engine combustion frequencies that are influenced by transmission gears to be reduced or avoided.

[0188] When a transmission shifts gears, the engine speed can change quickly as the engine speed and vehicle speed are brought together through the transmission gear set. Engine speed is anticipated during gear shifting by the equation: Ant_Eng .times. _N = Eng_N Tar_Gr .times. _Rto Cur_Gr .times. _Rto Where Ant_Eng is the anticipated engine speed, Eng_N is the current engine speed, Tar_Gr_Rto is the target (future) gear ratio, and Cur_Gr_Rto is the current gear ratio. The equation predicts engine speed during up and down shifting so that excitation of modal frequencies can be avoided. The routine then proceeds to step 1618.

[0189] In step 1616, engine speed is predicted based on current and past engine speed measurements. Engine speed is predicted by the equation: Ant_Eng .times. _N = Eng_N .times. ( k ) + Ant_Tm Eng_N .times. ( k ) - Eng_N .times. ( k - 1 ) .DELTA. .times. .times. t Where Ant_Eng is the anticipated engine speed, Eng_N(k) is the current engine speed, Eng_N(k-1) is engine speed of the previous engine speed sample, Ant_Tm is the anticipation time, i.e., period of time anticipated into the future, and .DELTA.t is the time duration between samples. The anticipation time, Ant_Tm, should be less than 0.5 seconds.

[0190] Alternatively, engine speed may be used in place of predicted engine speed, but speed thresholds of each cylinder and valve mode are lowered to avoid encountering NVH areas. The routine then continues to step 1618.

[0191] In step 1618, anticipated engine speed is converted into combustion frequencies that are associated with cylinder modes. For example, an anticipated engine speed of 1500 RPM for an engine operating in four-stroke mode with eight active cylinders translates to a firing frequency of 100 Hertz (1500 Rev/min*1 min/60 sec*4 firing/Rev).

[0192] These frequencies are then compared to a predetermined undesirable cylinder mode frequency so that excitation of modal frequencies is avoided or reduced by activating or deactivating cylinders and/or valves. Further, the number of strokes in a cycle of a cylinder may also be changed to avoid undesirable frequencies. For example, if the modal frequency of a vehicle chassis is 15 Hz it is desirable to avoid this and lower frequencies. An engine operating at 800 RPM has a V8 combustion frequency of 53.3 Hz, a V4 combustion frequency of 26.6 Hz, and a V2 combustion frequency of 13.3 Hz. Therefore, in this example, V2 cylinder mode can be deactivated. Further, step 1620 provides an offset to the predetermined desired frequency of step 1618. If the cylinder load, or cylinder air amount, is low, the predetermined desired frequency can be lowered as a function of the cylinder load. Typically, a cylinder load below 30% of cylinder load capacity will lower the predetermined frequency capacity. The routine then exits.

[0193] In addition, the number of valve events during a cycle of an active cylinder may also be used to avoid frequencies (or reduce the impact) that are a result of valve operations. In other words, when a valve is operated it generates a different frequency than the cylinder combustion frequency because the valve operates at least twice in an active cylinder, one time opening and one time closing. These frequencies may also be avoided or reduced in step 1618 by identifying valve frequencies based on valve and cylinder modes.

[0194] Further, frequencies that affect driveline and drive shaft vibration or are affected by the state of a torque converter lock-up clutch may be avoided or reduced by simply changing combustion frequency and valve events as described above.

[0195] Further yet, a signal may be output from step 1618 to change a damping ratio of a motor mount having variable characteristics. As cylinder combustion frequency and valve operating frequency approach a predetermined value, a signal may be sent to an external routine to alter motor mount damping ratios to further reduce any noise or vibration.

[0196] Referring to FIG. 17, a flowchart of a method to deactivate cylinder modes based on desired engine brake torque is described. The method evaluates desired engine brake torque and predicts future engine brake torque so that torque is smoothly applied between cylinder and valve mode transitions.

[0197] In step 1710, desired engine brake torque is determined from accelerator pedal 119. The routine then proceeds to step 1712. Note that other engine output parameters could be used in place of engine brake torque, such as wheel torque, transmission input torque, transmission output torque, engine indicated torque, and others. Further, it can also be based on engine or vehicle speed.

[0198] In step 1712, the method determines if desired brake torque is increasing or decreasing. In one example, the current desired brake torque is subtracted from the previous sample value of desired engine brake torque. If the sign of the result is positive, brake torque is (or determined to be) increasing. If the result is negative, desired brake torque is (or determined to be) decreasing. If the desired brake torque is increasing, the method proceeds to step 1716. If the desired brake torque is decreasing the method proceeds to step 1714. Further, the routine can also have a third option that looks to whether the torque is remaining substantially steady (e.g., not changing within 0-5%, for example). If such a condition is detected, in this example, the routine continues to step 1716.

[0199] In step 1714, the desired engine brake torque signal is filtered by a first order filter and a predetermined time constant, although higher order filters could be used, or other types of filters could be used. By filtering the decreasing desired brake torque signal, potential of increased frequency of switching between multiple cylinder and valve modes can be reduced. For example, if the vehicle driver depresses and then releases the accelerator 119 multiple times over a short period, the filter can reduce the number of mode changes because the filtered desired torque signal decays, i.e., goes to a lower value, at a slower rate than the unfiltered desired torque signal. In an alternative embodiment, both increasing and decreasing signals can be filtered and then used with a dead-band to reduce the amount of unnecessary valve or cylinder mode switching in response to driver changes. The method then continues to step 1718.

[0200] In step 1716, the increasing desired brake torque signal is predicted into the future by an anticipation algorithm. Desired engine torque is anticipated by the equation: Ant_Eng .times. _Tor = Eng_Tor .times. ( k ) + Ant_Amt Eng_Tor .times. ( k ) - Eng_Tor .times. ( k - 1 ) .DELTA. .times. .times. t Where Ant_Eng_Tor is the anticipated desired engine torque, Eng_Tor(k) is the current desired engine torque, Eng_Tor(k-1) is desired engine torque of the previous desired engine torque sample, Ant_Amt is the anticipation time, i.e., period of time anticipated into the future, and .DELTA.t is the time duration between samples. The anticipation time, Ant_Amt, in one example, is less than 0.5 seconds.

[0201] Alternatively, desired engine torque may be used in place of predicted desired engine torque, but torque thresholds of each cylinder and valve mode are lowered to avoid encountering the torque capacity of a mode. The routine then continues to step 1718.

[0202] In step 1718, desired engine torque is compared to a matrix, Eng_Mod_Tor, of torque capacity amounts for cylinder and valve modes. Each cell of the cylinder and valve mode matrix has a corresponding cell in the Eng_Mod_Tor matrix. If the desired engine torque is greater than the torque capacity of a cylinder and valve mode, then the cylinder and valve mode is deactivated. In other words, the desired torque is compared against the torque capacity of each cylinder and valve mode. If the desired torque is greater than a cylinder and valve mode, the mode is deactivated. The routine then exits.

[0203] Referring to FIG. 18, a method to select a cylinder and valve mode from a matrix of available cylinder and valve modes is described. In one example, the method searches the entire mode matrix for a mode with the least number of active cylinders and valves. Since the before-mentioned steps have already deactivated cylinder and valve modes based on operating conditions of the engine and vehicle, this step provides a second example criteria for selection of cylinder and valve modes, namely, fuel economy. By selecting the fewest number of active cylinders and valves, fuel economy is increased by improving cylinder efficiency and reducing electrical power consumption. However, alternative search schemes can be used by structuring the columns and rows of the matrix differently to emphasize other goals, or combinations of different goals.

[0204] In step 1810, row and column indexes are initialized each time the routine is executed and the routine stores the current row and column index if the mode matrix cell pointed to by the indexes contains a value of one. In this example, only one row and column index is stored at a time. The routine proceeds to step 1812 after the current mode matrix cell is evaluated.

[0205] In step 1812, the current column number, cols, is compared to the number of columns of the mode matrix, col_lim. If the currently indexed column is less than the total number of mode matrix columns the routine proceeds to step 1814. If the indexed column is not less than the total number of mode matrix columns the routine proceeds to step 1816.

[0206] In step 1814, the column index value is incremented. This allows the routine to search from column zero to column col_lim of each row. The routine then continues to step 1810.

[0207] In step 1816, the column index is reset to zero. This action allows the routine to evaluate every column of every row of the mode matrix if desired. The routine then proceeds to step 1818.

[0208] In step 1818, the current row number, rows, is compared to the number of rows of the mode matrix, row_lim. If the currently indexed row is less than the total number of mode matrix rows the routine proceeds to step 1820. If the indexed row is not less than the total number of mode matrix rows the routine proceeds to step 1822.

[0209] In step 1820, the row index value is incremented. This allows the routine to search from row zero to column row_lim of each row. The routine then continues to step 1810.

[0210] In step 1822, the routine determines the desired cylinder and valve mode. The last row and column indexes are output to the torque determination routine, FIG. 2, step 212. The row number corresponds to the desired cylinder mode and the column number corresponds to the desired valve mode. The routine then exits.

[0211] Referring to FIG. 19, a timing chart that illustrates alternating intake valve control is shown. The x-axis is designed to show two engine revolutions, or one cylinder firing cycle (combustion cycle) for a cylinder in four-stroke mode (although other strokes can be used). In this example, a cylinder with two intake valves (labeled "A" and "B") is controlled according to the timing diagram of FIG. 19. The position of intake valve A opens prior to the 360 degree crankshaft marking, and it does not open at the next 360 degree crankshaft marking, but it opens again at the following 360 degree crankshaft marking. In other words, the A valve opens every other combustion event, in the case where the engine is operating in a four-stroke mode, the cylinder firing every 720 degrees of crankshaft rotation, or every two revolutions. The second intake valve also opens at a 360 degree crankshaft marking too, but valve B opens 720 degrees out of phase with valve A. Also, this valve sequence is possible for both intake and/or exhaust valves. Alternatively, some cylinders of the engine can operate with alternating valves while others operate with the same single valve, or dual valves.

[0212] The (full or partial) alternating valve sequence can advantageously reduce valve wear, reduce exhaust valve temperature, and/or reduce power consumption. Further, the valve sequence can alter engine breathing characteristics, i.e., the amount of air inducted, when different length intake or exhaust manifold runners are available for the different intake and exhaust valves. The valve sequence is one of many sequences and operating patterns available for electromagnetically actuated valves and may be selected by the method of FIG. 10.

[0213] Referring to FIG. 20, a timing chart that illustrates an example of intake valve phasing control is described. A cylinder with two intake valves is controlled according to the timing diagram of FIG. 20. Intake valve A opens prior to each 360 degree crankshaft marking. On the