CN111988104B - Multi-channel data synchronous transmission method, device, data terminal equipment, system and medium - Google Patents
Multi-channel data synchronous transmission method, device, data terminal equipment, system and medium Download PDFInfo
- Publication number
- CN111988104B CN111988104B CN202010843576.XA CN202010843576A CN111988104B CN 111988104 B CN111988104 B CN 111988104B CN 202010843576 A CN202010843576 A CN 202010843576A CN 111988104 B CN111988104 B CN 111988104B
- Authority
- CN
- China
- Prior art keywords
- data
- transmission
- buffer
- code
- terminal equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0682—Clock or time synchronisation in a network by delay compensation, e.g. by compensation of propagation delay or variations thereof, by ranging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0014—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/02—Speed or phase control by the received code signals, the signals containing no special synchronisation information
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
The application provides a multi-channel data synchronous transmission method, a device, data terminal equipment, a system and a medium, wherein protocol data connection between the data terminal equipment and one or more terminal equipment is established; adding a code K28.5 for data frame synchronization to the head of each transmission data, and inserting a code K28.1 and a dynamic calibration value into each transmission data; for a single channel formed by the data terminal equipment and any terminal equipment, respectively recording the time when a transmitting buffer and a receiving buffer of the data terminal equipment receive the code K28.1 so as to calculate the delay time of each single channel; and comparing the delay time corresponding to each single channel with a preset delay threshold value to adjust dynamic calibration values so that the delay time of each single channel is the same, and realizing the synchronization of multi-channel data transmission. The method and the device can be used for transmitting data at high speed based on the Serdes technology, and meanwhile, the data at the data receiving end can be kept synchronous, so that the data transmission performance of the system is improved.
Description
Technical Field
The present invention relates to the field of synchronous data transmission technologies, and in particular, to a method, an apparatus, a data terminal device, a system, and a medium for synchronous transmission of multiple data.
Background
In recent years, with the advent of the internet of things and the wide application of 5G technology, the scale of data transmission is rapidly increasing, and the data demand of industry on a high-speed communication system is gradually increasing. In order to meet the requirement of high-speed data transmission, the serializer/deserializer (SerDes) technology gradually replaces the parallel interface technology, and an embedded clock and data differential mode is adopted, so that the data transmission rate is improved rapidly, the high-performance SerDes technology is utilized to ensure accurate and stable data transmission, and the method becomes a hot spot for research and application.
Because the data delay inevitably occurs in the process from the transmitting end to the receiving end, the data received by the receiving end is asynchronous, and the data information is disordered in the process of recovery, so that the automatic adjustment and adaptation of the SerDes in the data transmission by utilizing parameters are realized, the overall performance of the system is improved, and the method becomes a subject of important research in the industry.
Therefore, there is a need for a data transmission method that maintains synchronization of data at a data receiving end while data is transmitted at a high speed.
Disclosure of Invention
In view of the above-mentioned drawbacks of the prior art, an object of the present application is to provide a method, an apparatus, a data side device, a system and a medium for synchronous transmission of multiple data, so as to solve at least one problem in the prior art.
To achieve the above and other related objects, the present application provides a method for synchronously transmitting multiple data, which is applied to a data end device and/or a terminal device, and the method includes: establishing protocol data connection between the data terminal equipment and one or more terminal equipment; adding a code K28.5 for data frame synchronization to the header of each transmission data sent by the data terminal equipment to one or more terminal equipment, and inserting a code K28.1 and a dynamic calibration value into each transmission data; for a single-channel formed by the data end device and any one of the terminal devices, respectively recording the time when the transmitting buffer TB1 and the receiving buffer RB1 of the data end device receive the code K28.1, so as to calculate the delay time of each single-channel; the method for calculating the delay time of each single channel comprises the following steps: recording a transmission time when the transmission buffer TB1 of the data terminal equipment is inserted into the code K28.1; recording a receiving moment when a receiving buffer RB1 of the data terminal equipment receives a code K28.1 contained in response data sent back by the terminal equipment in any one of the single-channel channels; calculating the difference between the sending time and the receiving time to obtain the delay time of each corresponding single channel; comparing the delay time corresponding to each single-channel with a preset delay threshold value to adjust the dynamic calibration value, so that the delay time of each single-channel is the same, and the synchronization of multi-channel data transmission is realized.
In an embodiment of the present application, the adding, to a header of each transmission data sent by the data end device to one or more of the terminal devices, a code K28.5 for data frame synchronization includes: receiving transmission data input by external equipment; splicing the data value of the code K28.5 to the head of each transmission data; the spliced transmission data are sequentially sent to a sending buffer TB1 for obtaining the initial position of the transmission data; after the transmission buffer TB1 is full of transmission data with a preset frame number, the stored spliced transmission data is gradually sent to a transmission port for data transmission to the terminal device.
In one embodiment of the present application, the inserting the code K28.1 and the dynamic calibration value into each transmission data includes: after the transmission buffer TB1 of the data terminal device has transmitted the D1 data in the transmission data D0-Dn, the code K28.1 and the dynamic calibration value are inserted into the transmission buffer TB1 and directly transmitted to the transmission port.
In an embodiment of the present application, the recording the time when the transmitting buffer TB1 and the receiving buffer RB1 of the data side device receive the code K28.1 to calculate the delay time of each of the single-path channels includes: recording a transmission time when the transmission buffer TB1 of the data terminal equipment is inserted into the code K28.1; recording a receiving moment when a receiving buffer RB1 of the data terminal equipment receives a code K28.1 contained in response data sent back by the terminal equipment in any one of the single-channel channels; and calculating the difference between the sending time and the receiving time to obtain the delay time of each corresponding single-channel.
In an embodiment of the present application, the response data sent back by the terminal device in any one of the single-path channels includes: after receiving the code K28.5, the receiving buffer RB2 of the terminal device extracts the code K28.5 and the dynamic calibration value to obtain transmission data only including the code K28.1, and inserts the extracted code K28.5 and dynamic calibration value into the transmitting buffer TB2 of the terminal device to form response data sent back to the data terminal device after the transmission of D1 data in the response data D0-Dn; the response data is data after the response processing according to the transmission data, and is spliced with a code K28.1.
In one embodiment of the present application, the method comprises: when receiving the code K28.5, the transmitting buffer TB1 or the receiving buffer RB1 of the data terminal equipment controls the enabling end of the transmitting buffer TB1 or the receiving buffer RB1 by setting a flag bit so as to close transmission, and records the current moment; and/or when the transmitting buffer TB2 or the receiving buffer RB2 of the terminal device receives the code K28.5, the enabling end of the transmitting buffer TB2 or the receiving buffer RB2 is controlled by setting a flag bit so as to close the transmission, and the current moment is recorded; after the transmission of the code K28.1 and the dynamic calibration value is completed by the transmission buffer TB1 or the receiving buffer RB1 of the data terminal device, the control enabling terminal opens the transmission buffer TB1 or the receiving buffer RB1 for continuing to transmit the D2-Dn data; and/or after the transmission of the code K28.1 and the dynamic calibration value is completed by the sending buffer TB2 or the receiving buffer RB2 of the terminal device, the control enabling end opens the sending buffer TB2 or the receiving buffer RB2 for continuing to transmit the D2-Dn data.
To achieve the above and other related objects, the present application provides a multi-path data synchronous transmission device, including: the connection module is used for establishing protocol data connection between the data terminal equipment and one or more terminal equipment; the processing module is used for adding a code K28.5 for data frame synchronization to the header of each transmission data sent by the data terminal equipment to one or more terminal equipment, and inserting the code K28.1 and a dynamic calibration value into each transmission data; for a single-channel formed by the data terminal equipment and any one of the terminal equipment, respectively recording the time when the transmitting buffer TB1 and the receiving buffer RB1 of the data terminal equipment receive the code K28.1, so as to calculate the delay time of each single-channel, and accordingly, carrying out delay adjustment on each single-channel; the method for calculating the delay time of each single channel comprises the following steps: recording a transmission time when the transmission buffer TB1 of the data terminal equipment is inserted into the code K28.1; recording a receiving moment when a receiving buffer RB1 of the data terminal equipment receives a code K28.1 contained in response data sent back by the terminal equipment in any one of the single-channel channels; calculating the difference between the sending time and the receiving time to obtain the delay time of each corresponding single channel; comparing the delay time corresponding to each single-channel with a preset delay threshold value to adjust the dynamic calibration value, so that the delay time of each single-channel is the same, and the synchronization of multi-channel data transmission is realized.
To achieve the above and other related objects, the present application provides a data terminal device, including: a memory, a processor, and a communicator; the memory is used for storing computer instructions; the processor executing computer instructions to implement the method as described above; the communicator is used for establishing protocol data connection with one or more terminal devices.
To achieve the above and other related objects, the present application provides a multi-path data synchronous transmission system, including: the data terminal equipment and one or more terminal equipment establishing protocol data connection with the data terminal equipment; the data terminal device and each terminal device respectively comprise a sending buffer and a receiving buffer, and data transmission is carried out between the input port and the output port respectively.
To achieve the above and other related objects, the present application provides a computer-readable storage medium storing computer instructions that, when executed, perform a method as described above.
In summary, the method, the device, the data terminal device, the system and the medium for synchronously transmitting the multiple paths of data are provided by the application, and protocol data connection between the data terminal device and one or more terminal devices is established; adding a code K28.5 for data frame synchronization to the header of each transmission data sent by the data terminal equipment to one or more terminal equipment, and inserting a code K28.1 and a dynamic calibration value into each transmission data; for a single-channel formed by the data end device and any one of the terminal devices, respectively recording the time when the transmitting buffer TB1 and the receiving buffer RB1 of the data end device receive the code K28.1, so as to calculate the delay time of each single-channel; comparing the delay time corresponding to each single-channel with a preset delay threshold value to adjust the dynamic calibration value, so that the delay time of each single-channel is the same, and the synchronization of multi-channel data transmission is realized.
Has the following beneficial effects:
the method and the device can be used for transmitting data at high speed based on the Serdes technology, and meanwhile, the data at the data receiving end can be kept synchronous, so that the data transmission performance of the system is improved. The data delay of each single channel can be calculated in a short time, dynamic adjustment can be performed, the requirement of data synchronization is met, and normal transmission data is not affected. In addition, the Serdes is utilized to transmit data, so that the method has the advantages of small transmission pin number and strong expansion capability, and a point-to-point transmission mode is adopted, so that the method has higher bandwidth than parallel transmission. From the aspect of bus requirements of industry on data transmission, the designed Serdes multi-channel synchronous data transmission method can solve the problems of difficult time sequence synchronization, serious signal offset, weak anti-interference capability and the like in parallel transmission, and can overcome the problem of data non-synchronization in signal transmission, so that the method has very wide application prospect.
Drawings
Fig. 1 is a schematic diagram of a scenario of a multiple data synchronization transmission system according to an embodiment of the present application.
Fig. 2 is a flow chart of a method for synchronously transmitting multiple data in an embodiment of the present application.
Fig. 3 is a schematic diagram illustrating a change of the data format corresponding to step 202 in an embodiment of the present application.
Fig. 4 is a schematic diagram illustrating data transmission in a single channel according to an embodiment of the present application.
Fig. 5 is a schematic diagram showing a comparison of data waveforms output by each terminal device before and after delay adjustment in an embodiment of the present application.
Fig. 6 is a schematic block diagram of a multi-channel data synchronization transmission device according to an embodiment of the application.
Fig. 7 is a schematic structural diagram of a data terminal device according to an embodiment of the present application.
Fig. 8 is a schematic structural diagram of a multiple data synchronization transmission system according to an embodiment of the present application.
Detailed Description
Other advantages and effects of the present application will become apparent to those skilled in the art from the present disclosure, when the following description of the embodiments is taken in conjunction with the accompanying drawings. The present application may be embodied or carried out in other specific embodiments, and the details of the present application may be modified or changed from various points of view and applications without departing from the spirit of the present application. It should be noted that the following embodiments and features in the embodiments may be combined with each other without conflict.
It should be noted that, the illustrations provided in the following embodiments merely illustrate the basic concepts of the application by way of illustration, and although only the components related to the application are shown in the drawings and are not drawn according to the number, shape and size of the components in actual implementation, the form, number and proportion of the components in actual implementation may be arbitrarily changed, and the layout of the components may be more complicated.
Throughout the specification, when a portion is said to be "connected" to another portion, this includes not only the case of "direct connection" but also the case of "indirect connection" with other elements interposed therebetween. In addition, when a certain component is said to be "included" in a certain section, unless otherwise stated, other components are not excluded, but it is meant that other components may be included.
The first, second, and third terms are used herein to describe various portions, components, regions, layers and/or sections, but are not limited thereto. These terms are only used to distinguish one portion, component, region, layer or section from another portion, component, region, layer or section. Thus, a first portion, component, region, layer or section discussed below could be termed a second portion, component, region, layer or section without departing from the scope of the present application.
Furthermore, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms "comprises," "comprising," "includes," and/or "including" specify the presence of stated features, operations, elements, components, items, categories, and/or groups, but do not preclude the presence, presence or addition of one or more other features, operations, elements, components, items, categories, and/or groups. The terms "or" and/or "as used herein are to be construed as inclusive, or meaning any one or any combination. Thus, "A, B or C" or "A, B and/or C" means "any of the following: a, A is as follows; b, a step of preparing a composite material; c, performing operation; a and B; a and C; b and C; A. b and C). An exception to this definition will occur only when a combination of elements, functions or operations are in some way inherently mutually exclusive.
According to the defects of the prior art, the application provides a multi-channel data synchronous transmission method, a device, data terminal equipment, a system and a medium aiming at the problems to be solved.
For the convenience of understanding the technical content protected by the present application, the present application describes embodiments of the multi-path data synchronous transmission system in a scenario.
Fig. 1 is a schematic diagram of a scenario of a multiple data synchronization transmission system according to an embodiment of the present application. As shown, the system includes: the data terminal device 100 and one or more terminal devices 200 that establish a protocol data connection (communication connection based on Serdes) with the data terminal device 100, it should be noted that the multi-path data synchronous transmission method described in the present application is applicable not only to the data terminal device 100 but also to the terminal device 200, more specifically, the method described in the present application is mainly executed by the data terminal device 100, and optionally, the method is also executed at each of the terminal devices 200 to play a role in assistance. It should be noted that the method may also be performed by the data terminal device 100 entirely to solve the technical problems described in the present application.
Serdes is an acronym for SERIALIzer/DESerializer. It is a mainstream Time Division Multiplexing (TDM), point-to-point (P2P) serial communication technology. The multi-path low-speed parallel signals are converted into high-speed serial signals at the transmitting end, and finally the high-speed serial signals are converted into low-speed parallel signals at the receiving end through a transmission medium (an optical cable or a copper wire). The point-to-point serial communication technology fully utilizes the channel capacity of a transmission medium, reduces the number of required transmission channels and device pins, and greatly reduces the communication cost.
The architecture of data transfer between a data end device 100 and one or more terminal devices 200 is mainly shown in this embodiment. For example, the video or image transmission data of the LED is divided into n blocks of data by a block division (herein, the n blocks of data are divided into n blocks of data), and the n blocks of data are stored in the DDR memory, the processor chip core configures different Serdes transmission communication ports A1-An for different data blocks by using the Serdes technology, and the data reach the Serdes receiving communication ports B1-Bn of the terminal device 200 through the transmission of the ports.
However, due to the inevitable delay of data during transmission, when data flows into the terminal device 200, the data of different terminal devices 200 at the same time are not synchronized, which causes disturbance of video information when the terminal devices 200 are deployed to co-operate.
In order to solve the problems, the method disclosed by the application uses the data by inserting two different K values as parameters, and the first K28.5 value is spliced at the head of the data to play a role of frame synchronization, so that the transmitting end can acquire the data starting position, and the integrity of information is ensured. The second K28.1 and C values are inserted between the data D1 and D2, and the data of each path is synchronized by calculation, so that the main purpose of the method is to synchronize the recovered data, and thus the consistency and consistency of the data information can be ensured when the terminal devices 200 are deployed to work together.
Fig. 2 is a flow chart of a method for synchronously transmitting multiple data according to an embodiment of the present application. As shown, the method includes:
step S201: a protocol data connection is established between the data end device and one or more terminal devices.
In brief, a data end device participating in a data transmission architecture is initialized to power up with one or more terminal devices to establish a protocol data connection between the transmitting devices.
Step S202: adding a code K28.5 for data frame synchronization to the header of each transmission data sent by the data end device to one or more terminal devices, and inserting a code K28.1 and a dynamic calibration value into each transmission data.
It should be noted that, the codes K28.5 and K28.1 are K codes configured in the Serdes technology, in this technical field, the K codes are often carried in the data code stream to mark different information points in the data code stream, and in this application, the codes K28.5 are mainly used to mark the start bit of the data code stream, playing a role of frame synchronization, so as to ensure the integrity of information; the code K28.1 is used for marking a certain position in the data code stream, and the code K28.1 is designed to mark after the D1 data bit, so that the main purpose is to calculate the delay time of a single channel formed by the data terminal equipment and any terminal equipment conveniently, so that delay adjustment is carried out on each single channel, and the data synchronization of each single channel is realized. The codes K28.5 and K28.1 can be converted into corresponding binary codes when they are inserted into the data stream.
In an embodiment of the present application, the adding a code K28.5 for data frame synchronization to the header of each transmission data sent by the data end device to one or more terminal devices specifically includes:
A. Receiving transmission data D0-Dn input by external equipment;
B. and splicing the data value of the code K28.5 into the head of each transmission data to play a role of frame synchronization.
C. And sending the spliced transmission data into a transmission buffer TB1 in sequence to acquire the starting position of the transmission data, thereby ensuring the integrity of information.
D. After the transmission buffer TB1 is full of transmission data with a preset frame number, the stored spliced transmission data is gradually sent to a transmission port for data transmission to the terminal device.
For example, the code K28.5 is always present in front of the transmission data D0-Dn as a parameter of frame header synchronization; the transmission buffer TB1 plays a role of data buffer, and when the information sent by the data is received, the transmission data with a preset frame number (for example, one frame) is gradually sent into the transmission port after the transmission buffer TB1 is full of the transmission data, and the preset frame number can be adjusted.
In one embodiment of the present application, the inserting the code K28.1 and the dynamic calibration value into each transmission data includes:
after the transmission buffer TB1 of the data terminal device has transmitted the D1 data in the transmission data D0-Dn, the code K28.1 and the dynamic calibration value C are inserted into the transmission buffer TB1 and directly transmitted to the transmission port.
I.e. after the transmission of D1 data, the transmission of data is suspended, the parameter K28.1 and the dynamic calibration value C are inserted (initial value is 0, i.e. no adjustment is required), and the subsequent data D2-Dn are then transmitted sequentially. The change of the data format corresponding to step 202 may be shown with reference to fig. 3.
Step S203: for a single channel formed by the data end device and any one of the terminal devices, the time when the transmitting buffer TB1 and the receiving buffer RB1 of the data end device receive the code K28.1 is recorded respectively, so as to calculate the delay time of each single channel, and accordingly delay adjustment is carried out on each single channel.
Wherein, the recording the time when the sending buffer TB1 and the receiving buffer RB1 of the data side device receive the code K28.1 to calculate the delay time of each single channel includes:
A. recording a transmission time when the transmission buffer TB1 of the data terminal equipment is inserted into the code K28.1;
B. recording a receiving moment when a receiving buffer RB1 of the data terminal equipment receives a code K28.1 contained in response data sent back by the terminal equipment in any one of the single-channel channels;
C. calculating the difference between the sending time and the receiving time to obtain the delay time of each corresponding single channel
In an embodiment of the present application, the response data sent back by the terminal device in any one of the single-path channels includes:
after receiving the code K28.5, the receiving buffer RB2 of the terminal device extracts the code K28.5 and the dynamic calibration value to obtain transmission data only including the code K28.1, and inserts the extracted code K28.5 and dynamic calibration value into the transmitting buffer TB2 of the terminal device to form response data sent back to the data terminal device after the transmission of D1 data in the response data D0-Dn; the response data is data after the response processing according to the transmission data, and is spliced with a code K28.1.
In one embodiment of the present application, the method includes:
when receiving the code K28.5, the transmitting buffer TB1 or the receiving buffer RB1 of the data terminal equipment controls the enabling end of the transmitting buffer TB1 or the receiving buffer RB1 by setting a flag bit so as to close transmission, and records the current moment; and/or when the transmitting buffer TB2 or the receiving buffer RB2 of the terminal device receives the code K28.5, the enabling end of the transmitting buffer TB2 or the receiving buffer RB2 is controlled by setting a flag bit so as to close the transmission, and the current moment is recorded;
After the transmission of the code K28.1 and the dynamic calibration value is completed by the transmission buffer TB1 or the receiving buffer RB1 of the data terminal device, the control enabling terminal opens the transmission buffer TB1 or the receiving buffer RB1 for continuing to transmit the D2-Dn data; and/or after the transmission of the code K28.1 and the dynamic calibration value is completed by the sending buffer TB2 or the receiving buffer RB2 of the terminal device, the control enabling end opens the sending buffer TB2 or the receiving buffer RB2 for continuing to transmit the D2-Dn data.
To further facilitate understanding of the data transmission process between the modules of the data end device and the terminal device in steps 202-203 of the method described herein, fig. 4 illustrates a schematic diagram of data transmission in a single channel in an embodiment of the present application.
As shown in fig. 4, the data end device and the terminal device in a single channel each include a transmit buffer, a receive buffer, a transmit port, and a receive port. The buffer refers to a buffer register, and is divided into an input buffer and an output buffer in the field of computers. The sending port and the receiving port are corresponding to the Serdes port shown in FIG. 1.
The data transmission process corresponding to steps 202-203 is as follows:
1) Data terminal equipment: after the header of the transmission data is spliced with the code K28.5, the transmission buffer TB1 is first entered, after frame synchronization is completed, data transmission is started, and then the transmission data is sequentially sent to the transmitting port of the data terminal device for transmission to the terminal device.
After the transmission of the data D1 in the transmission data by the transmission buffer TB1 is completed, the code K28.1 and the dynamic calibration value C parameter value are inserted into the transmission data to the transmission port, and the flag bit is set at this time to stop the transmission of the data bit by the transmission buffer TB1, and the time T0 is recorded at this time, and the data to be transmitted in the transmission buffer TB1 is D2, and after the transmission of the codes K28.1 and C is completed, the enabling end of the transmission buffer TB1 is opened to continue the transmission of the D2-Dn data.
2) Terminal equipment: the receiving port of the terminal equipment receives the transmission data and then sends the transmission data to the receiving buffer RB2, the receiving buffer RB2 firstly receives the code K28.5, after frame synchronization is completed, the data are sequentially received, when the code K28.1 and the parameter C are received, the receiving buffer RB2 and the sending buffer TB2 of the terminal equipment are immediately stopped, and the time at the moment is recorded as T1. After the receiving buffer RB2 takes out the code K28.5 and the dynamic calibration value C, transmission data only including the code K28.1 will be obtained, and the taken out code K28.5 and the dynamic calibration value C are directly used for inserting the D1 data in the response data D0-Dn into the transmitting buffer TB2 of the terminal device.
The transmission data received through the receiving buffer RB2 is transmitted to the ue, and the ue responds accordingly and generates response data to send back to the terminal device. After the transmission buffer TB2 has transmitted the D1 data of the response data D0-Dn, the code K28.5 and the dynamic calibration value C are inserted. It should be noted that, since the receiving and processing speed of the ue is very fast, the time interval between the receiving buffer RB2 receiving the code K28.5 and the inserting the code K28.5 into the transmitting buffer TB2 is very short, which can be regarded as performing the receiving and starting actions simultaneously. Thus, when the code K28.1 and the C parameter value are received, the purpose of immediately stopping the reception buffer RB2 and the transmission buffer TB2 of the terminal device is also to pause the transmission of response data by said transmission buffer TB2 in order to program the actions of inserting said code K28.5 and the dynamic calibration value C.
After the transmission of the encoded K28.1 and the C parameter values by the transmission buffer TB2, the transmission buffer TB2 and the reception buffer RB2 are opened again, and the D2-Dn data is sequentially transmitted.
3) Data terminal equipment: receiving the response data through the receiving port of the data terminal equipment, transmitting the response data to the receiving buffer RB1, stopping receiving the receiving buffer RB1 when the receiving buffer RB1 receives the coded K28.1 parameter in the response data, recording the moment as T2, and opening the receiving buffer RB1 to receive the subsequent D2-Dn data after the coded K28.1 and the coded C are worth receiving.
4) By calculating the difference between T2 and T0, the data delay time of each single channel can be obtained.
Step S204: comparing the delay time corresponding to each single-channel with a preset delay threshold value to adjust the dynamic calibration value, so that the delay time of each single-channel is the same, and the synchronization of multi-channel data transmission is realized.
In this embodiment, the data delay sizes of the single-path channels are obtained respectively, then a common delay threshold N may be set, the single-path channels are compared with the actual delays of the single-path channels and N, and then the dynamic calibration value is adjusted to control the delay sizes, so that the delays of the paths are the same, and finally the synchronization operation of the multi-path data is completed. As shown in fig. 5, a comparison diagram of data waveforms output by each terminal device before and after delay adjustment is shown.
In summary, the method has the advantages that: the data delay of each single channel can be calculated in a short time, dynamic adjustment can be performed, the requirement of data synchronization is met, and normal transmission data is not affected. In addition, the Serdes is utilized to transmit data, so that the method has the advantages of small transmission pin number and strong expansion capability, and a point-to-point transmission mode is adopted, so that the method has higher bandwidth than parallel transmission. From the aspect of bus requirements of industry on data transmission, the designed Serdes multi-channel synchronous data transmission method can solve the problems of difficult time sequence synchronization, serious signal offset, weak anti-interference capability and the like in parallel transmission, and can overcome the problem of data non-synchronization in signal transmission, so that the method has very wide application prospect.
Fig. 6 is a schematic block diagram of a multi-channel data synchronous transmission device according to an embodiment of the present application. As shown, the apparatus 600 includes:
a connection module 601, configured to establish a protocol data connection between a data end device and one or more terminal devices;
a processing module 602, configured to add a code K28.5 for data frame synchronization to a header of each transmission data sent by the data end device to one or more of the terminal devices, and insert a code K28.1 and a dynamic calibration value into each transmission data; for a single-channel formed by the data terminal equipment and any one of the terminal equipment, respectively recording the time when the transmitting buffer TB1 and the receiving buffer RB1 of the data terminal equipment receive the code K28.1, so as to calculate the delay time of each single-channel, and accordingly, carrying out delay adjustment on each single-channel; comparing the delay time corresponding to each single-channel with a preset delay threshold value to adjust the dynamic calibration value, so that the delay time of each single-channel is the same, and the synchronization of multi-channel data transmission is realized.
It should be noted that, because the content of information interaction and execution process between the modules/units of the above-mentioned apparatus is based on the same concept as the method embodiment described in the present application, the technical effects brought by the content are the same as the method embodiment described in the present application, and specific content can be referred to the description in the method embodiment described in the foregoing description of the present application, which is not repeated herein.
It should be further noted that, it should be understood that the division of the modules of the above apparatus is merely a division of a logic function, and may be fully or partially integrated into a physical entity or may be physically separated. And these units may all be implemented in the form of software calls through the processing element; or can be realized in hardware; the method can also be realized in a form of calling software by a processing element, and the method can be realized in a form of hardware by a part of modules. For example, the processing module 602 may be a processing element that is set up separately, may be implemented in a chip of the above apparatus, or may be stored in a memory of the above apparatus in the form of program codes, and may be called by a processing element of the above apparatus to execute the functions of the above processing module 602. The implementation of the other modules is similar. In addition, all or part of the modules can be integrated together or can be independently implemented. The processing element described herein may be an integrated circuit having signal processing capabilities. In implementation, each step of the above method or each module above may be implemented by an integrated logic circuit of hardware in a processor element or an instruction in a software form.
For example, the modules above may be one or more integrated circuits configured to implement the methods above, such as: one or more application specific integrated circuits (Application Specific Integrated Circuit, abbreviated as ASIC), or one or more microprocessors (digital signal processor, abbreviated as DSP), or one or more field programmable gate arrays (Field Programmable Gate Array, abbreviated as FPGA), or the like. For another example, when a module above is implemented in the form of a processing element scheduler code, the processing element may be a general-purpose processor, such as a central processing unit (Central Processing Unit, CPU) or other processor that may invoke the program code. For another example, the modules may be integrated together and implemented in the form of a system-on-a-chip (SOC).
Fig. 7 is a schematic structural diagram of a data side device according to an embodiment of the present application. As shown, the data terminal device 700 includes: a memory 701, and a processor 702; the memory 701 is used for storing computer instructions; the processor 702 executes computer instructions to implement the method as described in fig. 1; the communicator 703 is configured to establish a protocol data connection with one or more terminal devices.
In some embodiments, the number of the memories 701 in the data terminal device 700 may be one or more, the number of the processors 702 may be one or more, and the number of the communicators 703 may be one or more, and one is taken as an example in fig. 7.
In an embodiment of the present application, the processor 702 in the data side device 700 loads one or more instructions corresponding to the process of the application program into the memory 701 according to the steps described in fig. 2, and the processor 702 executes the application program stored in the memory 701, so as to implement the method described in fig. 2.
The memory 701 may include a random access memory (Random Access Memory, abbreviated as RAM) or may include a non-volatile memory (non-volatile memory), such as at least one magnetic disk memory. The memory 701 stores an operating system and operating instructions, executable modules or data structures, or a subset thereof, or an extended set thereof, wherein the operating instructions may include various operating instructions for performing various operations. The operating system may include various system programs for implementing various underlying services and handling hardware-based tasks.
The processor 702 may be a general-purpose processor, including a central processing unit (Central Processing Unit, CPU for short), a network processor (Network Processor, NP for short), etc.; but also digital signal processors (Digital Signal Processing, DSP for short), application specific integrated circuits (Application Specific Integrated Circuit, ASIC for short), field-programmable gate arrays (Field-Programmable Gate Array, FPGA for short) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
The communicator 703 preferably employs a Serdes communication port.
In some specific applications, the various components of the data side device 700 are coupled together by a bus system that may include a power bus, a control bus, a status signal bus, and the like, in addition to a data bus. But for purposes of clarity of illustration the various buses are referred to in fig. 7 as a bus system.
Fig. 8 is a schematic structural diagram of a multiple data synchronization transmission system according to an embodiment of the present application. As shown, the multi-path data synchronous transmission system 700 includes: a data end device 801 as shown in fig. 7, and one or more terminal devices 802 establishing a protocol data connection with the data end device 801; the data terminal device 801 and each terminal device 802 respectively include a transmitting buffer and a receiving buffer, and respectively transmit data between the input port and the output port. Reference may also be made specifically to a schematic scenario diagram of a multiple data synchronization transmission system 800 shown in fig. 1 and described herein.
In one embodiment of the present application, a computer readable storage medium is provided, on which a computer program is stored, which when executed by a processor, implements the method as described in fig. 2.
The present application may be a system, method, and/or computer program product at any possible level of technical detail. The computer program product may include a computer readable storage medium having computer readable program instructions embodied thereon for causing a processor to implement aspects of the present application.
The computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer-readable storage medium would include the following: portable computer disks, hard disks, random Access Memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static Random Access Memory (SRAM), portable compact disk read-only memory (CD-ROM), digital Versatile Disks (DVD), memory sticks, floppy disks, mechanical coding devices, punch cards or in-groove structures such as punch cards or grooves having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media, as used herein, are not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses through fiber optic cables), or electrical signals transmitted through wires.
The computer readable program described herein may be downloaded from a computer readable storage medium to a respective computing/processing device or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network interface card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium in the respective computing/processing device.
Computer program instructions for carrying out operations of the present application may be assembly instructions, instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, c++ or the like and a procedural programming language such as the "C" language or similar programming languages. The computer readable program instructions may be executed entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, aspects of the present application are implemented by personalizing electronic circuitry, such as programmable logic circuitry, field Programmable Gate Arrays (FPGAs), or Programmable Logic Arrays (PLAs), with state information for computer readable program instructions, which may execute the computer readable program instructions.
In summary, the method, the device, the data terminal device, the system and the medium for synchronously transmitting the multiple paths of data are provided, and protocol data connection between the data terminal device and one or more terminal devices is established; adding a code K28.5 for data frame synchronization to the header of each transmission data sent by the data terminal equipment to one or more terminal equipment, and inserting a code K28.1 and a dynamic calibration value into each transmission data; for a single-channel formed by the data end device and any one of the terminal devices, respectively recording the time when the transmitting buffer TB1 and the receiving buffer RB1 of the data end device receive the code K28.1, so as to calculate the delay time of each single-channel; comparing the delay time corresponding to each single-channel with a preset delay threshold value to adjust the dynamic calibration value, so that the delay time of each single-channel is the same, and the synchronization of multi-channel data transmission is realized.
The method effectively overcomes various defects in the prior art and has high industrial utilization value.
The foregoing embodiments are merely illustrative of the principles of the present application and their effectiveness, and are not intended to limit the invention. Modifications and variations may be made to the above-described embodiments by those of ordinary skill in the art without departing from the spirit and scope of the present application. Accordingly, it is intended that all equivalent modifications and variations which a person of ordinary skill in the art could accomplish without departing from the spirit and technical spirit of the present disclosure be covered by the claims of this application.
Claims (10)
1. The method is characterized by being applied to data terminal equipment and terminal equipment, and comprises the following steps:
establishing protocol data connection between the data terminal equipment and one or more terminal equipment;
adding a code K28.5 for data frame synchronization to the header of each transmission data sent by the data terminal equipment to one or more terminal equipment, and inserting a code K28.1 and a dynamic calibration value into each transmission data;
for a single-channel formed by the data end device and any one of the terminal devices, respectively recording the time when the transmitting buffer TB1 and the receiving buffer RB1 of the data end device receive the code K28.1, so as to calculate the delay time of each single-channel; the method for calculating the delay time of each single channel comprises the following steps: recording a transmission time when the transmission buffer TB1 of the data terminal equipment is inserted into the code K28.1; recording a receiving moment when a receiving buffer RB1 of the data terminal equipment receives a code K28.1 contained in response data sent back by the terminal equipment in any one of the single-channel channels; calculating the difference between the sending time and the receiving time to obtain the delay time of each corresponding single channel;
Comparing the delay time corresponding to each single-channel with a preset delay threshold value to adjust the dynamic calibration value, so that the delay time of each single-channel is the same, and the synchronization of multi-channel data transmission is realized.
2. The method according to claim 1, wherein said adding a code K28.5 for data frame synchronization to the header of each transmission data sent by said data end device to one or more of said terminal devices comprises:
receiving transmission data input by external equipment;
splicing the data value of the code K28.5 to the head of each transmission data;
the spliced transmission data are sequentially sent to a sending buffer TB1 for obtaining the initial position of the transmission data;
after the transmission buffer TB1 is full of transmission data with a preset frame number, the stored spliced transmission data is gradually sent to a transmission port for data transmission to the terminal device.
3. The method according to claim 2, wherein said inserting and inserting the code K28.1 and the dynamic calibration value in each transmission data comprises:
after the transmission buffer TB1 of the data terminal device has transmitted the D1 data in the transmission data D0-Dn, the code K28.1 and the dynamic calibration value are inserted into the transmission buffer TB1 and directly transmitted to the transmission port.
4. A method according to claim 3, wherein said recording the time at which the transmission buffer TB1 and the reception buffer RB1 of the data side device receive the code K28.1 to calculate the delay time of each of the single-way channels comprises:
recording a transmission time when the transmission buffer TB1 of the data terminal equipment is inserted into the code K28.1;
recording a receiving moment when a receiving buffer RB1 of the data terminal equipment receives a code K28.1 contained in response data sent back by the terminal equipment in any one of the single-channel channels;
and calculating the difference between the sending time and the receiving time to obtain the delay time of each corresponding single-channel.
5. The method of claim 4, wherein the response data sent back by the terminal device in any one of the single-path channels includes:
after receiving the code K28.5, the receiving buffer RB2 of the terminal device extracts the code K28.5 and the dynamic calibration value to obtain transmission data only including the code K28.1, and inserts the extracted code K28.5 and dynamic calibration value into the transmitting buffer TB2 of the terminal device to form response data sent back to the data terminal device after the transmission of D1 data in the response data D0-Dn; the response data is data after the response processing according to the transmission data, and is spliced with a code K28.1.
6. A method according to claim 4 or 5, characterized in that the method comprises:
when receiving the code K28.5, the transmitting buffer TB1 or the receiving buffer RB1 of the data terminal equipment controls the enabling end of the transmitting buffer TB1 or the receiving buffer RB1 by setting a flag bit so as to close transmission, and records the current moment; and/or when the transmitting buffer TB2 or the receiving buffer RB2 of the terminal device receives the code K28.5, the enabling end of the transmitting buffer TB2 or the receiving buffer RB2 is controlled by setting a flag bit so as to close the transmission, and the current moment is recorded;
after the transmission of the code K28.1 and the dynamic calibration value is completed by the transmission buffer TB1 or the receiving buffer RB1 of the data terminal device, the control enabling terminal opens the transmission buffer TB1 or the receiving buffer RB1 for continuing to transmit the D2-Dn data; and/or after the transmission of the code K28.1 and the dynamic calibration value is completed by the sending buffer TB2 or the receiving buffer RB2 of the terminal device, the control enabling end opens the sending buffer TB2 or the receiving buffer RB2 for continuing to transmit the D2-Dn data.
7. A multi-path data synchronous transmission apparatus, the apparatus comprising:
The connection module is used for establishing protocol data connection between the data terminal equipment and one or more terminal equipment;
the processing module is used for adding a code K28.5 for data frame synchronization to the header of each transmission data sent by the data terminal equipment to one or more terminal equipment, and inserting the code K28.1 and a dynamic calibration value into each transmission data; for a single-channel formed by the data terminal equipment and any one of the terminal equipment, respectively recording the time when the transmitting buffer TB1 and the receiving buffer RB1 of the data terminal equipment receive the code K28.1, so as to calculate the delay time of each single-channel, and accordingly, carrying out delay adjustment on each single-channel; the method for calculating the delay time of each single channel comprises the following steps: recording a transmission time when the transmission buffer TB1 of the data terminal equipment is inserted into the code K28.1; recording a receiving moment when a receiving buffer RB1 of the data terminal equipment receives a code K28.1 contained in response data sent back by the terminal equipment in any one of the single-channel channels; calculating the difference between the sending time and the receiving time to obtain the delay time of each corresponding single channel; comparing the delay time corresponding to each single-channel with a preset delay threshold value to adjust the dynamic calibration value, so that the delay time of each single-channel is the same, and the synchronization of multi-channel data transmission is realized.
8. A data side device, the device comprising: a memory, a processor, and a communicator; the memory is used for storing computer instructions; the processor executing computer instructions to implement the method of any one of claims 1 to 6; the communicator is used for establishing protocol data connection with one or more terminal devices.
9. A multiple data synchronous transmission system, the system comprising: the data end device of claim 8, one or more terminal devices establishing a protocol data connection with the data end device; the data terminal device and each terminal device respectively comprise a sending buffer and a receiving buffer, and data transmission is carried out between the input port and the output port respectively.
10. A computer readable storage medium, characterized in that computer instructions are stored, which when executed perform the method of any of claims 1 to 6.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010843576.XA CN111988104B (en) | 2020-08-20 | 2020-08-20 | Multi-channel data synchronous transmission method, device, data terminal equipment, system and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010843576.XA CN111988104B (en) | 2020-08-20 | 2020-08-20 | Multi-channel data synchronous transmission method, device, data terminal equipment, system and medium |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111988104A CN111988104A (en) | 2020-11-24 |
CN111988104B true CN111988104B (en) | 2023-06-27 |
Family
ID=73444174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010843576.XA Active CN111988104B (en) | 2020-08-20 | 2020-08-20 | Multi-channel data synchronous transmission method, device, data terminal equipment, system and medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111988104B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887744B (en) * | 2021-01-21 | 2022-03-04 | 上海薏欣文化传播有限公司 | Live broadcast data transmission control method for large healthy intelligent live broadcast hall |
CN115865755B (en) * | 2022-11-18 | 2024-03-22 | 电子科技大学 | Parallel data calibration method for interconnection among multiple networks and electronic equipment |
CN115905071B (en) * | 2023-03-09 | 2023-07-07 | 天津普智芯网络测控技术有限公司 | High-speed high-precision data transmission system and method |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103124204A (en) * | 2011-11-18 | 2013-05-29 | 北京旋极信息技术股份有限公司 | Signal relay system, data transmission method thereof and data transmission format thereof |
CN103118257B (en) * | 2013-02-05 | 2016-05-18 | 广东威创视讯科技股份有限公司 | The transfer of data integrated interface of HD video form |
CN105321522A (en) * | 2014-08-06 | 2016-02-10 | 航天恒星科技有限公司 | Audio data processing and transmitting method and device |
JP6531513B2 (en) * | 2015-06-22 | 2019-06-19 | 株式会社リコー | Serial communication apparatus and serial communication method |
CN108184038A (en) * | 2017-12-19 | 2018-06-19 | 重庆湃芯微电子有限公司 | A kind of high speed transmission system of the very high speed digital cmos image sensor of internet of things oriented |
-
2020
- 2020-08-20 CN CN202010843576.XA patent/CN111988104B/en active Active
Also Published As
Publication number | Publication date |
---|---|
CN111988104A (en) | 2020-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111988104B (en) | Multi-channel data synchronous transmission method, device, data terminal equipment, system and medium | |
US11695708B2 (en) | Deterministic real time multi protocol heterogeneous packet based transport | |
CN109857690B (en) | Application system of driver, driver and data transmission method | |
US10103830B2 (en) | Latency-optimized physical coding sublayer | |
US20080043742A1 (en) | Transmission using multiple physical interface | |
US20200267099A1 (en) | Data transmission | |
CN105553636A (en) | Redundancy mode FC sending channel frame synchronization circuit | |
CN106717111A (en) | Method, device, and system for receiving CPRI data stream and ethernet frame | |
US10402354B2 (en) | Method, apparatus, communication equipment and storage media for determining link delay | |
JP4823056B2 (en) | Optical transmission system | |
CN111405336A (en) | Multi-device synchronous playing method and system, electronic device and storage medium | |
CN116795172B (en) | Cross-clock domain processing method, medium and device for high-speed digital transmission | |
CN110708133A (en) | Method and device for clock synchronization and time synchronization in system based on FPGA | |
CN110572228B (en) | Synchronous information transmission method, device, related equipment and storage medium | |
US6990538B2 (en) | System comprising a state machine controlling transition between deskew enable mode and deskew disable mode of a system FIFO memory | |
US20230388251A1 (en) | Tightly-Coupled, Loosely Connected Heterogeneous Packet Based Transport | |
US9106575B2 (en) | Multiplexing multiple serial interfaces | |
CN116074197A (en) | Transmission method and device | |
WO2020232674A1 (en) | Video source extension method, apparatus and system, and video source extender | |
EP3291497B1 (en) | Switching apparatus, switching apparatus group, data transmission method, and computer system | |
CN108023660B (en) | A kind of optical transport network business access method and device | |
US7752475B2 (en) | Late data launch for a double data rate elastic interface | |
CN114866492B (en) | Signal processing method, system and related device | |
WO2023279369A1 (en) | Data transmission apparatus and method, and related device | |
US11714449B2 (en) | High-speed deserializer with programmable and timing robust data slip function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |