Washing machine firmware upgrading method and washing machine
By using frame-by-frame transmission and frame-by-frame verification, the problem of insufficient handshake and state synchronization in washing machine firmware upgrades was solved, enabling efficient and reliable firmware upgrades in complex environments, and improving upgrade success rate and user experience.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHANGHONG MEILING CO LTD
- Filing Date
- 2025-12-23
- Publication Date
- 2026-04-17
AI Technical Summary
Existing firmware upgrade solutions for washing machines lack robust handshake and state synchronization mechanisms, which makes the communication module and control board prone to interruption or failure due to state asynchrony. Furthermore, in environments with significant interference, data packet errors or loss can lead to upgrade failures, resulting in low efficiency, low success rate, and poor user experience.
By employing a frame-by-frame transmission and frame-by-frame verification method, the communication module divides the firmware data into multiple data frames. The main control board verifies each frame after receiving it, ensures state synchronization through handshake negotiation, and actively reports the version number and status after the new firmware is running, forming an end-to-end closed-loop verification mechanism.
It significantly improves the success rate of upgrades in weak network and interference environments, avoids overall failures caused by single-frame errors, improves upgrade efficiency and robustness, and ensures the authenticity of feedback information and user experience.
Smart Images

Figure CN121879799A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of household appliance technology, specifically to a firmware upgrade method for a washing machine and a washing machine. Background Technology
[0002] Most existing remote upgrade solutions for washing machines adopt a simple "download-transfer-burn" model. Specifically, a Wi-Fi module typically downloads the complete firmware upgrade package from a cloud server, and then streams the upgrade package data to the washing machine's display board or main control board via a low-speed communication interface such as a UART serial port. After receiving the data, the control board directly erases the original firmware and writes the new firmware.
[0003] This traditional approach has significant technical shortcomings: First, the upgrade process lacks a robust handshake and state synchronization mechanism, making it prone to interruption or failure due to state asynchrony between the communication module and the control board. Second, firmware data transmission typically relies on simple checksums or cyclic redundancy checks (CRC), lacking an effective frame retransmission mechanism. In highly volatile industrial environments, data packet errors or loss can cause the entire upgrade package to fail verification, requiring a complete re-download, resulting in low efficiency and a low success rate. Finally, the upgrade process is tightly coupled with the washing machine's main control logic. If an unexpected power outage or system reset occurs during the upgrade process, incomplete firmware can easily render the device unusable, requiring professional on-site repair, leading to a poor user experience and high maintenance costs. Summary of the Invention
[0004] This application provides a firmware upgrade method for a washing machine and a washing machine to solve the problem of the lack of a robust handshake and state synchronization mechanism between existing communication modules and control boards.
[0005] To achieve the above objectives, this application provides the following technical solution:
[0006] A firmware upgrade method for a washing machine, the washing machine including a main control board and a communication module, the communication module being used to connect the main control board and a remote terminal, the firmware upgrade method including:
[0007] After receiving the firmware upgrade command sent by the remote terminal, the communication module determines whether the main control board has completed the pre-upgrade preparation work; if so, it performs firmware data transmission.
[0008] The communication module divides the firmware data to be upgraded into several consecutive data frames and sends the data frames to the main control board in sequence. After receiving each data frame, the main control board verifies the data frame until all data frames are successfully transmitted.
[0009] After receiving the firmware, the main control board performs a final verification. If the verification is successful, the new firmware is activated, and verification feedback information is generated after the new firmware is running. The communication module determines the upgrade result based on the verification feedback information and reports the result to the remote terminal.
[0010] Optionally, the pre-upgrade preparation work includes:
[0011] The communication module sends an upgrade request command to the main control board;
[0012] The main control board switches to firmware update mode according to the upgrade request command and returns a first response signal;
[0013] After receiving the first response signal, the communication module sends a status query command to the main control board.
[0014] The main control board generates and returns status information based on the current operating parameters.
[0015] The communication module determines whether the firmware reception conditions are met based on the status information. If the conditions are met, it sends a firmware reception preparation command to the main control board.
[0016] The main control board returned an acknowledgment signal, completing the handshake negotiation before the upgrade.
[0017] Optionally, the main control board switches to firmware update mode according to the upgrade request command, specifically including:
[0018] During normal operation, after receiving the upgrade request command, the main control board saves the current state and then jumps to execute the BootLoader program.
[0019] Optionally, after receiving each data frame, the main control board verifies the data frame, specifically including:
[0020] After receiving each data frame, the main control board performs an integrity check and returns an acknowledgment or non-acknowledgment response in real time.
[0021] The communication module continues to send the next frame or retransmits the current frame based on the response.
[0022] Optionally, after receiving each data frame, the main control board performs an integrity check and returns an acknowledgment or non-acknowledgment response in real time, specifically including:
[0023] After receiving a data frame, the main control board calculates the CRC checksum of the current data frame and compares it with the checksum built into the data frame.
[0024] When the verification is successful, the main control board sends an acknowledgment signal to the communication module;
[0025] When a verification error occurs, the main control board sends a non-acknowledgment response signal to the communication module.
[0026] Optionally, the method further includes:
[0027] When the communication module sends the data frame to the main control board, it simultaneously starts a timeout timer; if the acknowledgment signal or the non-acknowledgment signal is not received within a preset time, the current data frame is automatically retransmitted.
[0028] Optionally, the activation of the new firmware upon successful verification includes:
[0029] If the verification passes, the firmware update will be performed, and the system will switch to the new firmware after rebooting.
[0030] Optionally, the step of generating verification feedback information after the new firmware is run specifically includes:
[0031] After the new firmware is running, the main control board reads its own firmware version and upgrade execution status.
[0032] Generate verification feedback information containing the firmware version information and upgrade status, and send it to the communication module.
[0033] Optionally, each data frame includes a frame header, a sequence number, a data length, a data content, and a CRC checksum.
[0034] This application also provides a washing machine, wherein the washing machine is upgraded using the washing machine firmware upgrade method described in any of the above embodiments.
[0035] The firmware upgrade method and washing machine provided in this application embodiment include a main control board and a communication module. The communication module is used to connect the main control board and a remote terminal. The firmware upgrade method includes: after receiving a firmware upgrade command sent by the remote terminal, the communication module determines whether the main control board has completed the pre-upgrade preparation work; if so, it performs firmware data transmission; the communication module divides the firmware data to be upgraded into several consecutive data frames and sends the data frames to the main control board in sequence; after receiving each data frame, the main control board verifies the data frame until all data frames are successfully transmitted; after the firmware is received, the main control board performs a final verification; if the verification is successful, the new firmware is activated, and verification feedback information is generated after the new firmware runs; the communication module determines the upgrade result based on the verification feedback information and reports the determination result to the remote terminal.
[0036] The washing machine firmware upgrade method and washing machine provided in this application embodiment have the following technical advantages compared to the prior art:
[0037] After receiving the firmware upgrade command from the remote terminal, the communication module assesses the pre-upgrade preparations of the main control board to prevent forced upgrades in insecure conditions that could lead to device crashes or malfunctions. The firmware data to be upgraded is divided into several consecutive data frames, which are then sent sequentially to the main control board. Upon receiving each data frame, the main control board verifies it until all frames are successfully transmitted. This ensures that a single frame error does not affect the overall system, requiring only a small amount of data to be retransmitted, improving efficiency and robustness. The new firmware proactively reports its version number and status upon startup. If the old firmware does not actually jump after being written, it cannot read the new version number, ensuring the authenticity of the feedback information. The communication module determines and reports this information, forming an end-to-end closed loop from the device to the cloud. This upgrade method, through pre-upgrade status checks, final integrity verification, and new firmware self-verification, along with frame-by-frame transmission, frame-by-frame verification, and implicit retransmission mechanisms, significantly improves the upgrade success rate in weak network / interference environments. Attached Figure Description
[0038] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments of this application and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0039] Figure 1 This is a flowchart illustrating the firmware upgrade method for a washing machine provided in an embodiment of this application. Detailed Implementation
[0040] This invention discloses a firmware upgrade method for a washing machine and a washing machine, in order to solve the problem that existing communication modules and control boards lack robust handshake and state synchronization mechanisms.
[0041] To make the technical solutions and advantages of the embodiments of this application clearer, the exemplary embodiments of this application will be described in further detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not an exhaustive list of all embodiments. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be combined with each other.
[0042] Example 1
[0043] Please see Figure 1 , Figure 1 This is a flowchart illustrating the firmware upgrade method for a washing machine provided in an embodiment of this application.
[0044] In one specific embodiment, the washing machine firmware upgrade method provided in this application includes a main control board and a communication module, wherein the communication module connects the main control board and a remote terminal, and the firmware upgrade method includes:
[0045] S11: After receiving the firmware upgrade command from the remote terminal, the communication module determines whether the main control board has completed the pre-upgrade preparations; if so, it performs firmware data transmission.
[0046] The pre-upgrade preparation process includes a handshake procedure with multiple confirmation steps, such as BootLoader confirmation, status query, and preparation for receiving data, which serves as the foundation for a stable start-up of the upgrade process. Upon receiving the upgrade command from the remote terminal, the communication module does not immediately begin transmission but first confirms whether the main control board is in an "upgradeable state." The communication module can obtain the preparation status by querying the main control board's status register or sending status request commands. The communication module is preferably configured as a wireless communication module, and the remote terminal can be a mobile app, cloud platform, server, etc. The communication module connects to the main control board via a serial communication interface, which can include UART, RS485, CAN, or SPI bus.
[0047] S12: The communication module divides the firmware data to be upgraded into several consecutive data frames and sends the data frames to the main control board in sequence. After receiving each data frame, the main control board verifies the data frame until all data frames are successfully transmitted.
[0048] Each data frame includes a frame header, sequence number, data length, data content, and CRC checksum. The frame sequence number is used to identify the transmission order and retransmission location. Data frames undergo integrity verification, which can be achieved using one or a combination of Cyclic Redundancy Check (CRC), checksum, or hash digest. Upon receiving each data frame, the main control board immediately performs integrity verification and returns an acknowledgment signal in real time based on the verification result. If the acknowledgment signal is an acknowledgment signal, the communication module continues to send the next data frame; if the acknowledgment signal is a non-acknowledgment signal, the communication module retransmits the current data frame. This process is repeated until all data frames are successfully transmitted. This avoids buffering multiple frames, saving memory on the control board. If N consecutive retransmissions of the same data frame fail, the upgrade process is terminated and a communication fault is reported. In weak connection environments such as Wi-Fi signal fluctuations and serial port interference, a single frame error does not affect the overall system; only a small amount of data needs to be retransmitted, improving efficiency and robustness.
[0049] S13: After the main control board receives the firmware, it performs a final verification. If the verification is successful, the new firmware is activated, and verification feedback information is generated after the new firmware runs. The communication module determines the upgrade result based on the verification feedback information and reports the result to the remote terminal.
[0050] The complete firmware undergoes global verification, such as SHA256 hash comparison and digital signature verification, to prevent accumulated errors or firmware tampering during transmission. The new firmware actively reports its version number and status after startup. If the old firmware does not actually jump after being written, it cannot read the new version number, ensuring the authenticity of the feedback information. The communication module determines and reports the information to form an end-to-end closed loop from the device to the cloud, supporting operation and maintenance monitoring, failure alarms, version statistics, etc.
[0051] Understandably, the above upgrade method provides triple protection against bricking or malfunction through pre-upgrade status checks, final integrity verification, and new firmware self-certification; frame-by-frame transmission, frame-by-frame verification, and implicit retransmission mechanisms significantly improve the upgrade success rate in weak network / interference environments; the frame-by-frame design adapts to the small memory of the main control board, eliminating the need for a large buffer or file system; and the new firmware self-reports its version, preventing the old firmware from forging success signals and ensuring the authenticity of the version data.
[0052] Specifically, the preparatory work before the upgrade includes:
[0053] The communication module sends an upgrade request command to the main control board;
[0054] The main control board switches to firmware update mode based on the upgrade request command and returns the first response signal;
[0055] After receiving the first response signal, the communication module sends a status query command to the main control board;
[0056] The main control board generates and returns status information based on the current operating parameters;
[0057] The communication module determines whether the firmware reception conditions are met based on the status information. If they are met, it sends a firmware reception preparation command to the main control board.
[0058] The main control board returned a confirmation signal, completing the handshake negotiation before the upgrade.
[0059] The communication module initiates the upgrade process. Upon receiving this, the main control board exits the normal application mode and enters a dedicated BootLoader mode. This releases the main control unit, loads the firmware, and writes the necessary underlying drivers to prevent application interference with the upgrade process. After successfully switching modes, the main control board returns a ready signal to the communication module, confirming its responsiveness. If no response is received within a timeout period, the communication module determines that the main control unit is malfunctioning and terminates the upgrade.
[0060] Status information may include remaining Flash space, power supply voltage, temperature, current firmware version, hardware model / batch, washing machine status, etc.; the main control board reads internal registers, sensors or configuration areas, packages them into structured status information and returns them; the communication module officially authorizes the main control board to enter the "data receiving standby" state, the main control board clears the buffer, initializes the receiving pointer, and returns the final confirmation; the three-way handshake negotiation (request → ready → authorization) is completed, and a reliable upgrade channel is established.
[0061] Multi-level status checks prevent upgrades from occurring under dangerous conditions such as open doors, water in containers, or unstable voltage; verification of hardware model and firmware compatibility prevents incorrect firmware flashing from bricking the device; and a two-way response mechanism can detect anomalies such as main control board crashes and communication interruptions.
[0062] In one specific embodiment, the main control board switches to firmware update mode according to the upgrade request command, specifically including:
[0063] When the main control board receives an upgrade request command during normal operation, it saves the current state and then jumps to execute the BootLoader program.
[0064] The main control board of a washing machine typically runs a real-time control program (such as one based on a bare machine or RTOS) responsible for managing tasks such as washing, rinsing, and spin-drying. Upgrade requests may arrive at any time, such as being triggered remotely by a user's app. At this time, the main control board may be performing critical operations, such as driving the motor or reading the water level sensor. Before jumping, the main control board temporarily stores the above information in a safe area, such as a reserved area of the on-chip SRAM, a backup register, or only saves the minimum necessary state. This is to prevent data loss or state confusion and to provide a basis for subsequent anomaly recovery or log analysis. The main control board enters the preset BootLoader program area through software redirection (such as modifying the vector table, direct function pointer jump, or triggering a soft reset).
[0065] This setting is to avoid stack overflows, peripheral device malfunctions, and other anomalies caused by direct jumps during interrupts or critical tasks; to ensure that the main control board enters the BootLoader cleanly and controllably, preventing residual applications from interfering with firmware writing; and to allow the saved field information to be used for log reporting after upgrade failures.
[0066] In one embodiment, after receiving each data frame, the main control board performs verification on the data frame, specifically including:
[0067] After receiving each data frame, the main control board performs an integrity check and returns an acknowledgment or non-acknowledgment response in real time.
[0068] The communication module continues to send the next frame or retransmits the current frame based on the response.
[0069] The main control board performs error detection calculations on each received individual data frame to determine whether the frame has been corrupted during transmission, such as due to electromagnetic interference, signal attenuation, or serial port noise. Verification methods can include CRC, Checksum, and XOR checksums. Upon successful verification, an acknowledgment is returned; upon failure, a non-acknowledgment is returned. The acknowledgment is sent immediately after the current frame is processed, without waiting for subsequent frames. The communication module, acting as the sender, dynamically adjusts its behavior based on the acknowledgment type. Upon receiving an ACK, the pointer advances, and the next frame is sent; upon receiving a NAK, the pointer remains unchanged, and the current frame is retransmitted.
[0070] Single-frame errors can be detected and corrected instantly, significantly improving the upgrade success rate in weak network or high-interference environments; selective retransmission avoids re-downloading entire packets, saving user bandwidth and upgrade time. In other embodiments, a frame sequence number mechanism can be added to prevent out-of-order or duplicate frames; or, a maximum number of retransmissions can be set, and the upgrade will be terminated and reported if the limit is exceeded; by introducing a lightweight and reliable transmission mechanism of frame-by-frame verification, real-time ACK / NAK, and selective retransmission, the high failure rate of firmware transmission in embedded devices under resource-constrained and communication-unstable conditions can be effectively solved.
[0071] Furthermore, after receiving each data frame, the main control board performs an integrity check and returns an acknowledgment or non-acknowledgment response in real time, specifically including:
[0072] After receiving a data frame, the main control board calculates the CRC checksum of the current data frame and compares it with the checksum built into the data frame.
[0073] When the verification is successful, the main control board sends an acknowledgment signal to the communication module;
[0074] When a verification error occurs, the main control board sends a non-acknowledgment response signal to the communication module.
[0075] Before each data frame is sent, the communication module pre-calculates its CRC value and appends it to the frame tail (or frame header). After receiving the complete frame, the main control board recalculates the CRC of the payload using the same algorithm and compares the locally calculated result bit by bit with the CRC value carried in the frame. If the CRC matches, the main control board sends a predefined acknowledgment signal through the communication interface; if the CRC does not match, the main control board immediately returns a non-acknowledgment signal. The CRC algorithm can effectively identify random errors and sudden interference in the communication link, far superior to simple checksums. ACK / NAK correspond one-to-one with the CRC result, avoiding fuzzy judgments and improving system robustness.
[0076] In another embodiment, the above firmware upgrade method further includes:
[0077] When the communication module sends a data frame to the main control board, it simultaneously starts a timeout timer; if no acknowledgment or non-acknowledgment signal is received within the preset time, the current data frame is automatically retransmitted.
[0078] After each data frame is sent, the communication module immediately starts a software or hardware timer with a set reasonable time window. If no response is received by the timer's expiration, the communication module determines that a communication anomaly has occurred. Instead of advancing the frame sequence number, the communication module retransmits the same data frame. This ensures that even if an ACK / NAK response is lost in the return link, a timeout triggers a retransmission, preventing the upgrade from stalling and avoiding the entire upgrade from failing due to a single communication interruption.
[0079] In one specific embodiment, the activation of the new firmware upon successful verification specifically includes:
[0080] If the verification passes, the firmware update will be performed, and the system will switch to the new firmware after rebooting.
[0081] This process involves formally writing the received and verified new firmware from the temporary storage area to a designated location in the main control board's program storage area. This execution only occurs after final integrity verification, preventing the writing of damaged or tampered firmware to critical areas. The main control board actively triggers a system reset. After the reset, the bootloader or startup code reads the startup flag. If the flag indicates "new firmware valid," the vector table is redirected to the new firmware's entry address, and the new program begins execution. Firmware writing is tied to a system restart to avoid a partial upgrade state. The restart ensures the new firmware runs in a clean environment, preventing conflicts with the old program state.
[0082] Specifically, after the new firmware is run, verification feedback information is generated, including:
[0083] After the new firmware is running, the main control board reads its own firmware version and upgrade execution status;
[0084] Generate verification feedback information containing firmware version information and upgrade status, and send it to the communication module.
[0085] Executes within the program context of the new firmware, reading the version string or value embedded during compilation from a fixed location in the program storage area; the upgrade execution status includes metadata such as success flag, failure reason code, number of startups, and upgrade source; encapsulates the read version and status into a structured data frame, and actively pushes this feedback information to the communication module through a preset communication interface; executes immediately after the new firmware completes basic initialization to ensure early feedback.
[0086] In one specific implementation, the firmware upgrade method provided in this application includes:
[0087] Phase 1: Upgrade Preparation and Handshake
[0088] Upgrade Trigger: After the user confirms the firmware upgrade via the mobile app, the cloud server sends the upgrade task to the washing machine's Wi-Fi module. The Wi-Fi module downloads the complete firmware upgrade package (BIN file) from the cloud and temporarily stores it in its cache.
[0089] Upon entering the BootLoader command: The Wi-Fi module sends a first handshake command to the display panel; in this embodiment, this command is 0801. This command means requesting the display panel to prepare for a firmware upgrade.
[0090] BootLoader Response: After receiving the 0801 command in the normally running main program, the display board immediately performs necessary state saving (such as the current washing status) and then jumps to the BootLoader program pre-stored in another memory area of the chip. After a successful jump, the display board replies with a 0801 response command to the Wi-Fi module, indicating that it has successfully entered upgrade mode.
[0091] Status query command: After receiving the 0801 response, the Wi-Fi module sends the second handshake command 080401 to query the detailed status of the display board in BootLoader mode (such as Flash capacity, current firmware version, etc.).
[0092] Status response: The display panel responds to the 080401 command and carries its own status information in the data segment.
[0093] Prepare to receive command: After the Wi-Fi module parses the status information and confirms that it is correct, it sends the third handshake command 0802 to notify the display board: "Firmware data transmission is about to begin, please prepare to receive."
[0094] Ready to Response: The dashboard responds with 0802, indicating that it is ready. At this point, the handshake between the two parties is successful, establishing a stable upgrade session.
[0095] Phase Two: Firmware Transfer and Verification
[0096] Data packetization: The Wi-Fi module splits the complete firmware upgrade package into multiple data frames according to a preset size (e.g., 512 bytes / frame). Each data frame contains fields such as frame header, sequence number, data length, data content, and CRC checksum.
[0097] Data transmission and feedback loop:
[0098] The Wi-Fi module sends the first frame of data.
[0099] The display panel receives the frame data, immediately calculates its CRC checksum, and compares it with the checksum included in the data packet.
[0100] If the verification is successful: the display panel sends an ACK (Acknowledge) signal back to the Wi-Fi module. After receiving the ACK, the Wi-Fi module continues to send the next frame of data.
[0101] If the verification fails: the display panel sends a NAK (Negative Acknowledge) signal back to the Wi-Fi module. Upon receiving the NAK, the Wi-Fi module does not restart the entire upgrade package transmission; instead, it only retransmits the frame of data that malfunctioned.
[0102] Looping and Timeout Handling: The process continuously loops until all data frames have been transmitted. During this process, the Wi-Fi module has a timeout timer for each transmission. If no ACK or NAK is received within the specified time, the current frame is automatically retransmitted.
[0103] Phase 3: Upgrade Completion and Final Verification
[0104] Transmission completion notification: After the last frame of data is acknowledged (ACK) by the display panel, the Wi-Fi module sends a transmission completion command, which is the LOT command in this embodiment.
[0105] Final confirmation: After receiving the LOT command, the display board replied with ACK, indicating that all data had been received.
[0106] Firmware flashing and navigation:
[0107] The display board's BootLoader program performs a comprehensive verification of all received data (such as calculating the hash value of the entire firmware).
[0108] After successful verification, the BootLoader will burn (write) the new firmware program to the main program storage area (Flash).
[0109] After the programming is complete, the display board controls the microcontroller to restart and jumps to the new main program.
[0110] Validation of closed-loop results:
[0111] After the new main program starts, it first reads its own firmware version number and checks the final status of the flashing process. In this embodiment, this status is recorded in a specific register, such as data31. We agree that data31 = 0 indicates a successful upgrade and the new firmware is running normally; data31 = 1 indicates an upgrade failure or verification failure.
[0112] The display panel proactively sends a status report command to the Wi-Fi module, which includes the new firmware version number and the status value of data31.
[0113] Final judgment and reporting:
[0114] After receiving the status report, the Wi-Fi module makes a final logical judgment: if the new version number is consistent with the expected target version and the value of data31 is 0, then the upgrade is considered successful.
[0115] If the version number remains unchanged or the value of data31 is 1, the upgrade is considered to have failed.
[0116] The Wi-Fi module reports the final result (success or failure) to the cloud server, which then notifies the user's app to complete the entire upgrade process.
[0117] This application employs a multi-stage handshake command sequence to ensure strict synchronization between the communication module and the electronic control board before, during, and after the upgrade, eliminating upgrade failures caused by state inconsistencies. A frame-level "send-verify-ACK / NAK feedback-retransmit" mechanism effectively combats interference and errors during data transmission, ensuring the integrity and correctness of firmware data and significantly improving upgrade success rates in complex electromagnetic environments and under general network conditions. An end-to-end closed-loop verification mechanism is established, verifying data transmission, firmware integrity, and final version number checking layer by layer, ensuring clear and reliable upgrade results that are easy for system management and user perception. The efficient error control mechanism avoids the need for repeated downloads and transmissions due to upgrade package failures, saving network bandwidth, shortening overall upgrade time, and reducing power consumption of the module and electronic control system.
[0118] Example 2
[0119] Based on the above-described washing machine firmware upgrade method, this application also provides a washing machine that performs firmware upgrades using the washing machine firmware upgrade method described in any of the above embodiments.
[0120] A multi-command handshake-based upgrade synchronization mechanism: A handshake process is designed, including multiple confirmation stages such as entering the BootLoader, status query, and preparing to receive data, serving as the foundation for a stable upgrade startup. A reliable data transmission mechanism with frame-level ACK / NAK retransmission: In the interaction between the communication module and the control board, an instant verification and feedback retransmission mechanism is introduced for each data frame to achieve proactive error correction during transmission. A closed-loop verification method including version checking and status registers: At the end of the upgrade process, the control board actively reports the new version number and a specific status register value (e.g., data31) to the communication module for final success or failure determination, forming a complete closed loop for the upgrade transaction.
[0121] Although preferred embodiments of this application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of this application.
[0122] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.
Claims
1. A method for upgrading the firmware of a washing machine, characterized in that, The washing machine includes a main control board and a communication module. The communication module is used to connect the main control board to a remote terminal. The firmware upgrade method includes: After receiving the firmware upgrade command sent by the remote terminal, the communication module determines whether the main control board has completed the pre-upgrade preparation work; if so, it performs firmware data transmission. The communication module divides the firmware data to be upgraded into several consecutive data frames and sends the data frames to the main control board in sequence. After receiving each data frame, the main control board verifies the data frame until all data frames are successfully transmitted. After receiving the firmware, the main control board performs a final verification. If the verification is successful, the new firmware is activated, and verification feedback information is generated after the new firmware is running. The communication module determines the upgrade result based on the verification feedback information and reports the result to the remote terminal.
2. The washing machine firmware upgrade method according to claim 1, characterized in that, The preparatory work before the upgrade includes: The communication module sends an upgrade request command to the main control board; The main control board switches to firmware update mode according to the upgrade request command and returns a first response signal; After receiving the first response signal, the communication module sends a status query command to the main control board. The main control board generates and returns status information based on the current operating parameters. The communication module determines whether the firmware reception conditions are met based on the status information. If the conditions are met, it sends a firmware reception preparation command to the main control board. The main control board returned an acknowledgment signal, completing the handshake negotiation before the upgrade.
3. The washing machine firmware upgrade method according to claim 2, characterized in that, The main control board switches to firmware update mode according to the upgrade request command, specifically including: During normal operation, after receiving the upgrade request command, the main control board saves the current state and then jumps to execute the BootLoader program.
4. The washing machine firmware upgrade method according to claim 1, characterized in that, After receiving each data frame, the main control board performs verification on the data frame, specifically including: After receiving each data frame, the main control board performs an integrity check and returns an acknowledgment or non-acknowledgment response in real time. The communication module continues to send the next frame or retransmits the current frame based on the response.
5. The washing machine firmware upgrade method according to claim 4, characterized in that, After receiving each data frame, the main control board performs an integrity check and returns an acknowledgment or non-acknowledgment response in real time, specifically including: After receiving a data frame, the main control board calculates the CRC checksum of the current data frame and compares it with the checksum built into the data frame. When the verification is successful, the main control board sends an acknowledgment signal to the communication module; When a verification error occurs, the main control board sends a non-acknowledgment response signal to the communication module.
6. The washing machine firmware upgrade method according to claim 5, characterized in that, The method further includes: When the communication module sends the data frame to the main control board, it simultaneously starts a timeout timer; if the acknowledgment signal or the non-acknowledgment signal is not received within a preset time, the current data frame is automatically retransmitted.
7. The washing machine firmware upgrade method according to claim 1, characterized in that, If the verification is successful, the new firmware will be activated, specifically including: If the verification passes, the firmware update will be performed, and the system will switch to the new firmware after rebooting.
8. The washing machine firmware upgrade method according to claim 7, characterized in that, The generation of verification feedback information after the new firmware is running specifically includes: After the new firmware is running, the main control board reads its own firmware version and upgrade execution status. Generate verification feedback information containing the firmware version information and upgrade status, and send it to the communication module.
9. The washing machine firmware upgrade method according to claim 7, characterized in that, Each data frame includes a frame header, sequence number, data length, data content, and CRC checksum.
10. A washing machine, characterized in that, The washing machine is upgraded using the firmware upgrade method described in any one of claims 1-9.