Nozzle data reorganization and alignment method and system based on FPGA (Field Programmable Gate Array)
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HANGZHOU YOUSHITAI INFORMATION TECH CO LTD
- Filing Date
- 2025-12-15
- Publication Date
- 2026-05-12
AI Technical Summary
一方面,数据聚类重组缺乏系统性策略,未针对喷头喷点高度分布与打印脉冲的关联性进行优化,导致数据读取与缓存过程中资源占用率高,无法匹配高速喷头的工作节奏;
[0013]与现有技术相比,本发明具有的有益效果至少包括:
Smart Images

Figure CN122018826A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the technical field of FPGA and digital printing combination, specifically relating to an FPGA-based method and system for reorganizing and aligning printhead data. Background Technology
[0002] With the rapid development of digital printing technology, the market demands increasingly higher printing accuracy, speed, and capacity from printing equipment. The efficiency of printhead data reassembly and alignment is a key factor limiting equipment performance. Current digital printing machines, when processing raw image data, need to precisely match image pixel information with printhead dot positions to ensure the clarity and integrity of the printed pattern. Examples include a printing device and method disclosed in patent application CN102180006A and a method, device, equipment, and storage medium for obtaining printing alignment calibration values disclosed in patent application CN110816087A. Traditional data processing methods largely rely on general-purpose CPU processors.
[0003] However, the serial processing architecture of the CPU is difficult to handle the real-time processing requirements of high-resolution images, and data delays are prone to occur, causing the printhead printing pulses and data outputs to be out of sync, resulting in problems such as pattern misalignment and blurring, which seriously affects the printing quality. In recent years, FPGAs (Field-Programmable Gate Arrays) have been increasingly introduced into the field of digital printing data processing due to their advantages of strong parallel processing capabilities and hardware reconfigurability. However, existing FPGA-based printhead data processing solutions still have significant drawbacks: On the one hand, the data clustering and recombination lacks a systematic strategy and has not optimized the correlation between the nozzle height distribution and the printing pulse, resulting in high resource consumption during data reading and caching, which cannot match the working rhythm of high-speed nozzles; On the other hand, without considering the special characteristics of the nozzle area dot mapping, additional calibration steps are still required after data reconstruction, which further reduces printing efficiency and makes it difficult to meet the demand for high-efficiency output of the printing machine.
[0004] Therefore, there is an urgent need for a novel FPGA-based nozzle data reassembly and alignment method to solve the problems of low efficiency, poor resource utilization, and insufficient flexibility in existing technologies. Summary of the Invention
[0005] In view of the above, the purpose of this invention is to provide a printhead data reassembly and alignment method and system based on FPGA, so as to improve the efficiency of printhead data reassembly and alignment, improve resource utilization, and achieve high-efficiency output of printing machines.
[0006] To achieve the above-mentioned objectives, an embodiment provides an FPGA-based nozzle data reassembly and alignment system, comprising: a data clustering and reassembly unit for data of the same height, a data storage unit, a region mapping data reassembly unit, and a data output unit. The same-height data clustering and recombination unit is used to receive the original image scan line data, and according to the printer nozzle position mapping relationship, cluster the nozzle data of the same height in the original image scan line data to obtain same-height cluster data, and write it sequentially into the cache; The data storage unit is used to read and store clustered data of the same height. According to the spray point position requirement of a printing pulse, the jump address reads the clustered data of the same height row of the same height and performs clustering and recombination to obtain the same printing pulse data; it is also used to read and store region mapping data. The region mapping data reorganization unit is used to reorganize the same print pulse data of a print pulse according to the nozzle mapping relationship of the printer nozzle area to obtain region mapping data, and write it sequentially into the buffer; The data output unit is used to output the region mapping data according to the printing pulse.
[0007] Preferably, in the same-height data clustering and recombination, clustering the spray point data of the same height in the original image scan line data to obtain same-height clustered data includes: Each time the amount of inkjet data from a single digital printing machine scan line in the original image scan line data is clustered, clustered data of the same height is obtained.
[0008] Preferably, in the data storage unit, according to the spray point position requirement of a printing pulse, the jump address reads the same height cluster data of the corresponding height row, including: During data reading, the address offset is calculated based on the correspondence between the spray point heights, and the address offset is used to read the clustered data of the same height row at the corresponding height by skipping the address.
[0009] Preferably, the original image scan line data received by the same-height data clustering and recombination unit is obtained by the host computer through PCIe transmission.
[0010] To achieve the above-mentioned objectives, embodiments of the present invention also provide an FPGA-based nozzle data reassembly and alignment method, employing the aforementioned system and including the following steps: Same-height data clustering and recombination steps: The same-height data clustering and recombination unit receives the original image scan line data, and according to the printer nozzle position mapping relationship, the nozzle data of the same height in the original image scan line data are clustered to obtain same-height cluster data, and then written sequentially into the data storage unit. The same printing pulse data clustering and recombination steps are as follows: Based on the spray point position requirements of a printing pulse, the data storage unit reads the same height cluster data of the corresponding height row by skipping the address and performs clustering and recombination to obtain the same printing pulse data; The area mapping data reconstruction step is as follows: The area mapping data reconstruction unit uses the area mapping data reconstruction unit to reconstruct the same print pulse data of a print pulse according to the print head area mapping relationship to obtain area mapping data, and then writes it sequentially into the data storage unit. Data output control steps: Use the data output unit to output the area mapping data in the data storage unit according to the printing pulse.
[0011] The method further includes: after obtaining clustered data of the same height and representing it in the form of an array, padding the high bits of the array data with 0 to 256 bits, and then writing it into the cache in sequence.
[0012] Preferably, the finite state machine corresponding to the storage function of the data storage unit operates as follows: After system reset, the data storage unit first enters an idle state. When a request for data input is received after the same-height clustering and recombination, it jumps to the data sequential writing state, writing data sequentially to memory according to consecutive addresses until the amount of data for one same-height clustering and recombination is reached, then enters the idle state. It then checks if enough data has been written. If the amount of data written is sufficient, it enters the data skip-line reading state, reading memory skip-line according to specific addresses until the image data of one print pulse is read skip-line, then enters the idle state. Otherwise, it waits for the next sequential write request, waits for the region mapping data recombination unit to complete mapping and recombination, and enters the region mapping data writing state, writing data to memory according to sequential addresses until the image data of one print pulse is written, then enters the idle state. It then checks if enough data has been written. If so, it enters the data output state, reading data sequentially according to consecutive addresses until the data is read out, then enters the idle state. Otherwise, it waits for the next region mapping data write.
[0013] Compared with the prior art, the beneficial effects of the present invention include at least the following: This invention employs a row-based clustering and skip address reading strategy, which significantly improves memory operation efficiency and FPGA resource utilization. It can adapt to the printing needs of high-speed printheads and supports the differences in nozzle distribution of different printheads, offering high flexibility and effectively improving the printing efficiency and capacity of printing machines. Attached Figure Description
[0014] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0015] Figure 1 This is a schematic diagram of the structure of the FPGA-based nozzle data reassembly and alignment system provided in the embodiment; Figure 2 This is a schematic diagram of the finite state machine of the data storage unit provided in the embodiment; Figure 3 This is a flowchart of nozzle data reassembly and alignment based on FPGA provided in the embodiment. Detailed Implementation
[0016] To make the objectives, technical solutions, and advantages of this invention clearer, the 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 merely illustrative of the invention and do not limit the scope of protection of this invention.
[0017] The inventive concept of this invention is to address the problems of low data processing efficiency, poor resource utilization, and difficulty in adapting to high-speed printing requirements in the fields of FPGA technology and digital printing technology. This invention provides an FPGA-based printhead data reassembly and alignment scheme. like Figure 1 As shown in the embodiment, an FPGA-based nozzle data reassembly and alignment system includes: a data clustering and reassembly unit of the same height, a data storage unit, a region mapping data reassembly unit, and a data output unit.
[0018] The same-height data clustering and recombination unit is used to receive the original image scan line data transmitted by the host computer through PCIe, and perform same-height spray point clustering on the data of one printing pulse output of the original image according to the printer nozzle position mapping relationship. That is, the same-height spray point data in the original image scan line data are clustered to obtain same-height clustered data, and then written sequentially to the buffer.
[0019] Specifically, when performing clustering of data at the same height, the spray point data of one scan line in the original image scan line data is clustered each time to obtain clustered data at the same height, and the clustered data block is written to the cache after the clustering is completed.
[0020] The data storage unit is used to read and store the same-height clustered data output by the same-height data clustering and recombination unit. According to the spray point position requirement of a printing pulse, the jump address reads the same-height clustered data of the corresponding height row, performs clustering and recombination to obtain the same printing pulse data, realizes the same printing pulse data clustering, and sends it to the region mapping data recombination unit. It is also used to read and store the region mapping data completed by the region mapping data recombination unit.
[0021] Specifically, during data reading, the address offset is calculated based on the correspondence of the spray point heights. Based on the address offset, the data of the same height cluster in the corresponding height row is read by skipping the address to complete the data clustering of one scan row.
[0022] The region mapping data reorganization unit is used to receive the same print pulse data sent by the data storage unit after clustering the same print pulse data, and according to the nozzle mapping relationship of the printer nozzle area, to reorganize the same print pulse data of a print pulse according to the nozzle distribution of the nozzle area to obtain region mapping data, and write it sequentially into the buffer. The data output unit is used to output the area mapping data after area mapping is completed to the printhead module according to the printing pulse to realize printing control.
[0023] like Figure 2 As shown in the embodiment, the finite state machine of the data storage unit operates as follows: After system reset, the data storage unit first enters an idle state. When a request for data input is received after the same-height clustering and recombination, it jumps to the data sequential writing state, writing data sequentially to memory according to consecutive addresses until the amount of data for one same-height clustering and recombination is reached, then enters the idle state. It then checks if enough data has been written. If the amount of data written is sufficient, it enters the data skip-line reading state, reading memory skip-line according to specific addresses until the image data of one print pulse is read skip-line, then enters the idle state. Otherwise, it waits for the next sequential write request, waits for the region mapping data recombination unit to complete mapping and recombination, and enters the region mapping data writing state, writing data to memory according to sequential addresses until the image data of one print pulse is written, then enters the idle state. It then checks if enough data has been written. If so, it enters the data output state, reading data sequentially according to consecutive addresses until the data is read out, then enters the idle state. Otherwise, it waits for the next region mapping data write.
[0024] The embodiment also provides an FPGA-based nozzle data reassembly and alignment method, such as... Figure 3 As shown, it includes the following steps: S1, Same Height Data Clustering and Reorganization Step: The same height data clustering and reorganization unit receives the original image scan line data, and according to the printer nozzle position mapping relationship, the nozzle data of the same height in the original image scan line data are clustered to obtain same height cluster data, and then written sequentially into the data storage unit. Specifically, the size of the original data corresponding to one scan line is X *2 bits, containing data distributed at different heights N The maximum phase difference of each original image row M Okay, based on the mapping relationship of the nozzle spray point positions, cluster the spray points at the same height to obtain... N There are arrays, respectively. Y 1. Y 2…… Y N Each array X / M *2-bit data; pad the high bits of the reassembled array data with 0 to make it 256 bits, which is suitable for using the RAM block resources inside the FPGA. At the same time, the bit width of the externally extended DDR3 memory is 32 bits, and 256 bits is exactly the burst length of a DDR3 burst operation of 8 bits, which can improve the operating efficiency of DDR3.
[0025] S2, Same print pulse data clustering and recombination steps: Using the data storage unit, based on the spray point position requirement of a print pulse, the jump address reads the same height cluster data of the corresponding height row and performs clustering and recombination to obtain the same print pulse data.
[0026] Specifically, based on the spray point position of a printing pulse, data is read by skipping addresses, and the spray point data of the same printing pulse are clustered, for example, the first spray point of the current image. k , select the first k j± Y 1 line Y Array 1, the first k ± Y 2 lines Y 2 arrays, ..., k ± Y N OK Y N The array is clustered and reorganized, where + or - is determined based on the nozzle installation direction.
[0027] S3, Area Mapping Data Reassembly Step: Using the area mapping data reassembly unit, the same print pulse data of a print pulse is mapped and reassembled according to the print head area mapping relationship to obtain area mapping data, and then sequentially written into the data storage unit.
[0028] S4, Data Output Control Steps: Use the data output unit to output the area mapping data in the data storage unit according to the printing pulse.
[0029] Once all data in a scan line has been reassembled and aligned, the data is output sequentially according to the print pulses. Data from different lines of the same scan line are output on different print pulses according to their highly clustered order, and the amount of data output in one print pulse is the same as the amount of data in one scan line.
[0030] The specific embodiments described above illustrate the technical solution and beneficial effects of the present invention in detail. It should be understood that the above description is only the most preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, additions, and equivalent substitutions made within the scope of the principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A nozzle data reassembly and alignment system based on FPGA, characterized in that, include: The system includes a data clustering and recombination unit, a data storage unit, a region mapping data recombination unit, and a data output unit. The same-height data clustering and recombination unit is used to receive the original image scan line data, and according to the printer nozzle position mapping relationship, cluster the nozzle data of the same height in the original image scan line data to obtain same-height cluster data, and write it sequentially into the cache; The data storage unit is used to read in and store clustered data of the same height. According to the spray point position requirement of a printing pulse, the jump address reads the clustered data of the same height row of the corresponding height row and performs clustering and recombination to obtain the same printing pulse data. It is also used to read in and store region mapping data; The region mapping data reorganization unit is used to reorganize the same print pulse data of a print pulse according to the nozzle mapping relationship of the printer nozzle area to obtain region mapping data, and write it sequentially into the buffer; The data output unit is used to output the region mapping data according to the printing pulse.
2. The FPGA-based nozzle data reassembly and alignment system according to claim 1, characterized in that, In the same-height data clustering and recombination, the spray point data of the same height in the original image scan line data are clustered to obtain same-height clustered data, including: Each time the amount of inkjet data from a single digital printing machine scan line in the original image scan line data is clustered, clustered data of the same height is obtained.
3. The FPGA-based nozzle data reassembly and alignment system according to claim 1, characterized in that, In the data storage unit, based on the spray point position requirement of a printing pulse, the jump address reads the same height cluster data of the corresponding height row, including: During data reading, the address offset is calculated based on the correspondence between the spray point heights, and the address offset is used to read the clustered data of the same height row at the corresponding height by skipping the address.
4. The FPGA-based nozzle data reassembly and alignment system according to claim 1, characterized in that, The original image scan line data received by the same height data clustering and recombination unit is obtained by the host computer through PCIe transmission.
5. A nozzle data reassembly and alignment method based on FPGA, characterized in that, The system described in any one of claims 1-4 comprises the following steps: Same-height data clustering and recombination steps: The same-height data clustering and recombination unit receives the original image scan line data, and according to the printer nozzle position mapping relationship, the nozzle data of the same height in the original image scan line data are clustered to obtain same-height cluster data, and then written sequentially into the data storage unit. The same printing pulse data clustering and recombination steps are as follows: Based on the spray point position requirements of a printing pulse, the data storage unit reads the same height cluster data of the corresponding height row by skipping the address and performs clustering and recombination to obtain the same printing pulse data; The area mapping data reconstruction step is as follows: The area mapping data reconstruction unit uses the area mapping data reconstruction unit to reconstruct the same print pulse data of a print pulse according to the print head area mapping relationship to obtain area mapping data, and then writes it sequentially into the data storage unit. Data output control steps: Use the data output unit to output the area mapping data in the data storage unit according to the printing pulse.
6. The FPGA-based nozzle data reassembly and alignment method according to claim 5, characterized in that, During data clustering, the amount of inkjet data from one digital printing machine scan line in the original image scan line data is clustered to obtain clustered data of the same height.
7. The FPGA-based nozzle data reassembly and alignment method according to claim 5, characterized in that, During data reading, the address offset is calculated based on the correspondence between the spray point heights, and the address offset is used to read the clustered data of the same height row at the corresponding height by skipping the address.
8. The FPGA-based nozzle data reassembly and alignment method according to claim 5, characterized in that, Also includes: After obtaining clustered data of the same height and representing it in array form, the high-order bits of the array data are padded with 0 to 256 bits and then written into the cache in sequence.
9. The FPGA-based nozzle data reassembly and alignment method according to claim 5, characterized in that, The finite state machine corresponding to the storage function of the data storage unit works as follows: After the system is reset, the data storage unit first enters an idle state. When a request for data input is received after the same height clustering and recombination, it jumps into the data sequential writing state and writes the data sequentially to the memory according to the consecutive addresses until the amount of data for one same height clustering and recombination is completed, then it enters an idle state. If sufficient data has been written, the system enters a data skip-line reading state. It reads memory skip-line according to specific addresses until the image data of one print pulse is read completely, then enters an idle state. Otherwise, it waits for the next sequential write request and for the region mapping data reconstruction unit to complete mapping and reconstruction. Then, it enters a region mapping data writing state, writing data to memory sequentially according to addresses until the image data of one print pulse is written completely, then enters an idle state. If sufficient data has been written, it enters a data output state, reading data sequentially according to consecutive addresses until all data is read, then enters an idle state. Otherwise, it waits for the next region mapping data write.