A data transmission system
By introducing timing negotiation modules and data processing modules into the data transmission system, timing negotiation and data preparation of data packets are realized, and the problems of data transmission bandwidth bottlenecks and data failure in time are solved in the prior art are solved, thereby improving data processing efficiency.
Patent Information
- Application Number
- CN202111406084.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-24
- Publication Date
- 2025-05-06
- Estimated Expiration
- 2041-11-24
AI Technical Summary
When processing high-speed camera data, the channel bandwidth becomes a bottleneck due to direct data transfer, which cannot meet the transmission needs of image data. A large amount of data is not processed in time in memory, resulting in wasted transmission time.
A data transmission system is designed, including a timing negotiation module and a data processing module. The timing negotiation module conducts timing negotiation of data packets. The data processing module prepares data for data packets under timing control. There is a time overlap between the data preparation stage of the i-th packet and the timing negotiation stage of the i+1 data packet.
By dividing the pending data into multiple copies and having time overlap between modules, the idle phase is avoided, hardware resources are fully utilized, and data processing efficiency is improved.
Smart Images

Figure CN114140313B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to data processing technology, and in particular to a data transmission system. Background Art
[0002] In recent years, image processing has developed rapidly. At the same time, the resolution and frame rate of cameras have continued to rise, and the amount of data has continued to increase, which has effectively improved camera performance, but also brought great challenges to the system's real-time data processing.
[0003] At present, there are two ways for equipment manufacturers to use high-speed cameras: one is to use the CPU + FPGA method. In this method, the FPGA needs to pre-process the acquired images and then transmit the pre-processed images to the CPU in the industrial computer. The other is to use the DSP + FPGA method, with the FPGA as a coprocessor and the DSP as the main processor to schedule and calculate data.
[0004] However, no matter which method is used, direct data transfer is adopted, which will cause the channel bandwidth to become the bottleneck of data transmission. Due to the limitation of data transmission bandwidth, the hardware architecture of some image processing systems cannot meet the transmission requirements of image data. In addition, a large amount of data is transferred to the memory at one time and is not used immediately, resulting in a waste of transmission time. Summary of the invention
[0005] An embodiment of the present invention provides a data transmission system, which can improve data processing efficiency.
[0006] An embodiment of the present invention provides a data transmission system, including:
[0007] A timing negotiation module is used to formulate timing negotiation information of each module according to the data to be processed, and to perform timing negotiation on the 1st to Nth data packets in sequence;
[0008] A data processing module, communicating with the timing negotiation module, and used to perform data preparation for the first to Nth data packets in sequence under the timing control of the timing negotiation module;
[0009] The working process of a data packet includes a timing negotiation phase and a data preparation phase executed sequentially, wherein the data preparation phase of the i-th data packet overlaps with at least part of the time period of the timing negotiation phase of the i+1-th data packet, N and i are positive integers, N≥2, N≥i≥1.
[0010] In an embodiment of the present invention, a data transmission system includes a timing negotiation module and a data processing module. The timing negotiation module performs timing negotiation on the 1st to Nth data packets in sequence, and the data processing module performs data preparation on the 1st to Nth data packets that have completed the negotiation in sequence, wherein the data preparation phase of the i-th data packet overlaps with at least part of the time period of the timing negotiation phase of the i+1-th data packet. In the prior art, the data to be processed is moved to the memory at one time, wherein a large amount of data is not processed immediately. In comparison, the processing mechanism of the data transmission system in an embodiment of the present invention is different from the prior mechanism. The data to be processed is divided into N parts, and each module processes N data packets in sequence. There is no idle phase, and the data processing phases of each module overlap in time, which can improve data processing efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following briefly introduces the drawings required for use in the embodiments or the prior art descriptions. Obviously, although the drawings described below are some specific embodiments of the present invention, for those skilled in the art, the basic concepts of the device structure, driving method and manufacturing method disclosed and suggested by the various embodiments of the present invention can be expanded and extended to other structures and drawings, and there is no doubt that these should be within the scope of the claims of the present invention.
[0012] Figure 1 is a schematic diagram of a data transmission system provided by an embodiment of the present invention;
[0013] Figure 2 yes Figure 1 A timing diagram of
[0014] Figure 3 yes Figure 1 Another timing diagram of
[0015] Figure 4 yes Figure 1 Another timing diagram of
[0016] Figure 5 is a schematic diagram of another data transmission system provided by an embodiment of the present invention;
[0017] Figure 6 It is a schematic diagram of data segmentation;
[0018] Figure 7 This is another schematic diagram of data segmentation;
[0019] Figure 8 is a schematic diagram of a data transmission method provided by an embodiment of the present invention;
[0020] Fig. 9is a schematic diagram of another data transmission system provided by an embodiment of the present invention;
[0021] Fig.10 It is a schematic diagram of another data transmission system provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0022] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described through implementation methods with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the basic concepts disclosed and suggested by the embodiments of the present invention, all other embodiments obtained by those skilled in the art are within the scope of protection of the present invention.
[0023] refer to Figure 1 As shown, it is a schematic diagram of a data transmission system provided by an embodiment of the present invention. The data transmission system provided by this embodiment includes: a timing negotiation module 10, which is used to formulate timing negotiation information of each module according to the data to be processed, and perform timing negotiation on the 1st to Nth data packets in sequence; a data processing module 20, which communicates with the timing negotiation module 10, and is used to perform data preparation on the 1st to Nth data packets in sequence under the timing control of the timing negotiation module 10; the working process of a data packet includes a timing negotiation stage and a data preparation stage executed in sequence, wherein the data preparation stage of the i-th data packet overlaps with at least part of the time period of the timing negotiation stage of the i+1-th data packet, and N and i are positive integers, N≥2, N≥i≥1. Figure 2 yes Figure 1 It can be understood that the timing negotiation module 10 and the data processing module 20 are only part of the data transmission system, and the data transmission system also includes other modules, which will not be described in detail here.
[0024] In this embodiment, the timing negotiation module 10 formulates the working timing of each other module in the data transmission system according to the data to be processed. The set of working timings belongs to the timing negotiation information. It can be understood that each module includes one or more modules or units, so the timing negotiation information specifically includes the working timing of each module or unit. When each module in the data transmission system is enabled by the timing negotiation module 10, it works according to the timing command in the timing negotiation information. Then, each module in the data transmission system will not be idle and will always maintain the state of processing data, so that the hardware resources of each module can be fully utilized to improve the data transmission efficiency.
[0025] Those skilled in the art can understand that the timing negotiation information is associated with the data to be processed, so if the size, content and other parameters of the data to be processed change, the timing negotiation information will also change accordingly. It can be understood that the working timing of each module is only part of the timing negotiation information, and the timing negotiation information also includes data algorithms that enable each module to work, etc., and is not limited to the working timing, which will be specifically described in subsequent embodiments.
[0026] After the timing negotiation module 10 obtains the data to be processed, it performs timing negotiation on the 1st to Nth data packets in sequence. The data packet described here is the object of a timing negotiation. The data packet can be a strip of data in the data to be processed, or a data area in the data to be processed. It can be understood that the data in a data packet is a coherent data segment divided from the data to be processed, and the size of each data packet can be the same or different. In short, the timing negotiation module 10 divides the obtained data to be processed into N data segments in sequence, and each data segment constitutes a data packet. Then the timing negotiation module 10 performs timing negotiation on the data packets starting from the 1st data packet in the order of division.
[0027] It can be understood that the timing negotiation module 10 in the data transmission system includes multiple modules for formulating data timing.
[0028] In this embodiment, the data transmission system further includes a data processing module 20. The data processing module 20 is connected in communication with the timing negotiation module 10. The communication connection described herein may be a wireless communication connection or a wired communication connection. Figure 1 The data processing module 20 shown in FIG. 1 is connected to the timing negotiation module 10 by wired communication. Under the timing control of the timing negotiation module 10, the data processing module 20 sequentially prepares data for the first to Nth data packets. Here, data preparation can be understood as cutting and distributing the data to be processed.
[0029] The working process of a data packet includes a timing negotiation phase and a data preparation phase that are executed in sequence. For example, the working process of the first data packet is that the timing negotiation module 10 performs timing negotiation on the first data packet. After the negotiation is completed, the data processing module 20 performs data preparation for the first data packet according to the timing negotiation information; the working process of the second data packet is that the timing negotiation module 10 performs timing negotiation on the second data packet. After the negotiation is completed, the data processing module 20 performs data preparation for the second data packet according to the timing negotiation information. The working process of each data packet is to execute the timing negotiation phase and the data preparation phase in sequence.
[0030] It should be noted that the data preparation phase of the i-th data packet overlaps with at least part of the time period of the timing negotiation phase of the i+1-th data packet, and N and i are positive integers, N≥2, N≥i≥1. Specifically, the timing negotiation module 10 performs timing negotiation on the first data packet; sequentially, the data processing module 20 performs data preparation on the first data packet according to the timing negotiation information, and at the same time, the timing negotiation module 10 performs timing negotiation on the second data packet; sequentially, the data processing module 20 performs data preparation on the second data packet according to the timing negotiation information, and at the same time, the timing negotiation module 10 performs timing negotiation on the third data packet. Obviously, the timing negotiation module 10 always keeps executing the timing negotiation function, and there is no idle stage; the data processing module 20 always keeps executing the data preparation function, and there is no idle stage.
[0031] refer to Figure 2 As shown, a data processing process of the data transmission system is divided into t1, t2, t3, t4, ... according to the timing negotiation stages of the 1st to Nth data packets. In the figure, timing negotiation i is the timing negotiation for the i-th data packet, and data preparation i is the data preparation for the i-th data packet.
[0032] In the t1 phase, the timing negotiation module 10 performs timing negotiation on the first data packet;
[0033] In the t2 phase, the timing negotiation module 10 performs timing negotiation on the second data packet, and at the same time, the data processing module 20 performs data preparation on the first data packet after the negotiation is completed according to the timing negotiation information;
[0034] In the t3 phase, the timing negotiation module 10 performs timing negotiation on the third data packet, and at the same time, the data processing module 20 performs data preparation on the second data packet after negotiation according to the timing negotiation information;
[0035] At stage t4, the timing negotiation module 10 performs timing negotiation on the fourth data packet, and at the same time, the data processing module 20 performs data preparation on the third data packet after negotiation according to the timing negotiation information;
[0036] Similarly, while the timing negotiation module 10 is negotiating the timing of the next data packet, ie, the i+1th data packet, the data processing module 20 is preparing data for the previous data packet, ie, the ith data packet, which has completed the negotiation. Then, each module in the data transmission system is not idle and keeps processing data.
[0037] It should be noted that Figure 2 The data preparation phase of the ith data packet is shown to be within the time period of the timing negotiation phase of the i+1th data packet. In other embodiments, part of the time period of the data preparation phase of the ith data packet may be within the time period of the timing negotiation phase of the i+1th data packet.
[0038] In an embodiment of the present invention, a data transmission system includes a timing negotiation module and a data processing module. The timing negotiation module performs timing negotiation on the 1st to Nth data packets in sequence, and the data processing module performs data preparation on the 1st to Nth data packets that have completed the negotiation in sequence, wherein the data preparation phase of the i-th data packet overlaps with at least part of the time period of the timing negotiation phase of the i+1-th data packet. In the prior art, the data to be processed is moved to the memory at one time, wherein a large amount of data is not processed immediately. In comparison, the processing mechanism of the data transmission system in an embodiment of the present invention is different from the prior mechanism. The data to be processed is divided into N parts, and each module processes N data packets in sequence. There is no idle phase, and the data processing phases of each module overlap in time, which can improve data processing efficiency.
[0039] Exemplarily, based on the above technical solution, the optional data processing module 20 is also used to transmit data for the 1st to Nth data packets in sequence; the working process of a data packet also includes a data transmission phase after the data preparation phase, and the data transmission phase of the i-th data packet overlaps with at least part of the time period of the timing negotiation phase of the i+1-th data packet.
[0040] The data processing module 20 also performs data transmission for the 1st to Nth data packets in sequence under the timing control of the timing negotiation module 10. Data transmission is the transmission of the segmented data packets to other internal modules. For example, the working process of the first data packet is that the timing negotiation module 10 performs timing negotiation on the first data packet. After the negotiation is completed, the data processing module 20 performs data preparation for the first data packet according to the timing negotiation information. After the preparation is completed, the data processing module 20 transmits the first data packet to other internal modules; the working process of the second data packet is that the timing negotiation module 10 performs timing negotiation on the second data packet. After the negotiation is completed, the data processing module 20 performs data preparation for the second data packet according to the timing negotiation information. After the preparation is completed, the data processing module 20 transmits the second data packet to other internal modules. The working process of each data packet is to execute the timing negotiation stage, the data preparation stage and the data transmission stage in sequence. It can be understood that the other internal modules output by the data packet are other modules not shown in the data processing module 20, which are used for subsequent data processing.
[0041] The data transmission phase of the i-th data packet overlaps at least part of the time period of the timing negotiation phase of the i+1-th data packet. Specifically, the timing negotiation module 10 performs timing negotiation on the first data packet; sequentially, the data processing module 20 performs data preparation on the first data packet according to the timing negotiation information, and after the preparation is completed, the data processing module 20 transmits the first data packet to other internal modules, and at the same time, the timing negotiation module 10 performs timing negotiation on the second data packet; sequentially, the data processing module 20 performs data preparation on the second data packet according to the timing negotiation information, and after the preparation is completed, the data processing module 20 transmits the second data packet to other internal modules, and at the same time, the timing negotiation module 10 performs timing negotiation on the third data packet. Obviously, the timing negotiation module 10 always keeps executing the timing negotiation function, and there is no idle stage; the data processing module 20 always keeps executing the data preparation function and the transmission function, and there is no idle stage.
[0042] refer to Figure 3 As shown, Figure 1 Another timing diagram is shown in FIG. 1 . In the diagram, data transmission i is data transmission of the i-th data packet.
[0043] In the t1 phase, the timing negotiation module 10 performs timing negotiation on the first data packet;
[0044] In the t2 phase, the timing negotiation module 10 performs timing negotiation on the second data packet, and at the same time, the data processing module 20 performs data preparation and transmission on the first data packet after the negotiation is completed according to the timing negotiation information;
[0045] In the t3 phase, the timing negotiation module 10 performs timing negotiation on the third data packet, and at the same time, the data processing module 20 performs data preparation and transmission on the second data packet after negotiation according to the timing negotiation information;
[0046] At stage t4, the timing negotiation module 10 performs timing negotiation on the fourth data packet, and at the same time, the data processing module 20 performs data preparation and transmission on the third data packet after negotiation according to the timing negotiation information;
[0047] By analogy, while the timing negotiation module 10 performs timing negotiation on the next data packet, i.e., the i+1th data packet, the data processing module 20 sequentially performs data preparation and data transmission on the previous data packet, i.e., the ith data packet, which has completed the negotiation. Then, each module in the data transmission system is not idle and always maintains the state of processing data. A new data processing mechanism is provided, in which the data processing stages of each module overlap in time, which can improve the data processing efficiency.
[0048] Optionally, part of the time period of the timing negotiation phase of the (i+1)th data packet is multiplexed as the data preparation phase of the (i)th data packet; and / or part of the time period of the timing negotiation phase of the (i+1)th data packet is multiplexed as the data transmission phase of the (i)th data packet.
[0049] In this embodiment, the timing negotiation phase of the i+1th data packet can be optionally multiplexed into the data preparation phase and the data transmission phase of the i-th data packet. That is, during the timing negotiation phase of the timing negotiation of the i+1th data packet by the timing negotiation module 10, the data processing module 20 completes the data preparation and transmission of the i-th data packet. The data preparation phase of the i-th data packet can be optionally located within the timing negotiation phase of the i+1th data packet, so that part of the time period of the timing negotiation phase is multiplexed as data preparation; or, the data transmission phase of the i-th data packet can be located within the timing negotiation phase of the i+1th data packet, so that part of the time period of the timing negotiation phase is multiplexed as data transmission. It is also optional that part of the time period of the data preparation phase of the i-th data packet overlaps with part of the time period of the timing negotiation phase of the i+1th data packet; and / or part of the time period of the data transmission phase of the i-th data packet overlaps with part of the time period of the timing negotiation phase of the i+1th data packet.
[0050] Exemplarily, based on the above technical solution, the optional data processing module 20 is also used to perform data calculations on the 1st to Nth data packets in sequence; the working process of a data packet also includes a data calculation phase after the data preparation phase, and the data calculation phase of the i-th data packet overlaps with at least part of the time period of the timing negotiation phase of the i+2-th data packet.
[0051] The data processing module 20 also performs data calculations on the 1st to Nth data packets in sequence under the timing control of the timing negotiation module 10. Data calculation is the operation and processing of data by other internal modules. For example, the working process of the i-th data packet is that the timing negotiation module 10 performs timing negotiation on the i-th data packet. After the negotiation is completed, the data processing module 20 performs data preparation for the i-th data packet according to the timing negotiation information. After the preparation is completed, the data processing module 20 transmits the i-th data packet to other internal modules, and then the data processing module 20 performs data calculations on the i-th data packet according to the timing negotiation information. The working process of each data packet is to execute the timing negotiation stage, the data preparation stage, the data transmission stage and the data calculation stage in sequence. It can be understood that the other internal modules that perform calculations and processing on the data packets are other modules not shown in the data processing module 20, which are used to perform data calculations.
[0052] The data calculation phase of the i-th data packet overlaps at least part of the time period of the timing negotiation phase of the i+2-th data packet. Specifically, the timing negotiation module 10 performs timing negotiation on the first data packet; sequentially, the timing negotiation module 10 performs timing negotiation on the second data packet, and at the same time, the data processing module 20 performs data preparation and transmission on the first data packet; sequentially, the timing negotiation module 10 performs timing negotiation on the third data packet, and at the same time, the data processing module 20 performs data preparation and transmission on the second data packet, and at the same time, the data processing module 20 performs data calculation on the first data packet. Obviously, the timing negotiation module 10 always keeps executing the timing negotiation function, and there is no idle phase; the data processing module 20 always keeps executing the data preparation, transmission and calculation functions, and there is no idle phase.
[0053] refer to Figure 4 As shown, Figure 1 Another timing diagram is shown in FIG. 1 . In the diagram, data calculation i is to perform data calculation on the i-th data packet.
[0054] In the t1 phase, the timing negotiation module 10 performs timing negotiation on the first data packet;
[0055] In the t2 phase, the timing negotiation module 10 performs timing negotiation on the second data packet, and at the same time, the data processing module 20 performs data preparation and transmission on the first data packet after the negotiation is completed according to the timing negotiation information;
[0056] In the t3 phase, the timing negotiation module 10 performs timing negotiation on the third data packet. Meanwhile, the data processing module 20 performs data preparation and transmission on the second data packet after negotiation according to the timing negotiation information. Meanwhile, the data processing module 20 performs data calculation on the first data packet.
[0057] At stage t4, the timing negotiation module 10 performs timing negotiation on the fourth data packet. Meanwhile, the data processing module 20 performs data preparation and transmission on the third data packet after negotiation according to the timing negotiation information. Meanwhile, the data processing module 20 performs data calculation on the second data packet.
[0058] By analogy, while the timing negotiation module 10 performs timing negotiation on the next data packet, i.e., the i+1th data packet, the data processing module 20 sequentially performs data preparation and data transmission on the previous data packet, i.e., the i-th data packet, which has completed the negotiation, and then performs data calculation on the i-1th data packet. Then, each module in the data transmission system is not idle and always maintains the state of processing data. A new data processing mechanism is provided, in which the data processing stages of each module overlap in time, which can improve data processing efficiency.
[0059] At least part of the time period of the optional timing negotiation phase of the i+2th data packet is multiplexed as the data calculation phase of the i-th data packet. In this embodiment, the optional timing negotiation phase of the i+2th data packet is also multiplexed as the data calculation phase of the i-th data packet. That is, during the timing negotiation phase of the timing negotiation of the i+2th data packet by the timing negotiation module 10, the data processing module 20 performs data calculation on the i-th data packet.
[0060] Exemplarily, based on the above technical solution, refer to Figure 5 As shown, it is a schematic diagram of another data transmission system provided by an embodiment of the present invention. The optional timing negotiation module 10 includes a system control module 11, a timing negotiation module 12 and a timing control module 13; the system control module 11 is used to obtain the data to be processed and generate data processing information according to the data to be processed, wherein the data processing information at least includes a data algorithm and a data parameter, and the data to be processed includes data composed of the 1st to the Nth data packets; the timing negotiation module 12 communicates with the system control module 11, and is used to calculate the data processing time information of each module according to the data processing information, so as to formulate the timing negotiation information, and perform timing negotiation on the 1st to the Nth data packets in sequence, and the timing negotiation information includes a timing command to enable data processing of each module; the timing control module 11 communicates with the timing negotiation module 12, and is used to distribute corresponding timing commands to each module according to the timing negotiation information, so as to trigger each module to perform data processing.
[0061] The optional timing negotiation information also includes the data processing algorithm corresponding to the timing command of each module; the timing negotiation module 11 also communicates with each module to send the data processing algorithm with time information to the corresponding module.
[0062] Taking the case where the data to be processed is image data, the data transmission system is an image data transmission system. The system control module 11 is responsible for planning the algorithm flow of image processing, image size and related parameters. The data algorithm, size and related parameters are the data processing information. The timing negotiation module 12 is responsible for negotiating with the system control module 11, and calculating the time consumed by each algorithm according to the algorithm flow of the system control module 11. The time includes data calculation time, data transmission time and data delay time. The time parameter belongs to the timing negotiation information. The timing negotiation module 12 is also used to send parameter queues and algorithm queues to other modules; at the same time, the timing negotiation module 12 also needs to negotiate with the data processing module 20 to obtain the address depth associated with it to determine the parameter queue depth and algorithm queue depth to be sent. The timing negotiation module 12 will feed back the negotiation results to the system control module 11.
[0063] The timing control module 13 strictly executes the timing distribution of each module in the data transmission system according to the negotiation results of the timing negotiation module 12, triggers the work of each module, such as triggering data preparation and data transmission in the form of a state machine. If an internal timing error occurs in a module in the data transmission system, the error module will also report the timing error to the timing control module 13. The timing control module 13 will directly report to the system control module 11, which will process it.
[0064] The optional data processing module 20 includes a data acquisition module 21 and a data allocation module 22; the data acquisition module 21 communicates with the timing negotiation module 10, and is used to collect the data to be processed when the timing negotiation module 10 is enabled; the data allocation module 22 communicates with the timing negotiation module 10 and the data acquisition module 21 respectively, and is used to prepare the data to be processed according to the timing negotiation information to obtain the first to Nth data packets. The optional data processing module 20 also includes a data transmission module 23 and a data processing component; the data transmission module 23 communicates with the timing negotiation module 10, the data allocation module 22 and the data processing component respectively, and is used to output the first to Nth data packets in sequence according to the timing negotiation information, so that the data processing component processes the first to Nth data packets in sequence. The optional data processing component includes an algorithm buffer module 24, a data processing module 25 and a data buffer module 26; the data processing component is used to receive the timing negotiation information and perform data calculations on the first to Nth data packets in sequence according to the data algorithm of the timing negotiation information.
[0065] In this embodiment, the timing negotiation module 12 calculates the time consumed by each algorithm according to the algorithm flow, which includes data calculation time, data transmission time and data delay time, and sends the parameter queue and algorithm queue to the data allocation module 22 and the algorithm cache module 24. At the same time, the timing negotiation module 12 also needs to negotiate with the data allocation module 22 and the algorithm cache module 24 to obtain the address depth associated with them, so as to determine the parameter queue depth and algorithm queue depth that should be sent.
[0066] The timing control module 13 triggers the sampling of the data acquisition module 21 according to the negotiation result of the timing negotiation module 12, that is, the data acquisition module 21 collects the data to be processed. At the same time, the timing control module 13 triggers the data allocation module 22 to perform data allocation and triggers the data transmission module 23 to perform data transmission in the form of a state machine.
[0067] Specifically, the data acquisition module 21 is responsible for acquiring the original image data and temporarily storing it in the data cache module A. The data cache module A caches the original image data in a first-in-first-out manner.
[0068] The data distribution module 22 is responsible for the cutting and distribution of image data. The image segmentation method is not limited, and a segmentation method based on the location area can be selected. The instructions and parameters of image segmentation are determined according to the timing negotiation information, and are sent to the timing negotiation module 12 in advance or in real time by the system control module 11, and then integrated into the queue by the timing negotiation module 12. The segmented image data is transferred to the data cache module 26 by the data transmission module 23 under the control of the timing control module 13. The data cache module 26 caches the segmented image data in a first-in-first-out manner.
[0069] The data transmission module 23 is also responsible for transmitting the algorithm queue and the segmented image data to the data processing module 25 at the same time in strict accordance with the timing instructions of the timing control module 13 .
[0070] The data processing module 25 performs image processing operations according to the retrieved algorithm queue and image data, and feeds back the final result to the system control module 11 .
[0071] The algorithm cache module 24 caches algorithm events in a first-in-first-out manner.
[0072] In this embodiment, a large amount of image data is transferred from the data acquisition module 21 to the data processing module 25 in the segmentation order, so that the data processing module 25 is not idle and keeps calculating the image data, which can improve the data processing efficiency.
[0073] It should be noted that the basis of the image data transmission system is based on timing guidance, queuing the storage interface and address of the image data, dividing a large amount of image data into N data packets, and each module processes the N data packets in sequence, so that each module will not be idle. If the timing negotiation and data operation stage can overlap with the image preparation and image transmission stage, the image transmission time can be optimized, and then the optimal image transmission speed can be achieved without additionally increasing the bandwidth of the data transmission channel. It is ensured that after the current image data processing is completed, the image data required for the next stage is ready and the image data processing can be directly carried out.
[0074] refer to Figure 6 The figure shows a schematic diagram of data segmentation, where the outer box represents a large image area, and the data is segmented into N strip areas. The image area stores data to be processed, and then the image area is segmented into N strips, and the data stored in each strip area is a data packet.
[0075] refer to Figure 7As shown in FIG. 1 , another schematic diagram of data segmentation is shown, in which the outer box represents a large image area, and the data is segmented into N square areas. The image area stores the data to be processed, and then the image area is segmented into N blocks, and the data stored in each square area is a data packet. The object of a timing negotiation can be a strip of the image area or any square area of the image area, which depends entirely on the software and algorithm strategy.
[0076] Based on the same inventive concept, an embodiment of the present invention further provides a transmission method of a data transmission system, and the data transmission system is the system described in any of the above embodiments.
[0077] refer to Figure 8 FIG. 1 is a schematic diagram of a data transmission method provided by an embodiment of the present invention. As shown in the figure, the data transmission method provided by this embodiment includes:
[0078] The timing negotiation module formulates the timing negotiation information of each module according to the data to be processed, and performs timing negotiation on the 1st to Nth data packets in sequence;
[0079] The data processing module performs data preparation for the 1st to Nth data packets in sequence under the timing control of the timing negotiation module; the working process of a data packet includes a timing negotiation phase and a data preparation phase executed in sequence, wherein the data preparation phase of the i-th data packet overlaps with at least part of the time period of the timing negotiation phase of the i+1-th data packet.
[0080] Combination Figures 4 to 8 , the data transmission method of this embodiment is explained. It can be understood that for the same data packet, after data preparation, it also includes data transmission and data calculation. Therefore, the overall transmission process of image data in a data area is timing negotiation → data preparation → data transmission → data calculation → output result. It starts with processing the first data packet.
[0081] The timing negotiation of the first packet (ie, timing negotiation 1) is performed in sequence.
[0082] After the timing negotiation of the first data packet is completed, the timing control module 13 triggers the data acquisition module 21 to acquire the image data and sequentially complete the segmentation (i.e., data preparation 1) and distribution (i.e., data transmission 1) of the image data. At the same time, the timing negotiation of the second data packet (timing negotiation 2) is performed.
[0083] After the data transmission of the first data packet is completed, the timing control module 13 triggers the data processing component to perform data calculation and processing, and then outputs the calculation result. At the same time, the timing negotiation of the third data packet (timing negotiation 3) is performed.
[0084] The transmission process of a data packet is as follows: Figure 8 As shown, no further explanation is given here. It can be seen that there is time overlap between the timing negotiation phase and the data transmission phase of the data processing module, which can improve data transmission efficiency.
[0085] refer to Fig. 9 As shown in FIG. 1 , it is a schematic diagram of another data transmission system provided by an embodiment of the present invention. Fig. 9 As shown, the optional timing negotiation module, timing control module, data acquisition module (Cameralink interface module) and data distribution module (image data distribution) can be implemented by FPGA. The data processing module can be implemented by DSP. The data cache module can be implemented by DDR. Among them, the data transmission module can be an SRIO module, a DMA module or other data transmission modules supported by FPGA. The data acquisition module can be composed of various image transmission protocols.
[0086] refer to Fig.10 FIG. 1 is a schematic diagram of another data transmission system provided by an embodiment of the present invention. Fig.10 and Fig. 9 The difference is that the data processing module of the data transmission system can be replaced by Arm or PowerPC instead of DSP.
[0087] Those skilled in the art can understand that the above examples are only partial examples of the present invention, and the data transmission system also cooperates with other modules to realize the data transmission function, which will not be described in detail here.
[0088] The embodiment of the present invention provides a new data transmission mechanism and method, which only transmits required data at the current moment, can make full use of hardware resources, and further improve the real-time performance of the system.
[0089] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments, combinations and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.
Claims
1. A data transmission system, characterized in that: include: A timing negotiation module is used to formulate timing negotiation information of each module according to the data to be processed, and to perform timing negotiation on the 1st to Nth data packets in sequence; A data processing module, communicating with the timing negotiation module, and used to sequentially prepare data for the first to Nth data packets under the timing control of the timing negotiation module; The working process of a data packet includes a timing negotiation phase and a data preparation phase which are executed in sequence, wherein the data preparation phase of the i-th data packet overlaps at least part of the time period of the timing negotiation phase of the i+1-th data packet, N and i are positive integers, N≥2, N≥i≥1; The timing negotiation module includes a system control module, a timing negotiation module and a timing control module; The system control module is used to obtain the data to be processed and generate data processing information according to the data to be processed, wherein the data processing information at least includes a data algorithm and data parameters, and the data to be processed includes data composed of the first to Nth data packets; The timing negotiation module communicates with the system control module, and is used to calculate the data processing time information of each module according to the data processing information, so as to formulate the timing negotiation information, and perform timing negotiation on the first to Nth data packets in sequence, wherein the timing negotiation information includes a data processing timing command for enabling each module; The timing control module communicates with the timing negotiation module and is used to distribute corresponding timing commands to each module according to the timing negotiation information to trigger each module to perform data processing.
2. The data transmission system according to claim 1, characterized in that: The data processing module is also used to sequentially transmit data from the first to the Nth data packets; The working process of one of the data packets also includes a data transmission phase after the data preparation phase, and the data transmission phase of the i-th data packet overlaps at least part of the time period with the timing negotiation phase of the (i+1)-th data packet.
3. The data transmission system according to claim 2, characterized in that: A part of the time period of the timing negotiation phase of the i+1th data packet is multiplexed as the data preparation phase of the i-th data packet; and / or, A partial time period of the timing negotiation phase of the (i+1)th data packet is multiplexed as the data transmission phase of the (i)th data packet.
4. The data transmission system according to claim 1, characterized in that: The data processing module is also used to perform data calculation on the first to Nth data packets in sequence; The working process of one of the data packets also includes a data calculation phase after the data preparation phase, and the data calculation phase of the i-th data packet overlaps at least part of the time period with the timing negotiation phase of the (i+2)-th data packet.
5. The data transmission system according to claim 4, characterized in that: At least a partial time period of the timing negotiation phase of the (i+2)th data packet is multiplexed as the data calculation phase of the (i)th data packet.
6. The data transmission system according to claim 1, characterized in that: The timing negotiation information also includes a data processing algorithm corresponding to the timing command of each module; The timing negotiation module also communicates with each module to send the data processing algorithm with time information to the corresponding module.
7. The data transmission system according to claim 1, characterized in that: The data processing module includes a data acquisition module and a data distribution module; The data acquisition module communicates with the timing negotiation module and is used to collect the data to be processed under the enablement of the timing negotiation module; The data distribution module communicates with the timing negotiation module and the data acquisition module respectively, and is used to prepare the data to be processed according to the timing negotiation information to obtain the first to Nth data packets.
8. The data transmission system according to claim 7, characterized in that: The data processing module also includes a data transmission module and a data processing component; The data transmission module communicates with the timing negotiation module, the data allocation module and the data processing component respectively, and is used to output the first to Nth data packets in sequence according to the timing negotiation information, so that the data processing component processes the first to Nth data packets in sequence.
9. The data transmission system according to claim 8, characterized in that: The data processing component includes an algorithm buffer module, a data processing module and a data buffer module; The data processing component is used to receive the timing negotiation information and perform data calculation on the first to Nth data packets in sequence according to the data algorithm of the timing negotiation information.
Citation Information
Patent Citations
Dynamic load balancing method, system and terminal
CN110333945A