Portable device for controlling subsystems including exhaust subsystems of vehicles

A portable device receives power from a battery of a vehicle when connected to the vehicle via a connector in the vehicle. The portable device determines whether an engine of the vehicle is running and a speed of the vehicle if the engine is running. The portable device clears fault codes of ECUs if the engine is not running. The portable device resets parameters of an ECU controlling an exhaust system of the vehicle to default values if the portable device remains connected to the vehicle for a predetermined time period after sending clearing the fault codes. If the engine is running and that the speed of the vehicle is zero, the portable device initiates a forced regeneration of a diesel particulate filter of the exhaust system.

FIELD

The present disclosure relates to a portable device for controlling subsystems including exhaust subsystems of vehicles.

BACKGROUND

A vehicle typically includes an electronic control system to control various subsystems of the vehicle. For example, the electronic control system includes control modules, generally called electronic control units (ECUs), that control various aspect of subsystems such as an engine, a transmission, an exhaust subsystem, a braking subsystem, and so on of the vehicle. Some of the subsystems include various sensors that sense various parameters and conditions of the subsystems and provide the sensed data to the respective control modules. Some of the subsystems also include various actuators that perform operations based on data received from the respective control modules.

Many of the control modules include onboard diagnostic (OBD) programs that can diagnose some of the problems associated with the respective subsystems based on data sensed by the sensors in the subsystems. Further, some of the diagnostic programs can send commands to the subsystems to perform diagnostic tests on some of the components of the subsystems to identify problems with the subsystems and to verify whether the components and the subsystems operate properly. The diagnostic programs can generate fault codes that can be displayed on a display (e.g., on a dashboard) of the vehicle to indicate the problems and statuses of the subsystems.

While some of the problems can be identified using the onboard diagnostic programs, some other problems cannot be identified using the onboard diagnostic programs and require special diagnostic equipment (e.g., a special computer with advanced diagnostic programs) typically available at a service station (e.g., a dealership). Further, some of the problems identified using the onboard diagnostic programs cannot be solved using the onboard diagnostic programs and require the special diagnostic equipment.

SUMMARY

A portable device for controlling a plurality of subsystems of a vehicle is connected to the vehicle via a connector in the vehicle and receives power from a battery of the vehicle via the connector. The portable device comprises a control circuit to communicate via the connector with a plurality of Electronic Control Units (ECUs) of the vehicle respectively controlling the plurality of subsystems of the vehicle via a Controller Area Network (CAN) bus of the vehicle. The portable device comprises a processor to communicate with the control circuit. The portable device comprises a memory to store instructions which when executed by the processor configure the control circuit to determine whether an engine of the vehicle is running and a speed of the vehicle if the engine is running. The instructions which when executed by the processor configure the control circuit to send data on the CAN bus to clear one or more fault codes associated with one or more of the plurality of ECUs in response to determining that the engine of the vehicle is not running. The instructions which when executed by the processor configure the control circuit to send data on the CAN bus to reset parameters of one of the plurality of ECUs controlling an exhaust system of the vehicle to default values in response to the portable device remaining connected to the vehicle for a predetermined time period after sending the data to clear the one or more fault codes. The instructions which when executed by the processor configure the control circuit to send, in response to determining that the engine is running and that the speed of the vehicle is zero, data on the CAN bus to the one of the plurality of ECUs controlling the exhaust system to initiate a forced regeneration of a diesel particulate filter of the exhaust system of the vehicle.

In other features, the instructions when executed by the processor configure the control circuit to sense a speed of the CAN bus of the vehicle, select a first circuit of the control circuit to communicate with the CAN bus in response to the speed of the CAN bus being a first speed, and select a second circuit of the control circuit to communicate with the CAN bus in response to the speed of the CAN bus being a second speed.

In another feature, the instructions when executed by the processor configure the control circuit to perform an authentication procedure with the plurality of ECUs and secure read/write access to the plurality of ECUs.

In another feature, the instructions when executed by the processor configure the control circuit to initiate the forced regeneration when a parked regeneration of the diesel particulate filter is disabled.

In another feature, the data to clear the one or more fault codes includes commands that are executed by the one or more of the plurality of ECUs to clear the one or more fault codes associated with the one or more of the plurality of ECUs.

In another feature, the data to clear the one or more fault codes further includes commands that are executed by the one or more of the plurality of ECUs to reset data learned by the one or more of the plurality of ECUs.

In another feature, the data to reset the parameters includes commands that are executed by the one of the plurality of ECUs controlling the exhaust system of the vehicle to reset the parameters to the default values.

In another feature, the data to reset the parameters further includes commands that are executed by the one of the plurality of ECUs to reset data learned by the one or more of the plurality of ECUs.

In another feature, the parameters include one or more of a soot level of the diesel particulate filter, an ash level of the diesel particulate filter, a zone level of the diesel particulate filter, regeneration timers of the diesel particulate filter, data learned after a prior regeneration of the diesel particulate filter, NOx sensor data, an efficiency of a selective catalytic reduction component of the exhaust system.

In still other features, a method for controlling a plurality of subsystems of a vehicle using a portable device comprises receiving power at the portable device from a battery of the vehicle in response to the portable device being connected to the vehicle via a connector in the vehicle. The method further comprises communicating, using the portable device, with a plurality of Electronic Control Units (ECUs) of the vehicle respectively controlling the plurality of subsystems of the vehicle via a Controller Area Network (CAN) bus of the vehicle. The method further comprises determining, using the portable device, whether an engine of the vehicle is running and a speed of the vehicle if the engine is running. The method further comprises sending, using the portable device, data on the CAN bus to clear one or more fault codes associated with one or more of the plurality of ECUs in response to determining that the engine of the vehicle is not running. The method further comprises sending, using the portable device, data on the CAN bus to reset parameters of one of the plurality of ECUs controlling an exhaust system of the vehicle to default values in response to the portable device remaining connected to the vehicle for a predetermined time period after sending the data to clear the one or more fault codes. The method further comprises sending, using the portable device, in response to determining that the engine is running and that the speed of the vehicle is zero, data on the CAN bus to the one of the plurality of ECUs controlling the exhaust system to initiate a forced regeneration of a diesel particulate filter of the exhaust system of the vehicle.

In other features, the method further comprises sensing, using the portable device, a speed of the CAN bus of the vehicle; and selecting, based on the speed, a circuit in the portable device to communicate with the CAN bus.

In another feature, the method further comprises performing, using the using the portable device, an authentication procedure with the plurality of ECUs and secure read/write access to the plurality of ECUs.

In another feature, the method further comprises initiating, using the using the portable device, the forced regeneration when a parked regeneration of the diesel particulate filter is disabled.

In another feature, sending the data to clear the one or more fault codes includes sending commands that are executed by the one or more of the plurality of ECUs to clear the one or more fault codes associated with the one or more of the plurality of ECUs.

In another feature, sending the data to clear the one or more fault codes further includes sending commands that are executed by the one or more of the plurality of ECUs to reset data learned by the one or more of the plurality of ECUs.

In another feature, sending the data to reset the parameters includes sending commands that are executed by the one of the plurality of ECUs controlling the exhaust system of the vehicle to reset the parameters to the default values.

In another feature, sending the data to reset the parameters further includes sending commands that are executed by the one of the plurality of ECUs to reset data learned by the one or more of the plurality of ECUs.

In another feature, the parameters include one or more of a soot level of the diesel particulate filter, an ash level of the diesel particulate filter, a zone level of the diesel particulate filter, regeneration timers of the diesel particulate filter, data learned after a prior regeneration of the diesel particulate filter, NOx sensor data, an efficiency of a selective catalytic reduction component of the exhaust system.

DETAILED DESCRIPTION

A driver of a vehicle can be stranded on a roadway if a fault condition detected by an onboard diagnostic program of a subsystem of the vehicle prevents the vehicle from being driven and requires the vehicle to be towed to a service station for servicing the subsystem. Sometimes, the special diagnostic equipment at the service station may discover that the fault code was merely a stray or ghost fault code and was not an actual problem with the subsystem. In such a situation, the service station uses the special diagnostic equipment to simply reset or clear the fault code, and the driver can drive the vehicle. This is a significant inconvenience to the driver.

Some subsystems of the vehicle may provide warnings that alert the drivers to schedule service for the subsystems but allow the vehicle to be driven for a grace period. If the subsystem is not serviced during the grace period, a fault code or indication may be displayed, and the vehicle cannot be driven until service is performed.

For example, diesel vehicles use a diesel particulate filter (DPF) in exhaust subsystems (also called after-treatment (AFT) systems). The DPF can periodically get clogged due to soot buildup and may require cleaning and/or regeneration. Until the soot level is less than a predetermined amount, a control module controlling the AFT system performs limited regeneration operations while the vehicle is being driven. However, after the soot level exceeds the predetermined amount, the vehicle cannot be driven and must be taken to a service station for performing repair or replacement of the DPF. The service station uses a special diagnostic equipment that verifies various parameters of the after-treatment system and other control systems of the vehicle and performs a special procedure called a forced regeneration of the DPF. Alternatively, the DPF is thoroughly cleaned, or replaced. These options can prevent the vehicle from being used for a day or more and can be costly.

The present disclosure provides a portable device (e.g., a tool) that drivers or operators of vehicles can carry in the vehicle. The portable device allows the drives to clear fault codes, reset the AFT system, and, if necessary, perform a forced regeneration of the DPF anywhere without requiring any special diagnostic equipment, without visiting a service center, and without connecting to any remote device via a network. When the onboard diagnostics indicates a fault code or condition, whether the fault code allows the vehicle to be driven or not, the driver can plug the portable device into a port in the vehicle, and the portable device can clear the fault code, reset the AFT system, and, if necessary, perform a forced regeneration without any input from or interaction with the driver.

Indeed, the portable device does not include any display to show any output to the driver or any keypad to allow any input from the driver to perform these functions, which typically can be performed only by a trained technician by interactively using specialized equipment at a service center. Nor does the portable device require a connection to a remote computing device via a network such as a cellular network or the Internet to perform these functions.

Depending on the fault code, after clearing the fault code using the portable device, the vehicle can be driven for a while, and the driver is not stranded on the road. Depending on the fault code, or if the fault code reappears while the vehicle is being driven after clearing the fault code, the vehicle can be driven to a service station. Further, if the fault code indicates that the DPF must be serviced or replaced, the portable device automatically performs a forced regeneration without requiring any special diagnostic equipment and without visiting a service center. These and other aspects of the present disclosure are explained below in detail.

The present disclosure is organized as follows. Initially, a plurality of subsystems of a vehicle interconnected using a Controlled Area Network (CAN) bus in the vehicle is shown and described with reference toFIG.1. A diesel exhaust system is shown and described with reference toFIG.2. A functional block diagram of the portable device of the present disclosure is shown and described with reference toFIG.3. Flowcharts of various procedures performed by the portable device are shown and described with reference toFIGS.4–5C.

Automotive electronic control systems are typically implemented as Electronic Control Units (ECUs) that are connected to each other by a Controller Area Network (CAN) bus. Each ECU controls a specific subsystem (e.g., engine, transmission, exhaust, braking, heating and cooling, infotainment, navigation, and so on) of the vehicle. Each ECU includes a microcontroller, a CAN controller, and a transceiver. In each ECU, the microcontroller includes a processor, memory, and other circuits to control the specific subsystem. Each ECU can communicate with other ECUs via the CAN bus through the CAN controller and the transceiver.

FIG.1shows an example of a vehicle10comprising a plurality of ECUs connected to each other by a CAN bus. A computing device11such as the portable device (tool) of the present disclosure can be connected to the vehicle10via a port available on the driver side (e.g., under the steering wheel) of the vehicle10. For example, the port may include a diagnostic port with a connector. For example only, the connector may include a J1939 plug or an OBD2connector. The computing device11receives power from a battery of the vehicle10via the port, connects to the CAN bus via the port, communicates with the plurality of ECUs via the CAN bus, and performs operations including clearing fault codes, resetting operating parameters and learned data, performing forced regenerations, and so on.

The portable device of the present disclosure is shown and described below in detail with reference toFIG.3and is therefore not described here in further detail. In addition to including the components of the portable device shown inFIG.3, the computing device11includes one or more components of an ECU12described below. Accordingly, the computing device11can communicate with the CAN bus and can interface (i.e., exchange data) with the ECUs12via the CAN bus.

The plurality of ECUs includes ECU-112-1, ECU-212-2, ..., and ECU-N12-N (collectively, ECUs12), where N is an integer greater than one. Hereinafter, ECU12refers to any of the plurality of ECUs12. WhileFIG.1shows a detailed functional block diagram of only the ECU-N12-N, it will be understood that other ECUs12can have structure similar to the ECU-N12-N. Each ECU12or any portion thereof may be implemented as one or more modules.

Each ECU12controls a respective subsystem of the vehicle10. For example, the ECU-112-1controls a subsystem14-1, the ECU-212-2controls a subsystem14-2, ..., and the ECU-N12-N controls a subsystem14-N. Collectively the subsystems14-1,14-2, ..., and14-N are referred to as subsystems14. Non-limiting examples of the subsystems14include an engine subsystem, a transmission subsystem, an exhaust subsystem, a brake subsystem, a traction subsystem, a suspension subsystem, a climate subsystem, a safety subsystem, an infotainment subsystem, a navigation subsystem, a physiological data acquisition subsystem, a driving data acquisition subsystem, and so on.

Each subsystem14may include one or more sensors to sense data from one or more components of the subsystem14. For example, the exhaust subsystem may include pressure and temperature sensors and soot level sensors to collect data from the components of the exhaust subsystem of the vehicle10(e.g., see an example of the exhaust subsystem shown inFIG.2). The engine subsystem may include sensors to collect data such as revolutions per minute (RPM), temperature, fuel efficiency, various fluid levels, and other data associated with the engine subsystem of the vehicle10; and so on. Some of the subsystems14may include one or more actuators to actuate one or more components of the respective subsystems14.

An ECU12may receive data from one or more sensors of a corresponding subsystem14. Depending on the type of ECU, the ECU12may also receive one or more inputs from an occupant and/or operator of the vehicle10. The ECU12may control one or more actuators of the corresponding subsystem14based on the data received from the one or more sensors and/or the one or more inputs.

The ECUs12are connected to a CAN bus16. The ECUs12can communicate with each other and with the computing device11when connected via the CAN bus16. The ECUs12can communicate with other devices connected to the CAN bus16(e.g., a communication gateway, etc.). Each ECU12includes a microcontroller20and a CAN transceiver22. The microcontroller20communicates with the subsystem14controlled by the ECU12. The CAN transceiver22communicates with the CAN bus16.

The microcontroller20includes a processor30, a memory32, a CAN controller34, and a power supply36. The memory32includes volatile memory (RAM) and may additionally include nonvolatile memory (e.g., flash memory) and/or other types of data storage device(s). The processor30and the memory32communicate with each other via a bus38. The processor30executes code stored in the memory32to control the subsystem14. The power supply36supplies power to all of the components of the microcontroller20and the ECU12. The CAN controller34communicates with the CAN transceiver22.

Each ECU12can employ security protocols to authenticate access to and communication with the ECU12by other ECUs12, devices, and/or systems external to the vehicle10. For example, in some vehicles, ECUs that handle communication with devices and/or systems external to the vehicle10may employ a higher level of security to prevent hacking. Further, in some vehicles (e.g., autonomous vehicles), the CAN bus may comprise multiple portions, of which some portions may employ a higher level security than the other portions. Some of the ECUs12that control some critical operations of the vehicle10(e.g., operations to navigate an autonomous vehicle) may be connected to the portion of the CAN bus requiring higher level authentication. Further, some of the ECUs12can require other ECUs and external devices (e.g., the computing device11) to establish a lower level authentication to read data from the ECUs but require a higher level authentication to write data to (e.g., program some aspects of) the EC’s12.

The speed of the CAN bus16can also vary in different vehicles. For example, broadly speaking, one version of the CAN bus may be slower (e.g., operate at a relatively lower data rate) while another version of the CAN bus may be faster (e.g., operate at relatively faster data rate). Consequently, the speed at which data can be communicated between the ECUs12on the CAN bus16and between the computing device11and the ECUs12via the CAN bus16can vary depending on the speed of the CAN bus16in a vehicle.

FIG.2shows a functional block diagram of an example of an exhaust subsystem50of a vehicle (e.g., the vehicle10shown inFIG.1) equipped with a diesel engine. The purpose ofFIG.2is to introduce the elements or components of the exhaust subsystem for a diesel engine that can be controlled using a portion of the computing device11as will be described below with reference toFIG.3. Accordingly, the description ofFIG.2provides the level of detail that is necessary to understand the operation of the computing device11and its interaction with the exhaust subsystem. Further details such as the chemistry and thermodynamics involved in the operation of the various components of the exhaust subsystem are unnecessary to understand the operation of the computing device11and are therefore omitted.

The exhaust subsystem50is also called an after-treatment (AFT) system and may be referred to as the AFT50. The AFT50processes exhaust materials (e.g., carbon monoxide (CO), NOx, soot, etc.) generated by a diesel combustion engine, of which a combustion chamber is shown at54(hereinafter called the engine54). The AFT50communicates with other ECUs of the vehicle (e.g., ECUs12of the vehicle10shown inFIG.1) via the CAN bus16. An ECU52, which is similar to the ECUs12shown inFIG.1, controls the AFT50.

While only one ECU52is shown, in some applications, more than one ECU may be used to control one or more components of the AFT50. For example, an ECU52-1may control the DPF64, an ECU52-2may control a regeneration component80, and so on. Accordingly, operations performed on the ECU52by the computing device11described below with reference toFIG.3can be extended to ECU52-1, ECU52-2, and so on.

In some implementations, the ECU52that controls the AFT50may also be an engine ECU. That is, an ECU12that controls the engine subsystem14may also control the AFT50. For example, the ECU12that controls the engine subsystem14may initiate the forced regeneration described below. In other words, the ECU12that controls the engine subsystem14may also perform one or more functions and operations of the ECU52.

The AFT50comprises an exhaust gas recirculation (EGR) component60, a diesel oxidation catalyst (DOC) component62, a diesel particulate filter (DPF)64, a selective catalytic reduction (SCR) component66, a diesel exhaust fluid (DEF) component68, and a muffler70. In addition, the AFT system50comprises a regeneration component80that regenerates the DPF64. Further, the AFT50comprises a plurality of temperature and pressure sensors90that are located throughout the AFT50. The sensors90provide feedback to one or more components of the AFT50as well as to other subsystems of the vehicle via the ECU52. The sensors90are not shown in further detail to simplify the illustration of the components60-80of the AFT50. Further, the AFT50also comprises various valves and manifolds, which are also omitted to simplify the illustration of the components60-80of the AFT50.

The EGR60helps reduce NOx emissions from the muffler70. The EGR60comprises an EGR valve mounted on an exhaust manifold. The EGR valve regulates the exhaust gas that goes into the engine54. A portion of the exhaust gas is re-directed and routed into an intake manifold of the engine54. The intake manifold includes a temperature sensor and a differential pressure sensor (e.g., the sensors90) to sense the flow of air entering into intake manifold. A turbocharger (not shown) regulates a charge pressure and controls the EGR60to create proper turbo drive pressures for the proper amount of EGR flow. While the EGR60helps reduce NOx emissions, the EGR60causes the engine54to create soot due to the mixing of the exhaust gas and fresh air and due to incomplete combustion of fuel. The DPF64reduces the soot emissions from the muffler70as explained below.

The DOC62is located in the exhaust pipe between the EGR60and the DPF64. The DOC62uses a series of small passages made of precious metals that route the exhaust gas to come in contact with the precious metals. The DOC62reduces unburned hydrocarbons and carbon monoxide (CO) in the exhaust gas by burning (oxidizing) them over a catalyst. This catalyst aids the reaction of the CO and hydrocarbons with remaining oxygen in the exhaust gas. This process can be used to increase the temperature of the exhaust system, which helps in burning the soot as explained below.

The DPF64is designed to remove diesel particulate matter called soot from the exhaust gas of the engine54. When the exhaust gas flows through small passages in the DPF64that are made of a ceramic material, the DPF64catches the soot exiting the DOC62. During regeneration, which is explained below in detail, the DPF64allows for oxidation of the stored soot when the loading or accumulation level of the soot reaches or exceeds a predetermined level.

The SCR66uses a liquid reductant agent (e.g., a urea-based diesel exhaust fluid) that is injected from the DEF68into a catalytic converter in the SCR66to significantly reduce NOx emissions from the muffler70.

The DPF64requires periodic maintenance to remove soot and ash that builds up in the DPF64. The soot and ash buildup in the DPF64increases the gas pressure upstream from the DPF64. Warnings are provided to drivers before the restriction of the DPF64due to the buildup that can affect the drive-ability of the vehicle, or can damage the engine54or the DPF64. Accordingly, regular maintenance of the DPF64is necessary.

DPF’s undergo a regeneration process that removes the soot and lowers the upstream pressure on the engine. Depending on the soot level in the DPF64, passive, active, parked, or forced regeneration process is performed on the DPF64by the AFT50. For example, the regeneration component80of the AFT system50monitors the soot level of the DPF64and performs the appropriate regeneration procedure on the DPF64under the control of the ECM52as follows.

Passive regeneration is automatically performed by the AFT50when the soot level in the DPF64is relatively low. Passive regeneration occurs normally while driving the vehicle when engine load and vehicle drive-cycle create temperatures that are high enough to burn the soot buildup in the DPF64. Passive regeneration does not use additional fuel and does not affect vehicle performance. The vehicle can be driven at regular speeds at rated fuel efficiency when the soot level is relatively low.

Active regeneration is also automatically performed by the AFT50when the soot level in the DPF64is relatively low. Active regeneration occurs while the vehicle is driven when low engine load and lower exhaust gas temperatures inhibit the naturally occurring passive regeneration. Sensors upstream and downstream of the DPF64(or a differential pressure sensor) provide data that initiates a metered addition of fuel into the exhaust stream. The fuel can be injected directly into the exhaust stream, downstream from the turbocharger, or into the engine cylinders on an exhaust stroke. The fuel and exhaust gas mixture passes through the DOC62. A catalytic reaction between the fuel and the precious metals in the DOC62creates heat, which raises the temperature in the DOC62and the DPF64, creating temperatures high enough to burn the accumulated soot in the DPF64.

After the pressure drop across the DPF64decreases to a predetermined value, indicating that the soot level in the DPF64is very low, the regeneration process ends. The regeneration process is repeated when the soot accumulation rebuilds in the DPF64. Active regeneration works well for vehicles that are driven over longer distances with fewer stops compared to the vehicles that operate on short trips with many starts and stops.

If the soot building up in the DPF64is relatively high but less than a predetermined threshold, the engine54may moderately de-rate or lose power. In such a situation, the driver can initiate a parked regeneration via a dashboard mounted switch. Various interlocks and prerequisite conditions must be met for this process to initiate. Examples of the interlocks include whether parking brake is applied, whether the transmission is in neutral, whether the engine coolant temperature is within acceptable range, and whether any engine related fault codes have occurred. If any of the conditions are not satisfied, the parked regeneration cannot be performed. The parked regeneration injects extra fuel and raises the engine RPM to increase exhaust temperatures for the regeneration to occur.

When the soot accumulation in the DPF64exceeds the predetermined threshold level that can be potentially damaging to the engine or the exhaust system, the parked regeneration is disabled (i.e., cannot be performed). The engine usually shuts down, and the vehicle cannot be driven. In such a situation, the only option is to move (mostly tow) the vehicle to a service station, where a specialized diagnostic equipment is used by a trained technician to thoroughly test the exhaust system and to perform a forced regeneration. In some cases, the DPF64may have to be thoroughly cleaned at the service station before performing a forced regeneration. In the worst case, the DPF64may have to be replaced.

The portable device11of the present disclosure allows drives to perform forced regeneration anywhere. The vehicle does not need to be taken to a service station to perform the forced regeneration. The portable device11can be used to perform the forced regeneration at any time. Notably, the portable device11can perform the forced regeneration without viewing any data related to the AFT50or any other subsystem of the vehicle and without requiring any input from the driver. Additionally, the portable device11can reset any fault codes before performing the forced regeneration and can erase any learned data of any of the ECUs12(including the ECU52) before and after performing the forced regeneration. Further, after resetting any of the fault codes, the portable device11can reset any operating parameters of the AFT50. These and other features of the portable device11are explained in detail below.

FIG.3shows the portable device11(i.e., the tool) in detail. The portable device11comprises a processor100, memory102, a control circuit104, and a connector106. The connector106can connect to a port in the vehicle10. While only one connector is shown, the portable device11may include more than one connector so that the portable device11can be connected using different connectors to ports having different types of connectors in different vehicles. The connector106, when connected to the port in the vehicle10, connects the portable device11to the CAN bus16and to a battery of the vehicle10. Thus, the portable device11receives power from the battery of the vehicle10via the connector106.

The control circuit104comprises a first circuit108-1and a second circuit108-2. The first circuit108-1comprises an access control circuit110-1, a read write circuit112-1, and a CAN transceiver114-1. The second circuit108-2comprises an access control circuit110-2, a read write circuit112-2, and a CAN transceiver114-2. The first circuit108-1and the second circuit108-2may perform functions of the CAN controller34described above with reference toFIG.1. The CAN transceivers114-1and114-2may perform functions of the CAN transceiver22described above with reference toFIG.1.

In some implementations, the first circuit108-1and the second circuit108-2may not include the CAN transceivers114-1and114-2, respectively. Instead, the control circuit104may include a single CAN transceiver such as the CAN transceiver22described above with reference toFIG.1. The single CAN transceiver may be connected to the connector106, and each of the first circuit108-1and the second circuit108-2may communicate with the single CAN transceiver.

The operations of the portable device11are now described in detail with reference toFIGS.4–5C.FIGS.4–5Cshow various procedures or methods performed by the portable device11.FIG.4shows an overview of the procedures.FIGS.5A-5Cshow the procedures in detail. These methods include instructions that are stored in the memory102of the portable device11and that are executed by the processor100of the portable device11. The instructions, when executed by the processor100, program the control circuit104(e.g., program the first circuit108-1or the second circuit108-2) and cause the control circuit104(e.g., cause the first circuit108-1or the second circuit108-2) to perform the described functions and operations.

FIG.4shows a method150performed by the portable device11. At152, the portable device11receives power from the vehicle10when the portable device11is connected to a port (e.g., an OBD2connector) in the vehicle10via the connector106of the portable device11. The portable device11gets connected to the CAN bus16of the vehicle10when the portable device11is connected to a port (e.g., an OBD2connector) in the vehicle10via the connector106.

At154, based on the connection to the CAN bus16of the vehicle10, the processor100of the portable device11determines whether the engine of the vehicle10is running (i.e., if RPM of the engine is greater than zero). At156, if the processor100determines that the engine of the vehicle10is not running (i.e., if the RPM is not greater than zero), the processor100executes instructions to perform a procedure to reset fault codes as shown inFIG.5A, or procedure to reset fault codes and reset the AFT50as shown inFIGS.5A and5B.

At158, if the processor100determines that the engine of the vehicle10is running (i.e., if the RPM is greater than zero), the processor100further determines, based on the connection to the CAN bus16of the vehicle10, if the vehicle10is at rest (i.e., if the speed of the vehicle10is zero). The method150ends if the vehicle10is moving (i.e., if the speed of the vehicle10is not zero). At160, if the vehicle10is at rest (i.e., if the speed of the vehicle10is zero), the processor100executes instructions to perform a forced regeneration of the DPF64as shown inFIG.5C.

In use, when the driver of the vehicle10notices any fault code on the dashboard of the vehicle10, the driver stops the vehicle10, and turns off the ignition. After waiting for about a minute, the driver turns on the ignition only, and does not start the engine. After waiting for about a minute after turning on the ignition only, the driver connects the portable device11to the vehicle10. The portable device11powers up using power from the battery of the vehicle10. The portable device11checks the engine RPM and since the engine RPM is zero, executes the procedure to reset fault codes associated with any of the ECUs12of the vehicle.

This procedure (i.e., resetting of the fault codes) takes about one minute to complete. Accordingly, the driver only wants to reset the fault codes, the driver can disconnect the portable device11from the vehicle10after about one minute. If, however, the driver also wants to reset the AFT50, the driver does not disconnect the portable device11from the vehicle10after about one minute. Instead, the driver leaves the portable device11connected to the vehicle10for an additional two minutes. In the additional two minutes, the portable device11resets the AFT50. After about three minutes total, the driver can disconnect the portable device11from the vehicle10and begin driving the vehicle10. If the fault codes recur, the driver can repeat the above process or schedule service. The driver is not stranded on the road and does not have to tow the vehicle10to a service center.

In some instances, the driver may want to perform a forced regeneration of the DPF64. For example, the driver may have replaced a component of the AFT50, and may want to or need to perform a forced regeneration of the DPF64. Alternatively, the AFT50may be providing a warning or a fault code regarding the soot level of the DPF64on the dashboard of the vehicle10, and/or the engine of the vehicle10may be de-rating. If a fault code regarding the soot level of the DPF64is being displayed on the dashboard of the vehicle10, depending on the severity of the soot level indicated by the fault code, before performing the forced regeneration, the driver may perform the fault code reset procedure to see if the fault code disappears. The driver may also perform the AFT reset procedure before performing the forced regeneration. If resetting the fault codes and resetting the AFT50does not solve the problem, the driver may also attempt to perform a parked regeneration. If the parked regeneration is disabled (i.e., cannot be initiated) because the soot level in the DPF is extremely high, performing forced regeneration is the only choice left for the driver.

To initiate the forced regeneration procedure, the driver stops the vehicle10, turns off the ignition, and engages the parking brake. After waiting for about a minute, the driver turns on the ignition, starts the engine, and allows the engine to idle. After waiting for about a minute, the driver connects the portable device11to the vehicle10. The portable device11powers up using power from the battery of the vehicle10. The portable device11checks the engine RPM and vehicle speed. Since the engine RPM is not zero and the vehicle speed is zero, the portable device11executes the forced regeneration procedure. During the forced regeneration procedure, the engine RPM increase, the temperature of the AFT50increases, and the soot in the DPF64is burned in about 30-60 minutes. Thereafter, the driver can disconnect the portable device11from the vehicle10, let the engine idle to allow the DPF64to cool down, and begin driving the vehicle10. The driver is not stranded on the road and does not have to tow the vehicle10to a service center.

FIGS.5A-5Cshow a method200performed by the portable device11. The method200shows the method150ofFIG.4in further detail. While not segregated as such,FIGS.5A-5Bshow the portions of the method200that the portable device11performs to clear fault codes of the ECUs12and to reset the AFT50, andFIG.5Cshow the portions of the method200that the portable device11performs to perform a forced regeneration on the DPF64.

At202, the portable device11receives power from the vehicle10when the portable device11is connected to a port (e.g., an OBD2connector) in the vehicle10via the connector106of the portable device11. The portable device11gets connected to the CAN bus16of the vehicle10when the portable device11is connected to a port (e.g., an OBD2connector) in the vehicle10via the connector106.

At204, the processor100starts a timer. At206, the processor100senses a speed of the CAN bus16. For example, the processor100can query one of the ECUs12, receive data regarding the type of the CAN bus16, and determine or learn the speed of the CAN bus16from the received data. Alternatively, the processor100can transmit and receive data on the CAN bus16via one of the CAN transceivers114and determine the speed of the CAN bus16based on the transmitted and received data. Other methods of determining the speed of the CAN bus16may be used.

At208, the processor100activates the first circuit108-1or the second circuit108-2depending on the sensed speed of the CAN bus16. For example, the processor100activates the first circuit108-1if the speed of the CAN bus16is a first speed (e.g., a relatively low speed) or the second circuit108-1if the speed of the CAN bus16is a second speed (e.g., a relatively high speed).

At210, the processor100or the selected first or second circuit108determines whether the engine of the vehicle10is running (i.e., if RPM of the engine is greater than zero). For example, the processor100or the selected first or second circuit108can transmit a query to an engine ECU12and obtain the RPM data from the engine ECU12. Alternatively, the processor100or the selected first or second circuit108can sniff (sense) the CAN bus16to obtain the RPM data of the engine of the vehicle10.

If the processor100or the selected first or second circuit108determines that the engine of the vehicle10is running (i.e., if the RPM is greater than zero), the method200proceeds to element250shown inFIG.5C, and the processor100executes instructions to cause the selected first or second circuit108to perform a forced regeneration of the DPF64as shown inFIG.5C. If, however, the processor100or the selected first or second circuit108determines that the engine of the vehicle10is not running (i.e., if the RPM is not greater than zero), the method200proceeds to element212, and the processor100executes instructions to cause the selected first or second circuit108to perform a procedure to reset fault codes as shown in the remainder ofFIG.5Aand to optionally reset the AFT50as shown inFIG.5B.

Throughout the discussion below, it is assumed that the first circuit108-1is selected. It is understood, however, that should the second circuit108-2be selected instead, the functions and operations performed by the second circuit108-2will be similar to those performed by the first circuit108-1as described below. Further, it is also understood that some or all of the operations performed by the first circuit108-1(or the second circuit108-2) as described above and below may be performed by the processor100. Likewise, some or all of the operations performed by the processor100as described above and below may be performed by the first circuit108-1(or the second circuit108-2).

At212, the first circuit108-1establishes read/write access to all the ECUs12. For example, the access control circuit110-1of the first circuit108-1performs an authentication (e.g., a security handshake) procedure with one or more of the ECUs12and gains read/write access to all the ECUs12.

At214, the first circuit108-1selects a first one of the ECUs12. At216, the access control circuit110-1accesses the selected ECU12and determines if any fault code is present in the selected ECU12. The method200proceeds to element to220if a fault code is not present in the selected ECU12. At218, if a fault code is present in the selected ECU12, the read/write circuit112-1writes to an appropriate register in the selected ECU12, which causes the selected ECU12to clear the fault code. For example, the read/write circuit112-1may transmit a command that, when written into the selected ECU12, initiates a procedure or subroutine to clear the fault code. Other methods of clearing the fault codes may be used.

At220, the first circuit108-1determines whether the subsystem14controlled by the selected ECU12has been serviced, which would require clearing any data learned by the ECU12prior to the servicing. For example, the read/write circuit112-1can obtain this information by reading a register in the selected ECU12. The method200proceeds to element224if the subsystem14controlled by the selected ECU12has not been serviced, and clearing the learned data is unnecessary.

At222, if the subsystem14controlled by the selected ECU12has been serviced, and clearing the learned data is necessary, the read/write circuit112-1writes to an appropriate register in the selected ECU12, which causes the selected ECU12to clear the learned data. For example, the read/write circuit112-1may transmit a command that, when written into the selected ECU12, initiates a procedure or subroutine to clear the learned data. Other methods for clearing the learned data may be used.

At224, the first circuit108-1determines whether the selected ECU12is the last one of the ECUs12(i.e., whether all the ECU’s12have been checked for fault codes). At226, if the selected ECU12is not the last one of the ECUs12(i.e., if all the ECUs12have not been checked for fault codes), the access control circuit110-1selects the next one of the ECUs12, and the method returns to216.

At228, if the selected ECU12is the last one of the ECUs12(i.e., if all the ECUs12have been checked for fault codes and if the fault codes of all the ECUs12have been cleared), the processor100checks the timer and determines whether a predetermined time (e.g., 1 minute) has elapsed. The method200waits until the predetermined time elapses. This provides the first circuit108-1sufficient time to clear all the fault codes of all of the ECUs12.

In some implementations, the first circuit108-1does not read fault codes; rather, the first circuit108-1simply clears the fault codes. The processor100checks the timer and determines whether a predetermined time (e.g., 1 minute) has elapsed. The method200waits until the predetermined time elapses. This provides the first circuit108-1sufficient time to clear all the fault codes of all of the ECUs12.

At230, the first circuit108-1determines whether the portable device11is still receiving power from the vehicle10(i.e., the portable device11is still connected to the vehicle10). The method200ends if the portable device11is no longer receiving power from the vehicle10(i.e., the portable device11is disconnected from the vehicle10). The method200proceeds to element232if the portable device11is still receiving power from the vehicle10(i.e., the portable device11is still connected to the vehicle10). The method200continues and performs the next procedure, which is to reset the AFT50as shown inFIG.5Band as described below.

InFIG.5B, at232, the first circuit108-1determines if it is authenticated to reset and reprogram the ECU52, which is one of the ECU′12controlling the AFT50as explained above with reference toFIG.2. In some implementations this determination may be unnecessary since the authentication performed at element212may be sufficient, in which case the method200proceeds to element236.

At234, if it is necessary to establish or re-establish authentication to reset and reprogram the ECU52, the first circuit108-1optionally establishes or re-establishes read/write access to the ECU52. For example, the access control circuit110-1performs an authentication (e.g., a security handshake) procedure with the ECU52(or with multiple ECUs if more than one ECU is used to control multiple components of the AFT50) and gains read/write access to the ECU52(or the multiple ECUs controlling the multiple components of the AFT50).

At236, the access control circuit110-1accesses the ECU52(or the multiple ECUs controlling the multiple components of the AFT50) and determines if any fault code(s) are present in the ECU52(or the multiple ECUs controlling the multiple components of the AFT50). The method200proceeds to element to240if any fault code(s) are not present in the ECU52(or the multiple ECUs controlling the multiple components of the AFT50).

At238, if any fault code(s) are present in the ECU52(or the multiple ECUs controlling the multiple components of the AFT50), the read/write circuit112-1writes to an appropriate register in the ECU52(or the multiple ECUs controlling the multiple components of the AFT50), which causes the ECU52(or the multiple ECUs controlling the multiple components of the AFT50) to clear the fault code(s). For example, the read/write circuit112-1may transmit a command that, when written into the ECU52(or the multiple ECUs controlling the multiple components of the AFT50), initiates a procedure or subroutine to clear the fault code(s). Other methods of clearing the fault codes may be used.

At240, regardless of whether any component of the AFT50has been serviced, the read/write circuit112-1writes to an appropriate register in the ECU52(or the multiple ECUs controlling the multiple components of the AFT50), which causes the ECU52(or the multiple ECUs controlling the multiple components of the AFT50) to clear any learned data stored in the ECU52(or the multiple ECUs controlling the multiple components of the AFT50). For example, the read/write circuit112-1may transmit a command that, when written into the ECU52(or the multiple ECUs controlling the multiple components of the AFT50), initiates a procedure or subroutine to clear the learned data. Other methods for clearing the learned data may be used.

At242, the read/write circuit112-1writes to an appropriate register in the ECU52(or the multiple ECUs controlling the multiple components of the AFT50), which causes the ECU52(or the multiple ECUs controlling the multiple components of the AFT50) to reprogram all parameters to default values. The reprogramming of all the parameters associated with the AFT50to default values is called resetting the AFT50. Subsequently, the method200ends. Examples of parameters follow.

For example, resetting the AFT50clears issues related to soot level, ash level, ash accumulation, SCR accumulation, SCR NOx poisoning level, engine learned data, AFT learned data, DPF zone level, NOx sensor data, and DPF regeneration timers. This list is not exhaustive. The soot level includes measurement of soot in the DPF64. The ash level includes measurement of ash in the DPF64. The SCR accumulation includes measurement of accumulation in the SCR component66. The SCR NOx poisoning level includes measurement of NOx efficiency and efficiency of the SCR component66. This is controlled by various measurements configured by the AFT50. The engine learned data includes data learned from various engine components to adjust injection timing based on characteristics of engine sensor values. Examples include data learned from EGR mass air flow sensor, boost pressure sensor, MAP pressure sensor, and NOx Sensor. The AFT learned data includes measurements of regeneration operation and sensor values. Examples include data learned from DPF temperature sensors, DPF pressure sensors, and NOx sensors. The DPF zone level includes DPF status or zone level status. This is also an alternative to DPF soot load that is calculate by the ECU52. The NOx sensor data includes data learned from NOx sensors. The DPF regeneration timers store measurement of time since the last DPF regeneration occurred. This is calculated based on time, miles driven, fuel usage.

Recall that inFIG.5A, at210, the method200determines whether the engine of the vehicle10is running (i.e., if RPM of the engine is greater than zero), and the method200proceeds to element250shown inFIG.5Cto perform a forced regeneration of the DPF64if the engine of the vehicle10is running (i.e., if the RPM is greater than zero).

InFIG.5C, at250, if the engine of the vehicle10is running (i.e., if the RPM is greater than zero), the processor100or the first circuit108-1further determines, based on the connection to the CAN bus16of the vehicle10, if the vehicle10is at rest (i.e., if the speed of the vehicle10is zero). For example, the processor100or the first circuit108-1can transmit a query to an engine ECU12and obtain the speed data from the engine ECU12. The method200ends if the vehicle10is moving (i.e., if the speed of the vehicle10is not zero).

At252, if the vehicle10is at rest (i.e., if the speed of the vehicle10is zero and if the parking gear is engaged), the processor100executes instructions that cause the first circuit108-1to send a command to the AFT50to initiate a forced regeneration of the DPF64in the AFT50. For example, the read/write circuit112-1writes to an appropriate register in the ECU52(or an ECU controlling the DPF64), which causes the ECU52(or an ECU controlling the DPF64) to start a forced regeneration procedure. For example, the procedure includes increasing fuel supply to the AFT50, raising the engine RPM, and raising the temperature of the DPF64to burn off the soot in the DPF64.

At254, the processor100checks the timer and determines whether a predetermined time (e.g., about 1 hour) has elapsed. The predetermined time is calculated based on the ECU’s (52) request to regenerate the system (50). The forced regeneration procedure can take anywhere from 30 minutes to an hour and 30 minutes. The engine RPM reduces to idle RPM once the forced regeneration procedure completed. The engine ECU or the ECU52that controls the AFT50determines this amount of time to allow enough time to burn off the soot in the AFT50. The method200waits until the predetermined time elapses. This provides the AFT50and the ECU52(or an ECU such as the engine ECU controlling the DPF64) sufficient time to regenerate the DPF64.

At256, if the predetermined time has not yet elapsed, the first circuit108-1determines if a fault has occurred during the forced regeneration procedure. The method200ends if a fault occurs during the forced regeneration procedure. The method200returns to element254if no fault occurs during the forced regeneration procedure. The method200continues until the forced regeneration procedure completes or aborts due to a fault.

At258, if no fault occurs during the forced regeneration procedure, the forced regeneration procedure is complete after the predetermined time has elapsed, and the method200ends. The engine RPM decreases to idle RPM, and the temperature of the DPF64decreases. At this point, the vehicle is drivable.