[go: up one dir, main page]

CN112532239B - USB data recovery system - Google Patents

USB data recovery system Download PDF

Info

Publication number
CN112532239B
CN112532239B CN202011327603.4A CN202011327603A CN112532239B CN 112532239 B CN112532239 B CN 112532239B CN 202011327603 A CN202011327603 A CN 202011327603A CN 112532239 B CN112532239 B CN 112532239B
Authority
CN
China
Prior art keywords
data
module
recovery
turnover
interval
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
Application number
CN202011327603.4A
Other languages
Chinese (zh)
Other versions
CN112532239A (en
Inventor
陈文捷
陈相政
唐振中
郑思
卢夏燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Huge Ic Co ltd
Original Assignee
Zhuhai Huge Ic Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Huge Ic Co ltd filed Critical Zhuhai Huge Ic Co ltd
Priority to CN202011327603.4A priority Critical patent/CN112532239B/en
Publication of CN112532239A publication Critical patent/CN112532239A/en
Application granted granted Critical
Publication of CN112532239B publication Critical patent/CN112532239B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03LAUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
    • H03L7/00Automatic control of frequency or phase; Synchronisation
    • H03L7/06Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
    • H03L7/08Details of the phase-locked loop
    • H03L7/099Details of the phase-locked loop concerning mainly the controlled oscillator of the loop

Landscapes

  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

The invention discloses a USB clock and a data recovery system; the device comprises a data acquisition module, a clock generation module, a data shaping module, a turnover detection module, a correction coefficient acquisition module, a turnover time and recovery interval correction module and a data recovery module; the data acquisition module performs data oversampling according to the clock sampling signal generated by the clock generation module to obtain sampling data; the data shaping module is used for denoising the sampled data; the turnover detection module is used for detecting turnover time and the number of turnover periods on two adjacent sides; the correction coefficient acquisition module is used for acquiring a turnover time correction coefficient and a restoration interval correction coefficient; the overturning time and recovery interval correction module respectively carries out real-time correction on the overturning time and recovery interval according to the correction coefficient; and the data recovery module realizes recovery of the USB data according to the data output by the data shaping module, the calibrated recovery interval and the turnover time. The system of the invention can realize the accurate recovery of USB data.

Description

USB data recovery system
Technical Field
The invention relates to the technical field of USB data transmission application, in particular to a USB data recovery system.
Background
In the USB communication protocol, only serial data is transmitted without clock signal transmission, so that the receiving end needs to extract clock information of the transmitting end from the transmitted data, thereby realizing data recovery.
In a common USB clock data recovery circuit, a high-quality crystal oscillator is required to be used as a clock source to generate a stable clock, but the cost of the crystal oscillator is higher, so that in order to reduce the cost of peripheral devices, USB devices without crystal oscillator are increasingly favored.
A USB device without a crystal oscillator generally uses an internal oscillation circuit as a clock source for receiving and transmitting data, but a reference clock generated by the internal oscillation circuit generally has a deviation of about ±50% due to limitations of a manufacturing process and influence of an internal voltage, temperature, and the like. Even if calibration is performed and recorded during the chip test phase, there is no way to avoid frequency deviation caused by voltage and temperature variations during use. And frequency deviations may lead to received data errors. One of the key technologies of a crystal-free USB device is therefore how to calibrate in real time to obtain a stable clock.
In the transmission process of the data, a lot of noise and distortion are inevitably introduced, so that the transmitted data is inaccurate. How to obtain accurate data is another key technology for USB devices.
In the chinese patent application with publication number CN102331979a, SOF sent by the USB host is used as a clock calibration reference, so that the frequency of the internal clock can be calibrated in real time; one of the methods provided by this patent application is not applicable to USB hosts; the second method has very slow calibration speed, and at the transmission interval of the SOF of 125us, enough SOFs are required to be received for calibration to avoid the influence of noise. Thirdly, the method can only calibrate the clock frequency, and does not provide a reliable data recovery method.
The patent application publication CN103576740a provides a clock detection circuit employing an internal oscillating circuit, which uses a delay unit to calculate the period and delay of the local reference clock and data, and this method can only detect the period and delay of the clock by the delay unit, and does not provide a method of data recovery. If the data is sampled with the reference clock, the data recovery may be erroneous when the data is disturbed or the clock jitter of the sender is large.
Disclosure of Invention
The invention aims to provide a USB data recovery system which can accurately recover a clock and data of USB transmission data, has a good real-time effect and does not need calibration and preheating; the invention is realized by adopting the following technical scheme:
the USB data recovery system is characterized by comprising a data acquisition module, a clock generation module, a data shaping module, a turnover detection module, a correction coefficient acquisition module, a turnover time and recovery interval correction module and a data recovery module;
the data acquisition module comprises a comparator and a multi-phase sampling module, wherein two input ends of the comparator are correspondingly connected with two data signal ends of the USB, and the output end of the comparator is connected with the data signal input end of the multi-phase sampling module;
the output end of the clock generation module is connected with the clock signal input end of the multi-phase sampling module;
the output end of the multiphase sampling module is connected with the input end of the data shaping module;
the output end of the data shaping module is connected with the first input end of the data recovery module and the first input end of the turnover detection module;
the output end of the turnover detection module is connected with the input end of the correction coefficient acquisition module;
the output end of the correction coefficient acquisition module is connected with the input end of the turnover time and recovery interval correction module, and the output end of the turnover time and recovery interval correction module is connected with the second input end of the data recovery module and the second input end of the turnover detection module;
the clock generation module is used for generating an over-sampling clock signal with M times of a reference clock frequency, namely one sampling signal is expanded into M over-sampling signals, the data acquisition module carries out over-sampling on the data signal output by the comparator according to the over-sampling clock signal, the reference clock frequency is a fixed reference square wave signal, when sampling of data is carried out, each reference square wave signal corresponds to one sampling signal, the over-sampling clock signal divides one reference square wave signal into M over-sampling square wave signals, sampling time is shortened, or one sampling signal is expanded into M over-sampling signals in the same time, and one sampling interval is the time of two adjacent reference square wave signals (can be recorded as one sampling period); the data shaping module is used for removing noise of the data acquired by the data acquisition module; the overturn detection module is used for detecting an overturn time point of the nth overturn of the data output by the data shaping module and the number of the reference sampling data which is passed by the nth overturn and the (n-1) th adjacent overturn, wherein the number of the reference sampling data = the number of the over-sampling data which is passed by the adjacent overturn/the recovery interval, and the recovery interval is the number of the excessive sampling data which is passed by the adjacent two recovery data when the data is recovered; the correction coefficient acquisition module is used for acquiring a turnover time correction coefficient K0 (n) and a restoration interval correction coefficient K1 (n); the turnover time and recovery interval correction module corrects the turnover time according to the turnover time correction coefficient K0 (n), and corrects the recovery interval in real time according to the recovery interval correction coefficient K1 (n); the data recovery module realizes recovery of USB data according to the data output by the data shaping module, the corrected recovery interval and the corrected turnover time; in the initial state, the restoration interval is the same as the oversampling multiple.
In the present invention, the restoration interval is a time interval for data restoration; when the system is started initially, the oversampling multiple is the same as the recovery interval, and in the running process of the system, the recovery interval is corrected in real time according to the processed oversampling data.
Specifically, the clock generation module comprises an internal oscillating circuit and a clock output module, wherein the output end of the internal oscillating circuit is connected with the input end of the clock output module, and the output end of the clock output module is connected with the clock signal input end of the multi-phase sampling module.
Specifically, the data shaping module comprises a data buffer A, a median filter, a minimum pulse width holding module and a data buffer B; the data buffer A is used for caching the data to be shaped, and the data buffer B is used for caching the shaped data; the output end of the multi-phase acquisition module is connected with the input end of the data buffer A, the output end of the data buffer A is connected with the input end of the median filter, the output end of the median filter is connected with the input end of the minimum pulse width holding module, the output end of the minimum pulse width holding module is connected with the input end of the data buffer B, and the output end of the data buffer B is connected with the input end of the turnover time correction module and the input end of the data recovery module; the median filter is used for eliminating noise interference of an input signal of the median filter; the minimum pulse width maintaining module is used for ensuring that the output of the median filter at least maintains N bits unchanged so as to eliminate jump interference.
Preferably, characterized in that n=0.5M.
As a specific embodiment, m=8.
Preferably, the device further comprises a recovery interval learning module; the turnover time and recovery interval correction module corrects the recovery interval in real time according to the recovery interval correction coefficient K1 (n) to obtain an estimated recovery interval; the recovery interval learning module obtains an accurate recovery interval according to the estimated recovery interval and a machine learning algorithm; the recovery interval learning module provides the accurate recovery interval for the turnover detection module, the data recovery module, the turnover time and the recovery interval correction module; and the data recovery module realizes recovery of the USB data according to the accurate recovery interval.
Preferably, the output end of the recovery interval learning module is also connected with the input end of the internal oscillating circuit; the recovery interval learning module provides the accurate recovery interval for the internal oscillating circuit, and the internal oscillating circuit corrects the reference clock frequency according to the recovery interval.
Specifically, the turnover time correction coefficient K0 (n) and the restoration interval correction coefficient K1 (n) are obtained through a kalman machine learning algorithm;
alternatively, the inversion time correction coefficient K0 (n) and the restoration interval correction coefficient K1 (n) are obtained by means of a lookup table.
Further, the values of the turnover time correction coefficient K0 (n) and the recovery interval correction coefficient K1 (n) are all in the range of 0-1, and the values of K0 (n) and K1 (n) are unchanged or change in a descending trend along with the increase of the turnover times n.
Specifically, in the rollover detection module, the calculation formula of delta_period (n) is as follows:
equation one: delta_period (n) =round ((act_phase (n) -Phase (n-1))/period (n-1));
wherein: act_phase (n) is the inversion time point actually measured at the present time; phase (n-1) is the last corrected rollover time point; period (n-1) is the last recovery interval after correction; round is the integer after rounding; wherein Phase (n-1) and period (n-1) are input by the turnover time and recovery interval calculation module;
in the inversion time and recovery interval correction module, the calculation method of the inversion time Phase (n) after calibration and the recovery interval period (n) after calibration is as follows:
S11、pred_phase=phase(n-1)+Delta_period(n)*period(n-1);
S12、Phase(n)=pred_phase+K0(n)*(act_phase(n)-pred_phase);
period(n)=period(n-1)+K1(n)*(act_phase(n)-pred_phase);
wherein: initializing period (0) =m; initializing Phase (0) =0; n represents the nth inversion;
delta_period (n) is the number of reference sampling data passing through when actual measurement is overturned and last overturned, and is input by the overturned detection module;
round () is rounding the result to an integer;
act_phase (n) is the time point when the overturn is actually measured, and is obtained from the overturn detection module;
pred_phase is a temporary variable representing the predicted current rollover time point;
more specifically, in the data recovery module, a specific algorithm of data recovery is as follows:
formula II:
t_sp(x)=round(phase(nearest)+period(nearest)/2+period(nearest)*L)
wherein t_sp (x) represents a reset sampling time point, and t_sp (0) =phase (1) +period (1)/2 is initialized;
round () means rounding data;
phase (nearest) and period (nearest) are the last corrected inversion time point phase (n) and recovery interval period (n) calculated by the inversion time and recovery interval correction module;
l represents the bit number of the data recovery module after the phase and period are updated recently.
Further, the recovery interval learning module comprises a data buffer and a linear regression iteration updating module; the data buffer is used for storing the latest k times of turnover time difference and the corresponding number Delta_period (n) of the reference sampling data; and the linear regression iteration updating module carries out iteration solution according to the data of the data buffer, the turnover time output by the recovery interval correcting module and the estimated recovery interval so as to calculate an accurate recovery interval.
Specifically, the algorithm for iterative solution includes one of gradient descent and least squares.
The beneficial technical effects of the invention are as follows:
the USB data recovery system of the invention uses a Kalman filter and a machine learning algorithm to estimate the recovery interval contained in the USB data according to the received USB data, and adjusts the internal reference clock frequency to be consistent with the clock frequency of a sender. And correcting the turnover time of the times by combining a Kalman filter and a machine learning algorithm, predicting the possible next turnover time by combining the obtained recovery interval, and sampling the data according to the possible next turnover time to obtain accurate data. And the received data is subjected to filtering shaping by using a median filter and a minimum pulse width retainer, and burrs of the data are filtered, so that a later clock data recovery circuit can work normally.
Drawings
FIG. 1 is a block diagram of a USB data recovery system embodying the present invention;
FIG. 2 is a block diagram of a data shaping module and a schematic diagram of a connection between the data shaping module and other modules according to an embodiment of the present invention;
FIG. 3 is a flowchart of the operation of a minimum pulse hold module provided by the present invention;
FIG. 4a is a look-up table of K0 (n) provided by an embodiment of the present invention;
FIG. 4b is a lookup table of K1 (n) provided by an embodiment of the present invention
FIG. 5 is a schematic diagram illustrating a multi-phase acquisition module according to an embodiment of the present invention;
FIG. 6 is a schematic diagram illustrating the operation of a data recovery module according to an embodiment of the present invention;
FIG. 7 is a block diagram of a USB data recovery system according to a second embodiment of the present invention;
FIG. 8 is a block diagram illustrating a connection between a recovery interval learning module and other modules according to a second embodiment of the present invention;
FIG. 9 is a simulated eye diagram of a signal including data noise and distortion, and frequency offset and clock jitter provided by embodiment two of the present invention;
fig. 10 is a graph of flip time noise provided in the second embodiment of the present invention.
Detailed Description
In order to more clearly understand the technical solution of the present invention, the present invention is further described below with reference to the following examples, and the specific examples are only for convenience of explanation of the solution content of the present invention, and the protection content of the present invention is not limited to the disclosure content of the specific examples.
Example 1
Referring to fig. 1, the present embodiment provides a USB data recovery system, including a data acquisition module, a clock generation module, a data shaping module, a flip detection module, a correction coefficient acquisition module, a flip time and recovery interval correction module, and a data recovery module;
the data acquisition module comprises a comparator and a multi-phase sampling module, wherein two input ends of the comparator are correspondingly connected with two data signal ends of the USB, and the output end of the comparator is connected with the data signal input end of the multi-phase sampling module;
the output end of the clock generation module is connected with the clock signal input end of the multi-phase sampling module;
the output end of the multiphase sampling module is connected with the input end of the data shaping module;
the output end of the data shaping module is connected with the first input end of the data recovery module and the first input end of the turnover detection module;
the output end of the turnover detection module is connected with the input end of the correction coefficient acquisition module;
the clock generation module is used for generating an oversampling clock signal (namely, an oversampling clock frequency) which is M times of a reference clock frequency, wherein M is an oversampling multiple; the data acquisition module acquires the data signal output by the comparator according to the oversampling clock signal to obtain oversampling data; when data sampling is performed according to the reference clock frequency, reference sampling data are obtained; and the frequency of the over-sampling clock signal is M times of the frequency of the reference clock, and the over-sampling clock signal is used for data sampling to obtain over-sampling data. The data collected by the data collection module comprises an oversampling time point (represented by a serial number) and oversampling data corresponding to the oversampling time point.
The data shaping module is used for removing noise of the oversampled data; the turnover detection module is used for detecting the turnover time points of the data output by the data shaping module and the number of reference sampling data passing through two adjacent turnover time points, wherein the number of the reference sampling data = the number of the over-sampling data between two turnover points/the recovery interval; namely, the overturn detection module detects the overturn time point of the nth overturn and the number of reference sampling data passing through the nth overturn and the n-1 th overturn; the correction coefficient acquisition module is used for acquiring a turnover time correction coefficient K0 (n) and a restoration interval correction coefficient K1 (n); the turnover time and recovery interval correction module corrects the turnover time according to the turnover time correction coefficient K0 (n), and corrects the recovery interval in real time according to the recovery interval correction coefficient K1 (n); the data recovery module realizes recovery of USB data according to the data output by the data shaping module, the corrected recovery interval and the corrected turnover time; in the initial state, the restoration interval is the same as the oversampling multiple.
Wherein, internal oscillating circuit: typically an RC or LC oscillating circuit, the specific principle is not described here again.
A multi-phase clock generation module: the common method is to use a voltage-controlled delay line phase-locked loop with fractional frequency division to generate M sampling clock signals with consistent delay, and the specific generation mechanism is also a mature technology in the field and is not repeated here; wherein M is an oversampling multiple, and generally M can be 4-8, in this embodiment M is 8; i.e. the multi-phase clock generation module generates an oversampling clock frequency that is M times the reference clock frequency.
The comparator converts the signals of the DPDM (two data signal ends of the USB) into 0 and 1; for example, the relation between the DP voltage and the DM voltage is determined, and if the DP voltage is greater than the DM voltage, 0 is output, otherwise, 1 is output, and otherwise, 0 is output.
A multi-phase acquisition module: the output of the comparator is subjected to signal acquisition (namely, the output data of the comparator is subjected to oversampling) by using the oversampling clock frequency to obtain oversampled data; the result of oversampling is 8 multiphase clocks in conjunction with fig. 5.
Referring to fig. 2, the data shaping module includes a data buffer a, a median filter, a minimum pulse width holding module, and a data buffer B; the data buffer A is used for caching over-sampled data (data to be shaped) with a certain length, and the data buffer B is used for caching shaped data; the output end of the multiphase acquisition module is connected with the input end of the data buffer A, the output end of the data buffer A is connected with the input end of the median filter, the output end of the median filter is connected with the input end of the minimum pulse width holding module, the output end of the minimum pulse width holding module is connected with the input end of the data buffer B, and the output end of the data buffer B is connected with the input end of the turnover time correction module and the input end of the data recovery module.
Median filtering is a nonlinear digital filter technique for removing noise from signals, and typically uses an odd number of points, such as 3,5,7,9, … (the number of points used is denoted as E); in this embodiment, e=5 is used, that is, 5-point median filtering is adopted, that is, when 3 or more data are 1 in the latest 5 data, 1 is output, otherwise 0 is output; the median filter performs sliding calculation according to 1 bit; for example, the group of data buffered by the data buffer a is "00110100111100 …", and the data output after passing through the median filter is "0110011111 …"; generally, E is best calculated at 0.5M.
The minimum pulse width holding module is used for eliminating pulse interference, specifically, ensuring that the output of the median filter keeps at least N bits unchanged, not only preventing the output value of the median filter from being smaller than the minimum pulse width N, but also automatically completing if the output value of the median filter is smaller than the minimum pulse width N, and specifically, the flow of the minimum pulse width holding module is referred to fig. 3. Typically n=0.5M, i.e. the minimum pulse width N is half the oversampling multiple M, N in this example being 4. For example, the data output by the median filtering is 0110011111 …,2 interferences of 0 appear in the middle, and the output data is corrected to 0111111111 … after passing through the minimum block holding module, so that jump interference is eliminated.
The turnover time detection module needs to calculate the turnover time of the data output by the data shaping module, the current turnover time point act_phase (n), the last turnover time point act_phase (n-1) and the number delta_period (n) of the passed reference sampling data, wherein n represents the nth turnover.
Wherein the inversion time point act_phase (n) is the sequence number of the over-sampling time point, and the calculation mode of the inversion time point act_phase (n) is as follows: and performing exclusive OR calculation on the latest data (1 bit) output by the data shaping module and the last data (1 bit), wherein when the data is 1 to 0 or 0 to 1, the sequence number of the data is the turnover time point act_phase (n). For example, at the 100 th sampling time point, 1, at the 99 th sampling time point, 0, and at this time, the nth inversion is performed, and act_phase (n) =100
The overturning detection module is used for detecting the jumping moment of the output data of the data shaping module, namely the time point of 0-1 jumping or 1-0 jumping; when the jump occurs to the data, the latest output time point is recorded, namely the current turning time point.
The calculation formula of the number Delta_period (n) of the reference sampling data passing through the last actual measurement overturn and the last overturn is as follows:
equation one: delta_period (n) =round ((act_phase (n) -Phase (n-1))/period (n-1));
wherein: act_phase (n) is the inversion time point actually measured at the present time; phase (n-1) is the last corrected rollover time point; period (n-1) is the last recovery interval after correction; round () is an operation of rounding after rounding; in the invention, period (n) is actually characterized in that data recovery needs to be performed once through a plurality of oversampling time points; in the initial state of the whole system start-up, period (0) =m. Wherein Phase (n-1) and period (n-1) are both input by the inversion time and recovery interval calculation module.
The turnover time weight coefficient obtaining module is used for obtaining a turnover time correction coefficient K0 (n) and a recovery interval correction coefficient K1 (n) of the turnover time, wherein the two coefficients K0 (n) and K1 (n) are all between 0 and 1, and generally the correction coefficient represents the weight of an actual measurement value, the larger the weight coefficient is, the value turnover number n of the two correction coefficients is increased, and the values of K0 (n) and K1 (n) are unchanged or change in a descending trend.
In this embodiment, the two correction coefficients may acquire the filter coefficients K0 (n) and K1 (n) by using a kalman filter algorithm; the K0 (n) and K1 (n) can also be obtained by adopting a table look-up mode.
When the Kalman filtering algorithm is adopted to obtain the filter coefficients K0 (n) and K1 (n), the specific algorithm is as follows:
PT=F(n)*P(n-1)*F(n)'+Q;
kn=pt x H '/(H x PT x H' +r); a vector comprising two elements;
P(n)=PT-KN*H*PT;
k0 (n) =kn (1), KN (1) taking the 1 st element of the vector KN;
k1 (n) =kn (2), element 2 of KN (2) orientation amount KN;
all operation symbols in the above are matrix operations including matrix multiplication, matrix division/, matrix addition+, matrix subtraction-, and matrix transposition';
in the above algorithm, wherein:
delta_period (n) is the number of reference sampling data (or called reference sampling period) passing through when actual measurement is turned over and last time is turned over, and is input by a turning over detection module;
the state covariance noise matrix is expressed by Q, which is determined experimentally, and is set to be constant in this example,
h represents the observation matrix, which is set to be constant in this embodiment,
r represents the observed noise variance, which is to be determined experimentally, and this example is set to be constant, r=1;
p (n) is a state covariance matrix, and the initial value P (0) is set as an identity matrix, namely
The kalman filter is simplified to some extent in this embodiment, and the specific calculation process is not described here again.
When the correction coefficients are obtained by using a look-up table, the look-up table can refer to the look-up tables of fig. 4a and 4 b. In the lookup table in the figure, K0 (n) keeps the minimum value all the time after n is greater than 200; k1 (n) after n is greater than 120, remain minimal at all times; this is because keeping a small value constant can reduce the size of the lookup table and can track the clock frequency drift of the sender. In addition, the lookup table shown in the figure is only one specific embodiment, and in other embodiments, the reference values shown in the lookup table may be adjusted according to actual requirements, for example, only the same value, only a few values, or more values than those in the figure are used.
The overturning time and recovery interval correction module is used for correcting the overturning time and recovery interval so as to obtain the transmitted data more accurately, and specifically, the calculating method of the overturning time and recovery interval correction module is as follows:
S11、pred_phase=phase(n-1)+Delta_period(n)*period(n-1);
S12、Phase(n)=pred_phase+K0(n)*(act_phase(n)-pred_phase);
S13、period(n)=period(n-1)+K1(n)*(act_phase(n)-pred_phase);
in the algorithm, wherein:
initializing period (0) =8; initializing Phase (0) =0; n represents the nth inversion;
delta_period (n) is the number of reference sampling data (or called reference sampling period) passing through when actual measurement is turned over and last time is turned over, and is input by a turning over detection module;
phase (n) is the corrected overturn time output and is output to the overturn detection module and the data recovery module;
round () is rounding the data to an integer;
period (n) is a corrected restoration interval, which is output to the flip detection module and the data restoration module;
act_phase (n) is the time point when the overturn is actually measured, and is obtained from the overturn detection module;
pred_phase is a temporary variable representing the predicted current rollover time point.
The data recovery module determines an optimal recovery sampling time point t_sp (x) according to the corrected turnover time and recovery interval, wherein x represents a serial number of recovery data, for example: when restoring the 0bit data, x is 0; when the 1 st bit data is restored, x is 1; when restoring the 2 nd bit data, x is 2; and so on.
And outputting the output data of the data shaping module at the optimal sampling time point as final data.
A specific algorithm is as follows, where the optimal sampling time point t_sp (x) is a sampling time variable, and whenever the sampling time point (represented by the sampling output sequence number of the data shaping module) is equal to t_sp (x), the output of the current data shaping module is sampled as the value of bit (x), while the value of t_sp (x+1) is calculated for the next use, and so on.
In this embodiment, the calculation formula of t_sp (x) is as follows:
formula II:
t_sp(x)=round(phase(nearest)+period(nearest)/2+period(nearest)*L)
wherein t_sp (0) =phase (1) +period (1)/2 is initialized;
round (a) represents rounding a;
phase (nearest) and period (nearest) are the last corrected roll-over time points and recovery intervals calculated by the roll-over time and recovery interval correction module.
L represents the number of bits output by the data recovery module after the latest update phase (nearest) and period (nearest).
An exemplary schematic diagram of the data recovery process of the data recovery module is given in connection with fig. 6.
When tsp (x) =104 is calculated, taking the output '0' of the current shaping module at the sampling time point 104 as the output of bit (x), and simultaneously calculating the next optimal restoration sampling time point tsp (x+1); at this time, the latest updated phase (i) is 100.1, the period (i) is 7.5 (refer to fig. 6, the result is a specific application example, and specific algorithm is not described here again), after updating, 1bit (l=1) is already output, and according to the formula two, the tsp (x+1) calculation result:
tsp (x+1) =round (100.1+7.5/2+7.5×1) =111; the next optimal restoration sampling time point tsp (x+1) is found to be 111.
Taking the output '1' of the current shaping module at the sampling time point 111 as the output of bit (x+1), and simultaneously calculating the next optimal restoration sampling time point tsp (x+2); at this time, the latest updated phase (i) is 107.7, period (i) is 7.51 (the result is a specific application example, and specific algorithm is not described here again), 1bit (l=1) is already output after updating, and the calculation result of tsp (x+2) is as follows according to the formula two:
tsp (x+2) =round (107.7+7.51/2+7.51×1) =119; the next optimal restoration sampling time point tsp (x+1) is found to be 119.
Taking the output '1' of the current shaping module at the sampling time point 119 as the output of bit (x+2), and simultaneously calculating the next optimal restoration sampling time point tsp (x+2); at this time, the latest updated phase (i) is 107.7, period (i) is 7.51 (the result is a specific application example, and specific algorithm is not described here again), after updating, 2 bits (l=2) are already output, and according to formula two, tsp (x+3) is calculated as follows:
tsp (x+3) =round (107.7+7.51/2+7.51×2) =126; the next optimal restoration sampling time point tsp (x+1) is found to be 126.
Taking the output '0' of the current shaping module at the sampling time point 126 as the output of bit (x+3), and simultaneously calculating the next optimal restoration sampling time point tsp (x+4); at this time, the latest updated phase (i) is 122.4, period (i) is 7.50 (the result is a specific application example, specific algorithm is not described here again), 1bit (l=1) is already output after updating, and the calculation result of tsp (x+4) is as follows according to the formula two:
tsp (x+4) =round (122.4+7.50/2+7.50×1) =134; the next optimal restoration sampling time point tsp (x+1) is found to be 126. The following specific data restoration method is not specifically listed here, and so on.
The USB data recovery system provided in this embodiment can accurately recover data when the frequency deviation and clock jitter of the internal oscillation circuit are large and the noise and distortion of the data are also large, and can immediately receive the data without any calibration or warm-up time.
Referring to fig. 1, a data signal of a usb is converted into an initial data signal through a comparator, and a clock generation module generates an oversampling clock signal; the multi-phase sampling module acquires an initial data signal according to the over-sampling clock signal to obtain an over-sampling signal; the oversampled signal is subjected to noise reduction and interference elimination by a data shaping module to obtain a shaped signal; the shaping signal passes through a turnover detection module to obtain a turnover time point and the number of reference sampling periods passed by two adjacent times of turnover; obtaining a recovery interval correction coefficient and a turnover time correction coefficient through a correction coefficient obtaining module; the turnover time and recovery interval correction module corrects the turnover time point and the recovery interval according to the recovery interval correction coefficient, the turnover time point and the number of reference sampling data passing through the two adjacent turnover times so as to obtain an accurate turnover time point and a recovery interval; the data recovery module recovers the shaping data according to the accurate turnover time point and recovery interval.
Example two
Referring to fig. 7 and 8, and the first embodiment, the data recovery system of the USB clock of the present embodiment further includes a recovery interval learning module, where the recovery interval learning module obtains an accurate recovery interval according to a machine learning algorithm according to the overturn time and the estimated recovery interval obtained by the recovery interval correction module, the recovery interval learning module provides the overturn detection module, the data recovery module, the overturn time and the recovery interval correction module with an accurate recovery interval, and an output end of the recovery interval learning module is further connected to an input end of the internal oscillation circuit; the recovery interval learning module provides an accurate sampling interval for the internal oscillating circuit, and the internal oscillating circuit corrects the reference clock frequency according to the recovery interval.
In this embodiment, the calculation method of the inversion time and recovery interval correction module is as follows:
S21、pred_phase=phase(n-1)+Delta_period(n)*period(n-1);
S22、Phase(n)=pred_phase+K0(n)*(act_phase(n)-pred_phase);
S23、Period_to_learn(n)=period(n-1)+K1(n)*(act_phase(n)-pred_phase);
S24、time_to_grad(n)=Phase(n)-Phase(n-1);
wherein, the initialization data period (0) of period (n) is 8; initializing Phase (0) =0; initializing period_to_learn (0) =oversampling multiple M, which is 8 in this embodiment.
n represents the nth inversion;
delta_period (n) is the number of reference sampling data passing through when actual measurement is overturned and last overturned, and is input by the overturned detection module;
phase (n) is the corrected overturn time output and is output to the overturn detection module and the data recovery module;
period (n-1) is the exact restoration interval input by the restoration interval learning module last time;
period_to_learn (n) is the recovery interval of the preliminary estimation of the turnover time and recovery interval correction module at the present time, and needs to be output to a recovery interval learning module for further calculation;
act_phase (n) is the time point when the overturn is actually measured, and is obtained from the overturn detection module;
pred_phase is a temporary variable representing the predicted current rollover time point;
the time_to_grad (n) is the difference between the inversion time after the last correction and the inversion time after the last correction, and is directly output to the recovery interval learning module.
In this embodiment, the recovery interval of the inversion time and recovery interval correction module is not used as the recovery interval of the final application, but is used as the estimated recovery interval, and then the estimated recovery interval is input to the recovery interval learning module for learning to obtain a more accurate recovery interval; of course, in other embodiments, the estimated recovery interval from the roll-over time and recovery interval correction module may be used to directly recover the data.
The recovery interval learning module includes a linear regression iteration update module and a data buffer, referring to fig. 8.
The data buffer is used for storing the last time of the turning time difference time_to_grad and the corresponding sampling data number Delta_period (n). In this embodiment, only the last 4 values are reserved, i.e., including time_to_grad (n, n-1, n-2, n-3) and Delta_period (n, n-1, n-2, n-3); the input data is from the roll-over time and recovery interval correction module.
In this embodiment, the calculation method of the linear regression iteration update module is as follows:
the matrix X is formed by the number of samples Delta_period between two times of turnover obtained by the turnover time and recovery interval correction module and the matrix Y is formed by the time difference time_to_grad between the two times of turnover, so that the following linear regression equation set can be obtained:
and (3) a formula III: COST=sum ((Y-V..times.X.). Times.2)
When V minimizes COST, V is the exact recovery interval period (last).
Wherein:
v represents period (n) which is the output of the recovery interval learning module;
x represents multiplying the element of V by the element of the corresponding position of X, respectively. For example, [1,2] = [3,4] = [1×3,2×4];
() 2 represents squaring each element within ();
sum () represents the Sum.
The solution algorithm for solving the above equation set may be, but is not limited to, one of the methods employing gradient descent, least squares. The process of iteratively solving the system of equations using a solution algorithm is as follows:
S31、DELTA=X(n).*(X(n).*Period_to_learn(n)-Y(n));
S32、avg_delta=mean(DELTA);
S33、period(n)=Period_to_learn(n)-learning_rate(n)*avg_delta;
wherein:
period_to_learn (n) is the preliminary estimated recovery interval obtained from the roll-over time and recovery interval correction module.
mean () represents the average of all elements in brackets.
The learning_rate (n) is a Learning rate, and is obtained by a lookup table, and the value thereof is determined by simulation, and in this embodiment, the range of the learning_rate is 0.05 to 0.0005, and the larger n is, the smaller n is, and the specific lookup table is not shown in this embodiment.
As a preferable technical scheme, after the accurate recovery interval is obtained, the reference clock frequency of the internal oscillating circuit is required to be corrected, so that the final data recovery result is more accurate.
In the first embodiment, it has been explained that RC or LC is generally used as a clock source, specifically, a phase locked loop is used to generate the required reference clock frequency. In this embodiment, the 32MHz LC is used as the clock source, and the frequency division ratio is 480/32=15 when the frequency of the pll with fractional division is doubled to 480 MHz. Fractional division may also adjust the reference clock frequency by fine tuning the division ratio. For example, if the frequency division ratio is set to 15.01, the reference clock frequency output at this time is 32×15.01= 480.32MHz. Since the recovery interval learning module receives a packet of data, it calculates the final accurate recovery interval period (last), and the oversampling multiple M (8 in this embodiment), the new frequency division ratio DIV NEW With old frequency division ratio DIV OLD The following proportional relationship exists between:
equation four: period (last)/m=div OLD /DIV NEW The method comprises the steps of carrying out a first treatment on the surface of the DIV then NEW= DIV OLD *M/period(last);
The specific method of fine tuning the division ratio is thus as follows:
after receiving a data packet, the new frequency dividing ratio can be directly calculated according to the final output V of the recovery interval learning module, and the frequency dividing ratio is updated to a fractional frequency division phase-locked loop when the bus is idle, and the cycle is performed.
Examples are as follows: when a packet is received, it is assumed that the recovery interval learning module calculates the last accurate recovery interval period (last) of the packet to be 8.1, and the oversampling multiple M of this embodiment is 8, the old frequency division ratio DIV OLD Then calculate to get the new frequency division ratio DIV NEW= DIV OLD *M/period(last)=15.01*8/8.1=14.8247。
14.8247 is updated to the fractional pll when the bus is idle and so on.
In connection with fig. 9, a simulated eye diagram of a signal containing data noise and distortion, as well as frequency offset and clock jitter is presented, which can be seen to be very bad, but the invention can accurately recover data even in such bad situations.
In connection with fig. 10, since the actual inversion time is subject to various disturbances, the inversion may be advanced or delayed with respect to the inversion time point when there is no disturbance. Taking the number of sampling points which are advanced or pushed as an ordinate and the sequence number which is turned over as an abscissa, the lower graph can be obtained. For example 3 represents an actual flip time 3 sample points earlier than the flip time without interference, -3 represents a delay of 3 sample points. In the figure, curve (1) is a change value of the flip time before correction, which is disturbed, and curve (2) is a change value of the flip time after correction according to the present invention. It can be seen that the corrected roll-over time noise of the present invention is closer to 0, i.e., closer to the roll-over time point when there is no interference.
The system of the invention uses a Kalman filter and a machine learning algorithm to estimate the frequency of the reference clock contained in the USB data according to the received USB data, and adjusts the frequency of the reference clock of the internal reference clock to be consistent with the clock of the sender. And correcting the turnover time of the times by combining a Kalman filter and a machine learning algorithm, predicting the possible next turnover time by combining the obtained reference clock frequency, and carrying out data sampling according to the possible next turnover time to obtain accurate data. And the received data is subjected to filtering shaping by using a median filter and a minimum pulse width retainer, and burrs of the data are filtered, so that a later clock data recovery circuit can work normally.
The above description is only of the preferred embodiments of the present invention and is not intended to limit the present invention, but various modifications and variations can be made to the present invention by those skilled in the art. Any modification, equivalent replacement, improvement, etc. without being creatively made are included in the protection scope of the present invention.

Claims (9)

1. The USB data recovery system is characterized by comprising a data acquisition module, a clock generation module, a data shaping module, a turnover detection module, a correction coefficient acquisition module, a turnover time and recovery interval correction module and a data recovery module;
the data acquisition module comprises a comparator and a multi-phase sampling module, wherein two input ends of the comparator are correspondingly connected with two data signal ends of the USB, and the output end of the comparator is connected with the data signal input end of the multi-phase sampling module;
the output end of the clock generation module is connected with the clock signal input end of the multi-phase sampling module;
the output end of the multiphase sampling module is connected with the input end of the data shaping module;
the output end of the data shaping module is connected with the first input end of the data recovery module and the first input end of the turnover detection module;
the output end of the turnover detection module is connected with the input end of the correction coefficient acquisition module;
the output end of the correction coefficient acquisition module is connected with the input end of the turnover time and recovery interval correction module, and the output end of the turnover time and recovery interval correction module is connected with the second input end of the data recovery module and the second input end of the turnover detection module;
the clock generation module is used for generating an oversampling clock signal which is M times of the frequency of the reference clock, and M is recorded as an oversampling multiple; the data acquisition module carries out oversampling on the data signal output by the comparator according to the oversampling clock signal; the data shaping module is used for removing noise of the data acquired by the data acquisition module; the turnover detection module is used for detecting the turnover time point of the data output by the data shaping module and the number of reference sampling data passing through by two adjacent turnover times, wherein the number of the reference sampling data = the number of the over-sampling data passing through by two adjacent turnover times/the recovery interval, and the recovery interval is the number of the over-sampling data passing through by two adjacent recovery data when the data is recovered; the correction coefficient acquisition module is used for acquiring a turnover time correction coefficient and a recovery interval correction coefficient; the turnover time and recovery interval correction module corrects the turnover time according to the turnover time correction coefficient and corrects the recovery interval in real time according to the recovery interval correction coefficient; the data recovery module realizes recovery of USB data according to the data output by the data shaping module, the corrected recovery times and the corrected turnover time; in an initial state, the restoration interval is the same as the oversampling multiple;
the device also comprises a recovery interval learning module; the turnover time and recovery interval correction module corrects the recovery interval in real time according to the recovery interval correction coefficient to obtain an estimated recovery interval; the recovery interval learning module obtains an accurate recovery interval according to the estimated recovery interval and a machine learning algorithm; the recovery interval learning module provides the accurate recovery interval for the turnover detection module, the data recovery module, the turnover time and the recovery interval correction module; the data recovery module realizes recovery of USB data according to the accurate recovery interval; the turnover time correction coefficient and the recovery interval correction coefficient are obtained through a Kalman algorithm.
2. The USB data recovery system according to claim 1, wherein the clock generation module includes an internal oscillating circuit and a clock output module, an output end of the internal oscillating circuit is connected to an input end of the clock output module, and an output end of the clock output module is connected to a clock signal input end of the multiphase sampling module.
3. The USB data recovery system of claim 1, wherein the data shaping module includes a data buffer a, a median filter, a minimum pulse width holding module, a data buffer B; the data buffer A is used for caching the data to be shaped, and the data buffer B is used for caching the shaped data; the output end of the multiphase sampling module is connected with the input end of the data buffer A, the output end of the data buffer A is connected with the input end of the median filter, the output end of the median filter is connected with the input end of the minimum pulse width holding module, the output end of the minimum pulse width holding module is connected with the input end of the data buffer B, and the output end of the data buffer B is connected with the input end of the turnover time correction module and the input end of the data recovery module; the median filter is used for eliminating noise interference of an input signal of the median filter; the minimum pulse width maintaining module is used for ensuring that the output of the median filter at least maintains N bits unchanged so as to eliminate jump interference.
4. A USB data recovery system according to claim 3, wherein N = 0.5M.
5. A USB data recovery system according to claim 3, wherein M = 8.
6. The USB data recovery system of claim 2, wherein the recovery interval learning module provides the internal oscillation circuit with the accurate recovery factor, the internal oscillation circuit correcting the reference clock frequency based on the accurate recovery interval.
7. The USB data recovery system according to claim 1, wherein the values of the flip time correction coefficient and the recovery interval correction coefficient are both in a range of 0 to 1, and the values of the flip time correction coefficient and the recovery interval correction coefficient are both unchanged or change in a decreasing trend as the number of flip times increases.
8. The USB data recovery system of claim 1, wherein the recovery interval learning module includes a data buffer and a linear regression iteration update module; the data buffer is used for storing the latest k times of turnover time differences and the number of corresponding reference sampling data; and the linear regression iteration updating module carries out iteration solution according to the data of the data buffer, the turnover time output by the recovery interval correcting module and the estimated recovery interval so as to calculate an accurate recovery interval.
9. The USB data recovery system of claim 8, wherein the algorithm for iterative solution includes one of gradient descent, least squares.
CN202011327603.4A 2020-11-24 2020-11-24 USB data recovery system Active CN112532239B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011327603.4A CN112532239B (en) 2020-11-24 2020-11-24 USB data recovery system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011327603.4A CN112532239B (en) 2020-11-24 2020-11-24 USB data recovery system

Publications (2)

Publication Number Publication Date
CN112532239A CN112532239A (en) 2021-03-19
CN112532239B true CN112532239B (en) 2024-01-02

Family

ID=74993484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011327603.4A Active CN112532239B (en) 2020-11-24 2020-11-24 USB data recovery system

Country Status (1)

Country Link
CN (1) CN112532239B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968889B (en) * 2022-03-31 2024-07-02 珠海泰芯半导体有限公司 High-speed USB sampling method and system

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793549A (en) * 1995-11-15 1998-08-11 Zen Research N.V. Methods and apparatus for synchronizing read out of data from multiple tracks of an optical storage device
US6295326B1 (en) * 1999-03-08 2001-09-25 Bandspeed, Inc. Kalman filter based equalization for digital multicarrier communications systems
JP2005100555A (en) * 2003-09-26 2005-04-14 Sony Corp Information processor
CN1629965A (en) * 2003-09-26 2005-06-22 索尼株式会社 Information processing apparatus
CA2510004A1 (en) * 2005-06-27 2006-12-27 John W. Bogdan Software controlled clock synchronizer
WO2007009266A1 (en) * 2005-07-20 2007-01-25 Bogdan John W Asynchronous data recovery
CN101268376A (en) * 2005-09-23 2008-09-17 松下电器产业株式会社 Apparatus and method for multiphase digital sampling
JP2009077134A (en) * 2007-09-20 2009-04-09 Ricoh Co Ltd Data recovery method and data recovery circuit
CN103209146A (en) * 2012-01-11 2013-07-17 瑞昱半导体股份有限公司 Signal equalization apparatus and method thereof
CN103427830A (en) * 2013-08-08 2013-12-04 南京邮电大学 Semi-blind oversampling clock data recovery circuit with high locking range
CN103475362A (en) * 2013-09-29 2013-12-25 灿芯半导体(上海)有限公司 Oversampling-based data recovery circuit without clock recovery
JP2015115850A (en) * 2013-12-13 2015-06-22 株式会社リコー Data receiving apparatus and data transmitting / receiving system
CN104935332A (en) * 2014-03-18 2015-09-23 亚德诺半导体集团 Systems and methods for clock and data recovery
US10027332B1 (en) * 2017-08-07 2018-07-17 Pericom Semiconductor Corporation Referenceless clock and data recovery circuits

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7389192B2 (en) * 2006-06-30 2008-06-17 International Business Machines Corporation Determining data signal jitter via asynchronous sampling
US8446531B2 (en) * 2008-07-09 2013-05-21 Texas Instruments Incorporated System and method for clock offset detection
CN101908357B (en) * 2009-06-02 2012-05-23 联咏科技股份有限公司 Correction circuit and method for data recovery
US10862666B2 (en) * 2019-01-14 2020-12-08 Texas Instruments Incorporated Sampling point identification for low frequency asynchronous data capture

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793549A (en) * 1995-11-15 1998-08-11 Zen Research N.V. Methods and apparatus for synchronizing read out of data from multiple tracks of an optical storage device
US6295326B1 (en) * 1999-03-08 2001-09-25 Bandspeed, Inc. Kalman filter based equalization for digital multicarrier communications systems
JP2005100555A (en) * 2003-09-26 2005-04-14 Sony Corp Information processor
CN1629965A (en) * 2003-09-26 2005-06-22 索尼株式会社 Information processing apparatus
CA2510004A1 (en) * 2005-06-27 2006-12-27 John W. Bogdan Software controlled clock synchronizer
WO2007009266A1 (en) * 2005-07-20 2007-01-25 Bogdan John W Asynchronous data recovery
CN101268376A (en) * 2005-09-23 2008-09-17 松下电器产业株式会社 Apparatus and method for multiphase digital sampling
JP2009077134A (en) * 2007-09-20 2009-04-09 Ricoh Co Ltd Data recovery method and data recovery circuit
CN103209146A (en) * 2012-01-11 2013-07-17 瑞昱半导体股份有限公司 Signal equalization apparatus and method thereof
CN103427830A (en) * 2013-08-08 2013-12-04 南京邮电大学 Semi-blind oversampling clock data recovery circuit with high locking range
CN103475362A (en) * 2013-09-29 2013-12-25 灿芯半导体(上海)有限公司 Oversampling-based data recovery circuit without clock recovery
JP2015115850A (en) * 2013-12-13 2015-06-22 株式会社リコー Data receiving apparatus and data transmitting / receiving system
CN104935332A (en) * 2014-03-18 2015-09-23 亚德诺半导体集团 Systems and methods for clock and data recovery
US10027332B1 (en) * 2017-08-07 2018-07-17 Pericom Semiconductor Corporation Referenceless clock and data recovery circuits

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Multi-gigabit-rate clock and data recovery based on blind oversampling;Jaeha Kim and Deog-Kyoon Jeong;EEE Communications Magazine;全文 *
Statistical analysis of blind-oversampling CDR circuits;Z. Kolka, M. Kubicek, V. Biolkova and D. Biolek;2012 IV International Congress on Ultra Modern Telecommunications and Control Systems;全文 *
一款基于40nm CMOS工艺的高速CDR电路的设计与分析;梁钦钦;知网;全文 *

Also Published As

Publication number Publication date
CN112532239A (en) 2021-03-19

Similar Documents

Publication Publication Date Title
TWI405447B (en) Clock data recovery device
US7668271B2 (en) Clock-data recovery (“CDR”) circuit, apparatus and method for variable frequency data
US10686583B2 (en) Method for measuring and correcting multi-wire skew
US10560146B2 (en) Method and system for calibrating multi-wire skew
EP2737667B1 (en) Low latency digital jitter termination for repeater circuits
US7940876B2 (en) USB frequency synchronizing apparatus and method of synchronizing frequencies
CN110445739A (en) The compensation method of sampling frequency offset and device
CN101523834B (en) Clock Data Recovery Device
CN106656168B (en) Clock data recovery device and method
CN110635805B (en) Apparatus and method for providing timing recovery
US7433435B2 (en) Apparatus, methods, systems, and articles incorporating a clock correction technique
CN103746790A (en) Interpolation-based all-digital high-speed parallel timing synchronization method
CN112532239B (en) USB data recovery system
JPWO2012132217A1 (en) CAN communication system, CAN transmission device, CAN reception device, and CAN communication method
EP2897319A1 (en) Method and Apparatus for Reference-Less Repeater with Digital Control
JP4269855B2 (en) Data receiver
EP3276873B1 (en) Data phase tracking device, data phase tracking method, and communication device
CN114465691A (en) Low-complexity constant envelope phase modulation signal sampling deviation estimation and compensation method and system
CN108055036A (en) The loop bandwidth adjusting method and device of clock data recovery circuit
CN104067555A (en) Synchronization processing device, synchronization processing method, and program
KR100324749B1 (en) Maximum likelihood symbol timing estimator
CN107113159A (en) Clock recovery device
US20030081699A1 (en) Phase detector
CN117375538B (en) Attenuation compensation method and attenuation compensation circuit
JP2001251181A (en) Fractional frequency dividing device and fractional frequency dividing method

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