Method and system for testing vehicle controller

By changing the controller's power supply voltage and obtaining the fault code to determine the upper and lower voltage limits, the problems of conservative voltage range setting and insufficient voltage monitoring accuracy in the prior art are solved, and the precise measurement of the controller's diagnostic voltage and the improvement of the test efficiency are achieved.

CN120196090APending Publication Date: 2025-06-24SINO TRUK JINAN POWER CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510350585.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-24
Publication Date
2025-06-24

AI Technical Summary

Technical Problem

In the prior art, the diagnostic voltage range setting of the controller is too conservative to fully utilize the performance potential of the equipment. The accuracy limitation of the voltage monitoring element cannot accurately reflect the actual voltage changes, resulting in the controller being unable to respond in time or falsely responding to faults when the voltage fluctuates, affecting stability and reliability.

Method used

By supplying power to the vehicle controller to be tested and sending test messages, changing the voltage value according to the preset step size, and obtaining the fault code. When the timeout fault code is included in the fault code, it is determined that the current voltage value is the upper or lower voltage limit value.

Benefits of technology

Accurate measurement of the controller diagnostic voltage is achieved, testing efficiency is improved, and the stability and reliability of the controller are enhanced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120196090A_ABST
    Figure CN120196090A_ABST
Patent Text Reader

Abstract

The invention provides a vehicle controller test method and system, and the method comprises the steps: supplying power to a to-be-tested vehicle controller, and transmitting a test message to the to-be-tested vehicle controller; changing a voltage value provided for the to-be-tested vehicle controller according to a preset step length, and obtaining a fault code generated by the to-be-tested vehicle controller; and when the fault code comprises an overtime fault code, determining that the voltage value provided for the to-be-tested vehicle controller at present is the voltage upper limit value or the voltage lower limit value so as to improve the accuracy of the diagnosis voltage test of the controller.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of vehicles, and more particularly, to a method and system for testing a vehicle controller. Background Art

[0002] With the development of the automotive industry, the automotive CAN (Controller Area Network) bus communication technology has been widely used. Automobile manufacturers usually conduct a series of tests on a single controller, including physical layer, data link layer, interaction layer, transmission protocol layer, and network fault tolerance and communication-related diagnostic function tests.

[0003] In the existing technical solutions, the diagnostic voltage range of the controller is set too conservatively, and the performance potential of the device cannot be fully utilized. In addition, due to accuracy limitations, the voltage monitoring components of the controller may not accurately reflect the actual voltage changes. This may cause the controller to fail to respond in a timely manner during voltage fluctuations or to falsely report faults. These factors together affect the stability and reliability of the controller. Summary of the Invention

[0004] The purpose of the embodiments of this application is to provide a method and system for testing a vehicle controller to improve the accuracy of the diagnostic voltage test of the controller.

[0005] In a first aspect, the present invention provides a method for testing a vehicle controller. The method includes supplying power to the vehicle controller to be tested and sending a test message to the vehicle controller to be tested; changing the voltage value provided to the vehicle controller to be tested according to a preset step size and obtaining the fault codes generated by the vehicle controller to be tested; when the fault codes include timeout fault codes, determining that the voltage value currently provided to the vehicle controller to be tested is the voltage upper limit value or the voltage lower limit value.

[0006] In an alternative embodiment, the steps of supplying power to the vehicle controller to be tested and sending a test message to the vehicle controller to be tested specifically include:

[0007] The test end generates a first power supply instruction and sends it to the programmable power supply, so that the programmable power supply supplies power to the vehicle controller to be tested based on the first voltage value indicated by the first power supply instruction; the test end sends a test message to the vehicle controller to be tested through the CAN bus; the test end receives the response of the vehicle controller to be tested for each test message to determine whether the bus communication is stable; if not, the test end returns to execute the step of sending a test message to the vehicle controller to be tested through the CAN bus.

[0008] In an alternative embodiment, the voltage lower limit value is determined by the following method:

[0009] The test terminal generates a second power supply instruction and sends it to the programmable power supply so that the programmable power supply reduces the power supply voltage based on the preset step indicated by the second power supply instruction; the test terminal stops sending test messages to the vehicle controller under test within a preset duration; the test terminal generates a fault code reading instruction and sends it to the vehicle controller under test to obtain the fault codes recorded by the vehicle controller under test; the test terminal determines whether the fault codes recorded by the vehicle controller under test include timeout fault codes; if timeout fault codes are included, the test terminal determines that the voltage value currently provided to the vehicle controller under test is the voltage lower limit value; if timeout fault codes are not included, the test terminal returns to execute the step of generating the second power supply instruction.

[0010] In an alternative embodiment, the voltage upper limit value is determined by the following method:

[0011] The test terminal generates a third power supply instruction and sends it to the programmable power supply so that the programmable power supply increases the power supply voltage based on the preset step indicated by the third power supply instruction; the test terminal stops sending test messages to the vehicle controller under test within a preset duration; the test terminal generates a fault code reading instruction and sends it to the vehicle controller under test to obtain the fault codes recorded by the vehicle controller under test; the test terminal determines whether the fault codes recorded by the vehicle controller under test include timeout fault codes; if timeout fault codes are included, the test terminal determines that the voltage value currently provided to the vehicle controller under test is the voltage upper limit value;

[0012] if timeout fault codes are not included, the test terminal returns to execute the step of generating the third power supply instruction.

[0013] In an alternative embodiment, it further includes:

[0014] The test terminal generates a fault code clearing instruction and sends it to the vehicle controller under test to enable the vehicle controller under test to clear the fault codes recorded in history; the test terminal generates a fault code reading instruction and sends it to the vehicle controller under test to obtain the fault codes recorded by the vehicle controller under test; the test terminal determines whether the fault codes recorded by the vehicle controller under test are empty; if they are empty, the test terminal executes the step of generating the second power supply instruction or the third power supply instruction.

[0015] In an alternative embodiment, the test terminal determines whether the voltage upper limit value and the voltage lower limit value meet the requirements of the test specification.

[0016] In a second aspect, the present invention provides a test system for a vehicle controller. The test system includes a test end, a vehicle controller to be tested, and a programmable power supply. The programmable power supply is used to supply power to the vehicle controller to be tested and change the voltage value provided to the vehicle controller to be tested according to a preset step size. The test end is used to send test messages to the vehicle controller to be tested and obtain the fault codes generated by the vehicle controller to be tested. When the fault codes include timeout fault codes, it is determined that the voltage value currently provided to the vehicle controller to be tested is the voltage upper limit value or the voltage lower limit value.

[0017] In an optional embodiment, the test end generates a first power supply instruction and sends it to the programmable power supply, so that the programmable power supply supplies power to the vehicle controller to be tested based on the first voltage value indicated by the first power supply instruction.

[0018] The test end sends test messages to the vehicle controller to be tested through the CAN bus; the test end receives the responses of the vehicle controller to be tested for each test message to determine whether the bus communication is stable; if not, the test end returns to execute the step of sending test messages to the vehicle controller to be tested through the CAN bus.

[0019] In an optional embodiment, the test end generates a second power supply instruction and sends it to the programmable power supply, so that the programmable power supply reduces the supply voltage according to the preset step size indicated by the second power supply instruction; the test end stops sending test messages to the vehicle controller to be tested within a preset duration; the test end generates a fault code reading instruction and sends it to the vehicle controller to be tested to obtain the fault codes recorded by the vehicle controller to be tested; the test end determines whether the fault codes recorded by the vehicle controller to be tested include timeout fault codes; if they include timeout fault codes, the test end determines that the voltage value currently provided to the vehicle controller to be tested is the voltage lower limit value; if they do not include timeout fault codes, the test end returns to execute the step of generating the second power supply instruction.

[0020] In an optional embodiment, the test end generates a third power supply instruction and sends it to the programmable power supply, so that the programmable power supply increases the supply voltage according to the preset step size indicated by the third power supply instruction; the test end stops sending test messages to the vehicle controller to be tested within a preset duration; the test end generates a fault code reading instruction and sends it to the vehicle controller to be tested to obtain the fault codes recorded by the vehicle controller to be tested; the test end determines whether the fault codes recorded by the vehicle controller to be tested include timeout fault codes; if they include timeout fault codes, the test end determines that the voltage value currently provided to the vehicle controller to be tested is the voltage upper limit value; if they do not include timeout fault codes, the test end returns to execute the step of generating the third power supply instruction.

[0021] A test method and system for a vehicle controller provided by the present application. The method includes supplying power to the vehicle controller to be tested and sending a test message to the vehicle controller to be tested; changing the voltage value provided to the vehicle controller to be tested according to a preset step size and obtaining the fault codes generated by the vehicle controller to be tested; when the fault codes include timeout fault codes, determining that the voltage value currently provided to the vehicle controller to be tested is the upper voltage limit value or the lower voltage limit value. It realizes the accurate measurement of the diagnostic voltage of the controller and improves the test efficiency. Description of the Drawings

[0022] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required to be used in the embodiments of the present application will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present application and should not be regarded as limiting the scope. For those of ordinary skill in the art, other related drawings can be obtained based on these drawings without creative efforts.

[0023] Figure 1 It is a structural diagram of a test system for a vehicle controller provided by an embodiment of the present application. Detailed Embodiments

[0024] The technical solutions in the embodiments of the present application will be described below with reference to the drawings in the embodiments of the present application.

[0025] Figure 1 It is a structural diagram of a test system for a vehicle controller provided by an embodiment of the present application. As Figure 1 shown, a test system for a vehicle controller provided by an embodiment of the present application includes a test end, a vehicle controller to be tested, and a programmable power supply. The programmable power supply is used to supply power to the vehicle controller to be tested and change the voltage value provided to the vehicle controller to be tested according to a preset step size; the test end is used to send a test message to the vehicle controller to be tested and obtain the fault codes generated by the vehicle controller to be tested. When the fault codes include timeout fault codes, it is determined that the voltage value currently provided to the vehicle controller to be tested is the upper voltage limit value or the lower voltage limit value.

[0026] Specifically, the test end generates a first power supply instruction and sends it to the programmable power supply so that the programmable power supply supplies power to the vehicle controller to be tested based on the first voltage value indicated by the first power supply instruction. The test end sends a test message to the vehicle controller to be tested through the CAN bus. The test end receives the responses of the vehicle controller to be tested for each test message to determine whether the bus communication is stable. If it is not stable, the test end returns to execute the step of sending a test message to the vehicle controller to be tested through the CAN bus.

[0027] The test terminal generates a second power supply instruction and sends it to the programmable power supply, so that the programmable power supply reduces the supply voltage based on the preset step indicated by the second power supply instruction. The test terminal stops sending test messages to the vehicle controller under test within a preset duration. The test terminal generates a fault code reading instruction and sends it to the vehicle controller under test to obtain the fault codes recorded by the vehicle controller under test. The test terminal determines whether the fault codes recorded by the vehicle controller under test include timeout fault codes. If timeout fault codes are included, the test terminal determines that the voltage value currently provided to the vehicle controller under test is the voltage lower limit value. If timeout fault codes are not included, the test terminal returns to execute the step of generating the second power supply instruction.

[0028] Next, the test terminal generates a third power supply instruction and sends it to the programmable power supply, so that the programmable power supply increases the supply voltage based on the preset step indicated by the third power supply instruction. The test terminal stops sending test messages to the vehicle controller under test within a preset duration. The test terminal generates a fault code reading instruction and sends it to the vehicle controller under test to obtain the fault codes recorded by the vehicle controller under test. The test terminal determines whether the fault codes recorded by the vehicle controller under test include timeout fault codes. If timeout fault codes are included, the test terminal determines that the voltage value currently provided to the vehicle controller under test is the voltage upper limit value. If timeout fault codes are not included, the test terminal returns to execute the step of generating the third power supply instruction.

[0029] Here, before generating the third power supply instruction, the voltage of the vehicle controller under test can be set to the difference between the voltage lower limit value and a preset value as the starting voltage value.

[0030] Furthermore, the test terminal generates a fault code clearing instruction and sends it to the vehicle controller under test to enable the vehicle controller under test to clear the fault codes recorded in history; the test terminal generates a fault code reading instruction and sends it to the vehicle controller under test to obtain the fault codes recorded by the vehicle controller under test; the test terminal determines whether the fault codes recorded by the vehicle controller under test are empty; if they are empty, the test terminal executes the step of generating the second power supply instruction or the third power supply instruction.

[0031] The test terminal determines whether the voltage upper limit value and the voltage lower limit value meet the requirements of the test specification. In a specific embodiment, the voltage upper limit value should be between 18.4V and 19.5V. The voltage lower limit value should be between 19.5V and 20.5V.

[0032] In a specific embodiment, a method for automatically testing the diagnostic voltage range of a controller is proposed. This method uses an iterative approach to gradually increase the value of Tdelay1 to find the minimum value that satisfies a specific condition (reading a timeout DTC). Specifically, the testing process is divided into three sub - schemes, each of which tests the DUT (Device Under Test) under different working states, including scenarios such as power - off and restart, recovery after network communication interruption, and recovery after network interference.

[0033] In the preparation stage, ensure that the DUT is in a powered - off state and all connections are correct.

[0034] Open the CANoe software through the test terminal (PC terminal) and configure the relevant parameters of the simulated node, including node address, message ID, data content, etc.

[0035] Set the supply voltage. Set the supply voltage of the DUT to Vnormal. Vnormal is usually a known voltage value suitable for the normal operation of the DUT. Power on the DUT to start it.

[0036] Start the CANoe simulation. Start the operation of the simulated node in CANoe to start sending predefined messages to the CAN bus.

[0037] Wait for the bus communication to stabilize. Wait for about 5 seconds to ensure that the communication on the CAN bus has stabilized. This 5 - second waiting time is to allow the DUT sufficient time to initialize, identify other nodes on the bus, and establish a stable communication connection.

[0038] The test process specifically includes: Set the supply voltage of the DUT to Vnormal and power it on. Use the CANoe simulated node to send messages and wait for 5 seconds until the bus communication stabilizes. Clear and read the DTCs recorded by the DUT. Read the DTCs recorded by the DUT to ensure that there are no residual DTCs affecting the test results. Determine the minimum timeout time tTimeout.min. Record the Tdelay1 time at this moment as the minimum timeout time tTimeout.min. Resume communication and prepare for voltage testing. Resume the CANoe simulated node to send messages and wait for 5 seconds until the bus communication stabilizes. Clear and read the DTCs recorded by the DUT to ensure a clean test environment. Gradually increase the supply voltage in voltage steps of ΔV = 0.5V. Stop sending messages from the CANoe simulated node for Tdelay2 time. If the node timeout DTC cannot be obtained, repeat this step until the relevant node timeout DTC can be read, and record the supply voltage value VDHon at this time.

[0039] The low-voltage and high-voltage ranges of the test controller provided by the embodiments of this application can automatically complete the tests for controller network diagnosis, which not only improves the test efficiency but also ensures the consistency and accuracy of the test results. In addition, this method can effectively evaluate the performance of the controller under abnormal network conditions, providing strong support for product quality assurance.

[0040] In one embodiment of the application, the test environment can be as Figure 1 shown. Among them, CANoe is used to simulate other nodes except the DUT to send and receive messages, record and monitor bus messages, and perform ACK responses to the DUT. The corresponding hardware interfaces for collecting and outputting signals are CANcase / VN1640. The programmable power supply can simulate different supply voltages through a PC. The R1\R2 are selectable terminal resistors of 120Ω. For terminal-type DUTs, either R1 or R2 needs to be selected. For non-terminal-type DUTs, both R1 and R2 need to be configured simultaneously.

[0041] To check the undervoltage diagnosis range of the DUT, the specific test steps are as follows:

[0042] Step 1: Set the supply voltage of the DUT to Vnormal and power it on. At the same time, use CANoe to simulate the partner node to send messages and wait for 5s until the bus communication is stable. The DUT normally sends application messages.

[0043] Step 2: Clear the DTC recorded by the DUT; the DUT replies with a correct positive response.

[0044] Step 3: Read the DTC recorded by the DUT; there is no DTC related to node timeout.

[0045] Step 4: Stop sending all messages from the DUT partner node for Tdelay1 time (the initial value of Tdelay1 = 0.8 * 10 * Message Cycle ms).

[0046] Step 5: Read the DTC recorded by the DUT.

[0047] Step 6: If the corresponding timeout DTC is not obtained in Step 5, increase the Tdelay1 time in steps of 10 * Message Cycle * 5% ms, and repeat Steps 2 - 5 until the DUT records the corresponding node timeout DTC. Record this Tdelay1 time as the minimum timeout time tTimeout.min; the DUT records the minimum timeout time.

[0048] Step 7: Resume CANoe to simulate the partner node to send messages and wait for 5s until the bus communication is stable; the DUT normally sends application messages.

[0049] Step 8: Clear the DTCs recorded by the DUT; the DUT returns a correct positive response.

[0050] Step 9: Read the DTCs recorded by the DUT; there are no related timeout DTCs.

[0051] Step 10: Gradually reduce the supply voltage in voltage steps of ΔV = 0.5V.

[0052] Step 11: Stop sending the CANoe simulated partner node message for Tdelay2 time (Tdelay2 = 2 * tTimeout.min).

[0053] Step 12: Read the DTCs recorded by the DUT.

[0054] Step 13: If relevant node timeout DTCs can be obtained in Step 12, repeat the above Steps 8 - 12 until no relevant node timeout DTCs can be read from the DUT records, and record the supply voltage value Vstopdiaglow at this time.

[0055] Note: If node timeout DTCs are still recorded until the DUT stops communicating, end this test item.

[0056] Step 14: Power down the DUT first, then power it up to restore to Vnormal, wait for 5s, adjust the supply voltage to Vstopdiaglow + 0.5V, and repeat the above Steps 10 - 12 (Note: at this time, ΔV = 0.1V in Step 10).

[0057] Step 15: If relevant node timeout DTCs can be obtained in Step 12, repeat the above Steps 8 - 12 until no relevant node timeout DTCs can be read from the DUT records, and record the supply voltage value VDLoff at this time. Determine that the VDLoff parameter meets the communication requirement specification definition, and the VDLoff parameter meets the communication requirement specification definition.

[0058] Step 16: Set the DUT supply voltage to VDLoff - 0.2V, wait for 5s until the bus communication is stable, the DUT normally sends application messages, but turn off the network - related diagnostic functions. The DUT normally sends application messages, but turn off the network - related diagnostic functions.

[0059] Step 17: Clear the DTCs recorded by the DUT; the DUT returns a correct positive response.

[0060] Step 18: Read the DTCs recorded by the DUT; there are no related timeout DTCs.

[0061] Step 19: Increase the supply voltage in voltage steps of ΔV = 0.1V.

[0062] Step 20: Read the DTCs recorded by the DUT.

[0063] Step 21: If the node timeout DTC cannot be obtained in Step 20, repeat the above Steps 19 - 20 until the relevant node timeout DTC can be read, and record the supply voltage value VDLon at this time. The VDLon parameter meets the requirements defined in the specification.

[0064] The evaluation index for the undervoltage diagnosis voltage range here can be referred to Table 1.

[0065] Table 1

[0066] Parameter Minimum value (V) Nominal value (V) Maximum value (V) <![CDATA[V DLon > 19.5 20 20.5 <![CDATA[V DLoff > 18.5 19 19.5

[0067] In an embodiment of the present application, to check the overvoltage diagnosis range of the DUT, the specific steps may include:

[0068] Step 1: Set the supply voltage of the DUT to Vnormal and power it on. At the same time, use the CANoe simulation partner node to send messages and wait for 5 s until the bus communication is stable; the DUT normally sends application messages.

[0069] Step 2: Clear the DTC recorded by the DUT; the DUT replies with a correct positive response.

[0070] Step 3: Read the DTC recorded by the DUT; there is no DTC related to node timeout.

[0071] Step 4: Stop sending all messages of the DUT partner node for Tdelay1 time (the initial value of Tdelay1 = 0.8 * 10 * Message Cycle ms).

[0072] Step 5: Read the DTC recorded by the DUT.

[0073] Step 6: If the corresponding timeout DTC is not obtained in Step 5, increase the Tdelay1 time in steps of 10 * Message Cycle * 5% ms, and repeat Steps 2 - 5 until the DUT records the corresponding node timeout DTC, and record this Tdelay1 time as the minimum timeout time tTimeout.min; record the minimum timeout time.

[0074] Step 7: Resume the CANoe simulation partner node to send messages and wait for 5 s until the bus communication is stable; the DUT normally sends application messages.

[0075] Step 8: Clear the DTC recorded by the DUT; the DUT replies with a correct positive response.

[0076] Step 9: Read the DTC recorded by the DUT; there is no DTC related to node timeout.

[0077] Step 10: Gradually increase the supply voltage in voltage steps of ΔV = 0.5V.

[0078] Step 11: Stop sending the CANoe simulated partner node message for a time Tdelay2 (Tdelay2 = 2 * tTimeout.min).

[0079] Step 12: Read the DTCs recorded by the DUT.

[0080] Step 13: If relevant node timeout DTCs can be obtained in Step 12, repeat the above Steps 8 - 12 until no relevant node timeout DTCs recorded by the DUT can be read, and record the supply voltage value Vstopdiaghigh at this time.

[0081] Note: If node timeout DTCs are still recorded until the DUT stops communicating or until 19V, end this test item.

[0082] Step 14: First power down the DUT, then power it on and restore it to Vnormal, wait for 5s, adjust the supply voltage to Vstopdiaghigh - 0.5V, and repeat the above Steps 8 - 12 (Note: at this time, ΔV = 0.1V in Step 10).

[0083] Step 15: If relevant node timeout DTCs can be obtained in Step 12, repeat the above Steps 8 - 12 until no relevant node timeout DTCs recorded by the DUT can be read, and record the supply voltage value VDHoff at this time. The VDLoff parameter meets the communication requirement specification.

[0084] Step 16: Set the DUT supply voltage to VDHoff + 0.2V, wait for 5s until the bus communication is stable; the DUT normally sends application messages, but closes the network - related diagnostic functions.

[0085] Step 17: Clear the DTCs recorded by the DUT; the DUT returns a correct positive response.

[0086] Step 18: Read the DTCs recorded by the DUT; there are no relevant timeout DTCs.

[0087] Step 19: Decrease the supply voltage in voltage steps of ΔV = 0.1V.

[0088] Step 20: Read the DTCs recorded by the DUT.

[0089] Step 21: If no node timeout DTCs can be obtained in Step 20, repeat the above Steps 19 - 20 until relevant node timeout DTCs can be read, and record the supply voltage value VDHon at this time. The VDHon parameter meets the requirement specification.

[0090] The range evaluation indicators of the diagnostic stop voltage VDHoff and the diagnostic recovery voltage VDHon during overvoltage can be referred to Table 2.

[0091] Table 2

[0092] Parameter Minimum value (V) Nominal value (V) Maximum value (V) <![CDATA[V DHon > 28.5 29 29.5 <![CDATA[V DHoff > 29.5 30 30.5

[0093] In an embodiment of the present application, to check the network-related diagnostic function startup time when the DUT recovers from undervoltage to normal voltage, the specific steps may include:

[0094] Step 1: Set the DUT supply voltage to Vnormal and power on. At the same time, use the CANoe simulation partner node to send messages and wait for 5 s until the bus communication is stable; the DUT normally sends application messages.

[0095] Step 2: Clear the DTC recorded by the DUT; the DUT returns a correct positive response.

[0096] Step 3: Read the DTC recorded by the DUT; there is no DTC related to node timeout.

[0097] Step 4: Stop sending all messages of the DUT partner node for Tdelay1 time (the initial value of Tdelay1 = 0.8 * 10 * Message Cycle ms).

[0098] Step 5: Read the DTC recorded by the DUT.

[0099] Step 6: If the corresponding timeout DTC is not obtained in Step 5, increase the Tdelay1 time in steps of 10 * Message Cycle * 5% ms, and repeat Steps 2 to 5 until the corresponding timeout DTC of the DUT is read, and record this Tdelay1 time as the minimum timeout time tTimeout.min; record the minimum timeout time.

[0100] Step 7: Resume sending messages by the CANoe simulation partner node and wait for 5 s until the bus communication is stable.

[0101] Step 8: Clear the DTC recorded by the DUT; the DUT returns a correct positive response.

[0102] Step 9: Read the DTC recorded by the DUT; there is no DTC related to node timeout.

[0103] Step 10: Gradually reduce the supply voltage in voltage steps of ΔV = 0.5 V.

[0104] Step 11: Stop sending messages of the CANoe simulation partner node for Tdelay2 time (Tdelay2 = 2 * tTimeout.min).

[0105] Step 12: Read the DTCs recorded by the DUT.

[0106] Step 13: If the relevant node timeout DTCs can be obtained in Step 12, repeat the above Steps 8 - 12 until no relevant node timeout DTCs recorded by the DUT can be read, and record the power supply voltage value Vstopdiaglow at this time.

[0107] Note: If node timeout DTCs are still recorded until the DUT stops communicating, end this test item.

[0108] Step 14: Power down the DUT first, then power it up to restore to Vnormal, wait for 5 s, adjust the power supply voltage to Vstopdiaglow + 0.5 V, and repeat the above Steps 8 - 12 (Note: at this time, ΔV = 0.1 V in Step 10).

[0109] Step 15: If the relevant node timeout DTCs can be obtained in Step 12, repeat the above Steps 8 - 12 until no relevant node timeout DTCs recorded by the DUT can be read, record the power supply voltage value VDLoff at this time; record the diagnostic low voltage stop voltage.

[0110] Step 16: Adjust the DUT power supply voltage to VDLoff - 0.2 V, wait for 5 s until the bus communication is stable; the DUT normally sends application messages, but closes the network - related diagnostic functions.

[0111] Step 17: Clear the DTCs recorded by the DUT; the DUT returns a correct positive response.

[0112] Step 18: Read the DTCs recorded by the DUT; there are no DTCs related to node timeout.

[0113] Step 19: Set the power supply voltage to Vnormal, and at the same time stop sending all DUT partner node messages for Tdelay3 time (the initial value of Tdelay3 = 0.8*(tDiagStart*.min + tTimeout.min)).

[0114] Step 20: Read the DTCs recorded by the DUT.

[0115] Step 21: If no corresponding node timeout DTCs are obtained in Step 20, increase the Tdelay3 time by ΔT = 50 ms, and repeat Steps 16 - 20 until DUT corresponding node timeout DTCs are read, and record this Tdelay3 time.

[0116] Step 22: Calculate the low - voltage diagnostic recovery time tDiagStart* = Tdelay3 - tTimeout.min. The evaluation index of the tDiagStart* time parameter can be referred to Table 3.

[0117] Table 3

[0118] Parameter Minimum Nominal Maximum tDiagStart* 200 ms 500 ms 1000 ms

[0119] In an embodiment of the present application, when checking the network - related diagnostic function startup time when the DUT recovers from over - voltage to normal voltage, the specific steps may include:

[0120] Step 1: Set the DUT power supply voltage to Vnormal and power on. At the same time, use the CANoe simulation partner node to send messages and wait for 5 s until the bus communication is stable; the DUT normally sends application messages.

[0121] Step 2: Clear the DTC recorded by the DUT; the DUT returns a correct positive response.

[0122] Step 3: Read the DTC recorded by the DUT; there is no DTC related to node timeout.

[0123] Step 4: Stop sending all messages of the DUT partner node for Tdelay1 time (the initial value of Tdelay1 = 0.8 * 10 * MessageCyclems).

[0124] Step 5: Read the DTC recorded by the DUT.

[0125] Step 6: If the corresponding timeout DTC is not obtained in Step 5, increase the Tdelay1 time in steps of 10 * MessageCycle * 5% ms, and repeat Steps 2 - 5 until the corresponding timeout DTC of the DUT is read, and record this Tdelay1 time as the minimum timeout time tTimeout.min; record the minimum timeout time.

[0126] Step 7: Resume sending messages of the CANoe simulation partner node and wait for 5 s until the bus communication is stable.

[0127] Step 8: Clear the DTC recorded by the DUT; the DUT returns a correct positive response.

[0128] Step 9: Read the DTC recorded by the DUT; there is no related timeout DTC.

[0129] Step 10: Increase the power supply voltage in a voltage step of ΔV = 0.5V.

[0130] Step 11: Stop sending messages of the CANoe simulation partner node for Tdelay2 time (Tdelay2 = 2 * tTimeout.min).

[0131] Step 12: Read the DTC recorded by the DUT.

[0132] Step 13: If the relevant node timeout DTC can be obtained in Step 12, repeat the above Steps 8 - 12 until no relevant node timeout DTC recorded by the DUT can be read, and record the supply voltage value Vstopdiaghigh at this time.

[0133] Step 14: Power down the DUT first, then power it up to restore to Vnormal, wait for 5 s, adjust the supply voltage to Vstopdiaghigh - 0.5 V, and repeat the above Steps 8 - 12 (Note: at this time, ΔV = 0.1 V in Step 10).

[0134] Step 15: If the relevant node timeout DTC can be obtained in Step 12, repeat the above Steps 8 - 12 until no relevant node timeout DTC recorded by the DUT can be read, and record the supply voltage value VDHoff at this time.

[0135] Note: If the node timeout DTC is still recorded until the DUT stops communicating or until 19 V, end this test item. The VDLoff parameter meets the communication requirement specification.

[0136] Step 16: Adjust the supply voltage to VDHoff + 0.2 V, wait for 5 s until the bus communication is stable; the DUT normally sends application messages, but closes the network - related diagnostic functions.

[0137] Step 17: Clear the DTC recorded by the DUT; the DUT returns a correct positive response.

[0138] Step 18: Read the DTC recorded by the DUT; there is no relevant timeout DTC.

[0139] Step 19: Set the supply voltage to Vnormal, and at the same time stop sending all DUT partner node messages for Tdelay3 time (the initial value of Tdelay3 = 0.8*(tDiagStart*.min + tTimeout.min)).

[0140] Step 20: Read the DTC recorded by the DUT.

[0141] Step 21: If the corresponding node timeout DTC is not obtained in Step 20, increase the Tdelay3 time by ΔT = 50 ms, and repeat Steps 16 - 20 until the DUT corresponding node timeout DTC is read, and record this Tdelay3 time.

[0142] Step 22: Calculate the over - voltage diagnosis recovery time tDiagStart* = Tdelay3 - tTimeout.min. The tDiagStart* time parameter meets the requirements of Table 3.

[0143] Based on the same inventive concept, an embodiment of the present application further provides a method for testing a vehicle controller. The method includes supplying power to the vehicle controller to be tested and sending a test message to the vehicle controller to be tested; changing the voltage value provided to the vehicle controller to be tested according to a preset step size, and obtaining the fault codes generated by the vehicle controller to be tested; when the fault codes include timeout fault codes, determining that the voltage value currently provided to the vehicle controller to be tested is the voltage upper limit value or the voltage lower limit value.

[0144] In a specific embodiment, the steps of supplying power to the vehicle controller to be tested and sending a test message to the vehicle controller to be tested specifically include:

[0145] The test end generates a first power supply instruction and sends it to the programmable power supply, so that the programmable power supply supplies power to the vehicle controller to be tested based on the first voltage value indicated by the first power supply instruction; the test end sends a test message to the vehicle controller to be tested through the CAN bus; the test end receives the response of the vehicle controller to be tested for each test message to determine whether the bus communication is stable; if it is not stable, the test end returns to execute the step of sending a test message to the vehicle controller to be tested through the CAN bus.

[0146] In a specific embodiment, the voltage lower limit value is determined by the following method:

[0147] The test end generates a second power supply instruction and sends it to the programmable power supply, so that the programmable power supply reduces the power supply voltage according to the preset step size indicated by the second power supply instruction; the test end stops sending test messages to the vehicle controller to be tested within a preset time period; the test end generates a fault code reading instruction and sends it to the vehicle controller to be tested to obtain the fault codes recorded by the vehicle controller to be tested; the test end determines whether the fault codes recorded by the vehicle controller to be tested include timeout fault codes; if they include timeout fault codes, the test end determines that the voltage value currently provided to the vehicle controller to be tested is the voltage lower limit value; if they do not include timeout fault codes, the test end returns to execute the step of generating the second power supply instruction.

[0148] In a specific embodiment, the voltage upper limit value is determined by the following method:

[0149] The test end generates a third power supply instruction and sends it to the programmable power supply, so that the programmable power supply increases the power supply voltage according to the preset step size indicated by the third power supply instruction; the test end stops sending test messages to the vehicle controller to be tested within a preset time period; the test end generates a fault code reading instruction and sends it to the vehicle controller to be tested to obtain the fault codes recorded by the vehicle controller to be tested; the test end determines whether the fault codes recorded by the vehicle controller to be tested include timeout fault codes; if they include timeout fault codes, the test end determines that the voltage value currently provided to the vehicle controller to be tested is the voltage upper limit value;

[0150] If the timeout fault code is not included, the test end returns to execute the step of generating the third power supply instruction.

[0151] In a specific implementation manner, it further includes:

[0152] The test end generates a fault code clearing instruction and sends it to the vehicle controller to be tested, so that the vehicle controller to be tested clears the fault codes in the historical record; the test end generates a fault code reading instruction and sends it to the vehicle controller to be tested to obtain the fault codes recorded by the vehicle controller to be tested; the test end determines whether the fault codes recorded by the vehicle controller to be tested are empty; if they are empty, the test end executes the step of generating the second power supply instruction or the third power supply instruction.

[0153] In a specific implementation manner, the test end determines whether the upper voltage limit value and the lower voltage limit value meet the requirements of the test specification.

[0154] In the embodiments provided in the present application, it should be understood that the disclosed device and method can be implemented in other ways. The device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For another example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point, the displayed or discussed coupling or direct coupling or communication connection between each other can be through some communication interfaces. The indirect coupling or communication connection of the device or unit can be in an electrical, mechanical or other form.

[0155] In addition, the units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0156] Furthermore, in each embodiment of the present application, the functional modules can be integrated together to form an independent part, or each module can exist alone, or two or more modules can be integrated to form an independent part.

[0157] It should be noted that if a function is implemented in the form of a software functional module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of the present application. The aforementioned storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical discs that can store program codes.

[0158] In this document, relational terms such as first and second are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations.

[0159] The above are only embodiments of the present application and are not used to limit the protection scope of the present application. For those skilled in the art, the present application can have various changes and modifications. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included in the protection scope of the present application.

Claims

1. A method for testing a vehicle controller, characterized in that: The method comprises: Supplying power to the vehicle controller to be tested and sending a test message to the vehicle controller to be tested; Changing the voltage value provided to the controller of the vehicle to be tested according to a preset step length, and obtaining a fault code generated by the controller of the vehicle to be tested; When the fault code includes a timeout fault code, it is determined that the voltage value currently provided to the controller of the vehicle to be tested is an upper voltage limit value or a lower voltage limit value.

2. The method according to claim 1, characterized in that The steps of supplying power to the vehicle controller to be tested and sending a test message to the vehicle controller to be tested specifically include: The test end generates a first power supply instruction and sends it to the programmable power supply, so that the programmable power supply supplies power to the vehicle controller to be tested based on a first voltage value indicated by the first power supply instruction; The test end sends a test message to the vehicle controller under test via the CAN bus; The test end receives the response of the vehicle controller to each test message to determine whether the bus communication is stable; If it is unstable, the test end returns to the step of sending a test message to the vehicle controller under test via the CAN bus.

3. The method according to claim 1, characterized in that The voltage lower limit is determined by: The test end generates a second power supply instruction and sends it to the programmable power supply, so that the programmable power supply reduces the power supply voltage based on a preset step length indicated by the second power supply instruction; The test end stops sending test messages to the controller of the vehicle to be tested within a preset time; The test end generates a fault code reading instruction and sends it to the controller of the vehicle to be tested to obtain the fault code recorded by the controller of the vehicle to be tested; The test end determines whether the fault code recorded by the controller of the vehicle to be tested includes a timeout fault code; If a timeout fault code is included, the test end determines that the voltage value currently provided to the controller of the vehicle to be tested is a voltage lower limit value; If the timeout fault code is not included, the test end returns to execute the step of generating a second power supply instruction.

4. The method according to claim 1, characterized in that: The voltage upper limit is determined by: The test end generates a third power supply instruction and sends it to the programmable power supply, so that the programmable power supply increases the power supply voltage based on a preset step length indicated by the third power supply instruction; The test end stops sending test messages to the controller of the vehicle to be tested within a preset time; The test end generates a fault code reading instruction and sends it to the controller of the vehicle to be tested to obtain the fault code recorded by the controller of the vehicle to be tested; The test end determines whether the fault code recorded by the controller of the vehicle to be tested includes a timeout fault code; If a timeout fault code is included, the test end determines that the voltage value currently provided to the controller of the vehicle to be tested is the voltage upper limit value; If the timeout fault code is not included, the test end returns to execute the step of generating the third power supply instruction.

5. The method according to claim 1, characterized in that Also includes: The test end generates a fault code clearing instruction and sends it to the controller of the vehicle to be tested, so that the controller of the vehicle to be tested clears the fault code recorded in the history record; The test end generates a fault code reading instruction and sends it to the controller of the vehicle to be tested to obtain the fault code recorded by the controller of the vehicle to be tested; The test end determines whether the fault code recorded by the controller of the vehicle to be tested is empty; If it is empty, the test end executes the step of generating a second power supply instruction or a third power supply instruction.

6. The method according to claim 1, characterized in that The test end determines whether the voltage upper limit value and the voltage lower limit value meet the test specification requirements.

7. A vehicle controller test system, characterized in that: The test system includes a test terminal, a vehicle controller to be tested, and a program-controlled power supply. The programmable power supply is used to supply power to the vehicle controller to be tested, and changes the voltage value provided to the vehicle controller to be tested according to a preset step length; The test end is used to send a test message to the vehicle controller to be tested and obtain the fault code generated by the vehicle controller to be tested. When the fault code includes a timeout fault code, it is determined that the voltage value currently provided to the vehicle controller to be tested is the voltage upper limit value or the voltage lower limit value.

8. The system according to claim 7, characterized in that The test end generates a first power supply instruction and sends it to the programmable power supply, so that the programmable power supply supplies power to the vehicle controller to be tested based on a first voltage value indicated by the first power supply instruction; The test end sends a test message to the vehicle controller under test via the CAN bus; The test end receives the response of the vehicle controller to each test message to determine whether the bus communication is stable; If it is unstable, the test end returns to the step of sending a test message to the vehicle controller under test via the CAN bus.

9. The system according to claim 7, characterized in that The test end generates a second power supply instruction and sends it to the programmable power supply, so that the programmable power supply reduces the power supply voltage based on a preset step length indicated by the second power supply instruction; The test end stops sending test messages to the controller of the vehicle to be tested within a preset time; The test end generates a fault code reading instruction and sends it to the controller of the vehicle to be tested to obtain the fault code recorded by the controller of the vehicle to be tested; The test end determines whether the fault code recorded by the controller of the vehicle to be tested includes a timeout fault code; If a timeout fault code is included, the test end determines that the voltage value currently provided to the controller of the vehicle to be tested is a voltage lower limit value; If the timeout fault code is not included, the test end returns to execute the step of generating a second power supply instruction.

10. The system according to claim 7, characterized in that The test end generates a third power supply instruction and sends it to the programmable power supply, so that the programmable power supply increases the power supply voltage based on a preset step length indicated by the third power supply instruction; The test end stops sending test messages to the controller of the vehicle to be tested within a preset time; The test end generates a fault code reading instruction and sends it to the controller of the vehicle to be tested to obtain the fault code recorded by the controller of the vehicle to be tested; The test end determines whether the fault code recorded by the controller of the vehicle to be tested includes a timeout fault code; If a timeout fault code is included, the test end determines that the voltage value currently provided to the controller of the vehicle to be tested is the voltage upper limit value; If the timeout fault code is not included, the test end returns to execute the step of generating the third power supply instruction.