Determining a fault in an electronic controller

Systems and methods for determining a fault in an electronic controller. The system includes a first electronic controller, a second electronic controller, and a remote electronic controller. The second electronic controller executes a diagnostic service routine configured to access a restricted section of a memory associated with the first electronic controller, receives a failure code from the restricted section of the memory associated with the first electronic controller, generates a logging file including the failure code, and sends the logging file to the remote electronic controller. The remote electronic controller determines a fault in the first electronic controller based upon the logging file.

FIELD

Embodiments relate to methods and systems for determining a fault in an electronic controller.

BACKGROUND

Computers and electronic controllers control many systems including, for example, vehicle control systems. When a breakdown or fault occurs in these systems, the electronic controller is often replaced.

SUMMARY

When a technician services a system and an electronic controller controlling that system, the technician may mistakenly replace the electronic controller even if a fault has not actually occurred in the electronic controller. Thus, a method is needed for determining if a fault has truly occurred in the electronic controller.

Embodiments of this invention are therefore directed to determining a fault in an electronic controller.

One embodiment provides a system for determining a fault in an electronic controller. The system includes a first electronic controller, a second electronic controller, and a remote electronic controller. The second electronic controller is configured to execute a diagnostic service routine configured to access a restricted section of a memory associated with the first electronic controller, receive a failure code from the restricted section of the memory associated with the first electronic controller, generate a logging file including the failure code, and send the logging file to the remote electronic controller. The remote electronic controller is configured to determine a fault in the first electronic controller based upon the logging file.

Another embodiment provides a method for determining a fault in a first electronic controller. The method includes executing, with a second electronic controller, a diagnostic service routine configured to access a restricted section of a memory associated with on the first electronic controller; receiving, with the second electronic controller, a failure code from the restricted section of the memory associated with the first electronic controller in response to executing the diagnostic service routine; generating, with the second electronic controller, a logging file, the logging file including the failure code; sending, with the second electronic controller, the logging file to a remote electronic controller; and determining, with the remote electronic controller, a fault in the first electronic controller based on the logging file.

Other aspects, features, and embodiments will become apparent by consideration of the detailed description and accompanying drawings.

DETAILED DESCRIPTION

Before any embodiments are explained in detail, it is to be understood that this disclosure is not intended to be limited in its application to the details of construction and the arrangement of components set forth in the following description or illustrated in the following drawings. Embodiments are capable of other configurations and of being practiced or of being carried out in various ways.

A plurality of hardware and software based devices, as well as a plurality of different structural components may be used to implement various embodiments. In addition, embodiments may include hardware, software, and electronic components or modules that, for purposes of discussion, may be illustrated and described as if the majority of the components were implemented solely in hardware. However, one of ordinary skill in the art, and based on a reading of this detailed description, would recognize that, in at least one embodiment, the electronic based aspects of the invention may be implemented in software (for example, stored on non-transitory computer-readable medium) executable by one or more processors. For example, “control units” and “controllers” described in the specification can include one or more electronic processors, one or more memory modules including non-transitory computer-readable medium, one or more input/output interfaces, one or more application specific integrated circuits (ASICs), and various connections (for example, a system bus) connecting the various components.

FIG. 1illustrates a system100for determining a fault in a first electronic controller105according to one embodiment. The system includes the first electronic controller105, a second electronic controller110, and a remote electronic controller115.

An example of the first electronic controller105is illustrated inFIG. 2. In some embodiments, the first electronic controller105is an electronic controller for use in a vehicle. The first electronic controller105includes a plurality of electrical and electronic components that provide power, operation control, and protection to the components and modules within the first electronic controller105. In the example illustrated, the first electronic controller105includes a first electronic processor205(such as a programmable electronic microprocessor, microcontroller, or similar device), a first input-output interface210, and a first memory215(for example, a non-transitory, computer-readable medium). The first electronic processor205is communicatively connected to the first input-output interface210and the first memory215. The first memory215may further included a restricted section of memory220. The restricted section of memory220may be protected by a password, a private key, and the like. The restricted section of memory220may be configured, in some embodiments, to store data that should be accessible only to a manufacturer of the first electronic controller105and not to an operator of the first electronic controller105(e.g., a technician).

The first electronic controller105is communicatively coupled to the second electronic controller110by a first coupling120. In some embodiments, the first coupling120is a physical (wired) coupling between the first electronic controller105and the second electronic controller110. In other embodiments, the first coupling120is a wireless communication coupling between the first electronic controller105and the second electronic controller110.

An example of the second electronic controller110is illustrated inFIG. 3. In some embodiments, the second electronic controller110is similar to the first electronic controller1105and includes similar components (such as a second electronic processor305, a second input-output interface310, and a second memory315) that may function in a similar manner to the components of the first electronic controller105. However, the second memory315of the second electronic controller110does not require a restricted section of memory. In some embodiments, the second electronic controller110is configured to run a diagnostic service routine on the first electronic controller105(as described below). The second electronic controller110is, in some embodiments, an electronic controller used by a technician to diagnose faults in an electronic controller (such as the first electronic controller105) in a vehicle.

The second electronic controller110is communicatively coupled to the remote electronic controller115by a second coupling125. In some embodiments, the second coupling125is a physical (wired) coupling between the second electronic controller110and the remote electronic controller115. In other embodiments, the second coupling125is a wireless communication coupling between the second electronic controller110and the remote electronic controller115.

The remote electronic controller115is, in some embodiments, similar to the second electronic controller110. The remote electronic controller115may be an electronic controller in a computing system at an original equipment manufacturer (OEM) facility, a remote diagnostic facility, and the like.

FIG. 4illustrates an example method400for determining a fault in the first electronic controller105according to one embodiment. The method400includes executing, with the second electronic processor110, a diagnostic service routine on the first electronic controller (at block405). The second electronic controller110, through the first coupling120, accesses the first electronic controller105and runs the diagnostic service routine on the first electronic controller105.

The diagnostic service routine may be a software routine that is executed by the second electronic controller110on the first electronic controller105. The diagnostic service routine may be created and provided by the OEM of the first electronic controller105to a user of the second electronic controller110, the user being, for example, a dealership employee where service on a vehicle containing the first electronic controller105is being performed. The diagnostic service routine is configured to access the first memory215and, among other things, retrieve failure codes associated with different faults in the first memory215(which are stored during the operation of the first electronic controller105). The diagnostic service routine, when provided by the OEM of the first electronic controller105, may be further configured to access the restricted section of memory220in the first memory215. For example, the diagnostic service routine, when provided by the OEM, may include the OEM private key or a password to access the restricted section of memory220.

In response to the diagnostic service routine being executed by the second electronic controller110on the first electronic controller105, the second electronic controller110receives the failure codes saved in the first memory215and in the restricted section of memory220(at block410). The failure codes are received via the first coupling120.

The failure codes are indicative of different faults that have occurred in the first electronic controller105. For example, a failure code may indicate an attempt to access empty memory, a failure of a software routine, and the like. The failure code may be a numerical code (e.g., “111”), a text code, and the like. In some embodiments, the failure code also includes other failure information, such as date and time, vehicle conditions, and the like.

The second electronic controller110generates a logging file (at block415). The logging file includes any failure codes received at block410. The logging file may further include ticket information generated by the second electronic controller110. The ticket information may include a serial number of the first electronic controller105, a vehicle identification number, a software version number, a part number of the first electronic controller105, vehicle line information, dealership information, and the like. The ticket information may also include any other product data management (PDM) information concerning the first electronic controller105. In some embodiments, the ticket information is obtained when the diagnostic service routine is run on the first electronic controller105.

The second electronic controller110then sends the logging file to the remote electronic controller115via the second coupling125(at block420).

The remote electronic controller115determines, based upon the received logging file, a fault that has occurred in the first electronic controller105(at block425). For example, the remote electronic controller115receives the logging file, extracts a failure code and associated failure information, extracts ticket information, and then determines a fault in the first electronic controller105based upon the extracted information. In some embodiments, only the failure code is used to determine the fault in the first electronic controller105.

The remote electronic controller115may be further configured to alert a user of the remote electronic controller115or the second electronic controller110of the determined fault in the first electronic controller105. For example, the remote electronic controller115may send a notification to the second electronic controller110to display on a display screen to a technician.

The remote electronic controller115may further display the determined fault of the first electronic controller105to an operator of the remote electronic controller115via a display screen. For example, in some embodiments, the remote electronic controller115is owned by the OEM of the first electronic controller105, and the determined fault of the first electronic controller105is displayed to a software engineer or a quality control engineer to interpret the determined fault and determine a cause of the fault.

In some embodiments, the second electronic controller110is configured to initiate a virtual meeting with the operator of the remote electronic controller115and one or more other parties. For example, based upon the determined fault, the second electronic controller115initiates the virtual meeting using a virtual meeting service (for example, a video meeting service, a chat meeting service, a telephone meeting service, or the like) with the operator of the remote electronic controller115(such as an engineer from the OEM of the first electronic controller105), an engineering team associated with a manufacturer of a vehicle containing the first electronic controller105, one or more technicians at a dealership where the second electronic controller110is located, and others involved in the manufacture of a vehicle containing the first electronic controller105, such as an engineering team of a third-party aftermarket part and the like.

Various features, advantages, and embodiments are set forth in the following claims.