A method, device and system for synchronously burning multiple control motherboards

By setting a communication address for the control mainboard and splitting the main firmware into sub-firmware, the synchronous burning of multiple control mainboards is achieved, which solves the low efficiency problem in the existing technology and improves the burning speed.

CN120578403BActive Publication Date: 2025-10-03SHENZHEN PROTECH ELECTRONICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511082003.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-08-04
Publication Date
2025-10-03
Estimated Expiration
2045-08-04

AI Technical Summary

Technical Problem

In the prior art, the programming process for multiple control motherboards in small-scale enterprises is inefficient, especially when batch programming requires sending, writing and verifying each one individually, which results in a very long time.

Method used

By sending a wake-up command to the control mainboard to set the communication address, the main firmware is split into sub-firmware, the sending time, writing time and verification time are determined, and the sending time period of the sub-firmware overlaps with the verification time period, thus achieving synchronous burning of multiple control mainboards.

Benefits of technology

Improved programming efficiency, reduced verification time by splitting and overlapping, and increased programming speed for multi-controller motherboards.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120578403B_ABST
    Figure CN120578403B_ABST
Patent Text Reader

Abstract

The present invention relates to the field of chip burning technology, and in particular to a method, device, and system for synchronously burning multiple control motherboards. The method comprises: sending a wake-up command to electrically connected control motherboards, setting the communication address of each control motherboard according to the initial address and the response signal returned by each control motherboard after receiving the wake-up command; splitting the main firmware into a plurality of sub-firmwares according to the functional modules, and sorting the sub-firmwares to obtain a first sequence; sequentially burning the sub-firmwares to the control motherboard whose communication address is the initial address according to the first sequence and determining the sending duration, writing duration, and verification duration of each sub-firmware; determining the sending period of each sub-firmware according to the sending duration, writing duration, and verification duration of each sub-firmware, and determining the sub-firmware sending combination according to the sending period of each sub-firmware; and burning the sub-firmware to the control motherboard according to the sub-firmware sending combination and the communication address of the control motherboard. The present invention solves the problem of low burning efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of chip burning, and in particular to a method, device and system for synchronously burning multiple control mainboards. Background Art

[0002] Programming refers to the process of writing firmware, configuration data, or algorithm code into hardware storage media (such as Flash, EEPROM, or OTP) to enable specific functionality in electronic devices. This process, which is the underlying operation of hardware programming, involves changing the physical state of storage cells (such as floating gate charge or fuse switching) through electrical signals. Sending, writing, and verifying are the three core stages of programming.

[0003] Currently, for small-scale enterprises, the commonly used burning method is to burn each control motherboard in turn through the UART interface.

[0004] This method can only program one control board at a time. During the programming process, each control board needs to go through the three stages of sending, writing, and verifying. If batch programming is required, the sending, writing, and verifying stages must be cycled through to program multiple control boards. This results in a long batch programming time and low programming efficiency. Summary of the Invention

[0005] Based on this, it is necessary to provide a method, device and system for synchronously burning multiple control motherboards to address the above problems.

[0006] The embodiment of the present invention is implemented as follows: a method for synchronously burning multiple control motherboards, the method comprising:

[0007] S101, sending a wake-up command to the electrically connected control mainboards, and setting the communication address of each control mainboard according to the initial address and the response signal returned by each control mainboard after receiving the wake-up command;

[0008] S102, splitting the main firmware into a plurality of sub-firmwares according to the functional modules, and sorting the sub-firmwares to obtain a first sequence;

[0009] S103, burning the sub-firmware in sequence to the control mainboard whose communication address is the initial address according to the first sequence and determining the sending time, writing time and verification time of each sub-firmware;

[0010] S104: Determine the number of consecutive transmissions of each sub-firmware based on the transmission duration and the writing duration of each sub-firmware; determine the transmission period of each sub-firmware based on the number of consecutive transmissions and the verification duration so that the transmission time period of the next sub-firmware overlaps the verification time period of the previous sub-firmware during the burning process; and determine a sub-firmware transmission combination based on the transmission period of each sub-firmware.

[0011] S105 , burning the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard, so as to burn multiple control mainboards synchronously and thus speed up the burning efficiency.

[0012] In one embodiment, the present invention provides a multi-control mainboard synchronous burning device, the multi-control mainboard synchronous burning device comprising:

[0013] An address setting module is used to send a wake-up command to the electrically connected control mainboards, and set the communication address of each control mainboard according to the initial address and the response signal returned by each control mainboard after receiving the wake-up command;

[0014] A firmware splitting module, configured to split the main firmware into a plurality of sub-firmwares according to the functional modules, and sort the sub-firmwares to obtain a first sequence;

[0015] a duration determination module, configured to sequentially burn sub-firmware to the control mainboard whose communication address is the initial address according to the first sequence and determine the sending duration, writing duration, and verification duration of each sub-firmware;

[0016] a scheme determination module, configured to determine the number of consecutive transmissions of each sub-firmware based on the transmission duration and writing duration of each sub-firmware, determine the transmission period of each sub-firmware based on the number of consecutive transmissions and the verification duration of each sub-firmware so that the transmission time period of the next sub-firmware overlaps the verification time period of the previous sub-firmware during the burning process, and determine the sub-firmware transmission combination based on the transmission period of each sub-firmware;

[0017] The firmware burning module is used to burn the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard so as to burn multiple control mainboards synchronously to speed up the burning efficiency.

[0018] In one embodiment, the present invention provides a multi-control mainboard synchronous burning system, the multi-control mainboard synchronous burning system comprising: a burning device and a computer device;

[0019] The burning device is electrically connected to a plurality of control mainboards for performing the burning function;

[0020] The computer device is connected to the burning device and is used to execute the steps of the above-mentioned multi-control mainboard synchronous burning method.

[0021] An embodiment of the present invention provides a method for synchronously burning multiple control mainboards. The method includes sending a wake-up command to an electrically connected control mainboard, setting a communication address of each control mainboard according to an initial address and a response signal returned by each control mainboard after receiving the wake-up command; splitting a main firmware into a plurality of sub-firmwares according to functional modules, and sorting the sub-firmwares to obtain a first sequence; sequentially burning the sub-firmwares to the control mainboard whose communication address is the initial address according to the first sequence, and determining a sending duration, a writing duration, and a verification duration of each sub-firmware; determining a continuous sending quantity of each sub-firmware according to the sending duration and the writing duration of each sub-firmware, determining a sending cycle of each sub-firmware according to the continuous sending quantity and the verification duration so that a sending time period of a next sub-firmware overlaps a verification time period of a previous sub-firmware during the burning process, and determining a sub-firmware sending combination according to the sending cycle of each sub-firmware; and burning the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard to synchronously burn multiple control mainboards, thereby accelerating the burning efficiency. In this way, the main firmware is split into sub-firmware. In the process of burning multiple control mainboards, for one sub-firmware, the continuous sending quantity of the sub-firmware is determined so that the multiple control mainboards can be burned synchronously. At the same time, for the sending cycle of the sub-firmware, the sending time period of the sub-firmware is overlapped with the verification time period of the previous sub-firmware to offset the time of the verification stage of part of the sub-firmware. This improves the burning efficiency from two aspects: synchronous burning of multiple control mainboards and offsetting the time of the verification stage of part of the sub-firmware, thereby solving the problem of low burning efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 Flowchart of a method for synchronously burning multiple control mainboards in one embodiment;

[0023] Figure 2 A timing diagram of the slave multi-control mainboard in the sub-firmware sending combination;

[0024] Figure 3 This is a structural block diagram of a multi-control mainboard synchronous burning device in one embodiment;

[0025] Figure 4 It is a structural block diagram of a multi-control mainboard synchronous burning system in one embodiment;

[0026] Figure 5 FIG. 1 is a block diagram of the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0027] In order to make the purpose, technical solutions and advantages of the present invention more clearly understood, the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not intended to limit the present invention.

[0028] It is understood that the terms "first," "second," etc., used herein may be used to describe various elements, but unless otherwise specified, these elements are not limited by these terms. These terms are only used to distinguish a first element from another element. For example, a first xx script may be referred to as a second xx script, and similarly, a second xx script may be referred to as a first xx script without departing from the scope of the present invention.

[0029] like Figure 1 As shown, in one embodiment, a method for synchronously burning multiple control motherboards is proposed, which may specifically include the following steps:

[0030] S101, sending a wake-up command to the electrically connected control mainboards, and setting the communication address of each control mainboard according to the initial address and the response signal returned by each control mainboard after receiving the wake-up command;

[0031] S102, splitting the main firmware into a plurality of sub-firmwares according to the functional modules, and sorting the sub-firmwares to obtain a first sequence;

[0032] S103, burning the sub-firmware in sequence to the control mainboard whose communication address is the initial address according to the first sequence and determining the sending time, writing time and verification time of each sub-firmware;

[0033] S104: Determine the number of consecutive transmissions of each sub-firmware based on the transmission duration and the writing duration of each sub-firmware; determine the transmission period of each sub-firmware based on the number of consecutive transmissions and the verification duration so that the transmission time period of the next sub-firmware overlaps the verification time period of the previous sub-firmware during the burning process; and determine a sub-firmware transmission combination based on the transmission period of each sub-firmware.

[0034] S105 , burning the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard, so as to burn multiple control mainboards synchronously and thus speed up the burning efficiency.

[0035] In this embodiment, the present invention is applicable to a programming method for a control mainboard that can be determined to be programmed by addressing via a UART interface, a CAN bus, or the like.

[0036] In this embodiment, a computer device uses a burning device to burn a control motherboard. This discussion focuses on burning devices with a single burning channel. A burning device typically can only communicate and transmit data with one control motherboard at a time. Since it has only one data channel, it can only send burning instructions and data to one control motherboard at a time. Simultaneously burning multiple control motherboards can result in signal conflicts and data confusion, making it impossible to accurately burn the program into the chips on each control motherboard. However, this approach also applies to burning devices with multiple burning channels, as each channel is independent.

[0037] In this embodiment, the electrical communication interfaces of multiple control boards are connected to the programming interface of the programming device, namely, a UART interface or a CAN bus. For these multiple control boards, the relationship between them is parallel. If the communication addresses of the control boards have not yet been set, they are generally factory-set default addresses. In this case, when the computer device sends any command through the programming device, all electrically connected control boards will respond. However, programming commands and data can only be sent to one control board at a time, so communication addresses must be set to distinguish the control boards. The wake-up command can be a broadcast address query frame, and the initial address is the factory-set default address of the control board, for example, 0x01. The communication address is the key to distinguishing the control boards.

[0038] In this embodiment, the functional modules are set when the firmware is written, such as the bootloader module, main module, delay module, electric module, etc. The firmware usually has a clear storage address range. Assuming the storage address range is 0x08008000-0x08010000, 0x08008000-0x0800A000 is the boot module firmware, 0x0800A000-0x0800D000 is the main module firmware, and 0x0800D000-0x08010000 is the delay module firmware. Then, the order of the sub-firmware is determined by the order of the firmware's storage address. The boot module firmware has the first storage address and is therefore ranked first, while the delay module firmware has the last storage address and is therefore ranked last. Generally speaking, the order of the sub-firmware cannot be changed during burning, so the first sequence generally does not change, especially for the boot module firmware. The storage address and communication address are two different concepts and do not interfere with each other.

[0039] In this embodiment, the sending duration refers to the time it takes for the burning device to send the sub-firmware. The writing duration refers to the time it takes for the control mainboard to write the sub-firmware after receiving it from the burning device. During this time, the burning device is in an idle state. The verification duration refers to the time it takes for the burning device to receive and verify the verification data sent back by the control mainboard.

[0040] In this embodiment, generally speaking, the write duration is the longest, the send duration is the shortest, and the check duration falls between the write and send durations. Assuming there is only one main firmware and one control board, with a send duration of 10ms, a write duration of 200ms, and a check duration of 40ms, the programming duration is 250ms. The larger the main firmware, the longer the send, write, and check durations, resulting in a longer programming duration for a single control board. The write phase corresponding to the write duration occurs within the control board, while the programming device is in a waiting phase. If a control board with a different communication address is present at this time, and the programming device sends the main firmware to that control board, the send duration for the control board with the different communication address can be included in the original write duration, thereby reducing the programming duration for the control board with the different communication address and improving programming efficiency. However, the check duration must occur after the write duration, and only the check information returned by one control board at a time is received and verified. Therefore, after the main firmware of multiple control motherboards are sent, it takes a long time to receive and verify the verification information returned by the multiple control motherboards. If the main firmware is split into several sub-firmwares, the verification time of the previous sub-firmware of the control motherboard will be overlapped by the sending time of the next sub-firmware. Finally, after the sub-firmware of multiple control motherboards are sent, only the verification information returned by the last sub-firmware by the multiple control motherboards remains to be received and verified. This greatly reduces the final verification time and further speeds up the burning efficiency.

[0041] In this embodiment, the number of consecutive sub-firmware transmissions refers to the number of consecutive transmissions of the same sub-firmware. For example, if the first sub-firmware in the first sequence is designated as the first sub-firmware, and the number of consecutive transmissions of the first sub-firmware is 3, then the burning device will send the first first sub-firmware, then the second first sub-firmware, and then the third first sub-firmware before sending the second sub-firmware in the first sequence. The number of consecutive transmissions of all sub-firmware must ultimately be the same. This number is the number of simultaneous burnings for multiple control boards.

[0042] In this embodiment, since the same sub-firmware is sent continuously, the sending time period for a sub-firmware can be understood as the time period during which the same sub-firmware is sent continuously. The duration of this time period is the number of consecutive transmissions of the sub-firmware multiplied by the transmission duration of the sub-firmware. Since the same sub-firmware is sent continuously, the verification data received by the burning device for this sub-firmware is also continuous, so the verification time period is similar.

[0043] In this embodiment, no burning is performed in S104 , and burning is performed in S105 only after the sub-firmware sending combination is determined.

[0044] In this embodiment, the method for synchronous burning of multiple control mainboards also includes: for each control mainboard, determining whether the control mainboard has completed the burning of all sub-firmware; if so, determining whether the verification results of all sub-firmware are correct; if so, sending an address write instruction with an initial address to the control mainboard so that the communication address of the control mainboard is the initial address and disconnecting the electrical connection; if the verification results of all sub-firmware are not correct, maintaining the electrical connection and setting the control mainboard to sleep mode to wait for the next round of burning.

[0045] An embodiment of the present invention provides a method for synchronously burning multiple control mainboards. The method includes sending a wake-up command to an electrically connected control mainboard, setting a communication address of each control mainboard according to an initial address and a response signal returned by each control mainboard after receiving the wake-up command; splitting a main firmware into a plurality of sub-firmwares according to functional modules, and sorting the sub-firmwares to obtain a first sequence; sequentially burning the sub-firmwares to the control mainboard whose communication address is the initial address according to the first sequence, and determining a sending duration, a writing duration, and a verification duration of each sub-firmware; determining a continuous sending quantity of each sub-firmware according to the sending duration and the writing duration of each sub-firmware, determining a sending cycle of each sub-firmware according to the continuous sending quantity and the verification duration so that a sending time period of a next sub-firmware overlaps a verification time period of a previous sub-firmware during the burning process, and determining a sub-firmware sending combination according to the sending cycle of each sub-firmware; and burning the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard to synchronously burn multiple control mainboards, thereby accelerating the burning efficiency. In this way, the main firmware is split into sub-firmware. In the process of burning multiple control mainboards, for one sub-firmware, the continuous sending quantity of the sub-firmware is determined so that the multiple control mainboards can be burned synchronously. At the same time, for the sending cycle of the sub-firmware, the sending time period of the sub-firmware is overlapped with the verification time period of the previous sub-firmware to offset the time of the verification stage of part of the sub-firmware. This improves the burning efficiency from two aspects: synchronous burning of multiple control mainboards and offsetting the time of the verification stage of part of the sub-firmware, thereby solving the problem of low burning efficiency.

[0046] In one embodiment, the step of setting the communication address of each control mainboard according to the initial address and the response signal returned by each control mainboard after receiving the wake-up instruction includes:

[0047] S201, sorting the control main boards in descending order according to the time at which each control main board receives a response signal returned after receiving a wake-up instruction, to obtain a second sequence;

[0048] S202, record the initial address as the target address;

[0049] S203, selecting the control mainboard ranked first in the second sequence, and sending an address write instruction with a target address to the control mainboard so that the communication address of the control mainboard is the target address;

[0050] S204, updating the next address of the target address to the target address;

[0051] S205, selecting the next control mainboard according to the second sequence, and sending an address write instruction with a target address to the control mainboard so that the communication address of the control mainboard is the target address;

[0052] S206, determining whether the target address has been updated a predetermined number of times, if so, executing S202, and then executing S204;

[0053] S207, repeat S204-S206 until the communication addresses of the electrically connected control mainboards are all set.

[0054] In this example, assuming the initial address is 0x01, the next address after the initial address is 0x02, the next address after that is 0x03, and so on. Essentially, the communication address of the first control board is set to 0x01, the communication address of the second control board is set to 0x02, and so on. This allows you to distinguish the control boards when burning the firmware.

[0055] In this embodiment, the preset number of times is at least the number of electrically connected control mainboards, so that the communication addresses of the electrically connected control mainboards will not conflict and cause multiple control mainboards to respond simultaneously during the process of burning the sub-firmware. Generally speaking, the preset number of times is less than or equal to 255, that is, 0xff.

[0056] In one embodiment, the step of sequentially burning sub-firmware to the control mainboard whose communication address is the initial address according to the first sequence and determining the sending time, writing time, and verification time of each sub-firmware includes:

[0057] Burn the sub-firmware to the control mainboard whose communication address is the initial address in sequence according to the first sequence;

[0058] For each sub-firmware, determine the time t1 when the sub-firmware starts to be sent, and determine the time t2 when the sub-firmware is finished being sent;

[0059] Determine the time t3 when the verification data returned by the sub-firmware starts to be received, and determine the time t4 when the verification data returned by the sub-firmware is completely received and verified;

[0060] Depend on Get the sending duration of the sub-firmware;

[0061] Depend on Get the writing time of the sub-firmware;

[0062] Depend on Get the verification time of the sub-firmware.

[0063] In this embodiment, a method of independently burning a control mainboard is adopted to obtain the sending time, writing time and verification time.

[0064] In this embodiment, the writing time here includes not only the time required for the writing process of the control mainboard, but also the time required for the data to be transmitted between the burning device and the control mainboard. The transmission time is very short and can be almost ignored.

[0065] In one embodiment, determining the number of consecutive transmissions of each sub-firmware based on the transmission duration and writing duration of each sub-firmware, determining the transmission period of each sub-firmware based on the number of consecutive transmissions and the verification duration of each sub-firmware so that the transmission time period of the next sub-firmware overlaps the verification time period of the previous sub-firmware during the burning process, and determining the sub-firmware transmission combination based on the transmission period of each sub-firmware includes:

[0066] For each sub-firmware, Get the number of consecutive sends of the sub-firmware n i ;

[0067] Determine the minimum continuous sending number n from the continuous sending numbers of all sub-firmware min And the maximum number of consecutive transmissions n max ;

[0068] Depend on Get the average number of consecutive transmissions n avg ;

[0069] According to the verification time of all sub-firmware and the minimum continuous sending quantity n min Determine a first sending period for each sub-firmware, obtain a first sending combination according to the first sending period for each sub-firmware, and determine an average sending duration A of a sub-firmware in the first sending combination;

[0070] According to the verification time of all sub-firmware and the maximum number of continuous transmissions n max Determine a second sending period for each sub-firmware, obtain a second sending combination based on the second sending period for each sub-firmware, and determine an average sending duration B of a sub-firmware in the second sending combination;

[0071] According to the verification time of all sub-firmware and the average number of continuous transmissions n avg Determine a third sending period for each sub-firmware, obtain a third sending combination according to the third sending period for each sub-firmware, and determine an average sending duration C of a sub-firmware in the third sending combination;

[0072] Determine the sending combination corresponding to the smallest average sending time among the average sending time A, the average sending time B, and the average sending time C as the sub-firmware sending combination;

[0073] Among them, T 2i is the writing time of the i-th sub-firmware, a is the error time, T 1i is the sending duration of the i-th sub-firmware, and i is the sequence number of the sub-firmware in the first sequence.

[0074] In this embodiment, a is the error duration, which has two functions. First, different control mainboards may have some differences in sending duration and writing duration, which requires error duration correction. Second, it prevents The reason for this is that a certain period of time must be reserved between the writing time and the verification time to send the verification request instruction. The control board cannot automatically send the verification data and will only return the verification data after receiving the verification request instruction sent by the burning device. This period of time is also included in the writing time.

[0075] In this embodiment, The result is rounded down to an integer.

[0076] In this embodiment, The result is rounded down to an integer.

[0077] In this embodiment, since the continuous sending numbers of the sub-firmwares of the three sending combinations are different, the more continuous sending numbers of the sub-firmwares, the longer the total sending time. Therefore, the average sending time of one sub-firmware is used as the comparison data.

[0078] In one embodiment, the verification time of all sub-firmware and the minimum number of consecutive transmissions n min Determining a first sending period of each sub-firmware, obtaining a first sending combination according to the first sending period of each sub-firmware, and determining an average sending duration A of a sub-firmware in the first sending combination, including:

[0079] S501: Select one sub-firmware in the first sequence according to the order, and update the continuous sending number of the sub-firmware to the minimum continuous sending number n. min ;

[0080] S502, by Get the blank duration of the sub-firmware;

[0081] S503, determining a continuous transmission duration of the sub-firmware according to the number of continuous transmissions of the sub-firmware, and determining a first transmission cycle of the sub-firmware according to the continuous transmission duration and the blank duration of the sub-firmware;

[0082] S504, repeat S501-S503 until the first sending cycle of all sub-firmwares is determined;

[0083] S505: forming a first sending combination according to the first sending cycles of all sub-firmwares and the order of the sub-firmwares in the first sequence;

[0084] S506, select one sub-firmware in the first sequence in turn, Get the first estimated completion time of the sub-firmware, by Obtain the first end sending duration of the next sub-firmware of the sub-firmware;

[0085] S507, determine whether the first expected completion check time of the sub-firmware is greater than or equal to the first end sending time of the next sub-firmware of the sub-firmware, if so, Update the total duration T4 of the first sending combination. If not, Update the total duration T4 of the first sending combination;

[0086] S508, repeat S506-S507 until the last sub-firmware is selected in the first sequence according to the order. Update the total duration T4 of the first sending combination;

[0087] S509, by Obtain an average sending time A of a sub-firmware in the first sending combination;

[0088] Among them, T 2i is the writing time of the i-th sub-firmware, a is the error time, T 1i is the sending time of the i-th sub-firmware, i is the sequence number of the sub-firmware in the first sequence, T 3i is the verification time of the i-th sub-firmware, and the initial value of T4 is 0.

[0089] In this embodiment, the minimum number of consecutive transmissions n is used. min , and the number of continuous sends of each sub-firmware must be consistent, and the writing time of the sub-firmware cannot be reduced, so there is a time in the writing time of the sub-firmware that does not need to work, and this time is the blank time.

[0090] In this embodiment, the This is to incorporate the error duration into the blank duration.

[0091] In this embodiment, in S503, if x1 represents the sending duration of the first sub-firmware in the first order, x2 represents the blanking duration of the first sub-firmware in the first order, and the number of consecutive sendings of the sub-firmware is 3, then the continuous transmission duration of the sub-firmware is , then the first sending cycle of the sub-firmware is In S505, if y1 represents the sending duration of the second sub-firmware in the first order, y2 represents the blanking duration of the second sub-firmware in the first order, the number of consecutive sending of the sub-firmware is 3, and there are only two sub-firmware in the first order, then the sum of the first sending cycles of all sub-firmware in the first sending combination is The specific sending process is: x1, x1, x1, x2, y1, y1, y1, y2.

[0092] In this embodiment, only the same sub-firmware is sent during the first sending cycle of a sub-firmware, although the control boards sent are different. It is worth noting that the definition of a sub-firmware refers to the distinction between different firmware contents, not the firmware sent. For example, regarding the interpretation of the next sub-firmware of the sub-firmware in S506, assuming that the first sub-firmware in the first sequence is selected as the sub-firmware, then the next sub-firmware of the sub-firmware is the second sub-firmware in the first sequence.

[0093] In this embodiment, T 11 When T 1i where i is 1, T 21 When T 2i The i in the calculation is 1. When calculating the total duration T4 of the first sending combination in S506-S507, the verification duration and writing time of the first sub-firmware in the first order are not calculated. Therefore, when calculating the total duration T4 of the first sending combination in S508, the verification duration and writing time of the first sub-firmware need to be added, and the error duration of the first sub-firmware is added. At the same time, the verification duration of the last sub-firmware in the first order is not calculated. At this time, all sub-firmwares have been sent, and only the last sub-firmware needs to be verified. Therefore, when calculating the total duration T4 of the first sending combination in S508, the error duration of the first sub-firmware needs to be added. .

[0094] In this embodiment, the first sending cycle does not need to consider the verification time length, and the verification time length is used to determine the total time length T4 of the first sending combination.

[0095] In this embodiment, it is assumed that the first sending combination is determined to be a sub-firmware sending combination, such as Figure 2As shown, the first sub-firmware refers to the first sub-firmware in the first sort. The reception duration of the first sub-firmware refers to the sending duration of the first sub-firmware. The sum of the reception durations of the control mainboard 1, the control mainboard 2, and the control mainboard 3 for the first sub-firmware is the duration required for continuous sending of the first sub-firmware in the first sending cycle of the first sub-firmware, that is, the continuous transmission duration of the first sub-firmware. The sending duration of the verification data returned by the first sub-firmware is part of the verification duration of the first sub-firmware, that is, the time from the moment when the burning device starts to receive the verification data returned by the first sub-firmware to the moment when the reception is completed. There is a blank duration between the sending durations of the verification data returned by the first sub-firmware in the control mainboard 1 and the control mainboard 2. This is the duration for the burning device to verify the verification data returned by the first sub-firmware. This portion of duration plus the sending duration of the verification data returned by the first sub-firmware in the control mainboard 1 is the verification duration of the first sub-firmware after the control mainboard 1 sends the first sub-firmware. The verification duration of the first sub-firmware after the control mainboard 2 sends the first sub-firmware is in Figure 2 The timing sequence in the above example is arranged after the verification time of the first sub-firmware after the first sub-firmware is sent to the control main board 1, and is continuous. The second sub-firmware, the third sub-firmware and so on are analogous. Figure 2 It is only used to show the timing diagram between the control motherboards. The length of the boxes in the figure does not represent the actual length, and the number of sub-firmware may not be limited to 3.

[0096] In one embodiment, the verification time of all sub-firmware and the maximum number of consecutive transmissions n max Determining a second sending period for each sub-firmware, obtaining a second sending combination according to the second sending period for each sub-firmware, and determining an average sending duration B of a sub-firmware in the second sending combination, including:

[0097] S601, select a sub-firmware in the first sequence according to the order, and determine whether the continuous sending number of the sub-firmware is the maximum continuous sending number n max If not, update the continuous sending quantity of the sub-firmware to the maximum continuous sending quantity n max And set the blank duration of the sub-firmware to a;

[0098] S602: If the number of consecutive transmissions of the sub-firmware is the maximum number of consecutive transmissions n max , set the blank time of the sub-firmware to ;

[0099] S603, determining a continuous transmission duration of the sub-firmware according to the number of continuous transmissions of the sub-firmware, and determining a second transmission cycle of the sub-firmware according to the continuous transmission duration and the blank duration of the sub-firmware;

[0100] S604, repeat S601-S603 until the second sending cycles of all sub-firmware are determined;

[0101] S605: forming a second sending combination according to the second sending cycles of all sub-firmwares and the order of the sub-firmwares in the first sequence;

[0102] S606, select one sub-firmware in the first sequence in turn, Get the second estimated completion time of the sub-firmware, by Obtain the second end sending time length of the next sub-firmware of the sub-firmware;

[0103] S607, determine whether the second expected completion check time of the sub-firmware is greater than or equal to the second end sending time of the next sub-firmware of the sub-firmware, if so, Update the total duration T5 of the second sending combination. If not, Update the total duration T5 of the second sending combination;

[0104] S608, repeat S606-S607 until the last sub-firmware is selected in the first sequence according to the order. Update the total duration T5 of the second sending combination;

[0105] S609, by Obtain an average sending duration B of a sub-firmware in the second sending combination;

[0106] Among them, T 2i is the writing time of the i-th sub-firmware, a is the error time, T 1i is the sending time of the i-th sub-firmware, i is the sequence number of the sub-firmware in the first sequence, T 3i is the verification time of the i-th sub-firmware, and the initial value of T5 is 0.

[0107] In this embodiment, the second sending cycle is similar to the first sending cycle in most respects. The only difference is the blanking time for the sub-firmware and the minimum number of consecutive sending n used in the first sending cycle. min , and the maximum number of consecutive transmissions n used in the second transmission cycle max The second sending cycle uses the maximum number of continuous sending n max Therefore, except for one sub-firmware whose continuous sending quantity originally meets the requirements, the continuous transmission time of other sub-firmware will exceed the corresponding writing time. At this time, the error time needs to be supplemented, that is, the blank time is set to a.

[0108] In one embodiment, the verification time and the average number of consecutive transmissions n of all sub-firmware are avgDetermining a third sending period of each sub-firmware, obtaining a third sending combination according to the third sending period of each sub-firmware, and determining an average sending duration C of a sub-firmware in the third sending combination, including:

[0109] S701: Select a sub-firmware in the first sequence according to the order, and determine whether the continuous sending number of the sub-firmware is greater than or equal to the maximum continuous sending number n. avg , if so, then by Get the blank duration of the sub-firmware, if not, set the blank duration of the sub-firmware to a;

[0110] S702: Update the number of consecutive transmissions of the sub-firmware to the average number of consecutive transmissions n. avg ;

[0111] S703, determining a continuous transmission duration of the sub-firmware according to the number of continuous transmissions of the sub-firmware, and determining a third transmission cycle of the sub-firmware according to the continuous transmission duration and the blank duration of the sub-firmware;

[0112] S704, repeat S701-S703 until the third sending cycles of all sub-firmware are determined;

[0113] S705, forming a third sending combination according to the third sending cycles of all the sub-firmwares and the order of the sub-firmwares in the first sequence;

[0114] S706, select one sub-firmware in the first sequence in turn, Get the third estimated completion time of the sub-firmware, by Obtain the third end sending duration of the next sub-firmware of the sub-firmware;

[0115] S707, determine whether the third expected completion verification time of the sub-firmware is greater than or equal to the third end sending time of the next sub-firmware of the sub-firmware, if so, Update the total duration T6 of the third sending combination. If not, Update the total duration T6 of the third sending combination;

[0116] S708, repeat S706-S707 until the last sub-firmware is selected in the first sequence according to the order. Update the total duration T6 of the third sending combination;

[0117] S709, by Obtain an average sending time C of a sub-firmware in the third sending combination;

[0118] Among them, T 2i is the writing time of the i-th sub-firmware, a is the error time, T 1iis the sending time of the i-th sub-firmware, i is the sequence number of the sub-firmware in the first sequence, T 3i is the verification time of the i-th sub-firmware, and the initial value of T6 is 0.

[0119] In this embodiment, the third sending cycle is similar to the first sending cycle in most respects. The only difference is the blanking time for the sub-firmware. The blanking time for the sub-firmware combines the two methods in the first sending cycle and the second sending cycle, depending on whether the number of consecutive sending of the sub-firmware is greater than or equal to the maximum number of consecutive sending n. avg .

[0120] In one embodiment, the step of burning the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard to burn multiple control mainboards simultaneously to increase the burning efficiency includes:

[0121] determining the number of consecutive sub-firmware transmissions in the sub-firmware transmission combination;

[0122] Determine the number of control boards to be burned simultaneously based on the number of consecutive sub-firmware transmissions;

[0123] Sort the control mainboards for synchronous burning according to the communication addresses of the control mainboards from small to large to obtain a third sequence;

[0124] For each sub-firmware in the sub-firmware sending combination, matching the control mainboard in the third sequence with the number of consecutive sendings of the sub-firmware to obtain a total sending cycle;

[0125] The sub-firmware is burned to the control main board of synchronous burning according to the total sending cycle.

[0126] In this embodiment, the sub-firmware sending combination is a pre-calculated process. In the actual burning process, the sub-firmware needs to be burned to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard.

[0127] In this embodiment, the number of sub-firmware files sent continuously is equal to the number of control mainboards that are burned simultaneously.

[0128] In this embodiment, assuming that the specific sending process of the sub-firmware sending combination is: x1, x1, x1, x2, y1, y1, y1, y2. The communication addresses of the control mainboard are 0x02, 0x03, and 0x04. Then the total sending cycle is to send x1 to the control mainboard with the communication address 0x02, send x1 to the control mainboard with the communication address 0x03, send x1 to the control mainboard with the communication address 0x04, wait for x2, send y1 to the control mainboard with the communication address 0x02, send y1 to the control mainboard with the communication address 0x03, send y1 to the control mainboard with the communication address 0x04, and wait for y2.

[0129] like Figure 3 As shown, in one embodiment, a multi-control mainboard synchronous burning device is provided, which may specifically include:

[0130] An address setting module is used to send a wake-up command to the electrically connected control mainboards, and set the communication address of each control mainboard according to the initial address and the response signal returned by each control mainboard after receiving the wake-up command;

[0131] A firmware splitting module, configured to split the main firmware into a plurality of sub-firmwares according to the functional modules, and sort the sub-firmwares to obtain a first sequence;

[0132] a duration determination module, configured to sequentially burn sub-firmware to the control mainboard whose communication address is the initial address according to the first sequence and determine the sending duration, writing duration, and verification duration of each sub-firmware;

[0133] a scheme determination module, configured to determine the number of consecutive transmissions of each sub-firmware based on the transmission duration and writing duration of each sub-firmware, determine the transmission period of each sub-firmware based on the number of consecutive transmissions and the verification duration of each sub-firmware so that the transmission time period of the next sub-firmware overlaps the verification time period of the previous sub-firmware during the burning process, and determine the sub-firmware transmission combination based on the transmission period of each sub-firmware;

[0134] The firmware burning module is used to burn the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard so as to burn multiple control mainboards synchronously to speed up the burning efficiency.

[0135] In this embodiment, the modules of the multi-control mainboard synchronous burning device are modularized in the method part of the present invention. For the detailed explanation of each module, please refer to the corresponding content of the method part of the present invention, and the embodiment of the present invention will not be repeated here.

[0136] like Figure 4 As shown, in one embodiment, a multi-control mainboard synchronous burning system is provided, which may specifically include: a burning device and a computer device;

[0137] The burning device is electrically connected to a plurality of control mainboards for performing the burning function;

[0138] The computer device is connected to the burning device and is used to execute the steps of the above-mentioned multi-control mainboard synchronous burning method.

[0139] In this embodiment, the burning device can have multiple communication interfaces, and the control boards connected to the same communication interface are in a parallel relationship. The present invention is directed to a communication interface.

[0140] An embodiment of the present invention provides a multi-control mainboard synchronous burning system. The system sends a wake-up command to an electrically connected control mainboard, sets a communication address of each control mainboard according to an initial address and a response signal returned by each control mainboard after receiving the wake-up command; splits a main firmware into a plurality of sub-firmwares according to functional modules, and sorts the sub-firmwares to obtain a first sequence; sequentially burns the sub-firmwares to the control mainboard with the communication address being the initial address according to the first sequence, and determines a sending duration, a writing duration, and a verification duration of each sub-firmware; determines a continuous sending quantity of each sub-firmware according to the sending duration and the writing duration of each sub-firmware; determines a sending cycle of each sub-firmware according to the continuous sending quantity and the verification duration so that a sending time period of a next sub-firmware overlaps a verification time period of a previous sub-firmware during the burning process; and determines a sub-firmware sending combination according to the sending cycle of each sub-firmware; and burns the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard, so as to synchronously burn multiple control mainboards and thereby accelerate the burning efficiency. In this way, the main firmware is split into sub-firmware. In the process of burning multiple control mainboards, for one sub-firmware, the continuous sending quantity of the sub-firmware is determined so that the multiple control mainboards can be burned synchronously. At the same time, for the sending cycle of the sub-firmware, the sending time period of the sub-firmware is overlapped with the verification time period of the previous sub-firmware to offset the time of the verification stage of part of the sub-firmware. This improves the burning efficiency from two aspects: synchronous burning of multiple control mainboards and offsetting the time of the verification stage of part of the sub-firmware, thereby solving the problem of low burning efficiency.

[0141] Figure 5 FIG. 1 shows an internal structure diagram of a computer device in one embodiment. Figure 5 As shown, the computer device includes a processor, a memory, a network interface, an input device and a display screen connected via a system bus. The memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium of the computer device stores an operating system and may also store a computer program. When the computer program is executed by the processor, the processor may implement a method for synchronously burning multiple control motherboards provided in an embodiment of the present invention. The internal memory may also store a computer program. When the computer program is executed by the processor, the processor may implement a method for synchronously burning multiple control motherboards provided in an embodiment of the present invention. The display screen of the computer device may be a liquid crystal display or an electronic ink display screen. The input device of the computer device may be a touch layer covering the display screen, or a button, trackball or touchpad provided on the computer device housing, or an external keyboard, touchpad or mouse.

[0142] Those skilled in the art will understand that Figure 5The structure shown in the figure is merely a block diagram of a portion of the structure related to the solution of the present invention and does not constitute a limitation on the computer device to which the solution of the present invention is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different component arrangement.

[0143] In one embodiment, a multi-control mainboard synchronous burning device provided by an embodiment of the present invention can be implemented in the form of a computer program. The computer program can be used in the following manner: Figure 5 The computer device shown in FIG. 1 is run on the computer device shown in FIG. The memory of the computer device can store various program modules constituting the multi-control mainboard synchronous burning device, such as: Figure 3 The address setting module, firmware splitting module, duration determination module, solution determination module, and firmware burning module shown are computer programs composed of various program modules, which enable the processor to execute the steps of a method for synchronously burning multiple control motherboards in various embodiments of the present invention described in this specification.

[0144] For example, Figure 5 The computer device shown can be Figure 3 The address setting module in the multi-control mainboard synchronous burning device shown executes step S101; the computer device can execute step S102 through the firmware splitting module; the computer device can execute step S103 through the duration determination module; the computer device can execute step S104 through the scheme determination module; the computer device can execute step S105 through the firmware burning module.

[0145] In one embodiment, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the following steps are performed:

[0146] S101, sending a wake-up command to the electrically connected control mainboards, and setting the communication address of each control mainboard according to the initial address and the response signal returned by each control mainboard after receiving the wake-up command;

[0147] S102, splitting the main firmware into a plurality of sub-firmwares according to the functional modules, and sorting the sub-firmwares to obtain a first sequence;

[0148] S103, burning the sub-firmware in sequence to the control mainboard whose communication address is the initial address according to the first sequence and determining the sending time, writing time and verification time of each sub-firmware;

[0149] S104: Determine the number of consecutive transmissions of each sub-firmware based on the transmission duration and the writing duration of each sub-firmware; determine the transmission period of each sub-firmware based on the number of consecutive transmissions and the verification duration so that the transmission time period of the next sub-firmware overlaps the verification time period of the previous sub-firmware during the burning process; and determine a sub-firmware transmission combination based on the transmission period of each sub-firmware.

[0150] S105 , burning the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard, so as to burn multiple control mainboards synchronously and thus speed up the burning efficiency.

[0151] In one embodiment, a computer-readable storage medium is provided. The computer-readable storage medium stores a computer program. When the computer program is executed by a processor, the processor performs the following steps:

[0152] S101, sending a wake-up command to the electrically connected control mainboards, and setting the communication address of each control mainboard according to the initial address and the response signal returned by each control mainboard after receiving the wake-up command;

[0153] S102, splitting the main firmware into a plurality of sub-firmwares according to the functional modules, and sorting the sub-firmwares to obtain a first sequence;

[0154] S103, burning the sub-firmware in sequence to the control mainboard whose communication address is the initial address according to the first sequence and determining the sending time, writing time and verification time of each sub-firmware;

[0155] S104: Determine the number of consecutive transmissions of each sub-firmware based on the transmission duration and the writing duration of each sub-firmware; determine the transmission period of each sub-firmware based on the number of consecutive transmissions and the verification duration so that the transmission time period of the next sub-firmware overlaps the verification time period of the previous sub-firmware during the burning process; and determine a sub-firmware transmission combination based on the transmission period of each sub-firmware.

[0156] S105 , burning the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard, so as to burn multiple control mainboards synchronously and thus speed up the burning efficiency.

[0157] It should be understood that, although the various steps in the flow chart of each embodiment of the present invention are shown in sequence according to the indication of the arrows, these steps are not necessarily performed in sequence according to the order indicated by the arrows. Unless otherwise specified herein, the execution of these steps is not strictly limited in order, and these steps can be performed in other orders. Moreover, at least a portion of the steps in each embodiment may include a plurality of sub-steps or a plurality of stages, and these sub-steps or stages are not necessarily performed at the same time, but can be performed at different times, and the execution order of these sub-steps or stages is not necessarily performed in sequence, but can be performed in turn or alternately with at least a portion of other steps or sub-steps or stages of other steps.

[0158] Those skilled in the art will appreciate that all or part of the processes in the above-described method embodiments can be implemented by instructing the relevant hardware through a computer program. The program can be stored in a non-volatile computer-readable storage medium. When executed, the program can include the processes of the above-described method embodiments. Any reference to memory, storage, database, or other media used in the various embodiments provided herein may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct RAMbus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM).

[0159] The technical features of the above-mentioned embodiments can be combined arbitrarily. In order to make the description concise, not all possible combinations of the technical features in the above-mentioned embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0160] The above-described embodiments merely illustrate several implementations of the present invention. While the descriptions are relatively specific and detailed, they should not be construed as limiting the scope of the present invention. It should be noted that a person skilled in the art would be able to make numerous variations and improvements without departing from the spirit of the present invention, and all such variations and improvements fall within the scope of protection of the present invention.

Claims

1. A method for synchronously burning multiple control motherboards, characterized in that: The method for synchronously burning multiple control mainboards includes: S101, sending a wake-up command to the electrically connected control mainboards, and setting the communication address of each control mainboard according to the initial address and the response signal returned by each control mainboard after receiving the wake-up command; S102, splitting the main firmware into a plurality of sub-firmwares according to the functional modules, and sorting the sub-firmwares to obtain a first sequence; S103, burning the sub-firmware in sequence to the control mainboard whose communication address is the initial address according to the first sequence and determining the sending time, writing time and verification time of each sub-firmware; S104: Determine the number of consecutive transmissions of each sub-firmware based on the transmission duration and the writing duration of each sub-firmware; determine the transmission period of each sub-firmware based on the number of consecutive transmissions and the verification duration so that the transmission time period of the next sub-firmware overlaps the verification time period of the previous sub-firmware during the burning process; and determine a sub-firmware transmission combination based on the transmission period of each sub-firmware. S105, burning the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard to burn multiple control mainboards synchronously to speed up the burning efficiency; The method of determining the number of consecutive transmissions of each sub-firmware according to the transmission duration and the writing duration of each sub-firmware, determining the transmission period of each sub-firmware according to the number of consecutive transmissions and the verification duration of each sub-firmware so that the transmission time period of the next sub-firmware overlaps with the verification time period of the previous sub-firmware during the burning process, and determining the sub-firmware transmission combination according to the transmission period of each sub-firmware includes: For each sub-firmware, Get the number of consecutive sends of the sub-firmware n i ; Determine the minimum continuous sending number n from the continuous sending numbers of all sub-firmware min And the maximum number of consecutive transmissions n max ; Depend on Get the average number of consecutive transmissions n avg ; According to the verification time of all sub-firmware and the minimum continuous sending quantity n min Determine a first sending period for each sub-firmware, obtain a first sending combination according to the first sending period for each sub-firmware, and determine an average sending duration A of a sub-firmware in the first sending combination; According to the verification time of all sub-firmware and the maximum number of continuous transmissions n max Determine a second sending period for each sub-firmware, obtain a second sending combination according to the second sending period for each sub-firmware, and determine an average sending duration B of a sub-firmware in the second sending combination; According to the verification time of all sub-firmware and the average number of continuous transmissions n avg Determine a third sending period for each sub-firmware, obtain a third sending combination according to the third sending period for each sub-firmware, and determine an average sending duration C of a sub-firmware in the third sending combination; Determine the sending combination corresponding to the smallest average sending time among the average sending time A, the average sending time B, and the average sending time C as the sub-firmware sending combination; Among them, T 2i is the writing time of the i-th sub-firmware, a is the error time, T 1i is the sending duration of the i-th sub-firmware, and i is the sequence number of the sub-firmware in the first sequence.

2. The method for synchronously burning multiple control motherboards according to claim 1, wherein: The step of setting the communication address of each control mainboard according to the initial address and the response signal returned by each control mainboard after receiving the wake-up instruction includes: S201, sorting the control main boards in descending order according to the time at which each control main board receives a response signal returned after receiving a wake-up instruction, to obtain a second sequence; S202, record the initial address as the target address; S203, selecting the control mainboard ranked first in the second sequence, and sending an address write instruction with a target address to the control mainboard so that the communication address of the control mainboard is the target address; S204, updating the next address of the target address to the target address; S205, selecting the next control mainboard according to the second sequence, and sending an address write instruction with a target address to the control mainboard so that the communication address of the control mainboard is the target address; S206, determining whether the target address has been updated a predetermined number of times, if so, executing S202, and then executing S204; S207, repeat S204-S206 until the communication addresses of the electrically connected control mainboards are all set.

3. The method for synchronously burning multiple control motherboards according to claim 1, wherein: The step of sequentially burning sub-firmware to the control mainboard whose communication address is the initial address according to the first sequence and determining the sending time, writing time, and verification time of each sub-firmware comprises: Burn the sub-firmware to the control mainboard whose communication address is the initial address in sequence according to the first sequence; For each sub-firmware, determine the time t1 when the sub-firmware starts to be sent, and determine the time t2 when the sub-firmware is finished being sent; Determine the time t3 when the verification data returned by the sub-firmware starts to be received, and determine the time t4 when the verification data returned by the sub-firmware is completely received and verified; Depend on Get the sending duration of the sub-firmware; Depend on Get the writing time of the sub-firmware; Depend on Get the verification time of the sub-firmware.

4. The method for synchronously burning multiple control motherboards according to claim 1, wherein: The verification time of all sub-firmware and the minimum number of consecutive transmissions n min Determining a first sending period of each sub-firmware, obtaining a first sending combination according to the first sending period of each sub-firmware, and determining an average sending duration A of a sub-firmware in the first sending combination, including: S501: Select one sub-firmware in the first sequence according to the order, and update the continuous sending number of the sub-firmware to the minimum continuous sending number n. min ; S502, by Get the blank duration of the sub-firmware; S503, determining a continuous transmission duration of the sub-firmware according to the number of continuous transmissions of the sub-firmware, and determining a first transmission cycle of the sub-firmware according to the continuous transmission duration and the blank duration of the sub-firmware; S504, repeat S501-S503 until the first sending cycle of all sub-firmwares is determined; S505: forming a first sending combination according to the first sending cycles of all sub-firmwares and the order of the sub-firmwares in the first sequence; S506, select one sub-firmware in the first sequence in turn, Get the first estimated completion time of the sub-firmware, by Obtain the first end sending duration of the next sub-firmware of the sub-firmware; S507, determine whether the first estimated completion check time of the sub-firmware is greater than or equal to the first end sending time of the next sub-firmware of the sub-firmware, if so, Update the total duration T4 of the first sending combination. If not, Update the total duration T4 of the first sending combination; S508, repeat S506-S507 until the last sub-firmware is selected in the first sequence according to the order. Update the total duration T4 of the first sending combination; S509, by Obtain an average sending time A of a sub-firmware in the first sending combination; Among them, T 2i is the writing time of the i-th sub-firmware, a is the error time, T 1i is the sending time of the i-th sub-firmware, i is the sequence number of the sub-firmware in the first sequence, T 3i is the verification time of the i-th sub-firmware, and the initial value of T4 is 0.

5. The method for synchronously burning multiple control motherboards according to claim 1, wherein: The verification time of all sub-firmware and the maximum number of continuous transmissions n max Determining a second sending period for each sub-firmware, obtaining a second sending combination according to the second sending period for each sub-firmware, and determining an average sending duration B of a sub-firmware in the second sending combination, including: S601, select a sub-firmware in the first sequence according to the order, and determine whether the continuous sending number of the sub-firmware is the maximum continuous sending number n max If not, update the continuous sending quantity of the sub-firmware to the maximum continuous sending quantity n max And set the blank duration of the sub-firmware to a; S602: If the number of consecutive transmissions of the sub-firmware is the maximum number of consecutive transmissions n max , set the blank time of the sub-firmware to ; S603, determining a continuous transmission duration of the sub-firmware according to the number of continuous transmissions of the sub-firmware, and determining a second transmission cycle of the sub-firmware according to the continuous transmission duration and the blank duration of the sub-firmware; S604, repeat S601-S603 until the second sending cycles of all sub-firmware are determined; S605: forming a second sending combination according to the second sending cycles of all sub-firmwares and the order of the sub-firmwares in the first sequence; S606, select one sub-firmware in the first sequence in turn, Get the second estimated completion time of the sub-firmware, by Obtain the second end sending time length of the next sub-firmware of the sub-firmware; S607, determine whether the second expected completion check time of the sub-firmware is greater than or equal to the second end sending time of the next sub-firmware of the sub-firmware, if so, Update the total duration T5 of the second sending combination. If not, Update the total duration T5 of the second sending combination; S608, repeat S606-S607 until the last sub-firmware is selected in the first sequence according to the order. Update the total duration T5 of the second sending combination; S609, by Obtain an average sending duration B of a sub-firmware in the second sending combination; Among them, T 2i is the writing time of the i-th sub-firmware, a is the error time, T 1i is the sending time of the i-th sub-firmware, i is the sequence number of the sub-firmware in the first sequence, T 3i is the verification time of the i-th sub-firmware, and the initial value of T5 is 0.

6. The method for synchronously burning multiple control motherboards according to claim 1, wherein: The verification time and average continuous sending number n of all sub-firmwares are avg Determining a third sending period of each sub-firmware, obtaining a third sending combination according to the third sending period of each sub-firmware, and determining an average sending duration C of a sub-firmware in the third sending combination, including: S701: Select a sub-firmware in the first sequence according to the order, and determine whether the continuous sending number of the sub-firmware is greater than or equal to the maximum continuous sending number n. avg , if so, then by Get the blank duration of the sub-firmware, if not, set the blank duration of the sub-firmware to a; S702: Update the number of consecutive transmissions of the sub-firmware to the average number of consecutive transmissions n. avg ; S703, determining a continuous transmission duration of the sub-firmware according to the number of continuous transmissions of the sub-firmware, and determining a third transmission cycle of the sub-firmware according to the continuous transmission duration and the blank duration of the sub-firmware; S704, repeat S701-S703 until the third sending cycles of all sub-firmware are determined; S705, forming a third sending combination according to the third sending cycles of all the sub-firmwares and the order of the sub-firmwares in the first sequence; S706, select one sub-firmware in the first sequence in turn, Get the third estimated completion time of the sub-firmware, by Obtain the third end sending duration of the next sub-firmware of the sub-firmware; S707, determine whether the third expected completion verification time of the sub-firmware is greater than or equal to the third end sending time of the next sub-firmware of the sub-firmware, if so, Update the total duration T6 of the third sending combination. If not, Update the total duration T6 of the third sending combination; S708, repeat S706-S707 until the last sub-firmware is selected in the first sequence according to the order. Update the total duration T6 of the third sending combination; S709, by Obtain an average sending time C of a sub-firmware in the third sending combination; Among them, T 2i is the writing time of the i-th sub-firmware, a is the error time, T 1i is the sending time of the i-th sub-firmware, i is the sequence number of the sub-firmware in the first sequence, T 3i is the verification time of the i-th sub-firmware, and the initial value of T6 is 0.

7. The method for synchronously burning multiple control motherboards according to claim 1, wherein: The method of burning the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard to burn multiple control mainboards synchronously to speed up the burning efficiency includes: determining the number of consecutive sub-firmware transmissions in the sub-firmware transmission combination; Determine the number of control boards to be burned simultaneously based on the number of consecutive sub-firmware transmissions; Sort the control mainboards for synchronous burning according to the communication addresses of the control mainboards from small to large to obtain a third sequence; For each sub-firmware in the sub-firmware sending combination, matching the control mainboard in the third sequence with the number of consecutive sendings of the sub-firmware to obtain a total sending cycle; The sub-firmware is burned to the control main board of synchronous burning according to the total sending cycle.

8. A synchronous burning device for multiple control motherboards, characterized in that: The multi-control mainboard synchronous burning device includes: An address setting module is used to send a wake-up command to the electrically connected control mainboards, and set the communication address of each control mainboard according to the initial address and the response signal returned by each control mainboard after receiving the wake-up command; A firmware splitting module, configured to split the main firmware into a plurality of sub-firmwares according to the functional modules, and sort the sub-firmwares to obtain a first sequence; a duration determination module, configured to sequentially burn sub-firmware to the control mainboard whose communication address is the initial address according to the first sequence and determine the sending duration, writing duration, and verification duration of each sub-firmware; a scheme determination module, configured to determine the number of consecutive transmissions of each sub-firmware based on the transmission duration and writing duration of each sub-firmware, determine the transmission period of each sub-firmware based on the number of consecutive transmissions and the verification duration of each sub-firmware so that the transmission time period of the next sub-firmware overlaps the verification time period of the previous sub-firmware during the burning process, and determine the sub-firmware transmission combination based on the transmission period of each sub-firmware; The firmware burning module is used to burn the sub-firmware to the control mainboard according to the sub-firmware sending combination and the communication address of the control mainboard so as to burn multiple control mainboards synchronously to speed up the burning efficiency; The method of determining the number of consecutive transmissions of each sub-firmware according to the transmission duration and the writing duration of each sub-firmware, determining the transmission period of each sub-firmware according to the number of consecutive transmissions and the verification duration of each sub-firmware so that the transmission time period of the next sub-firmware overlaps with the verification time period of the previous sub-firmware during the burning process, and determining the sub-firmware transmission combination according to the transmission period of each sub-firmware includes: For each sub-firmware, Get the number of consecutive sends of the sub-firmware n i ; Determine the minimum continuous sending number n from the continuous sending numbers of all sub-firmware min And the maximum number of consecutive transmissions n max ; Depend on Get the average number of consecutive transmissions n avg ; According to the verification time of all sub-firmware and the minimum continuous sending quantity n min Determine a first sending period for each sub-firmware, obtain a first sending combination according to the first sending period for each sub-firmware, and determine an average sending duration A of a sub-firmware in the first sending combination; According to the verification time of all sub-firmware and the maximum number of continuous transmissions n max Determine a second sending period for each sub-firmware, obtain a second sending combination according to the second sending period for each sub-firmware, and determine an average sending duration B of a sub-firmware in the second sending combination; According to the verification time of all sub-firmware and the average number of continuous transmissions n avg Determine a third sending period for each sub-firmware, obtain a third sending combination according to the third sending period for each sub-firmware, and determine an average sending duration C of a sub-firmware in the third sending combination; Determine the sending combination corresponding to the smallest average sending time among the average sending time A, the average sending time B, and the average sending time C as the sub-firmware sending combination; Among them, T 2i is the writing time of the i-th sub-firmware, a is the error time, T 1i is the sending duration of the i-th sub-firmware, and i is the sequence number of the sub-firmware in the first sequence.

9. A multi-control mainboard synchronous burning system, characterized in that: The multi-control mainboard synchronous burning system includes: a burning device and a computer device; The burning device is electrically connected to a plurality of control mainboards for performing the burning function; The computer device is connected to the burning device and is used to execute the steps of the multi-control mainboard synchronous burning method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Standard test platform architecture for updating computer mainboard firmware and method

    CN110941521A

  • Method and system for burning complete machine data of smart television in local area network

    CN117149225A