The present invention relates to vehicle control systems, and more particularly to a control system security software layer protection for engine start.
Vehicles can include an internal combustion engine that drives a powertrain to propel the vehicle. In some instances, the powertrain includes an automatic transmission that multiplies drive torque generated by the engine. In cases where engine start is initiated (i.e., cranking of the engine using a starter motor), traditional vehicles use a switch to determine whether the transmission is in a non-power transfer range (e.g., park (P) or neutral (N)). Engine start is only allowed when the transmission is in P or N while being prohibited otherwise (e.g., while the transmission is in drive (D) or reverse (R)).
In traditional vehicle systems one of a plurality of control modules can make an independent assessment of whether to allow an engine start using a separate P/N switch that is connected to a mechanical parking mechanism of the transmission. In such systems, the onus of ensuring a proper engine start signal lies with the particular control module. The controller area network (CAN) system is always secure in that any failures in the securely-transmitted signal are recognized and engine start is prohibited. The sources of failure that can contribute to a non-secure start of the engine include, but are not limited to sensor failures, control module hardware failures and control module software failures.
Sensor failures in a security-critical system generally require redundant sensors to be used in the system design if they are security-critical. Control module hardware failures can be detected with security-critical microprocessor architectures and industry standards exist for these architectures. Control module software failures can be protected against by having a secondary path of calculation for the security-critical variable. These secondary paths have to be specifically designed for the particular feature which is identified as a security-critical feature. Software failures in the TCM software could lead to an incorrect CAN message being sent to the ECM, which could result in an engine start being allowed when the transmission is in a power flow condition (e.g., D or R ranges).
Accordingly, the present invention provides an engine start security control system for a vehicle having a transmission that is driven by an engine. The engine start security control system includes a first module that generates a first engine start flag based on an internal mode switch (IMS) signal and a second module that generates a second engine start flag based on a modified IMS signal. A third module selectively generates an engine start allow signal based on the first and second engine start flags.
In another feature, the engine start security control system further includes a range selector lever associated with the transmission and a sensor that generates the IMS signal based on a position of the range selector lever.
In another feature, the third module generates the engine start allow signal if the first engine start flag and the second engine start flag are both set.
In another feature, the third module generates an engine start prohibit signal if the first engine start flag is not set.
In another feature, the third module generates an engine start prohibit signal if the second engine start flag is not set after a threshold time.
In still another feature, the engine start security control system further includes a fourth module that generates the modified IMS signal based on the IMS signal.
In yet another feature, the modified IMS signal is a two's complement of the IMS signal.
Further areas of applicability of the present invention will become apparent from the detailed description provided hereinafter. It should be understood that the detailed description and specific examples, while indicating the preferred embodiment of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.
The present invention will become more fully understood from the detailed description and the accompanying drawings, wherein:
The following description of the preferred embodiment is merely exemplary in nature and is in no way intended to limit the invention, its application, or uses. For purposes of clarity, the same reference numbers will be used in the drawings to identify similar elements. As used herein, the term module refers to an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality.
Referring now to
The vehicle system 10 further includes a starter motor 26 and a power system 28. The starter motor 26 selectively engages a flywheel ring gear, as explained in further detail below, to rotatably drive the crankshaft. In this manner, the engine 12 is cranked during a start-up routine. The power system 28 includes an ignition switch 30, an energy storage device (ESD) 32 (e.g., battery or super-capacitor), a fuse 34 and a starter relay 36. The power system 28 enables the starter motor 26 to engage and drive the flywheel ring gear based on an operator input (e.g., turning the ignition switch to START). The ESD 32 provides power to power the starter motor 26 through the fuse 34.
A range selector lever 40 is provided and enables a vehicle operator to select one of a plurality of transmission ranges. Exemplary transmission ranges include, but are not limited to, park (P) and neutral (N), which are non-power flow ranges, and drive (D) and reverse (R), which are power flow ranges.
Various sensors are provided that detect vehicle operating conditions. For example, a throttle position sensor (TPS) 42 is responsive to a position of the throttle and generates a signal based thereon. An engine RPM sensor 44 and an intake manifold absolute pressure (MAP) sensor 46 are responsive to engine speed and intake MAP, respectively, and generate respective signals based thereon. An internal mode switch (IMS) 48 is responsive to the position of the range selector lever and generates an IMS signal based thereon.
A control module 50 regulates operation of the vehicle system based on the various vehicle parameters. The control module 50 of the exemplary vehicle system 10 includes first and second sub-modules 52, 54, respectively, (e.g., a transmission control module (TCM) and an engine control module (ECM), respectively). Although the TCM and ECM are illustrated as sub-modules of the control module 50, it is anticipated that the TCM and ECM can be provided as separate control modules. The TCM and ECM communicate via a controller area network (CAN) 56.
The control module 50 executes the engine start security control of the present invention. More specifically, the TCM sub-module 52 includes a control layer and a validation layer to determine whether a security-critical state is achieved. As used herein, the term control layer refers to the normal software path, while the term validation layer refers to a secondary or redundant software path. Both the control and validation layers use the IMS signal to generate engine start flags FSTARTCL and FSTARTVL, respectively. More specifically, if the control layer determines that an engine start is allowable (i.e., the transmission is in P or N), FSTARTCL is set TRUE or is set equal to a value (e.g., 1). If the control layer determines that an engine start is not allowable (i.e., the transmission is not in P or N), FSTARTCL is set FALSE or is set equal to another value (e.g., 0). Similarly, if the validation layer determines that an engine start is allowable, FSTARTVL is set TRUE or is set equal to a value (e.g., 1) and if the validation layer determines that an engine start is not allowable, FSTARTVL is set FALSE or is set equal to another value (e.g., 0).
FSTARTVL is calculated differently from the FSTARTCL. Exemplary differences between the calculations include that the validation layer processes a modified IMS signal (e.g., the two's complement of the original IMS signal) and processes the modified IMS signal differently than the control layer processes the IMS signal. Further, an optimal processing algorithm is used in the validation layer, which minimizes de-bouncing of the IMS signal, whereas the de-bouncing algorithm of the control layer is more complex. De-bouncing refers to the process where the shake or jitter in the IMS signal that results from settling of the lever position after moving from another position is filtered out or otherwise ignored.
When the control layer outputs a signal indicating that engine start is allowed (i.e., FSTARTCL is set TRUE or FSTARTCL=1), the validation layer confirms whether the output signal is valid by comparing it to FSTARTVL. More specifically, if FSTARTCL is set TRUE or FSTARTCL=1 (i.e., the control layer indicates that an engine start is allowed), and the validation layer output signal indicates that an engine start is not allowed (i.e., FSTARTVL is set FALSE or FSTARTVL=0) then a fail flag (FFAIL) is set or is set equal to a value (i.e., 1) after a threshold time (tTHR), which results in a reset of the TCM. If the control layer output signal indicates that the engine start is not allowed (i.e., FSTARTCL is set FALSE or FSTARTCL=0), no validation layer protection is needed, because the engine start prohibited state is inherently a secure state.
The engine start security control of the present invention recognizes and maximizes the robustness of the failure mode of the IMS. The failure mode of the IMS is such that it takes two electrical failures to wrongly indicate a valid incorrect state. This fact can be relied upon to cover for electrical failures. Further, the control module 50 has a security-critical architecture that detects TCM hardware failures and commands a safe reset of the TCM. As a result, the only failures that need to be protected against are failures in the TCM software. These software-type failures will be detected by the engine start security control as implemented in at least one of the exemplary processes described below, to provide a completely secure design against incorrect engine start.
In accordance with a first exemplary process, the validation layer generates the modified IMS signal and determines the transmission range (e.g., P or N) from an encoding table based thereon. The validation layer sets FSTARTVL based on the transmission range. More specifically, if the transmission range is P or N (i.e., a non-power flow range), FSTARTVL is set TRUE or is set equal to 1 to indicate that an engine start is allowed. FSTARTCL is generated and is compared to FSTARTVL in accordance with the following:
If FSTARTCL is TRUE (or 1) and FSTARTVL is TRUE (or 1), then start timer (t);
and
If t<tTHR, then allow engine start;
else prohibit start.
The above-described first exemplary process can be used with control layer processing that de-bounces the IMS signal and sends out FSTARTCL, wherein if the IMS sensor reads a transition from P or N, engine start is allowed for a threshold time period until the next valid range (e.g., P, R, N, D) is achieved. Engine start is prohibited if the threshold time period elapses before achieving a valid range state.
In accordance with a second exemplary process, as soon as the IMS signal indicates a transition from P or N, FSTARTCL is immediately set to FALSE or 0 to prohibit engine start. Once the IMS signal settles (i.e., after de-bouncing), FSTARTCL is set to TRUE or 1 if the IMS detects P or N in steady-state. This can be done with an allowance for noise spikes. The validation layer then only checks and sets FSTARTVL to FALSE or 0 if FSTARTCL is TRUE or 1, and if the validation layer determines that the range is neither P nor N based on the two's complement of the IMS signal. No de-bouncing or timers are needed in the validation layer. Because de-bouncing of the IMS signal has already occurred in the control layer and signals have settled, IMS readings in the validation layer match the control layer IMS readings when there is no failure.
Referring now to
In step 212, determines whether FSTARTCL is set. If FSTARTCL is not set (e.g., is equal to zero), control continues in step 214. If FSTARTCL is set (e.g., is not equal to zero), control determines whether t is greater than a timer threshold (tTHR) in step 216. If t is greater than tTHR, control continues in step 218. If t is not greater than tTHR, control temporarily allows an engine start in step 220. In this manner, engine start is allowed regardless of FSTARTVL for a brief period of time, during which de-bouncing of the IMS signal occurs. In step 222, control increments t and loops back to step 216.
In step 218, control determines whether FSTARTVL is set. If FSTARTVL is not set (e.g., is equal to zero), control prohibits engine start in step 214 and control ends. If FSTARTVL is set (e.g., is not equal to zero), control allows engine start in step 224 and control ends.
Referring now to
The signal processing module 304 processes the IMS signal and generates a modified IMS signal (IMS′). IMS′ can be, for example, the two's complement of the original IMS signal or some other IMS-based signal. The validation layer module 302 processes IMS′ and determines FSTARTVL based thereon. The SMM 306 generates one of an engine start allow and an engine start prohibit signal based on FSTARTCL and FSTARTVL.
Those skilled in the art can now appreciate from the foregoing description that the broad teachings of the present invention can be implemented in a variety of forms. Therefore, while this invention has been described in connection with particular examples thereof, the true scope of the invention should not be so limited since other modifications will become apparent to the skilled practitioner upon a study of the drawings, the specification and the following claims.
Number | Name | Date | Kind |
---|---|---|---|
5216341 | Nomura et al. | Jun 1993 | A |
5506562 | Wiesner | Apr 1996 | A |
5828297 | Banks et al. | Oct 1998 | A |
6593713 | Morimoto et al. | Jul 2003 | B2 |
Number | Date | Country | |
---|---|---|---|
20070265765 A1 | Nov 2007 | US |