Fuse burning system and fuse burning method for zero terminal
By using USB communication and a fuse programming system for tool PCBs, the problem of not being able to determine the customer ID after the production of zero-terminal chips is solved, realizing the flexibility of fuse programming, allowing product board manufacturers to decide the programming content, and improving the applicability of the chips.
Patent Information
- Application Number
- CN202511301566.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-12
- Publication Date
- 2026-02-03
AI Technical Summary
In existing technologies, the decryption key ID of future customers cannot be determined during the production of zero-terminal chips, resulting in the fuse burning being unchangeable, lacking flexibility, and failing to meet the needs of different customers.
A fuse programming system is provided, which uses USB communication and a tool PCB, combined with an FPC connector, to allow the product board manufacturer to decide whether to perform fuse programming and the programming content after production. The fuse programming process is controlled by a microcontroller and an FPGA, and supports user interaction and result display.
It enables flexibility in chip fuse programming, allowing different manufacturers to program according to their needs, thus improving the applicability and flexibility of the chip.
Smart Images

Figure CN121456923A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the chip technical field, and particularly to a fuse programming system and a fuse programming method for zero terminal. BACKGROUND
[0002] In the current zero terminal chip, in the scenario where security start needs to be implemented, an identity (ID) for generating a decryption key needs to be programmed in the internal fuse (EFUSE) of the chip.
[0003] However, the fuse programming needs to be performed on a machine when the chip is produced, and once programmed, it cannot be changed. In addition, the ID of the decryption key is different for different customers, but the chip cannot determine the future customer when it is produced. Therefore, a new fuse programming scheme is urgently needed. SUMMARY
[0004] The embodiments of the present application provide a fuse programming system and a fuse programming method for zero terminal, which can improve the flexibility of the chip regarding fuse programming. The technical solutions are as follows:
[0005] According to a first aspect of the embodiments of the present application, a fuse programming system for zero terminal is provided, which comprises:
[0006] an electronic device and a tool printed circuit board (PCB) for universal serial bus (USB) communication;
[0007] a tool software is installed on the electronic device, which is used to determine a target USB port and a target file to be programmed in response to a user operation, and is also used to issue the target file to be programmed and a programming instruction to the tool PCB through the target USB port;
[0008] a flexible printed circuit (FPC) connector is arranged on the tool PCB, the tool PCB is connected with a product board through the FPC connector, and after receiving the target file to be programmed and the programming instruction, the tool PCB issues a fuse programming signal to the product board, the fuse programming signal is used to instruct to program the target file to be programmed in the fuse of the product board.
[0009] The embodiments of the present application provide a new fuse programming system and a fuse programming method for zero terminal, which improve the programming process of the chip fuse, so that the chip programming process is independent of the manufacturer, and the chip manufacturer does not need to pay attention to the future chip user when generating the chip, that is, a batch of produced chips can not be started in security, and can be sold to different manufacturers, and whether to program and the programming content are determined by the manufacturer of the product board. Therefore, the flexibility of the chip regarding fuse programming can be improved.
[0010] In one embodiment, the electronic device and the tool PCB each include a plurality of the USB ports, and the electronic device includes one USB port and the tool PCB includes one USB port in one-to-one correspondence.
[0011] In one embodiment, the tool PCB is further configured to send a fuse programming read signal to the product board through the FPC connector after the programming is completed, the fuse programming read signal being configured to indicate a programming result.
[0012] In one embodiment, the tool PCB further includes a single-chip microcomputer and a field programmable gate array (FPGA) connected thereto; the single-chip microcomputer is connected to the USB port on the tool PCB, and the FPGA is connected to the FPC connector.
[0013] The FPGA is configured to send the fuse programming signal or the fuse programming read signal to the FPC connector according to a fuse programming timing sequence under the control of the single-chip microcomputer, and configured to return the programming result to the single-chip microcomputer.
[0014] The single-chip microcomputer is configured to receive the target file to be programmed, analyze the control instruction, and return the programming result to the electronic device.
[0015] The tool software is further configured to display the programming result.
[0016] In one embodiment, the tool PCB further includes one or more of a power indicator, a working state indicator, a programming result indicator, and a reset button.
[0017] In a second aspect of the embodiments of the present application, a fuse programming method is further provided, which is applied to an electronic device in a zero-terminal system, and the method includes:
[0018] In response to a first operation, starting tool software and displaying a plurality of USB port options in a main interface;
[0019] In response to a second operation, determining a target USB port;
[0020] In response to a third operation, opening the target USB port;
[0021] In response to a fourth operation, displaying a plurality of files to be programmed;
[0022] In response to a fifth operation, determining a target file to be programmed;
[0023] In response to a sixth operation, starting programming.
[0024] In one embodiment, after the target USB port is opened, the method further includes:
[0025] The first prompt message is displayed on the main interface, indicating that the USB port is open.
[0026] In one embodiment, when starting the burning process, the method further includes: displaying the burning progress in the form of a progress bar on the main interface.
[0027] In one embodiment, the method further includes: after successful programming, displaying a second prompt on the main interface indicating that fuse programming has been completed.
[0028] In a third aspect of the embodiments of this application, an electronic device is also provided, including a processor and a memory, wherein the memory stores at least one computer instruction, the instruction being loaded and executed by the processor to perform the steps in the methods described in the second aspect and any one thereof.
[0029] In a fourth aspect of this application, a computer-readable storage medium is also provided, wherein at least one computer instruction is stored therein, the instruction being loaded by a processor and executing the steps of the method described in the second aspect.
[0030] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and do not limit this application. Attached Figure Description
[0031] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.
[0032] Figure 1 This is a schematic diagram of the structure of an existing VDI system;
[0033] Figure 2 This is a schematic diagram of a zero-terminal structure;
[0034] Figure 3 This is a schematic diagram of a fuse programming system for zero terminals provided in an embodiment of this application;
[0035] Figure 4 This is a 3D drawing of a tool PCB provided in an embodiment of this application;
[0036] Figure 5 This is a schematic diagram of the PCB fabrication result of the tool provided in the embodiments of this application;
[0037] Figure 6 This is a schematic flowchart of a fuse programming method provided in an embodiment of this application;
[0038] Figure 7 This is a schematic diagram of the main interface of a tool software provided in an embodiment of this application;
[0039] Figure 8 is a schematic diagram of a main interface of still another tool software provided by an embodiment of the present application;
[0040] Figure 9 is a schematic diagram of a main interface of still another tool software provided by an embodiment of the present application;
[0041] Figure 10 is a schematic diagram of a main interface of still another tool software provided by an embodiment of the present application. DETAILED DESCRIPTION
[0042] The exemplary embodiments will be described in detail herein with reference to the attached drawings. The following description is made with reference to the accompanying drawings in which like reference numerals refer to like elements, and the use of the same reference numerals in different drawings indicates similar or like elements unless otherwise indicated. The following exemplary embodiments described are not meant to be all inclusive or represent all aspects of the application. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present application as detailed in the appended claims.
[0043] First, some terms related to the embodiments of the present application are explained, which will not be repeated hereinafter.
[0044] 1. EFUSE is a kind of memory device which is rewritten once (blown).
[0045] 2. Chip secure boot refers to deriving a decryption key by using a key ID in the fuse in combination with a root key which is fixed in the hardware in the chip. The chip decrypts the firmware version by using the decryption key. If the key is not correct, the chip will not be able to start normally.
[0046] Figure 1 is a schematic diagram of the structure of an existing VDI system. As shown in Figure 1 , the VDI system can include a zero terminal (referred to as R terminal) and a server (referred to as S terminal), and one or more virtual machines can run in the server. The zero terminal connects with a virtual machine allocated in the server, and thus performs data transmission with the virtual machine.
[0047] The device form of the zero terminal can be a computer, a tablet, a mobile phone, etc., which is not limited by the present application.
[0048] Figure 2 is a schematic diagram of the structure of a zero terminal. As shown in Figure 2As shown, the so-called zero terminal refers to a terminal device only needing to have a display screen, a simple central processing unit (CPU) and a memory, an image receiving and decoding module for processing images, and a reverse control processing module. This scheme can greatly simplify the size and configuration of the zero terminal. All program running of the zero terminal is in the cloud server, and the zero terminal uses the corresponding application program by accessing the virtual machine allocated by the cloud server, and controls the corresponding application program through reverse control, and the cloud server sends the real-time processing picture to the zero terminal, so that the zero terminal is like operating locally. It should be understood that for the VDI system including the zero terminal, it can be referred to as a zero terminal system.
[0049] In the above zero terminal, the current zero terminal chip needs to write an ID for generating a decryption key in the internal fuse (EFUSE) of the chip in a scenario where a secure boot requirement needs to be implemented.
[0050] However, the fuse writing needs to be performed on a machine during the production of the chip, and once the writing is performed, it cannot be changed. In addition, the ID of the decryption key is different for different customers, but the chip cannot determine the future customer when it is produced.
[0051] To solve the problem, the embodiments of the present application provide a new fuse writing system and a fuse writing method. By improving the writing process of the chip fuse, the process of writing the chip is separated from the manufacturer, and the chip does not need to pay attention to the future user of the chip when it is generated, that is, a batch of produced chips can not be started securely, and can be sold to different manufacturers, and whether to write and the writing content are determined by the manufacturer of the product board. Therefore, the flexibility of the chip regarding the fuse writing can be improved.
[0052] Exemplarily, Figure 3 is a structural schematic diagram of a fuse writing system applied to a zero terminal provided by the embodiments of the present application.
[0053] As Figure 3 shown, the fuse writing system includes an electronic device (PC) and a tool PCB.
[0054] The tool PCB is designed with a USB port for connecting with the USB port of the PC, and the tool PCB and the PC communicate through the USB.
[0055] The tool software is installed on the PC, which can respond to user operations for UI interaction, for prompting the user to determine the target USB port and the target file to be written, and for issuing the target file to be written (that is, the ID of the secure boot decryption key) and the control instruction to the tool PCB through the selected target USB port, and of course, the writing progress and the writing result can also be displayed.
[0056] Wherein, ID is a binary file, the control instruction can include the following burning process of opening the USB port, browsing the file to be burned, burning instruction, etc.
[0057] The tool PCB is further provided with an FPC connector, and the tool PCB is connected with the product board to be burned through the FPC connector. After receiving the content to be burned and the start burning instruction from the PC, the tool PCB sends a fuse burning signal to the product board, and after the burning is completed, the tool PCB sends a fuse burning reading signal to the product board to verify whether the burning is successful, whether there is an error, etc., and presents these information to the user through the tool software on the PC.
[0058] Of course, the FPC connector can also be replaced by a pin, and in the absence of FPC soft wire, a DuPont wire can be used to connect the pin to realize the connection between the tool PCB and the product board. For details, refer to the 3D diagram of the tool PCB shown in Figure 4 , Figure 5 which is a schematic diagram of the plate making result of the tool PCB.
[0059] As shown in Figure 4 , “SD0-7” and “GPIO0-15” are 2.54mm pins, which have the same effect as the FPC connector.
[0060] Optionally, as shown in Figure 3 , the tool PCB includes a connected FPGA and a single-chip microcomputer, the single-chip microcomputer is connected with the USB port, and the FPGA is connected with the FPC connector.
[0061] Among them, the single-chip microcomputer is used for receiving and sending USB data, analyzing the control instruction, receiving the content to be burned, returning the burning result to the PC, and controlling the FPGA. The FPGA is used for sending a fuse burning signal or a fuse burning reading signal to the FPC connector under the control of the single-chip microcomputer, and is used for returning the burning result to the single-chip microcomputer.
[0062] Exemplarily, as shown in Figure 4 , the FPGA can be “XC7A35T”, and the single-chip microcomputer can be “STM32F072”. After the tool board PCB is initially made, the single-chip microcomputer firmware and the FPGA firmware need to be burned. The single-chip microcomputer firmware is stored in the single-chip microcomputer, and can be burned using the “single-chip microcomputer debugging port”. The FPGA firmware is stored in “QSPINorFlash”, and can be burned using “FPGA JTAG”.
[0063] It should be noted that QSPI stands for Quad SPI, which is an SPI bus with four data transmission lines. To achieve faster data transmission, in addition to the traditional SPI interface NorFlash, there are also Dual SPI and Quad SPI to increase data throughput.
[0064] In addition, optionally, power indicator lights, working status indicator lights, and programming result indicator lights can also be set on the tool PCB.
[0065] The power indicator light is used to indicate whether the tool PCB is powered on. The power indicator light will light up when the tool PCB is powered on, indicating that the tool PCB is powered on normally. The tool PCB can be powered by Micro USB VBUS.
[0066] When the status indicator light flashes twice, it means the FPGA is ready to perform the programming task; when the programming result indicator light is yellow-green, it means programming was successful; when the programming result indicator light is red, it means programming failed.
[0067] Optionally, such as Figure 4 As shown, the tool PCB also has a reset button, which can be used in case of programming failure.
[0068] The following is combined with Figures 6 to 10 The fuse programming process provided in the embodiments of this application will be described in detail.
[0069] Figure 6 This illustration shows a flowchart of a fuse programming method provided in an embodiment of this application, which can be applied to... Figure 3 In the PC of the fuse programming system shown. For example... Figure 6 As shown, the method includes the following steps S101 to S107, which will be described in detail below.
[0070] S101. In response to the user's first operation, the tool software is launched and multiple USB port options are displayed on the main interface.
[0071] For example, the first operation could be a click on the tool software icon. Of course, the first operation could also be a double-click, voice command, etc., as long as it can launch the tool software.
[0072] Launching the utility software means running the utility software on your PC. At this time, the main interface of the utility software will be displayed, which will show multiple USB port options.
[0073] It should be understood that, in order to improve programming efficiency, the PC may include multiple USB ports for connecting to multiple tool PCBs, with different USB ports corresponding to different tool PCBs. Accordingly, the tool software can display multiple USB ports.
[0074] Optionally, the plurality of USB ports can be displayed in a tiled manner, or in a scrolling manner, or in a drop-down list manner, and the present application does not limit the embodiment.
[0075] S102, in response to a second operation of the user, determining the target USB port.
[0076] The second operation is a click operation of the user on one of the plurality of USB port options.
[0077] Exemplarily, Figure 7 A main interface diagram of a tool software provided by the embodiment of the present application.
[0078] As Figure 7 shown, the main interface displayed after the tool software is started includes a plurality of USB port options in the drop-down list corresponding to "COM Port", each USB port option corresponds to a USB port of the PC; in response to a click operation of the user on one of the USB ports (such as COM5) in the drop-down list, the clicked USB port will be determined as the target USB port, and here COM5 will be determined as the target USB port.
[0079] S103, in response to a third operation of the user, opening the target USB port and displaying the first prompt "USB port has been opened" in the main interface.
[0080] The main interface of the tool software also displays an open button, and the third operation is a click operation on the open button.
[0081] Figure 8 Another main interface diagram of a tool software provided by the embodiment of the present application.
[0082] Exemplarily, in combination with Figure 7 and Figure 8 shown, after selecting COM5 as the target USB port, in response to a click operation of the user on the open button, the target USB port will be opened, and at the same time, the main interface can also display the prompt "USB port has been opened".
[0083] S104, in response to a fourth operation of the user, displaying a plurality of to-be-burned files.
[0084] The main interface of the tool software also displays a browse button, and the fourth operation is a click operation on the browse button.
[0085] S105, in response to a fifth operation of the user, determining the target to-be-burned file.
[0086] The fifth operation is a click operation of the user on one of the plurality of files to be burned.
[0087] As shown in Figure 7 , a browse button is displayed on the main interface of the tool software. In response to a click operation of the user on the browse button, the tool software can display a pop-up window on top of the main interface. The plurality of files to be burned are displayed in the pop-up window.
[0088] When the user performs a click operation on one of the plurality of files to be burned, the pop-up window is hidden. The selected file to be burned is the target file to be burned. The opening path of the target file to be burned is displayed in the column of "DATAFile", indicating that the file under this path is the target file to be burned, as shown in Figure 9 .
[0089] In addition, on this basis, when the user continues to click the browse button, the pop-up window can be reopened to select other files to be burned. After selection, the content in the column of "DATAFile" will be changed.
[0090] S106, in response to a sixth operation of the user, starting burning and displaying the burning progress in the form of a progress bar in the main interface.
[0091] The main interface of the tool software further displays a fuse burning button. The sixth operation is a click operation on the fuse burning button.
[0092] As shown in Figure 9 , another schematic diagram of the main interface of the tool software is shown.
[0093] As shown in Figure 9 , the main interface of the tool software further displays a fuse burning button "Burn EFUSE". In response to a click operation on the fuse burning button, the tool software sends the target file to be burned and the burning instruction to the tool PCB through the target USB port. After the tool PCB receives the target file to be burned and the burning instruction, the tool PCB sends a fuse burning signal to the product board through the FPC connector.
[0094] S107, after successful burning, displaying a second prompt "Fuse burning is completed" in the main interface.
[0095] As shown in Figure 10 , another schematic diagram of the main interface of the tool software is shown.
[0096] As shown in Figure 10As shown, during the burning process, the progress bar in the main interface is used to display the burning progress; after the burning is completed, the progress bar in the main interface is filled, indicating that the burning is completed, at this time, the tool PCB can issue a fuse burning reading signal to the product board to verify whether the burning is successful. When the reading result indicates that the burning is successful, the main interface can also display the prompt "fuse burning has been completed" to prompt the user that the burning is successful.
[0097] The embodiment of the present application provides a fuse burning system and a fuse burning method for zero terminal, the selection of the fuse burning file is performed by the user operating the tool software in the PC, and the fuse burning of the product board and the reading of the burning result are controlled by the tool PCB, so that the produced chip does not need to perform the secure start, and whether to perform the burning and the content of the burning are determined by the manufacturer of the product board, thereby the flexibility of the chip on the fuse burning can be improved.
[0098] Based on the fuse burning method described in the above embodiment, the embodiment of the present application further provides an electronic device, which comprises a processor and a memory, the memory stores at least one computer instruction, the instruction is loaded and executed by the processor to perform the steps performed by the PC in the fuse burning method described in any of the above embodiments.
[0099] Based on the fuse burning method described in the above embodiment, the embodiment of the present application further provides a computer readable storage medium, for example, the non-transitory computer readable storage medium can be a read only memory (English: Read Only Memory, ROM), a random access memory (English: Random Access Memory, RAM), a CD-ROM, a magnetic tape, a floppy disk and an optical data storage device, etc. The storage medium stores computer instructions for performing the steps performed by the PC in the fuse burning method described in any of the above embodiments, which will not be repeated here.
[0100] Based on the fuse burning method described in the above embodiment, the embodiment of the present application further provides a computer readable storage medium, for example, the non-transitory computer readable storage medium can be a read only memory (English: Read Only Memory, ROM), a random access memory (English: Random Access Memory, RAM), a CD-ROM, a magnetic tape, a floppy disk and an optical data storage device, etc. The storage medium stores computer instructions for performing the steps performed by the PC in the fuse burning method described in any of the above embodiments, which will not be repeated here.
[0101] Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. It is intended that the specification and examples be considered as exemplary only, with the true scope and spirit of the application being indicated by the following claims.
[0102] It is to be understood that the application is not limited to the precise construction herein disclosed and shown in the drawings, and that various modifications and changes can be made by those skilled in the art without departing from the scope of the application. The scope of the application is limited only by the claims that follow.
Claims
1. A fuse programming system for zero-terminal devices, characterized in that, include: PCBs for electronic devices and tools that communicate via USB; The electronic device is equipped with tool software, which is used to determine the target USB port and the target file to be burned in response to user operation, and is also used to send the target file to be burned and the burning instruction to the tool PCB through the target USB port; The tool PCB is equipped with an FPC connector, which connects the tool PCB to the product board. After receiving the target file to be programmed and the programming instruction, the tool PCB sends a fuse programming signal to the product board. The fuse programming signal is used to instruct the target file to be programmed to be programmed into the fuse of the product board.
2. The fuse programming system according to claim 1, characterized in that, Both the electronic device and the tool PCB include multiple USB ports, and the USB ports included in the electronic device and the USB ports included in the tool PCB correspond one-to-one.
3. The fuse programming system according to claim 2, characterized in that, The tool PCB is also used to send a fuse programming read signal to the product board through the FPC connector after programming is completed. The fuse programming read signal is used to indicate the reading of the programming result.
4. The fuse programming system according to claim 3, characterized in that, The tool PCB also includes a microcontroller and an FPGA connected to it; the microcontroller is connected to a USB port on the tool PCB, and the FPGA is connected to the FPC connector; The FPGA is used, under the control of the microcontroller, to send the fuse programming signal or the fuse programming read signal to the FPC connector according to the fuse programming timing sequence, and to send the programming result back to the microcontroller. The microcontroller is used to receive the target file to be burned, parse the control command, and send the burning result back to the electronic device; The software tool is also used to display the burning results.
5. The fuse programming system according to any one of claims 1 to 4, characterized in that, The tool PCB also includes one or more of the following: a power indicator, a working status indicator, a programming result indicator, and a reset button.
6. A fuse programming method, characterized in that, The method, applied to an electronic device in the fuse programming system for zero terminals as described in claim 1, comprises: In response to the first action, the utility software is launched, and multiple USB port options are displayed on the main interface; In response to the second operation, the target USB port is determined; In response to the third operation, the target USB port is opened; In response to the fourth operation, multiple files to be burned are displayed on the main interface; In response to the fifth operation, the target file to be burned is determined; In response to the sixth operation, the burning process begins.
7. The method according to claim 6, characterized in that, After opening the target USB port, the method further includes: The first prompt message is displayed on the main interface, indicating that the USB port is open.
8. The method according to claim 6, characterized in that, When starting the burning process, the method further includes displaying the burning progress in the form of a progress bar on the main interface.
9. The method according to any one of claims 6 to 8, characterized in that, The method further includes: after successful programming, displaying a second prompt on the main interface, indicating that the fuse programming is complete.
10. An electronic device, characterized in that, It includes a processor and a memory, the memory storing at least one computer instruction, which is loaded and executed by the processor to perform the steps of the method according to any one of claims 6 to 9.
11. A computer-readable storage medium, characterized in that, The storage medium stores at least one computer instruction, which is loaded and executed by a processor to implement the steps of the method according to any one of claims 6 to 9.