# Patent

## Title
Vehicle safety power management

## Abstract

A vehicle system includes a processing device programmed to determine an ignition state and a vehicle speed. The processing device powers at least one vehicle subsystem if the ignition state is off and the vehicle speed is above a predetermined threshold. The processing device may disable the vehicle subsystem when the vehicle speed falls below the predetermined threshold.

## Background
BACKGROUND
Vehicle subsystems are often powered when the vehicle ignition is turned on. Some subsystems, such as interior lights, can turn on even if the vehicle is otherwise powered off. Interior lights, for instance, may turn on when one of the doors is opened. Other subsystems, like an entertainment system, may remain on for a brief time after the vehicle ignition is turned off.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an example vehicle implementing a power management module for providing power to certain vehicle subsystems under certain circumstances.
FIG. 2 is a block diagram of an example power management module and vehicle subsystems.
FIG. 3 is a block diagram of the power management module incorporated into a body control module.
FIG. 4 is a flowchart of an example process that may be executed by the power management module to provide power to certain vehicle subsystems under certain circumstances.
FIG. 5 is an example finite state machine showing possible states of the power management module.



DETAILED DESCRIPTION
Turning off the vehicle ignition is often assumed to be purposeful—that is, that the driver intends to turn off the vehicle subsystems and exit the vehicle. If the ignition system fails or is otherwise turned off inadvertently while the vehicle is moving, some subsystems and their corresponding functionality may be inadvertently disabled as a consequence. One way to prevent certain subsystems from turning off following an ignition system failure while the vehicle is moving includes a processing device programmed to determine an ignition state and a vehicle speed. The processing device powers at least one vehicle subsystem if the ignition state is off and the vehicle speed is above a predetermined threshold. The processing device may disable the vehicle subsystem when the vehicle speed falls below the predetermined threshold.
The elements shown may take many different forms and include multiple and/or alternate components and facilities. The example components illustrated are not intended to be limiting. Indeed, additional or alternative components and/or implementations may be used.
As illustrated in FIG. 1, the host vehicle 100 includes an ignition system 105, a battery 110, and a power management module 115. Although illustrated as a sedan, the host vehicle 100 may include any passenger or commercial automobile such as a car, a truck, a sport utility vehicle, a crossover vehicle, a van, a minivan, a taxi, a bus, etc. In some possible approaches, the host vehicle 100 is an autonomous vehicle configured to operate in an autonomous (e.g., driverless) mode, a partially autonomous mode, and/or a non-autonomous mode.
The ignition system 105 may include an ignition slot located in the passenger compartment of the host vehicle 100. The ignition slot may be configured to receive a key. The key may be used to place the ignition system 105 into a number of different states, as discussed in greater detail below. The host vehicle 100 may operate in accordance with the ignition state. Alternatively or in addition, the ignition state could also be determined in accordance with a keyless entry system or keyless start system, sometimes referred to as a passive entry/passive start system.
The battery 110 may include any number of devices configured to provide electrical energy to one or more vehicle subsystems. Through chemical reactions, the battery 110 may generate an electric charge. The chemical reactions may occur in a number of cells arranged in series or parallel. Electrically conductive leads may be located on the battery housing. The electrical energy may be provided to vehicle subsystems connected, either directly or indirectly, to the leads. The battery power may be selectively provided to certain vehicle subsystems, as discussed in greater detail below.
The power management module 115 may include any computing device having a processing device 125 programmed to determine an ignition state and vehicle speed. The ignition state may be determined from a key state, e.g., a position of a key in an ignition slot. Example key states, and therefore ignition states, may include a RUN state, a ACC state, and an OFF state. The RUN state may indicate the driver's intent for the vehicle engine and all vehicle subsystems to turn on. The ACC state may indicate the driver's desire for certain vehicle subsystems (e.g., accessories) to turn on but for the vehicle engine to remain off. The OFF state may indicate the driver's desire for the engine and most or all vehicle subsystems to turn off.
The power management module 115 may be programmed to determine or track historical key states. That is, the power management module 115 may determine a current key state based on the present position of the key in the ignition slot and a previous key state based on a previous position of the key in the ignition slot. By way of example, the current key state may be the RUN state and the previous key state may be the OFF or ACC state. Another example may have the current key state include the OFF state and the previous key state the RUN of ACC state.
In some instances, the key state may not accurately reflect the ignition state. For instance, the key state may be RUN (i.e., a key is in the ignition slot in the RUN position) but the ignition may be off. Therefore, the power management module 115 may be programmed to determine the ignition state independently of the key state, and vice versa.
Some vehicle subsystems, such as the interior and exterior lights, entertainment system, etc., may remain on for a limited period of time even though the ignition state is OFF. The vehicle speed may be determined from, e.g., a controller such as a powertrain controller, Antilock Brake System (ABS) or other module/sensor (see FIG. 2). The power management module 115 may selectively provide power from the battery 110 to one or more vehicle subsystems based on the inferred ignition state and the vehicle speed. For instance, if the ignition state is OFF but the host vehicle 100 is still moving (e.g., the vehicle speed is above a predetermined threshold), the power management module 115 may continue to power certain vehicle subsystems, as described in greater detail below. Once the vehicle speed has dropped below the predetermined threshold, however, the power management module 115 may be programmed to disable one or more of the vehicle subsystems that have remained on. Disabling the vehicle subsystems may include, e.g., disconnecting those vehicle subsystems from the battery 110 to remove power. If the ignition turns on again before the speed has dropped the predetermined threshold, or if the speed is only below the predetermined threshold for a brief period of time, the power management module 115 may continue to power the vehicle subsystems as if the ignition had never turned off.
The power management module 115 may be programmed to implement a situational override. The situational override may be implemented, e.g., in response to a user input or a situation detected from sensor signals. Example situational overrides may include a parked vehicle override, a towing override, an assembly mode override, and a remote start override. The situational override may change the operation of the power management module 115. For instance, the situational override may cause the power management module 115 to allow certain or all subsystems to turn off under certain circumstances. Under normal operation, the power management module 115 may power vehicle subsystems if the ignition is inadvertently or unexpectedly turned off. With the situational overrides, the power management module 115 may permit or cause one or more vehicle subsystems to power down despite the key state and ignition state.
The parked vehicle override may be implemented when the host vehicle 100 is parked and the ignition is off. If the host vehicle 100 starts to roll, the power management module 115 may be programmed to not power any vehicle subsystems.
The towing override may be implemented when the host vehicle 100 is being towed. If a first towing override mode, which may occur when the ignition is off, no passengers are present in the host vehicle 100, and the host vehicle 100 is being towed, the power management module 115 may be programmed not to power any vehicle subsystems. A second towing override mode may occur when a passenger is present and the host vehicle 100 is being towed. One way to detect a passenger may include receiving a user input via a user interface device or by having the user turn the ignition to the RUN state or by an occupant detection sensor. Because a passenger is in the host vehicle 100, the power management module 115 may power certain subsystems such as a restraint system, an airbag system, etc.
The assembly mode override may be implemented when the host vehicle 100 is moving as part of a manufacturing or repair process. Therefore, the power management module 115 may be programmed to not power any vehicle subsystems when the host vehicle 100 is going through a manufacturing or repair process that would cause the host vehicle 100 to move while the ignition is off.
The remote start override may be implemented when the host vehicle 100 has been remote started. A remote start may occur when the engine is started from a remote transmitter and without anyone in the host vehicle 100 or a key in the ignition. When the remote start override is implemented, the power management module 115 may limit some vehicle subsystems such as a collision detection subsystem. Moreover, the power management module 115 may be programmed to disable the fuel pump after detecting a collision while the host vehicle 100 is in the remote start mode.
The power management module 115 may be further programmed to operate in a diagnostic mode. When in the diagnostic mode, the power management module 115 may provide diagnostic information to one or more vehicle subsystems. The diagnostic information may be detected at boot time and may be based on shutdown information from the prior key cycle. In other words, the diagnostic information for a particular key cycle may become available at the next key cycle. The power management module 115 functionality may be detected at the shutdown of the power cycle so the diagnostic information may be reported at the next ignition cycle. If no power is available when requested, however, the diagnostic information may be made available during the current ignition cycle. The power management module 115 may store some number of extended mode states for retrieval at a later time.
In the diagnostic mode, the power management module 115 may provide diagnostic information to, e.g., the restraint control module 160. The Pass Thru path may be evaluated before the power management module 115 activates power to the restraint control module 160, occupant classification system 165, or passenger airbag disable indicator 170, making diagnostic information available to the restraint control module 160 during the current key cycle. However, since the power management module 115 powered path may be evaluated after the ignition state changes to OFF, this diagnostic information to the restraint control module 160 may be delayed until the next key cycle. Fault reporting to the restraint control module 160 may be carried out as follows. A CAN signal, indicating whether the power management module 115 has detected a fault on inputs, outputs, or pass through, may be transmitted. A CAN signal may be published even though the restraint control module 160 may not be able to receive signals (e.g., the restraint control module 160 has no power or has otherwise failed). The CAN signal from the power management module 115 may include a fault for, e.g., the restraint control module 160 to handle. The restraint control module 160 may communicate system fault info to the cluster via CAN signals (e.g., the airbag light). If the signal from the restraint control module 160 to the cluster is missing, the cluster may turn on the airbag light.
Referring generally to FIGS. 2 and 3, the lines connecting the components may represent a transfer of information, power, or both. FIG. 2 is a block diagram of an example power management module 115 and vehicle subsystems. The vehicle subsystems shown include a transmission control module 130, a powertrain control module 135, a brake system 140, a cluster controller 145, an entertainment system 150, a body control module 155, a restraint control module 160, an occupant classification system 165, and a passenger airbag disable indicator 170. Other subsystems, not shown, may be further incorporated into the host vehicle 100 and work in accordance with the power management module 115. Examples of other potential subsystems may include, e.g., a power steering subsystem, a power door and window subsystem, etc. The power management module 115 may further include a processing device 125, as discussed above with regard to FIG. 1.
The transmission control module 130 may include any computing device programmed to control operation of the vehicle transmission. The powertrain control module 135 may include any computing device programmed to control operation of one or more vehicle powertrain components. The brake system 140 may include any computing device programmed to control operation of the vehicle brakes. The cluster controller 145 may include any computing device programmed to control the operation of the components of the instrument cluster. The entertainment system 150 may include any computing device and user interface device programmed to, e.g., provide media content to vehicle occupants. The body control module 155 may include any computing device programmed to control the operation of the vehicle battery 110. The restraint control module 160 may include any computing device programmed to control operation of the vehicle restraint system, including seatbelts and airbags. The occupant classification system 165 may include any computing device and sensors programmed to detect and possibly identify one or more vehicle occupants. The passenger airbag disable indicator 170 may include a visual alert that, e.g., illuminates to indicate whether a passenger airbag is turned off.
The processing device 125 may receive as inputs the ignition state and vehicle speed, as discussed above. The processing device 125 may be programmed to power one or more of the vehicle subsystems if the ignition state is off and the vehicle speed is above a predetermined threshold. For instance, the processing device 125 may determine the ignition state from the key state. Alternatively, the power management module 115 may be programmed to determine the ignition state independently of the key state, and vice versa, to accommodate instances where, e.g., the key state does not accurately reflect the operating state of the ignition. As shown in FIG. 2, the processing device 125 may be programmed to command the body control module 155 to provide power to the restraint control module 160, the occupant classification system 165, the passenger airbag disable indicator 170, as well as other vehicle subsystems while the vehicle speed is above the predetermined threshold. If the vehicle speed drops below the predetermined threshold, the processing device 125 may be programmed to disable one or more of these vehicle subsystems. Disabling the vehicle subsystems may include, e.g. commanding the body control module 155 to remove power from one or more of the vehicle subsystems.
FIG. 3 is a block diagram of the power management module 115 incorporated into a body control module 155. In this example implementation, the power management module 115 operates as a “mode” as opposed to a separate computing device relative to the body control module 155. The power management module 115 may be alternatively or additionally incorporated into any number of other vehicle subsystems or control modules.
FIG. 4 is a flowchart of an example process 400 that may be executed by the power management module 115 to provide power to certain vehicle subsystems under certain circumstances. The process 400 may be initiated when a vehicle is turned on and may continue to execute until the vehicle is turned off and, e.g., the key is removed from the ignition slot.
At decision block 405, the power management module 115 may determine an ignition state of the vehicle. For example, the processing device 125 may determine whether the key is in the RUN position in the ignition. If so, the process 400 may proceed to block 410. Otherwise, the process 400 may continue to execute block 405 until the ignition state is RUN.
At block 410, the power management module 115 may enable one or more vehicle subsystems to operate. Enabling the vehicle subsystems may include powering at least one of the vehicle subsystems by, e.g., selectively connecting one or more of the vehicle subsystems to power from the battery 110.
At block 415, the power management module 115 may begin to monitor vehicle speed. The processing device 125 may determine the vehicle speed based on, e.g., signals output by a controller such as a powertrain controller.
At decision block 420, the power management module 115 may reassess the ignition state of the vehicle. Specifically, the processing device 125 may determine whether the key is in the OFF or ACC position. If so, the process 400 may proceed to decision block 420. Otherwise, the process 400 may return to block 415.
At block 425, the power management module 115 may disable or otherwise allow one or more vehicle subsystems to turn off. That is, the power management module 115, through the processing device 125, may selectively remove power to one or more of the vehicle subsystems.
At decision block 430, the power management module 115 may determine whether any situational overrides exist. The situational override may be implemented, e.g., in response to a user input or a situation detected from sensor signals. Example situational overrides may include a parked vehicle override, a towing override, an assembly mode override, and a remote start override. Different situational overrides may be initiated in response to different criteria or circumstances, as discussed above. Further, different towing overrides may apply based on, e.g., whether anyone is present in the host vehicle 100. Thus, assuming all other criteria for implementing a towing override exist, a first towing override, discussed above, may be implemented if an occupant is present in the host vehicle 100 while a second towing override, discussed above, may be implemented if no occupants are present in the host vehicle 100. If a situational override exists, the process 400 may proceed to block 450. If no situational overrides exist the process 400 may proceed to block 435.
At decision block 435, the power management module 115 may reevaluate the ignition state of the vehicle. For example, the processing device 125 may determine whether the key is in the RUN position in the ignition. If so, the process 400 may return to block 410. Otherwise, the process 400 may continue to block 440.
At block 440, the power management module 115 may begin to monitor vehicle speed. The processing device 125 may determine the vehicle speed based on, e.g., signals output by a controller such as a powertrain controller. The process 400 may proceed to decision block 445.
At decision block 445, the power management module 115 may determine whether the monitored vehicle speed is below a predetermined threshold for a predetermined amount of time. For instance, the processing device 125 may compare the present vehicle speed to the predetermined threshold, and determine whether the host vehicle 100 is travelling at a speed less than the predetermined threshold for more than a predetermined amount of time (e.g., 0.5 seconds). If the host vehicle 100 has been travelling below the predetermined threshold for more than a predetermined amount of time, the process 400 may proceed to block 450. If the host vehicle 100 has been travelling below the predetermined threshold for less than the predetermined amount of time, the process 400 may proceed to block 435.
At block 450, the power management module 115 may disable or otherwise allow one or more vehicle subsystems to turn off. That is, the power management module 115, through the processing device 125, may selectively remove power to one or more of the vehicle subsystems, including any one or more vehicle subsystems left on after block 425.
FIG. 5 is an example finite state machine 500 showing possible states of the power management module 115. The finite state machine may be implemented by, e.g., the processing device 125. At state 505, the processing device 125 may be programmed to output an ON signal that causes the battery 110 to provide power to one or more vehicle subsystems. State 510 may be initiated in response to the ignition state switching to the OFF position, assuming no situational overrides have been initiated. At state 510, the processing device 125 may continue to output the ON signal. State 515 may be initiated from state 510 so long as the ignition remains off and the vehicle speed drops below the predetermined threshold, and in some instances as discussed above, drops below the predetermined threshold for a predetermined amount of time (e.g., 0.5 seconds). At state 515, the output of the processing device 125 may switch to an OFF signal that, e.g., removes battery power from one or more vehicle subsystems. The processing device 125 may return to state 505 from state 515 if, e.g., the ignition turns on or one of the situational overrides, such as the remote start override, is triggered. When the processing device 125 transitions to state 505, the output of the processing device 125 may switch from the OFF signal to the ON signal.
In general, the computing systems and/or devices described may employ any of a number of computer operating systems, including, but by no means limited to, versions and/or varieties of the Ford Sync® operating system, the Microsoft Windows® operating system, the Unix operating system (e.g., the Solaris® operating system distributed by Oracle Corporation of Redwood Shores, Calif.), the AIX UNIX operating system distributed by International Business Machines of Armonk, N.Y., the Linux operating system, the Mac OSX and iOS operating systems distributed by Apple Inc. of Cupertino, Calif., the BlackBerry OS distributed by Blackberry, Ltd. of Waterloo, Canada, and the Android operating system developed by Google, Inc. and the Open Handset Alliance. Examples of computing devices include, without limitation, an on-board vehicle computer, a computer workstation, a server, a desktop, notebook, laptop, or handheld computer, or some other computing system and/or device.
Computing devices generally include computer-executable instructions, where the instructions may be executable by one or more computing devices such as those listed above. Computer-executable instructions may be compiled or interpreted from computer programs created using a variety of programming languages and/or technologies, including, without limitation, and either alone or in combination, JavaTM, C, C++, Visual Basic, Java Script, Perl, etc. In general, a processor (e.g., a microprocessor) receives instructions, e.g., from a memory, a computer-readable medium, etc., and executes these instructions, thereby performing one or more processes, including one or more of the processes described herein. Such instructions and other data may be stored and transmitted using a variety of computer-readable media.
A computer-readable medium (also referred to as a processor-readable medium) includes any non-transitory (e.g., tangible) medium that participates in providing data (e.g., instructions) that may be read by a computer (e.g., by a processor of a computer). Such a medium may take many forms, including, but not limited to, non-volatile media and volatile media. Non-volatile media may include, for example, optical or magnetic disks and other persistent memory. Volatile media may include, for example, dynamic random access memory (DRAM), which typically constitutes a main memory. Such instructions may be transmitted by one or more transmission media, including coaxial cables, copper wire and fiber optics, including the wires that comprise a system bus coupled to a processor of a computer. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, DVD, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, or any other medium from which a computer can read.
Databases, data repositories or other data stores described herein may include various kinds of mechanisms for storing, accessing, and retrieving various kinds of data, including a hierarchical database, a set of files in a file system, an application database in a proprietary format, a relational database management system (RDBMS), etc. Each such data store is generally included within a computing device employing a computer operating system such as one of those mentioned above, and are accessed via a network in any one or more of a variety of manners. A file system may be accessible from a computer operating system, and may include files stored in various formats. An RDBMS generally employs the Structured Query Language (SQL) in addition to a language for creating, storing, editing, and executing stored procedures, such as the PL/SQL language mentioned above.
In some examples, system elements may be implemented as computer-readable instructions (e.g., software) on one or more computing devices (e.g., servers, personal computers, etc.), stored on computer readable media associated therewith (e.g., disks, memories, etc.). A computer program product may comprise such instructions stored on computer readable media for carrying out the functions described herein.
With regard to the processes, systems, methods, heuristics, etc. described herein, it should be understood that, although the steps of such processes, etc. have been described as occurring according to a certain ordered sequence, such processes could be practiced with the described steps performed in an order other than the order described herein. It further should be understood that certain steps could be performed simultaneously, that other steps could be added, or that certain steps described herein could be omitted. In other words, the descriptions of processes herein are provided for the purpose of illustrating certain embodiments, and should in no way be construed so as to limit the claims.
Accordingly, it is to be understood that the above description is intended to be illustrative and not restrictive. Many embodiments and applications other than the examples provided would be apparent upon reading the above description. The scope should be determined, not with reference to the above description, but should instead be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled. It is anticipated and intended that future developments will occur in the technologies discussed herein, and that the disclosed systems and methods will be incorporated into such future embodiments. In sum, it should be understood that the application is capable of modification and variation.
All terms used in the claims are intended to be given their ordinary meanings as understood by those knowledgeable in the technologies described herein unless an explicit indication to the contrary is made herein. In particular, use of the singular articles such as “a,” “the,” “said,” etc. should be read to recite one or more of the indicated elements unless a claim recites an explicit limitation to the contrary.
The Abstract is provided to allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in various embodiments for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.

## Claims

1. A vehicle system comprising:
a processing device programmed to determine an ignition state, determine a vehicle speed, and power at least one vehicle subsystem if the ignition state is off while the vehicle speed is above a predetermined threshold.

2. The vehicle system of claim 1, wherein the processing device is programmed to disable the at least one vehicle subsystem if the vehicle speed is below the predetermined threshold.

3. The vehicle system of claim 2, wherein disabling the at least one vehicle subsystem includes removing power to the at least one vehicle subsystem.

4. The vehicle system of claim 1, wherein the processing device is programmed to determine a key state.

5. The vehicle system of claim 4, wherein the processing device is programmed to determine the ignition state independently of the key state.

6. The vehicle system of claim 4, wherein the processing device is programmed to power the at least one vehicle subsystem based at least in part on the key state.

7. The vehicle system of claim 4, wherein determining the key state includes determining at least one of a previous key state and a current key state.

8. The vehicle system of claim 1, wherein the processing device is programmed to implement a situational override.

9. The vehicle system of claim 8, wherein the processing device is programmed to implement the situational override in response to a user input.

10. The vehicle system of claim 8, wherein the situational override includes at least one of a towing override, a parked vehicle override, an assembly mode override, and a remote start override.

11. The vehicle system of claim 10, wherein the towing override includes a first towing override where an occupant is present in the vehicle and a second towing override where no occupants are present in the vehicle.

12. A method comprising:
determining an ignition state of a vehicle;
determining a vehicle speed;
comparing the vehicle speed to a predetermined threshold; and
powering at least one vehicle subsystem if the ignition state is off while the vehicle speed is above a predetermined threshold.

13. The method of claim 12, further comprising disabling the at least one vehicle subsystem if the vehicle speed is below the predetermined threshold.

14. The method of claim 13, wherein disabling the at least one vehicle subsystem includes removing power to the at least one vehicle subsystem.

15. The method of claim 12, further comprising implementing a situational override.

16. The method of claim 15, further comprising receiving a user input, and where the situational override in response to receiving the user input.

17. The method of claim 16, wherein the situational override includes at least one of a towing override, a parked vehicle override, an assembly mode override, and a remote start override.

18. The method of claim 17, wherein implementing the towing override includes:
determining whether an occupant is present in the vehicle; and
implementing a first towing override if an occupant is present in the vehicle and a second towing override if no occupants are present in the vehicle.

19. A vehicle system comprising:
a processing device programmed to determine an ignition state, determining a key state independent of the ignition state, determine a vehicle speed, and power at least one vehicle subsystem based at least in part on the ignition state and the key state while the vehicle speed is above a predetermined threshold, wherein the processing device is further programmed to disable the at least one vehicle subsystem when the vehicle speed is below the predetermined threshold,
wherein the processing device is programmed to implement a situational override in response to a user input.