|
(11) | EP 3 290 558 A1 |
(12) | EUROPEAN PATENT APPLICATION |
published in accordance with Art. 153(4) EPC |
|
|
|
|
|||||||||||||||||||||||||||
(54) | WASHING MACHINE FAILURE DETECTION AND PROCESSING METHOD |
(57) Disclosed is a washing machine failure detection and processing method, comprising
the following steps: a PC pointer detection step: respectively detecting various processes
of a washing machine; respectively detecting whether a current value of a logical
register is the same as an assigned value after the running of various subroutines
is ended, and if the current value is different from the assigned value, a PC pointer
error occurs, and keeping a record of a current failure occurring in which running
process of the washing machine according to the assigned value; and when the PC pointer
error occurs , delaying t1, and continually detecting whether the current value of
the logical register is the same as the assigned value, and if so, continuing to execute
the subroutine, otherwise executing system resetting. In the washing machine failure
detection and processing method in the present invention, and internal running error
is prevented from occurring in an algorithm of a washing machine, a failure is detected
by a system before being found by a user, and a corresponding security control measure
is adopted, thereby guaranteeing the secure running of the washing machine. |
Technical Field
Backgrounds
Summary of the Invention
A PC pointer detection step, in which includes:
(11) detecting the programs which service various washing machine running procedures respectively, in which each of the program corresponds to a subroutine, and the value of a logic register is being assigned when each of the subroutine execution initiates, wherein the programs at least include water supply program, washing program and the spin-dry program;
(12) detecting whether the current value of the logic register is identical to the assigned value when each of the subroutine completes execution, if the current value and the assigned value are different, it is determined that the PC pointer error occurs, and the program in which the error occurred is stored according to the assigned value;
(13) when the PC pointer error is determined, delaying t1, and then continually detecting whether the current value of the logic register is same with the assigned value, if identical, executing the subroutine continually, otherwise resetting the system.
(21) Setting the zero-crossing interrupt period T1 and detecting the actual period T of the zero-crossing interrupt of the motor signal;
(22) Determining whether the zero-crossing interrupt T belongs to the range of [T1-Δt1,T1+Δt1], if it is in the range, the zero-crossing interrupt is regular, otherwise the zero-crossing interrupt is irregular;
(23) If the zero interrupt is irregular, resetting the system.
When it is detected that the upper cover of the washing machine is opened while the alarm fails to properly function and/or the procedure for terminating the current running subroutine is not timely executed, the fixed cycle interrupt error occurs, resetting the system.
Detecting all of the addresses of the RAM of the SCM cyclically by the chessboard detection method;
Storing the data of addresses to be detected and disabling the interrupts before the detection; firstly assigning either 0x55 or Oxaa to the first address to be detected while assigning the other value to the sequent address to be detected, and then reading data from the two addresses and comparing them against the assigned written data respectively, if neither an exact match found, a RAM error occurs and the exceptional handling is executed; if the data are match, detecting the other addresses of the RAM cyclically with the same method until all of the addresses are detected.
Detecting all registers cyclically by the chessboard detection method;
Writing either 0x55 or Oxaa in each of the register subsequently and then reading the output, comparing the written data against the data read out to confirm whether the output is same as the original written data; and then writing the other value of 0x55 or Oxaa in and then read the output, comparing the written data and the data read out to confirm whether the output is same as the original written data; if the exact match is found in both comparisons, the register is regular; otherwise a register error occurs.
Brief Description of the Drawings
Figure 1 is a flow chart of the PC pointer detection step in an embodiment of the washing machine failure detection and processing method of the present invention;
Figure 2 is a flow chart of the zero-crossing interrupt detection step in an embodiment of the washing machine failure detection and processing method of the present invention.
Detailed Description of the Invention
Embodiment
Explanation of Terminology:
PC: program counter, referred to as PC;
RAM: the abbreviation of Random Access Memory, referred to as RAM;
ROM: the abbreviation of Read Only Memory, referred to as ROM;
CRC: the abbreviation of Cyclic Redundancy Check, referred to as CRC; CRC-16 refers to 16-bit cyclic redundancy check code;
DC: analog to digital conversion.
Embodiment 1
A PC pointer detection step, as shown in Fig.1:
S11, detecting the programs which service various washing machine running procedures respectively, in which each of the program corresponds to a subroutine, and the value of a logic register is being assigned when each of the subroutine initiates to execute, wherein the running programs at least include water supply program, washing program and the spin-dry program.
S12, detecting whether the current value of the logic register is identical to the assigned value when each of the subroutine completes its execution, if the current value and the assigned value are different, it is determined that the PC pointer error occurs, and the program in which the error occurred is stored according to the assigned value;
S13, when the PC pointer error is determined, delaying t1, and then continually detecting whether the current value of the logic register is same with the assigned value, if identical, executing the subroutine continually, otherwise executing system resetting.
S21, Setting the zero-crossing interrupt period T1 and detecting the actual period T of the zero-crossing interrupt of the motor signal;
S22, Determining whether the zero-crossing interrupt T belongs to the range of [T1-Δt1,T1+Δt1], if it belongs to the range, the zero-crossing interrupt is regular, otherwise the zero-crossing interrupt is irregular;
S23, If the zero interrupt is irregular, resetting the system.
When it is detected that the upper cover of the washing machine is opened while the alarm fails to properly function and/or the procedure for terminating the current running subroutine is not timely executed, the fixed cycle interrupt error occurs, resetting the system.
Detecting all addresses of the RAM of the SCM cyclically by the chessboard detection method;
Before the detection, the data of all the addresses to be detected are stored and the interrupts are disabled. That procedure, on one hand is to ensure that the program can be executed properly with the original written data once the detection completed, on the other hand, is to avoid generating interrupts, in which the detection data may be regarded and processed as program data, during the detection. Then, firstly assigning either 0x55 or Oxaa to the first address to be detected while assigning the other value to the sequent address to be detected, and then reading data from the two addresses respectively and comparing them against the assigned written data respectively, if neither an exact match found, a RAM error occurs and the exceptional handling is executed; if the data are match, detecting the other addresses of the RAM cyclically with the same method until all of the addresses are detected. Wherein the written data of 0x55 is namely 01010101 and the written data of Oxaa is namely 10101010. In this embodiment, 0x55 and Oxaa are respectively assigned to two adjacent RAM addresses at the same time, and therefore both of the addresses can be detected at the same time. Moreover, the different value could separate the addresses in order to avoid the address confusion in detecting the two addresses simultaneously, thereby improving the efficiency of detection. In order to ensure the correctness of the detection result, after the first round of detection, it initiates the following steps that, from the first address the other value which was not assigned to the first address is written again, as an example, if the value 0x55 is assigned to the first address for the first time, that means only parts of the bits are updated as 1. Therefore, Oxaa should be assigned to the first address repeatedly, namely all the bits of the first address written as 0 are updated as 1 in the replicated assignment, which is capable of implementing effective detection of all the bits.
Detecting all registers cyclically by the chessboard detection method;
Writing either 0x55 or Oxaa in each of the register subsequently and then reading the output, comparing the written data against the data read out to confirm whether the output is same as the original written data; and then writing the other value of 0x55 or Oxaa in and then read the output, comparing the written data and the data read out to confirm whether the output is same as the original written data; if the exact match is found in both comparisons, the register is regular; otherwise a register error occurs and the register error is reported, resetting the system. In the embodiment, each of the register could be detected respectively and the effectiveness of detection could be ensured by writing the value of 0x55 and Oxaa respectively.
(11) detecting the programs which service various washing machine running procedures respectively, in which each of the program corresponds to a subroutine, and the value of a logic register is being assigned when each of the subroutine execution initiates, wherein the programs at least include water supply program, washing program and the spin-dry program;
(12) detecting whether the current value of the logic register is identical to the assigned value when each of the subroutine completes execution, if the current value and the assigned value are different, it is determined that the PC pointer error occurs, and the program in which the error occurred is stored according to the assigned value;
(13) when the PC pointer error is determined, delaying t1, and then continually detecting whether the current value of the logic register is same with the assigned value, if identical, executing the subroutine continually, otherwise resetting the system.
(21) Setting the zero-crossing interrupt period T1 and detecting the actual period T of the zero-crossing interrupt of the motor signal;
(22) Determining whether the zero-crossing interrupt T belongs to the range of [T1-Δt1,T1+Δt1], if it is in the range, the zero-crossing interrupt is regular, otherwise the zero-crossing interrupt is irregular;
(23) If the zero interrupt is irregular, resetting the system.
When it is detected that the upper cover of the washing machine is opened while the alarm fails to properly function and/or the procedure for terminating the current running subroutine is not timely executed, the fixed cycle interrupt error occurs, resetting the system.
Detecting all of the addresses of the RAM of the SCM cyclically by the chessboard detection method;
Storing the data of addresses to be detected and disabling the interrupts before the detection; firstly assigning either 0x55 or Oxaa to the first address to be detected while assigning the other value to the sequent address to be detected, and then reading data from the two addresses and comparing them against the assigned written data respectively, if neither an exact match found, a RAM error occurs and the exceptional handling is executed; if the data are match, detecting the other addresses of the RAM cyclically with the same method until all of the addresses are detected.
Detecting all registers cyclically by the chessboard detection method;
Writing either 0x55 or Oxaa in each of the register subsequently and then reading the output, comparing the written data against the data read out to confirm whether the output is same as the original written data; and then writing the other value of 0x55 or Oxaa in and then read the output, comparing the written data and the data read out to confirm whether the output is same as the original written data; if the exact match is found in both comparisons, the register is regular; otherwise a register error occurs.
Calculating the CRC-16 checksum of the area code of ROM, and then comparing the result with the fixed CRC-16 checksum stored in the ROM, if a mismatch found, ROM error occurs and the exception handling is executed.
in the ROM detection step, calculating the CRC16 check value of a 32-bit data extracted from the ROM every time, and the CRC16 check value of all of the ROM areas are produced until all of the ROM data calculation completed.
Periodically assigning set values repeatedly to the configuration registers of the functional modules used in the SCM.