ECU fault cause determination method, system, storage medium and device
By analyzing network management messages in the background server, determining the ID and level of the faulty ECU, and processing data missing or serial bits, the difficulty in determining the cause of failure when the ECU cannot sleep is solved, and fast and accurate troubleshooting is achieved.
Patent Information
- Application Number
- CN202111318381.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-09
- Publication Date
- 2024-12-10
- Estimated Expiration
- 2041-11-09
AI Technical Summary
In the prior art, when the ECU cannot sleep, a bus engineer is required to follow the vehicle to collect real vehicle data, which is time-consuming and labor-intensive and prone to conclusion errors due to insufficient experience, which makes it difficult to determine the cause of the failure.
By analyzing the preset network management message reported by the vehicle in the background server, obtaining the address bit byte to determine the ID and level of the faulty ECU, and determining the data missing or string bits based on the status bit byte position and value, and performing the home processing Determine the cause of the failure.
It realizes the rapid and accurate determination of the faulty ECU and its fault cause, reduces the time and error of manually collecting data, and improves the efficiency of troubleshooting.
Smart Images

Figure CN114285915B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the automotive field, and in particular to a method, system, storage medium and device for determining the cause of an ECU failure. Background Art
[0002] With the rapid development of intelligent and networked vehicle models, more and more modules are needed to realize functions of automobiles, and the number of nodes involved in network management is also increasing. According to the sleep and wake-up mechanism of network management, after the automobile IGN OFF, if a certain ECU cannot enter the sleep state, all other nodes participating in the network management of the whole vehicle will also be unable to sleep, which may easily cause the vehicle to run out of power. Therefore, it is necessary to lock the problem ECU that cannot sleep after IGN OFF and determine the reason why the problem ECU cannot enter sleep, so as to repair the problem ECU faster to ensure the normal operation of the whole vehicle.
[0003] However, at present, if an ECU does not sleep, a bus engineer needs to follow the vehicle to collect real vehicle data to lock the problem ECU, then remove the wires, collect and check data from all aspects, and verify the conclusions from multiple aspects to determine the cause of the problem ECU not sleeping. The whole process is not only time-consuming and laborious, but also prone to conclusion errors due to the lack of experience of the bus engineer. Summary of the invention
[0004] The purpose of the present invention is to propose a method, system, storage medium and device for determining the cause of ECU failure, so as to solve the problem in the prior art that if an ECU does not sleep, a bus engineer is required to follow the vehicle to collect real vehicle data to lock the problem ECU that does not sleep, and then remove the wires, collect and check data from various aspects, and combine multiple aspects to verify the conclusion in order to determine the cause of the problem ECU not sleeping. The whole process is not only time-consuming and labor-intensive, but also prone to conclusion errors due to the lack of experience of the bus engineer.
[0005] The present invention proposes a method for determining the cause of an ECU failure, which is applied to a background server. The method comprises:
[0006] Obtaining a preset network management message reported by the vehicle through its on-board communication module, and parsing the preset network management message, wherein the preset network management message includes a plurality of status bit bytes, each of which is spaced apart, and a vacant bit byte is reserved between every two of the status bit bytes;
[0007] Obtaining a value of an address bit byte of the preset network management message, wherein the address bit byte is used to indicate an ID of a faulty ECU, and determining a target faulty ECU and a level of the target faulty ECU according to the value of the address bit byte, wherein the level of the faulty ECU includes a first level and a second level, and a position of a status bit byte of a network management message sent by a faulty ECU of the first level corresponds to a position of a vacant bit byte of a network management message sent by a faulty ECU of the second level;
[0008] Determining the position of the status bit byte of the preset network management message according to the level of the target faulty ECU;
[0009] Obtain the value of the status bit byte according to the position of the status bit byte. If there is no data value on the corresponding status bit byte, data is missing or there is a crossover. Check whether the position of the byte adjacent to the status bit byte contains redundant data to determine whether crossover occurs. The status bit byte includes a first status bit byte.
[0010] The fault cause of the target faulty ECU is determined according to the value of the first status bit byte.
[0011] The method for determining the cause of ECU failure proposed by the present invention has the following beneficial effects:
[0012] The present invention parses a network management message and obtains the value of the address bit byte of the parsed network management message. Since the address bit byte is used to indicate the ID of the faulty ECU, the corresponding target faulty ECU and the level of the target faulty ECU can be determined according to the value of the address bit byte. The positions of the status bit bytes corresponding to faulty ECUs of different levels are different. Therefore, the position of the status bit byte of the network management message can be determined according to the level of the target faulty ECU, and then the fault cause of the target faulty ECU can be determined according to the value of the first status bit byte. The present invention can quickly and accurately determine the faulty ECU and the fault cause of the faulty ECU according to the analysis of the network management message.
[0013] In addition, the method for determining the cause of an ECU failure provided by the present invention may also have the following additional technical features:
[0014] Further, the step of obtaining the value of the status bit byte according to the position of the status bit byte includes:
[0015] Determine whether the value of the status bit byte is stringed according to the position of the status bit byte;
[0016] If so, the value of the status bit byte is reset and the value of the status bit byte after the reset is obtained.
[0017] Further, the step of judging whether a string occurs in the value of the status bit byte according to the position of the status bit byte comprises:
[0018] Determine whether a value string occurs between a status bit byte of the preset network management message and an empty bit byte of the preset network management message;
[0019] If so, the step of performing a reset process on the value of the status bit byte and obtaining the value of the status bit byte after the reset process comprises:
[0020] If a value crossover occurs between the status bit byte of the preset network management message and the vacant bit byte of the preset network management message, the value of the vacant bit byte of the preset network management message where the crossover occurs is input into the corresponding status bit byte of the preset network management message, and the value of the vacant bit byte of the preset network management message is deleted;
[0021] Obtain the value of the status bit byte of the network management message.
[0022] Further, the step of judging whether a string occurs in the value of the status bit byte according to the position of the status bit byte comprises:
[0023] Determine whether a value string occurs between the status bit byte of the preset network management message and the vacant bit byte of the network management message sent by the faulty ECU of different levels;
[0024] If so, the step of performing a reset process on the value of the status bit byte and obtaining the value of the status bit byte after the reset process comprises:
[0025] If there is a value crossover between the status bit byte of the preset network management message and the vacant bit byte of the network management message sent by the faulty ECU of different levels, the value of the vacant bit byte of the adjacent network management message where the crossover occurs is input into the corresponding status bit byte of the preset network management message, and the value of the vacant bit byte of the adjacent network management message where the crossover occurs is deleted;
[0026] Obtain the value of the status bit byte of the preset network management message.
[0027] Further, the step of determining the target faulty ECU and the level of the target faulty ECU according to the value of the address bit byte includes:
[0028] According to the value of the address bit byte of the network management message, the corresponding ECU and the level of the ECU are searched from the mapping table to determine the target faulty ECU and the level of the target faulty ECU.
[0029] Furthermore, the status bit byte further includes a second status bit byte, and the step of obtaining the value of the status bit byte according to the position of the status bit byte further includes:
[0030] The wake-up source of the target faulty ECU is determined according to the value of the second status bit byte.
[0031] Furthermore, the status bit byte further includes a third status bit byte, and the step of obtaining the value of the status bit byte according to the position of the status bit byte further includes:
[0032] The wake-up state of the target faulty ECU is determined according to the value of the third state bit byte.
[0033] The present invention also proposes a system for determining the cause of an ECU failure, which is applied to a background server and includes:
[0034] Parsing module: used to obtain the preset network management message reported by the vehicle through its on-board communication module, and parse the preset network management message, wherein the preset network management message includes a plurality of status bit bytes, each of which is arranged at intervals, and a vacant bit byte is reserved between every two status bit bytes;
[0035] A first determination module: used for obtaining the value of the address bit byte of the preset network management message, the address bit byte is used to indicate the ID of the faulty ECU, and determining the target faulty ECU and the level of the target faulty ECU according to the value of the address bit byte, the level of the faulty ECU includes the first level and the second level, and the position of the status bit byte of the network management message sent by the faulty ECU of the first level corresponds to the position of the vacant bit byte of the network management message sent by the faulty ECU of the second level;
[0036] A second determination module: used to determine the position of the status bit byte of the preset network management message according to the level of the target faulty ECU;
[0037] An acquisition module is used to acquire the value of the status bit byte according to the position of the status bit byte. If there is no data value on the corresponding status bit byte, there is data missing or bit crossover. Check whether the position of the byte adjacent to the status bit byte contains redundant data to determine whether bit crossover occurs. The status bit byte includes the first status bit byte.
[0038] The third determination module is used to determine the fault cause of the target faulty ECU according to the value of the first status bit byte.
[0039] The present invention also provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the above-mentioned method for determining the cause of an ECU failure is implemented.
[0040] The present invention also proposes a device for determining the cause of an automobile ECU failure, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned method for determining the cause of an ECU failure when executing the program.
[0041] Additional aspects and advantages of the present invention will be given in part in the following description and in part will be obvious from the following description, or will be learned through practice of the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] The above and / or additional aspects and advantages of the present invention will become apparent and easily understood from the description of the embodiments in conjunction with the following drawings, in which:
[0043] Figure 1 This is a flow chart of a method for determining a cause of an ECU failure according to a first embodiment of the present invention;
[0044] Figure 2 A system block diagram of a system for determining a cause of an ECU failure according to a second embodiment of the present invention;
[0045] Figure 3 It is a schematic diagram of the structure of a device for determining the cause of an ECU failure according to the third embodiment of the present invention. DETAILED DESCRIPTION
[0046] In order to make the purpose, features and advantages of the present invention more obvious and easy to understand, the specific implementation methods of the present invention are described in detail below in conjunction with the accompanying drawings. Several embodiments of the present invention are shown in the accompanying drawings. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. On the contrary, the purpose of providing these embodiments is to make the disclosure of the present invention more thorough and comprehensive.
[0047] Example 1
[0048] Please refer to Figure 1 , an embodiment of the present invention provides a method for determining the cause of an ECU failure, which is applied to a background server and includes steps S101 to S105.
[0049] S101, obtaining a preset network management message reported by a vehicle through its on-board communication module, and parsing the preset network management message.
[0050] After the vehicle is turned off, the vehicle ECU enters a dormant state. If the network management message sent by the ECU can be received, it means that the ECU is abnormally awakened. By parsing the network management message, the cause, wake-up source and wake-up status of the abnormal wake-up failure of the ECU can be found out.
[0051] S102, obtaining the value of the address byte of the preset network management message, wherein the address byte is used to indicate the ID of the faulty ECU, and determining the target faulty ECU and the level of the target faulty ECU according to the value of the address byte.
[0052] The step of determining the target faulty ECU and the level of the target faulty ECU according to the value of the address bit byte includes:
[0053] According to the value of the address bit byte of the network management message, the corresponding ECU and the level of the ECU are searched from the mapping table to determine the target fault ECU and the level of the target fault ECU. The mapping table is used to represent the one-to-one correspondence between the address ID of the ECU and the name of the ECU and the level of the ECU.
[0054] In a specific implementation of the present invention, the network management message includes eight bytes, wherein byte 0 is used to indicate the ECU address, byte 1 is used to indicate the control vector bit, and three bytes in bytes 2-7 are used to indicate the wake-up state, wake-up source and reason for maintaining the wake-up state of the ECU, respectively, as shown in Table 1 below.
[0055]
[0056] Table 1
[0057] S103, determining the position of the status bit byte of the preset network management message according to the level of the target faulty ECU.
[0058] S104, acquiring a value of the status bit byte according to a position of the status bit byte, wherein the status bit byte includes a first status bit byte.
[0059] Wherein, the step of obtaining the value of the status bit byte according to the position of the status bit byte comprises:
[0060] Determine whether the value of the status bit byte is stringed according to the position of the status bit byte;
[0061] If so, the value of the status bit byte is reset and the value of the status bit byte after the reset is obtained.
[0062] The present invention may receive abnormal message data in the process of receiving network management messages, and the data in the message may be strung or missing. If the value of the status bit byte of the network management message is strung, it can be judged whether the value of the status bit byte is strung according to the position of the status bit byte. If there is no data value on the corresponding status bit byte, it may be that the data is missing or strung. Then check whether there is redundant data at the position of the byte adjacent to the status bit byte. If there is redundant data, it is very likely that it is strung from the data value of the status bit byte. Then, the data value of the status bit byte is returned to its original position to obtain a more correct status bit byte value, thereby obtaining a more accurate cause of the fault.
[0063] The preset network management message includes a plurality of status bit bytes, each of which is spaced apart, and a vacant bit byte is reserved between every two status bit bytes. The step of judging whether a string of bits occurs in the value of the status bit bytes according to the positions of the status bit bytes includes:
[0064] Determine whether a value string occurs between a status bit byte of the preset network management message and an empty bit byte of the preset network management message;
[0065] If so, the step of performing a reset process on the value of the status bit byte and obtaining the value of the status bit byte after the reset process comprises:
[0066] If a value crossover occurs between the status bit byte of the preset network management message and the vacant bit byte of the preset network management message, the value of the vacant bit byte of the preset network management message where the crossover occurs is input into the corresponding status bit byte of the preset network management message, and the value of the vacant bit byte of the preset network management message is deleted;
[0067] Obtain the value of the status bit byte of the network management message.
[0068] In a specific implementation manner of the present invention, each of the status bit bytes is arranged at intervals, and an empty bit byte is reserved between every two of the status bit bytes. In one case, the three status bit bytes are byte 2, byte 4 and byte 6, and the three empty bit bytes are byte 3, byte 5 and byte 7; in another case, the three status bit bytes are byte 3, byte 5 and byte 7, and the three empty bit bytes are byte 2, byte 4 and byte 6.
[0069] The above steps can reset the value of the string between the status bit byte and the vacant bit byte of the same network management message, thereby obtaining the value of the status bit byte after reset correction, and obtaining a more accurate fault cause based on the value of the corrected status bit byte.
[0070] The levels of the faulty ECU include a first level and a second level, the position of the status bit byte of the network management message sent by the faulty ECU of the first level corresponds to the position of the vacant bit byte of the network management message sent by the faulty ECU of the second level, and the step of judging whether the value of the status bit byte is stringed according to the position of the status bit byte includes:
[0071] Determine whether a value string occurs between the status bit byte of the preset network management message and the vacant bit byte of the network management message sent by the faulty ECU of different levels;
[0072] If so, the step of performing a reset process on the value of the status bit byte and obtaining the value of the status bit byte after the reset process comprises:
[0073] If there is a value crossover between the status bit byte of the preset network management message and the vacant bit byte of the network management message sent by the faulty ECU of different levels, the value of the vacant bit byte of the adjacent network management message where the crossover occurs is input into the corresponding status bit byte of the preset network management message, and the value of the vacant bit byte of the adjacent network management message where the crossover occurs is deleted;
[0074] Obtain the value of the status bit byte of the preset network management message.
[0075] In a specific implementation of the present invention, the first level ECU is a main ECU of the automobile, used to control the automobile to realize main functions, and the second level ECU is an auxiliary ECU of the automobile, used to control the automobile to realize auxiliary functions.
[0076] Specifically, the three status bit bytes of the network management message sent by the first level faulty ECU are byte 2, byte 4 and byte 6, and the three status bit bytes of the network management message sent by the second level faulty ECU are byte 3, byte 5 and byte 7. Since the status bit bytes of the network management message sent by the first level faulty ECU are not at the edge of the data field, the value of the status bit byte of the network management message sent by the first level faulty ECU is less likely to be lost than the value of the status bit byte of the network management message sent by the second level faulty ECU.
[0077] By staggering the positions of all status bit bytes of the network management message sent by the first-level faulty ECU and the positions of all status bit bytes of the network management message sent by the second-level faulty ECU, it is possible to avoid interference between the status bit byte values of the two messages when data string occurs between adjacent network management messages of different levels, thereby preventing the correct status bit byte value from being obtained.
[0078] The above steps can reset the values of the status bit byte strings between adjacent network management messages sent by ECUs with different levels of faults, thereby obtaining the values of the status bit byte after reset correction, and obtaining a more accurate fault cause based on the values of the corrected status bit byte.
[0079] S105: Determine the fault cause of the target faulty ECU according to the value of the first status bit byte.
[0080] The present invention searches and obtains the fault cause of the target fault ECU from the first mapping table according to the value of the first status bit byte. The first mapping table is used to represent the one-to-one correspondence between each bit in the first status bit byte and the fault cause of the target fault ECU, as shown in Table 2 below.
[0081]
[0082]
[0083] Table 2
[0084] Among them, the definition of the first status bit byte is: bit0 is used to indicate that the reason why the ECU remains in the awake state is that KL15 is powered; bit1 is used to indicate that the reason why the ECU remains in the awake state is diagnosis, bit2 is used to indicate that the reason why the ECU remains in the awake state is that the timer has not timed out, and bit3 is used to indicate that the reason why the ECU remains in the awake state is that the activation line is online.
[0085] For example, when the value of the first status bit byte is 10000000, the fault cause of the target faulty ECU can be determined according to the value of the first status bit byte as follows: KL15 has power.
[0086] The status bit byte also includes a second status bit byte, and the step of obtaining the value of the status bit byte according to the position of the status bit byte also includes:
[0087] The wake-up source of the target faulty ECU is determined according to the value of the second status bit byte.
[0088] The present invention searches and obtains the wake-up source of the target fault ECU from the second mapping table according to the value of the second status bit byte. The second mapping table is used to represent the one-to-one correspondence between each bit in the second status bit byte and the wake-up source of the target fault ECU, as shown in Table 3 below.
[0089]
[0090] Table 3
[0091] Among them, the second status bit byte is defined as: bit0 is used to indicate that the wake-up source of the ECU is bus wake-up, bit1 is used to indicate that the wake-up source of the ECU is power-on wake-up, bit2 is used to indicate that the wake-up source of the ECU is local event wake-up one, bit3 is used to indicate that the wake-up source of the ECU is local event wake-up two, and bit4 is used to indicate that the wake-up source of the ECU is local event wake-up three.
[0092] For example, when the value of the second status bit byte is 00001000, the wakeup source of the target faulty ECU can be determined as local event wakeup three according to the value of the second status bit byte.
[0093] The status bit byte further includes a third status bit byte, and the step of obtaining the value of the status bit byte according to the position of the status bit byte further includes:
[0094] The wake-up state of the target faulty ECU is determined according to the value of the third state bit byte.
[0095] The present invention searches and obtains the wake-up state of the target fault ECU from the third mapping table according to the value of the third status bit byte. The third mapping table is used to represent the one-to-one correspondence between each bit in the third status bit byte and the wake-up state of the target fault ECU, as shown in Table 4 below.
[0096]
[0097] Table 4
[0098] Among them, the third status bit byte is defined as: bit0 is used to indicate that the wake-up state of the ECU is switched from the sleep state to the repeated message state, bit1 is used to indicate that the wake-up state of the ECU is switched from the pre-sleep mode to the repeated message state, bit2 is used to indicate that the wake-up state of the ECU is switched from the normal working state to the repeated message state, bit3 is used to indicate that the wake-up state of the ECU is switched from the pre-sleep state to the repeated message state, bit4 is used to indicate that the wake-up state of the ECU is switched from the repeated message state to the normal working state, and bit5 is used to indicate that the wake-up state of the ECU is switched from the pre-sleep state to the normal working state.
[0099] For example, when the value of the third status bit byte is 00100000, the wake-up state of the target fault ECU can be determined according to the value of the third status bit byte: the wake-up state of the ECU is switched from the normal working state to the repeated message state.
[0100] In summary, the method for determining the cause of an ECU failure provided by the present invention has the beneficial effect that: the present invention parses the network management message and obtains the value of the address bit byte of the parsed network management message. Since the address bit byte is used to indicate the ID of the faulty ECU, the corresponding target faulty ECU and the level of the target faulty ECU can be determined according to the value of the address bit byte. The positions of the status bit bytes corresponding to faulty ECUs of different levels are different. Therefore, the position of the status bit byte of the network management message can be determined according to the level of the target faulty ECU, and then the fault cause of the target faulty ECU can be determined according to the value of the first status bit byte. The present invention can quickly and accurately determine the faulty ECU and the fault cause of the faulty ECU based on the analysis of the network management message.
[0101] Example 2
[0102] Please refer to Figure 2 This embodiment provides a system for determining the cause of an ECU failure, which is applied to a background server and includes:
[0103] Parsing module: used to obtain the preset network management message reported by the vehicle through its on-board communication module, and parse the preset network management message.
[0104] The first determination module is used to obtain the value of the address byte of the preset network management message, the address byte is used to indicate the ID of the faulty ECU, and determine the target faulty ECU and the level of the target faulty ECU according to the value of the address byte.
[0105] The first determining module is further used for:
[0106] According to the value of the address bit byte of the network management message, the corresponding ECU and the level of the ECU are searched from the mapping table to determine the target fault ECU and the level of the target fault ECU. The mapping table is used to represent the one-to-one correspondence between the address ID of the ECU and the name of the ECU and the level of the ECU.
[0107] The second determination module is used to determine the position of the status bit byte of the preset network management message according to the level of the target faulty ECU.
[0108] An acquisition module is used to acquire the value of the status bit byte according to the position of the status bit byte, and the status bit byte includes a first status bit byte.
[0109] The acquisition module is also used for:
[0110] Determine whether the value of the status bit byte is stringed according to the position of the status bit byte;
[0111] If so, the value of the status bit byte is reset and the value of the status bit byte after the reset is obtained.
[0112] The acquisition module is also used for:
[0113] Determine whether a value string occurs between a status bit byte of the preset network management message and an empty bit byte of the preset network management message;
[0114] If a value crossover occurs between the status bit byte of the preset network management message and the vacant bit byte of the preset network management message, the value of the vacant bit byte of the preset network management message where the crossover occurs is input into the corresponding status bit byte of the preset network management message, and the value of the vacant bit byte of the preset network management message is deleted;
[0115] Obtain the value of the status bit byte of the network management message.
[0116] The acquisition module is also used for:
[0117] Determine whether a value string occurs between the status bit byte of the preset network management message and the vacant bit byte of the network management message sent by the faulty ECU of different levels;
[0118] If there is a value crossover between the status bit byte of the preset network management message and the vacant bit byte of the network management message sent by the faulty ECU of different levels, the value of the vacant bit byte of the adjacent network management message where the crossover occurs is input into the corresponding status bit byte of the preset network management message, and the value of the vacant bit byte of the adjacent network management message where the crossover occurs is deleted;
[0119] Obtain the value of the status bit byte of the preset network management message.
[0120] The third determination module is used to determine the fault cause of the target faulty ECU according to the value of the first status bit byte.
[0121] The third determination module is further used for:
[0122] The wake-up source of the target faulty ECU is determined according to the value of the second status bit byte.
[0123] The third determination module is further used for:
[0124] The wake-up state of the target faulty ECU is determined according to the value of the third state bit byte.
[0125] Example 3
[0126] Please refer to Figure 3The present invention further proposes a device for determining the cause of an ECU failure, which is shown as a device for determining the cause of an ECU failure in a third embodiment of the present invention, comprising a memory 20, a processor 10, and a computer program 30 stored in the memory and executable on the processor. When the processor 10 executes the computer program 30, the method for determining the cause of an ECU failure as described above is implemented.
[0127] Among them, the device for determining the cause of the ECU failure can specifically be a computer, a server, a host computer, etc., and the processor 10 in some embodiments can be a central processing unit (CPU), a controller, a microcontroller, a microprocessor or other data processing chip, which is used to run the program code stored in the memory 20 or process data, such as executing access restriction programs, etc.
[0128] Among them, the memory 20 includes at least one type of readable storage medium, and the readable storage medium includes flash memory, hard disk, multimedia card, card-type memory (for example, SD or DX memory, etc.), magnetic memory, disk, optical disk, etc. In some embodiments, the memory 20 can be an internal storage unit of the device for determining the cause of ECU failure, such as a hard disk of the device for determining the cause of ECU failure. In other embodiments, the memory 20 can also be an external storage device of the device for determining the cause of ECU failure, such as a plug-in hard disk equipped on the device for determining the cause of ECU failure, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), etc. Further, the memory 20 can also include both an internal storage unit and an external storage device of the device for determining the cause of ECU failure. The memory 20 can not only be used to store application software and various types of data installed in the device for determining the cause of ECU failure, but also be used to temporarily store data that has been output or is to be output.
[0129] It should be pointed out that Figure 3 The structure shown does not constitute a limitation on the device for determining the cause of an ECU failure. In other embodiments, the device for determining the cause of an ECU failure may include fewer or more components than shown in the figure, or a combination of certain components, or a different arrangement of components.
[0130] The embodiment of the present invention further provides a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the method for determining the cause of an ECU failure as described above is implemented.
[0131] The above-mentioned embodiments only express several implementation methods of the present invention, and the description thereof is relatively specific and detailed, but it cannot be understood as limiting the scope of the patent of the present invention. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present invention, which all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention shall be subject to the attached claims.
Claims
1. A method for determining the cause of an ECU failure, characterized in that: Applied to a backend server, the method comprises: Obtaining a preset network management message reported by the vehicle through its on-board communication module, and parsing the preset network management message, wherein the preset network management message includes a plurality of status bit bytes, each of which is spaced apart, and a vacant bit byte is reserved between every two of the status bit bytes; Obtaining a value of an address bit byte of the preset network management message, the address bit byte being used to indicate an ID of a faulty ECU, determining a target faulty ECU and a level of the target faulty ECU according to the value of the address bit byte, the level of the faulty ECU comprising a first level and a second level, the position of a status bit byte of a network management message sent by a faulty ECU of the first level corresponding to the position of a vacant bit byte of a network management message sent by a faulty ECU of the second level, and the three status bit bytes of a network management message sent by a faulty ECU of the first level being staggered with the three status bit bytes of a network management message sent by a faulty ECU of the second level; Determining the position of the status bit byte of the preset network management message according to the level of the target faulty ECU; Obtain the value of the status bit byte according to the position of the status bit byte. If there is no data value on the corresponding status bit byte, data is missing or there is a crossover. Check whether the position of the byte adjacent to the status bit byte contains redundant data to determine whether crossover occurs. The status bit byte includes a first status bit byte. The fault cause of the target faulty ECU is determined according to the value of the first status bit byte.
2. The method for determining the cause of an ECU failure according to claim 1, characterized in that: The step of obtaining the value of the status bit byte according to the position of the status bit byte comprises: Determine whether the value of the status bit byte is stringed according to the position of the status bit byte; If so, the value of the status bit byte is reset and the value of the status bit byte after the reset is obtained.
3. The method for determining the cause of an ECU failure according to claim 2, characterized in that: The step of judging whether the value of the status bit byte is stringed according to the position of the status bit byte comprises: Determine whether a value string occurs between a status bit byte of the preset network management message and an empty bit byte of the preset network management message; If so, the step of performing a reset process on the value of the status bit byte and obtaining the value of the status bit byte after the reset process comprises: If a value crossover occurs between the status bit byte of the preset network management message and the vacant bit byte of the preset network management message, the value of the vacant bit byte of the preset network management message where the crossover occurs is input into the corresponding status bit byte of the preset network management message, and the value of the vacant bit byte of the preset network management message is deleted; Obtain the value of the status bit byte of the network management message.
4. The method for determining the cause of ECU failure according to claim 3, characterized in that: The step of judging whether the value of the status bit byte is stringed according to the position of the status bit byte comprises: Determine whether a value string occurs between the status bit byte of the preset network management message and the vacant bit byte of the network management message sent by the faulty ECU of different levels; If so, the step of performing a reset process on the value of the status bit byte and obtaining the value of the status bit byte after the reset process comprises: If there is a value crossover between the status bit byte of the preset network management message and the vacant bit byte of the network management message sent by the faulty ECU of different levels, the value of the vacant bit byte of the adjacent network management message where the crossover occurs is input into the corresponding status bit byte of the preset network management message, and the value of the vacant bit byte of the adjacent network management message where the crossover occurs is deleted; Obtain the value of the status bit byte of the preset network management message.
5. The method for determining the cause of ECU failure according to claim 1, characterized in that: The step of determining the target faulty ECU and the level of the target faulty ECU according to the value of the address bit byte comprises: According to the value of the address bit byte of the network management message, the corresponding ECU and the level of the ECU are searched from the mapping table to determine the target faulty ECU and the level of the target faulty ECU.
6. The method for determining the cause of ECU failure according to claim 1, characterized in that: The status bit byte also includes a second status bit byte, and the step of obtaining the value of the status bit byte according to the position of the status bit byte also includes: The wake-up source of the target faulty ECU is determined according to the value of the second status bit byte.
7. The method for determining the cause of ECU failure according to claim 1, characterized in that: The status bit byte further includes a third status bit byte, and the step of obtaining the value of the status bit byte according to the position of the status bit byte further includes: The wake-up state of the target faulty ECU is determined according to the value of the third state bit byte.
8. A system for determining the cause of an ECU failure, characterized in that: Applied to backend servers, including: Parsing module: used to obtain the preset network management message reported by the vehicle through its on-board communication module, and parse the preset network management message, wherein the preset network management message includes a plurality of status bit bytes, each of which is arranged at intervals, and a vacant bit byte is reserved between every two status bit bytes; A first determination module: used to obtain the value of the address bit byte of the preset network management message, the address bit byte is used to indicate the ID of the faulty ECU, and determine the target faulty ECU and the level of the target faulty ECU according to the value of the address bit byte, the level of the faulty ECU includes the first level and the second level, the position of the status bit byte of the network management message sent by the faulty ECU of the first level corresponds to the position of the vacant bit byte of the network management message sent by the faulty ECU of the second level, and the three status bit bytes of the network management message sent by the faulty ECU of the first level are staggered with the three status bit bytes of the network management message sent by the faulty ECU of the second level; A second determination module: used to determine the position of the status bit byte of the preset network management message according to the level of the target faulty ECU; An acquisition module is used to acquire the value of the status bit byte according to the position of the status bit byte. If there is no data value on the corresponding status bit byte, there is data missing or bit crossover. Check whether the position of the byte adjacent to the status bit byte contains redundant data to determine whether bit crossover occurs. The status bit byte includes the first status bit byte. The third determination module is used to determine the fault cause of the target faulty ECU according to the value of the first status bit byte.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method for determining the cause of an ECU failure as described in any one of claims 1 to 7 is implemented.
10. A device for determining the cause of an automobile ECU failure, characterized in that: The method comprises a memory, a processor and a computer program stored in the memory and executable on the processor, wherein when the processor executes the program, the method for determining the cause of an ECU failure as claimed in any one of claims 1 to 7 is implemented.
