CN110768664B - Data sampling method and device - Google Patents
Data sampling method and device Download PDFInfo
- Publication number
- CN110768664B CN110768664B CN201911012247.4A CN201911012247A CN110768664B CN 110768664 B CN110768664 B CN 110768664B CN 201911012247 A CN201911012247 A CN 201911012247A CN 110768664 B CN110768664 B CN 110768664B
- Authority
- CN
- China
- Prior art keywords
- signal
- adjustment information
- data
- training
- data signal
- 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
- 238000005070 sampling Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012549 training Methods 0.000 claims description 107
- 230000006854 communication Effects 0.000 claims description 78
- 238000004891 communication Methods 0.000 claims description 78
- 230000004044 response Effects 0.000 claims description 30
- 230000008569 process Effects 0.000 claims description 10
- 230000000630 rising effect Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 15
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000003111 delayed effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/085—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal
- H03L7/091—Details of the phase-locked loop concerning mainly the frequency- or phase-detection arrangement including the filtering or amplification of its output signal the phase or frequency detector using a sampling device
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
The application provides a data sampling method and device. In the application, the target signal adjustment information is trained, so that when the first device subsequently sends the first application data signal and the associated clock signal to the second device, the first application data signal and the associated clock signal are adjusted according to the target signal adjustment information and sent to the second device. In this way, the second device may sample the first application Data signal based on the received adjusted along-path clock signal and send a second application Data signal (e.g., rx_data) to the first device, ensuring that the first device accurately samples the second application Data signal (e.g., rx_data) according to the local sampling clock signal.
Description
Technical Field
The present application relates to data communication technology, and in particular, to a data sampling method and apparatus.
Background
In some applications, the following problems often occur: the data communication system is required to support high-rate applications, but the data communication system cannot meet synchronous bidirectional communication conditions capable of realizing high-rate applications due to line limitations. The data communication system can be exemplified by a data interaction system of a main control board and each line card in the frame equipment.
For the above-described problems, a two-way communication (atypical two-way communication for short) scheme as shown in fig. 1 is often adopted. In fig. 1, device1 (e.g., a main control board in a subrack Device) is connected to Device2 (e.g., a line card in a subrack Device). The atypical two-way communication method shown in fig. 1 has fewer receive clock signals (rx_clk) than the synchronous two-way communication method shown in fig. 2. In the synchronous bi-directional communication scheme shown in fig. 2, rx_clk is a channel clock signal of a Data signal (denoted as rx_data) transmitted to Device1 by Device2, and is used for Device1 to sample rx_data. However, due to the lack of the rx_clk signal in the atypical two-way communication scheme shown in fig. 1, it often occurs that Device1 cannot sample rx_data normally.
Disclosure of Invention
The application provides a data sampling method and device for realizing accurate data sampling.
The technical scheme that this application provided includes:
a data sampling method for use with a first device in a data communication system, the method comprising:
in the link training process, N different signal adjustment information is determined, wherein N is a positive integer greater than 1; each signal adjustment information is used for adjusting a training data signal to be sent to a second device in the data communication system and a channel associated clock signal of the training data signal;
the following steps are performed for each signal adjustment information: respectively adjusting the training data signal and the associated clock signal according to the signal adjustment information, sending the adjusted training data signal and associated clock signal to a second device, sampling a training response data signal returned by the second device and used for responding to the adjusted training data signal according to the signal of the local sampling clock, and determining whether the signal adjustment information meets the set data communication requirement according to the training response data signal and the sent adjusted training data signal;
and determining target signal adjustment information according to all signal adjustment information meeting the set data communication requirement, wherein the target signal adjustment information is used for adjusting application data signals sent to the second equipment by the first equipment after training is finished and associated clock signals of the application data signals.
A data sampling apparatus for use with a first device in a data communication system, the apparatus comprising:
the determining unit is used for determining N different signal adjustment information in the link training process, wherein N is a positive integer greater than 1; each signal adjustment information is used for adjusting a training data signal to be sent to a second device in the data communication system and a channel associated clock signal of the training data signal;
an adjustment unit for performing the following steps for each signal adjustment information: respectively adjusting the training data signal and the associated clock signal according to the signal adjustment information, sending the adjusted training data signal and associated clock signal to a second device, sampling a training response data signal returned by the second device and used for responding to the adjusted training data signal according to the signal of the local sampling clock, and determining whether the signal adjustment information meets the set data communication requirement according to the training response data signal and the sent adjusted training data signal;
and the second determining unit is used for determining target signal adjustment information according to all signal adjustment information meeting the set data communication requirement, wherein the target signal adjustment information is used for adjusting an application data signal sent by the first equipment to the second equipment after training is finished and a channel associated clock signal of the application data signal.
According to the technical scheme, the first device trains the target signal adjustment information, so that the first device adjusts the first application data signal and the associated clock signal according to the target signal adjustment information and sends the first application data signal and the associated clock signal to the second device when the first device sends the first application data signal and the associated clock signal to the second device subsequently. In this way, the second device may sample the first application Data signal based on the received adjusted along-path clock signal and send a second application Data signal (e.g., rx_Data) to the first device. Because the second device is based on the second application Data signal (such as rx_data) sent by the adjusted channel clock signal, and the target signal adjustment information meets the set Data communication requirement, the target signal adjustment information meeting the set Data communication requirement can ensure that the second application Data signal sampled by the first device is accurate, and accurate Data sampling is realized.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the disclosure and together with the description, serve to explain the principles of the disclosure.
FIG. 1 is a schematic diagram of atypical two-way communication;
FIG. 2 is a schematic diagram of synchronous two-way communication;
FIG. 3 is a schematic diagram of signals applied to atypical two-way communication;
FIG. 4 is a flow chart of a method provided in an embodiment of the present application;
fig. 5 is a schematic flow chart of step 403 provided in the embodiment of the present application;
fig. 6 is a schematic diagram of networking provided in an embodiment of the present application;
fig. 7 is a schematic diagram of signal transmission provided in an embodiment of the present application;
fig. 8 is a schematic structural diagram of a device according to an embodiment of the present application;
fig. 9 is a schematic diagram of a hardware structure of a device according to an embodiment of the present application.
Detailed Description
Still taking the atypical two-way communication scheme applied in the data communication system as shown in fig. 1 as an example: if in fig. 1, device1 needs to initiate a read operation request, device1 sends a read request Data signal (denoted as tx_data) and a random clock signal (denoted as tx_clk) for tx_data to Device2. In one example, device1 may send a high level clock signal and a low level clock signal to Device2 every clock cycle (e.g., time T1 to time T2 are one clock cycle). The length of the clock period (i.e., the separation between time T1 and time T2) is determined by the original clock, e.g., when the original clock is 100M, it means that the frequency is 100M per second, i.e., 1 million clock periods per second. Device1 may start sending the request data signal on the rising edge of the clock signal. In one example, device1 may send 1 bit of data (e.g., 0 or 1) in one clock cycle. Fig. 3 shows tx_data and tx_clk.
After Device1 transmits Tx_CLK, device2 may receive Tx_CLK. Device2 may receive a high level clock signal and a low level clock signal every clock cycle. However, since there is a transmission delay between Device1 and Device2, when the transmission delay is delay1, device2 receives tx_clk after delay 1. Fig. 3 shows tx_clk received by Device2.
After Device1 transmits tx_data, device2 may receive tx_data. In one example, if Device1 only transmits 1 bit of data in one clock cycle, device2 only samples data once per clock cycle (e.g., samples data on the falling edge of the clock signal). Fig. 3 shows tx_data received by Device2.
After Device2 receives tx_data, it parses tx_data to find that it is a read request, and sends the requested Data to Device1 through a response message. For one embodiment, device2 may start sending data on the rising edge of Tx_CLK. In one example, like Device1, device2 may send only 1 bit of data (e.g., 0 or 1) in one clock cycle.
Since Rx_Data sent by Device2 has no random clock signal Rx_CLK, and since the signal delay between Device1 and Device2 is unknown, it often happens that Device1 cannot sample Rx_Data correctly. Even though Device1 samples Data according to a pre-configuration, such as on the rising edge of tx_clk, it may have errors in the sampled rx_data. Taking Device1 as an example to sample Data on the rising edge of Tx_CLK, FIG. 3 shows sampled Rx_data. It can be seen that the Data transition time of the sampled rx_data corresponds exactly to the rising edge of tx_clk, which does not meet the setup time (setup time) required by the chip of Device1. Here, the setup time refers to a time when the data is stable before the rising edge of the clock signal arrives, and if the setup time is insufficient, the data cannot be driven into the flip-flop at the rising edge of the clock signal. However, the setup time of the Device1 chip is not satisfied, the sampled rx_data is affected, and an error occurs in the rx_data.
In order to avoid the above-mentioned errors, a data sampling method as shown in fig. 4 is provided in the embodiment of the present application. The data sampling method is applied to a data communication system. In one example, the data communication system herein may be a network device (e.g., a router, a switch, etc.). The network device may include a master control board and at least one line card, the master control board may be connected to each line card through a data bus, which may include, but is not limited to, an LVDS bus.
As shown in fig. 4, the process may include the steps of:
step 401, determining N different signal adjustment information by the first device during the link training process; each signal adjustment information is used to adjust a training data signal to be sent to a second device in the data communication system and a channel associated clock signal of the training data signal.
Here, the first device and the second device are named for convenience of description, and are not limited thereto.
In step 401, N is a positive integer greater than 1.
In a specific implementation, a first Device, such as Device1 shown in fig. 1, sends a data signal (also referred to as an application data signal for a specific application) to a second Device, such as Device2 shown in fig. 1, with a channel clock signal. Thus, the Device2 shown in fig. 1 of the second Device may rely on the channel clock signal sent by the Device1 shown in fig. 1 of the first Device to sample the data signal (also referred to as the application data signal for a specific application) sent by the Device1 shown in fig. 1 of the first Device to the Device2 shown in fig. 1 of the second Device, and the sampled data must be correct. However, the data signal transmitted from the second Device such as Device2 shown in fig. 1 to the first Device such as Device1 shown in fig. 1 is without the associated clock signal, so that it is difficult for the first Device such as Device1 shown in fig. 1 to accurately sample the data signal transmitted from the second Device such as Device2 shown in fig. 1. In order to ensure that the Device1 shown in fig. 1 accurately samples the data signal sent by the Device2 shown in fig. 1 by the second Device, the embodiment of the present application performs link training to finally ensure that the Device1 shown in fig. 1 accurately samples the data signal sent by the Device2 shown in fig. 1 by the second Device. See step 401 for details of how link training may be performed.
The first device determines N different signal adjustment information during the training process, as depicted in step 401. In one example, each signal adjustment information is used to adjust the training data signal to be sent to the second device and the associated clock signal of the training data signal. As an example, the training data signal may be a data signal to be transmitted to the second device, which is named for ease of description only.
As to what the signal adjustment information is, how to adjust the training data signal to be transmitted to the second device and the associated clock signal of the training data signal will be described below, and will not be repeated here.
Step 402, for each signal adjustment information, performing the following steps: and respectively adjusting the training data signal and the associated clock signal according to the signal adjustment information, sending the adjusted training data signal and associated clock signal to the second equipment, sampling a training response data signal returned by the second equipment and used for responding to the adjusted training data signal according to the signal of the local sampling clock, and determining whether the signal adjustment information meets the set data communication requirement according to the training response data signal and the sent adjusted training data signal.
In one example, determining whether the signal adjustment information meets the set data communication requirements in step 402 based on the training response data signal and the transmitted adjusted training data signal may include:
checking whether the data in the training response data signal is consistent with the data in the transmitted adjusted training data signal, if so, determining that the signal adjustment information meets the set data communication requirement, otherwise, determining that the signal adjustment information does not meet the set data communication requirement.
Step 403, determining target signal adjustment information according to all signal adjustment information meeting the set data communication requirement, where the target signal adjustment information is used to adjust an application data signal sent by the first device to the second device after training is finished and a channel associated clock signal of the application data signal.
As an embodiment, in step 403, determining the target signal adjustment information from all signal adjustment information satisfying the set data communication requirement may include the flow shown in fig. 5, which is not described herein.
The target signal adjustment information may be finally determined according to all signal adjustment information satisfying the set data communication requirement, via step 403. When the method is applied specifically, if the first device needs to send the data signal (recorded as the first application data signal) and the associated clock signal of the first application data signal to the second device, the first application data signal and the associated clock signal of the first application data signal can be adjusted according to the target signal adjustment information, and then the adjusted first application data signal and the adjusted associated clock signal are sent to the second device. In this way, the second device may sample the first application Data signal based on the received adjusted along-path clock signal, and may also send the second application Data signal (such as rx_data described above) to the first device based on the adjusted along-path clock signal, so that, although the second device does not send the along-path clock signal of the second application Data signal, even if the signal delay between the second device and the first device is unknown, the first device samples the second application Data signal (such as rx_data described above) according to the local sampling clock signal, and the problem of sampling Data errors does not occur. Because the second device is based on the second application Data signal (such as rx_data) sent by the adjusted channel clock signal, the second application Data signal sampled by the first device is accurate based on the description that the target signal adjustment information in step 402 or step 403 meets the set Data communication requirement, and accurate Data sampling is achieved.
Thus, the flow shown in fig. 4 is completed.
How the target signal adjustment information is determined according to all the signal adjustment information satisfying the set data communication requirement in step 403 is described below:
referring to fig. 5, fig. 5 is a schematic flow chart of step 403 provided in an embodiment of the present application. As shown in fig. 5, the process may include the steps of:
step 501, selecting one signal adjustment information satisfying a condition from all signal adjustment information satisfying a set data communication requirement, where the signal adjustment information satisfying the condition refers to: the sampled training response data signal meets the setup time requirements and the hold time requirements required by the local chip of the first device, and the sampled training response data signal is used for responding to the training data signal adjusted based on the signal adjustment information meeting the conditions.
As one embodiment, the N pieces of signal adjustment information include: and N pieces of phase adjustment information, wherein each piece of phase adjustment information is used for adjusting the phases of the training data signal and the associated clock signal of the training data signal. In one example, the same phase adjustment information adjusts the phase amounts of the training data signal and the associated clock signal of the training data signal to be the same.
Based on this, in this step 501, selecting one signal adjustment information satisfying the condition from all signal adjustment information satisfying the set data communication requirement includes:
step a1, determining Tx_Clk phase corresponding to each signal adjustment information meeting the set data communication requirement; the Tx_Clk phase is the phase of the channel associated clock signal obtained after the channel associated clock signal is adjusted according to the signal adjustment information;
step a2, calculating an average value of Tx_Clk phases corresponding to the signal adjustment information, and selecting a Tx_Clk phase closest to the average value from the Tx_Clk phases corresponding to the signal adjustment information meeting the set data communication requirement;
and a step a3 of determining signal adjustment information corresponding to the Tx_Clk phase closest to the average value as the target signal adjustment information.
In one example, the N pieces of phase adjustment information are obtained by sequentially increasing the set phase stepping amplitude. For example, the phase stepping amplitude is 45 degrees, and the first phase adjustment information is: the phase is adjusted by 45 degrees, and the second phase adjustment information is: phase adjustment is 90 degrees, and so on.
And step 502, determining the selected signal adjustment information meeting the condition as the target signal adjustment information.
The final selected target signal adjusts the information, via step 502. Based on the step of determining the target signal adjustment information in the steps a1 to a3, specifically, if the first device needs to send the data signal (denoted as the first application data signal) and the associated clock signal of the first application data signal to the second device, the phases of the first application data signal and the associated clock signal of the first application data signal may be adjusted according to the target signal adjustment information, and then the adjusted first application data signal and the associated clock signal may be sent to the second device. In this way, the second device may sample the first application Data signal based on the received adjusted associated clock signal, and may also send the second application Data signal (such as rx_data described above) to the first device based on the adjusted associated clock signal, so that, although the second device does not send the associated clock signal of the second application Data signal, even if the signal delay between the second device and the first device is unknown, the first device samples the second application Data signal (such as rx_data described above) according to the sampling clock signal with the local phase being always unchanged, and the problem of sampling Data errors does not occur. Because the second device is the step of determining the target signal adjustment information based on the adjusted second application Data signal (such as rx_data) sent by the adjusted random clock signal and based on the steps a1 to a3, the second application Data signal sampled by the first device finally meets the setup time requirement and the hold time requirement required by the local chip of the first device. The sampled second application data signal is accurate, enabling accurate data sampling.
Thus, the flow shown in fig. 5 is completed.
By the flow shown in fig. 5, it is realized how the target signal adjustment information is selected from all the signal adjustment information satisfying the set data communication requirement in step 403 described above.
To make the flow shown in fig. 4 and 5 easier to understand, the following description is made by using a specific embodiment:
referring to fig. 6, fig. 6 is a schematic diagram of networking provided in an embodiment of the present application. In fig. 6, the device 601 maintains the phase of the sampling clock locally unchanged all the time. Here, as one example, the phase of the sampling clock may be the power-on initial phase of the associated clock to which the device 601 is locally connected.
Fig. 6 shows training Data signals (denoted as data_10) and data_10's associated clock signals (denoted as clk_20) to be sent locally by device 601 to device 602.
If 8 pieces of phase adjustment information for adjusting the phases of the signals data_10 and clk_20 are determined, the phase adjustment information 1 to the phase adjustment information 8 are sequentially provided. Wherein, the phase adjustment information 1 is a rising edge delay of 1ns, the phase adjustment information 2 is a rising edge delay of 2ns, the phase adjustment information 3 is a rising edge delay of 3ns, and so on, and the phase adjustment information 8 is a rising edge delay of 8ns.
With phase adjustment information 1: for example, the rising edge is delayed by 1ns, then in FIG. 6, device 601 first delays the rising edges of Data_10 and CLK_20 by 1ns. At this time, data_10 with a 1ns rising edge delay may be denoted as data_11, and clk_20 with a 1ns rising edge delay may be denoted as clk_21.
Device 601 then sends clk_21, data_11 to device 602.
Device 602 receives CLK_21 and samples data_11 using CLK_21. Since data_11 is sampled with the random clock of data_11, the setup time and hold time requirements of the local chip of device 602 can be guaranteed when device 602 samples data_11 using clk_21 as long as data_11 and clk_21 delays are substantially identical. The device 602 then sends the sampled Data (which may be denoted as data_12 at this time) using clk_21.
Device 601 samples data_12 at specified sampling points (e.g., rising or falling edges) in the local clock signal. FIG. 7 illustrates, by way of example, data_12 sampled with the rising edges of data_10 and CLK_20 delayed by 1ns.
The device 601 checks whether the sampled Data of data_12 and the transmitted Data of data_11 agree, and if so, determines the above-mentioned phase adjustment information: the rising edge delays of data_10 and clk_20 by 1ns are sufficient to meet the set Data communication requirements.
The above-mentioned phase adjustment information 1: for example, the rising edge is delayed by 1ns, and other phase adjustment information is similar. Fig. 7 also illustrates, by way of example, other phase adjustment information adjusted clock signals and sampled data signals.
If the following two phase adjustment information are finally found: if the phase adjustment information 1 and the phase adjustment information 2 do not satisfy the set data communication requirement, and the remaining 6 pieces of phase adjustment information, i.e., the phase adjustment information 3 to the phase adjustment information 8, all satisfy the set data communication requirement, then as an example, a random one of the phase adjustment information satisfying the set data communication requirement may be selected as the target phase adjustment information based on a specified sampling point (e.g., a rising edge or a falling edge) in the sampling clock signal shown in fig. 7. Alternatively, as another example, one signal adjustment information satisfying the condition may be selected as the target phase adjustment information from among the phase adjustment information satisfying the set data communication requirement, based on a specified sampling point (e.g., a rising edge or a falling edge) in the sampling clock signal shown in fig. 7. Here, the signal adjustment information satisfying the condition means: the setup time requirements and the hold time requirements of the local chip requirements of the device 601 are met when sampling the Data signal of Data-10 for adjustment in response to the signal adjustment information based on the meeting condition. In one example, based on the above-determined 8 pieces of phase adjustment information, the phase adjustment information such as the phase adjustment information 5 and the phase adjustment information 6 at the intermediate position may satisfy the above condition, that is, the above-selected signal adjustment information satisfying the condition.
After the target phase adjustment information is selected, the phase adjustment information 5 is selected: for example, if the device 601 needs to send a Data signal (denoted as data_30) and a random clock signal (denoted as clk_40) for data_30 to the device 602 based on the application, the rising edges of data_30 and clk_40 may be delayed by 5ns according to the target signal adjustment information. For ease of description, data_30 with a rising edge delay of 5ns may be denoted as data_31, and clk_40 with a rising edge delay of 5ns may be denoted as clk_41. Device 601 sends data_31 and clk_41 to device 602. Thus, device 602 can sample data_31 based on received clk_41 and can also send a corresponding Data signal (denoted as data_32) to device 601 based on clk_41, so that, although device 602 does not send the lane clock signal of data_32, even though the signal delay between device 602 and device 601 is unknown, sampling data_32 by device 601 at a specified sampling point (e.g., rising edge or falling edge) of the local sampling clock signal does not cause a problem of sampling Data errors, because: because the device 602 is based on the data_32 sent by the clk_41, and the clk_41 is adjusted according to the target phase adjustment information (i.e., the phase adjustment information 5: rising edge delay 5 ns), the device 601 also meets the setup time requirement and the hold time requirement required by the local chip of the first device when sampling the data_32 according to the specified sampling point (e.g., rising edge or falling edge) of the local sampling clock signal, and the sampled second application Data signal is accurate, thereby realizing accurate Data sampling.
This completes the description of the embodiment shown in fig. 6.
The method provided by the present application is described above, and the apparatus provided by the present application is described below:
referring to fig. 8, fig. 8 is a block diagram of an apparatus provided in the present application. The device is applied to a first equipment in a data communication system. As shown in fig. 8, the apparatus may include:
the determining unit is used for determining N different signal adjustment information in the link training process, wherein N is a positive integer greater than 1; each signal adjustment information is used for adjusting a training data signal to be sent to a second device in the data communication system and a channel associated clock signal of the training data signal;
an adjustment unit for performing the following steps for each signal adjustment information: respectively adjusting the training data signal and the associated clock signal according to the signal adjustment information, sending the adjusted training data signal and associated clock signal to a second device, sampling a training response data signal returned by the second device and used for responding to the adjusted training data signal according to the signal of the local sampling clock, and determining whether the signal adjustment information meets the set data communication requirement according to the training response data signal and the sent adjusted training data signal;
and the second determining unit is used for determining target signal adjustment information according to all signal adjustment information meeting the set data communication requirement, wherein the target signal adjustment information is used for adjusting an application data signal sent by the first equipment to the second equipment after training is finished and a channel associated clock signal of the application data signal.
As one embodiment, the adjusting unit determining whether the signal adjustment information satisfies the set data communication requirement according to the training response data signal and the transmitted adjusted training data signal includes:
checking whether the data in the training response data signal is consistent with the data in the transmitted adjusted training data signal, if so, determining that the signal adjustment information meets the set data communication requirement, otherwise, determining that the signal adjustment information does not meet the set data communication requirement.
As one embodiment, the second determining unit determining the target signal adjustment information according to all signal adjustment information satisfying the set data communication requirement includes:
selecting one signal adjustment information satisfying a condition from all signal adjustment information satisfying a set data communication requirement, wherein the signal adjustment information satisfying the condition refers to: the sampled training response data signal meets the set-up time requirement and the hold time requirement required by the local chip of the first device, and the sampled training response data signal is used for responding to the training data signal adjusted based on the signal adjustment information meeting the condition;
and determining the selected signal adjustment information meeting the condition as the target signal adjustment information.
As one embodiment, the N signal adjustment information includes: n phase adjustment information, each phase adjustment information being used to adjust the phase of the training data signal and the associated clock signal of the training data signal;
the selecting one signal adjustment information satisfying the condition from all signal adjustment information satisfying the set data communication requirement includes:
for each signal adjustment information meeting the set data communication requirement, determining the Tx_Clk phase corresponding to the signal adjustment information; the Tx_Clk phase is the phase of the channel associated clock signal obtained after the channel associated clock signal is adjusted according to the signal adjustment information;
calculating an average value of Tx_Clk phases corresponding to the signal adjustment information, and selecting a Tx_Clk phase closest to the average value from the Tx_Clk phases corresponding to the signal adjustment information meeting the set data communication requirement;
and determining signal adjustment information corresponding to the Tx_Clk phase closest to the average value as the target signal adjustment information.
As one embodiment, the N pieces of phase adjustment information are sequentially obtained by increasing according to a set phase stepping amplitude.
Thus, the device structure description shown in fig. 8 is completed.
Correspondingly, the application also provides a hardware structure of the device shown in fig. 8. As shown in fig. 9, the hardware structure may include: a processor and a machine-readable storage medium storing machine-executable instructions executable by the processor; the processor is configured to execute the machine-executable instructions to implement the methods disclosed in the above examples of the present application.
Based on the same application concept as the above method, the embodiments of the present application further provide a machine-readable storage medium, where a number of computer instructions are stored, where the computer instructions can implement the method disclosed in the above example of the present application when executed by a processor.
By way of example, the machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, and the like. For example, a machine-readable storage medium may be: RAM (Radom Access Memory, random access memory), volatile memory, non-volatile memory, flash memory, a storage drive (e.g., hard drive), a solid state drive, any type of storage disk (e.g., optical disk, dvd, etc.), or a similar storage medium, or a combination thereof.
The system, apparatus, module or unit set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having a certain function. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular telephone, camera phone, smart phone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being functionally divided into various units, respectively. Of course, the functions of each element may be implemented in one or more software and/or hardware elements when implemented in the present application.
It will be appreciated by those skilled in the art that embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, embodiments of the present application may take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
Moreover, these computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
The foregoing is merely exemplary of the present application and is not intended to limit the present application. Various modifications and changes may be made to the present application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc. which are within the spirit and principles of the present application are intended to be included within the scope of the claims of the present application.
Claims (8)
1. A method of data sampling, the method being applied to a first device in a data communication system, the method comprising:
in the link training process, N different signal adjustment information is determined, wherein N is a positive integer greater than 1; each signal adjustment information is used for adjusting a training data signal to be sent to a second device in the data communication system and a channel associated clock signal of the training data signal;
the following steps are performed for each signal adjustment information: respectively adjusting the training data signal and the associated clock signal according to the signal adjustment information, sending the adjusted training data signal and associated clock signal to a second device, sampling a training response data signal returned by the second device and used for responding to the adjusted training data signal according to the signal of the local sampling clock, and determining whether the signal adjustment information meets the set data communication requirement according to the training response data signal and the sent adjusted training data signal;
selecting one signal adjustment information satisfying a condition from all signal adjustment information satisfying a set data communication requirement, wherein the signal adjustment information satisfying the condition refers to: the sampled training response data signal meets the set-up time requirement and the hold time requirement required by the local chip of the first device, and the sampled training response data signal is used for responding to the training data signal adjusted based on the signal adjustment information meeting the condition; and determining the selected signal adjustment information meeting the conditions as target signal adjustment information, wherein the target signal adjustment information is used for adjusting an application data signal sent by the first equipment to the second equipment after training is finished and a channel associated clock signal of the application data signal, and the second equipment samples the application data signal sent by the first equipment to the second equipment and sends the application data signal to the first equipment based on the channel associated clock signal of the adjusted application data signal.
2. The method of claim 1, wherein determining whether the signal adjustment information meets the set data communication requirement based on the training response data signal and the transmitted adjusted training data signal comprises:
checking whether the data in the training response data signal is consistent with the data in the transmitted adjusted training data signal, if so, determining that the signal adjustment information meets the set data communication requirement, otherwise, determining that the signal adjustment information does not meet the set data communication requirement.
3. The method of claim 1, wherein the N signal adjustment information comprises: and N phase adjustment information, wherein each phase adjustment information is used for adjusting the phases of the training data signal and the associated clock signal of the training data signal.
4. A method according to claim 3, wherein said selecting one signal adjustment information satisfying a condition from among all signal adjustment information satisfying a set data communication requirement comprises:
for each signal adjustment information meeting the set data communication requirement, determining the Tx_Clk phase corresponding to the signal adjustment information; the Tx_Clk phase is the phase of the channel associated clock signal obtained after the channel associated clock signal is adjusted according to the signal adjustment information;
calculating an average value of Tx_Clk phases corresponding to the signal adjustment information, and selecting a Tx_Clk phase closest to the average value from the Tx_Clk phases corresponding to the signal adjustment information meeting the set data communication requirement;
and determining signal adjustment information corresponding to the Tx_Clk phase closest to the average value as the target signal adjustment information.
5. The method according to claim 3 or 4, wherein the N phase adjustment information is obtained by sequentially increasing according to a set phase stepping amplitude.
6. A data sampling apparatus for use with a first device in a data communication system, the apparatus comprising:
the first determining unit is used for determining N different signal adjustment information in the link training process, wherein N is a positive integer greater than 1; each signal adjustment information is used for adjusting a training data signal to be sent to a second device in the data communication system and a channel associated clock signal of the training data signal;
an adjustment unit for performing the following steps for each signal adjustment information: respectively adjusting the training data signal and the associated clock signal according to the signal adjustment information, sending the adjusted training data signal and associated clock signal to a second device, sampling a training response data signal returned by the second device and used for responding to the adjusted training data signal according to the signal of the local sampling clock, and determining whether the signal adjustment information meets the set data communication requirement according to the training response data signal and the sent adjusted training data signal;
a second determining unit configured to select one signal adjustment information satisfying a condition from all signal adjustment information satisfying a set data communication requirement, the signal adjustment information satisfying the condition being: the sampled training response data signal meets the set-up time requirement and the hold time requirement required by the local chip of the first device, and the sampled training response data signal is used for responding to the training data signal adjusted based on the signal adjustment information meeting the condition; and determining the selected signal adjustment information meeting the conditions as target signal adjustment information, wherein the target signal adjustment information is used for adjusting an application data signal sent by the first equipment to the second equipment after training is finished and a channel associated clock signal of the application data signal, and the second equipment samples the application data signal sent by the first equipment to the second equipment and sends the application data signal to the first equipment based on the channel associated clock signal of the adjusted application data signal.
7. The apparatus of claim 6, wherein the adjusting unit determining whether the signal adjustment information satisfies the set data communication requirement based on the training response data signal and the transmitted adjusted training data signal comprises:
checking whether the data in the training response data signal is consistent with the data in the transmitted adjusted training data signal, if so, determining that the signal adjustment information meets the set data communication requirement, otherwise, determining that the signal adjustment information does not meet the set data communication requirement.
8. The apparatus of claim 6, wherein the N signal adjustment information comprises: n phase adjustment information, each phase adjustment information being used to adjust the phase of the training data signal and the associated clock signal of the training data signal;
the selecting one signal adjustment information satisfying the condition from all signal adjustment information satisfying the set data communication requirement includes:
for each signal adjustment information meeting the set data communication requirement, determining the Tx_Clk phase corresponding to the signal adjustment information; the Tx_Clk phase is the phase of the channel associated clock signal obtained after the channel associated clock signal is adjusted according to the signal adjustment information;
calculating an average value of Tx_Clk phases corresponding to the signal adjustment information, and selecting a Tx_Clk phase closest to the average value from the Tx_Clk phases corresponding to the signal adjustment information meeting the set data communication requirement;
and determining signal adjustment information corresponding to the Tx_Clk phase closest to the average value as the target signal adjustment information.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012247.4A CN110768664B (en) | 2019-10-23 | 2019-10-23 | Data sampling method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911012247.4A CN110768664B (en) | 2019-10-23 | 2019-10-23 | Data sampling method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110768664A CN110768664A (en) | 2020-02-07 |
CN110768664B true CN110768664B (en) | 2023-12-26 |
Family
ID=69333178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911012247.4A Active CN110768664B (en) | 2019-10-23 | 2019-10-23 | Data sampling method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110768664B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111459069B (en) * | 2020-04-14 | 2021-06-01 | 山东高云半导体科技有限公司 | First control module, second control module, data transmission system and control method |
CN115113686A (en) * | 2022-04-25 | 2022-09-27 | 腾讯科技(深圳)有限公司 | Timing adjustment method and device, storage medium and electronic equipment |
CN117056269B (en) * | 2023-10-11 | 2024-02-09 | 芯耀辉科技有限公司 | Data alignment method for parallel interface connection, computer equipment and medium |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787427A (en) * | 2004-12-10 | 2006-06-14 | 大唐移动通信设备有限公司 | Method for adjusting receiving data delaying non-uniform by channel associated clock signal |
CN104571264A (en) * | 2014-12-29 | 2015-04-29 | 大唐移动通信设备有限公司 | Delay adjusting method and delay adjusting device |
CN105391663A (en) * | 2015-10-09 | 2016-03-09 | 浙江大华技术股份有限公司 | Signal transmission method and system |
WO2018112903A1 (en) * | 2016-12-23 | 2018-06-28 | 华为技术有限公司 | Method and device for clock synchronization |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005402A1 (en) * | 2006-04-25 | 2008-01-03 | Samsung Electronics Co., Ltd. | Gals-based network-on-chip and data transfer method thereof |
US9407427B2 (en) * | 2013-02-20 | 2016-08-02 | Nvidia Corporation | Technique for optimizing the phase of a data signal transmitted across a communication link |
US9842080B2 (en) * | 2014-07-02 | 2017-12-12 | Anapass Inc. | Bidirectional communication method and bidirectional communication apparatus using the same |
-
2019
- 2019-10-23 CN CN201911012247.4A patent/CN110768664B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787427A (en) * | 2004-12-10 | 2006-06-14 | 大唐移动通信设备有限公司 | Method for adjusting receiving data delaying non-uniform by channel associated clock signal |
CN104571264A (en) * | 2014-12-29 | 2015-04-29 | 大唐移动通信设备有限公司 | Delay adjusting method and delay adjusting device |
CN105391663A (en) * | 2015-10-09 | 2016-03-09 | 浙江大华技术股份有限公司 | Signal transmission method and system |
WO2018112903A1 (en) * | 2016-12-23 | 2018-06-28 | 华为技术有限公司 | Method and device for clock synchronization |
Non-Patent Citations (1)
Title |
---|
一种板间高速传输系统的设计与实现;刘丽格;李天保;石鑫刚;;无线电通信技术(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110768664A (en) | 2020-02-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110768664B (en) | Data sampling method and device | |
JP6568247B2 (en) | N-phase signal transition alignment | |
US10289600B2 (en) | Reducing transmitter encoding jitter in a C-PHY interface using multiple clock phases to launch symbols | |
KR101749202B1 (en) | Method, apparatus, and system for generating timestamp | |
KR102522742B1 (en) | Multiphase clock data recovery for 3-phase interface | |
CN109392074B (en) | Clock calibration method and device | |
CN107844445B (en) | Tuning circuitry and operation for non-source synchronous systems | |
CN109474986A (en) | Uplink synchronisation method, device, equipment, storage medium and LTE communication system | |
CN105578585B (en) | Method, device and communication equipment for determining link delay | |
US10347347B1 (en) | Link training mechanism by controlling delay in data path | |
US9568944B2 (en) | Distributed timer subsystem across multiple devices | |
EP3529956B1 (en) | Reducing transmitter encoding jitter in a c-phy interface using multiple clock phases to launch symbols | |
WO2018214856A1 (en) | Method and device for data processing | |
US20180068697A1 (en) | Reception circuit | |
US20190036803A1 (en) | Distributed timestamping in networks | |
US7243253B1 (en) | Repeating switching of a cross-connect and a timing source in a network element through the use of a phase adjuster | |
US20070255867A1 (en) | Early HSS Rx Data Sampling | |
JPWO2008152755A1 (en) | Timing recovery circuit, communication node, network system, and electronic device | |
CN108345554B (en) | Method for determining sampling phase of sampling clock signal and related electronic device | |
US20060222131A1 (en) | Method for sampling reverse data and a reverse data sampling circuit for performing the same | |
CN109155798B (en) | Asynchronous FIFO circuit and time delay determination method | |
US20190007054A1 (en) | Strobe centering apparatus and method | |
CN115333667B (en) | Method for adjusting time sequence and communication system | |
CN112260814B (en) | Data phase correction method for high-speed serial communication, electronic device, and storage medium | |
CN109286535B (en) | Method and system for acquiring delay step time in storage module |
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 |