High-precision arbitrary time sequence jitter injection method and system
By designing high-precision arbitrary timing jitter injection method and system in a high-speed serial signal testing system, the problem of difficulty in injecting jitter signals in the prior art is solved, and the accuracy and performance improvement of high-precision jitter injection and test system is achieved.
Patent Information
- Application Number
- CN202510072599.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-01-17
- Publication Date
- 2025-05-13
AI Technical Summary
The prior art is difficult to inject various types of jitter signals in high-precision serial signal testing systems, and cannot meet the requirements of high-speed signal testing systems for jitter analysis and tolerance testing.
A high-precision arbitrary timing jitter injection method and system is provided. Through the combination of a data acquisition module, a data calculation module, a jitter generation module, a jitter injection module and a data output module, it realizes accurate calculation and linear interpolation of the initial duration and target duration of each symbol in the code stream signal, and injects various types of jitter.
High-precision jitter injection is achieved without being limited by specific sampling magnification, greatly improving the accuracy and overall performance of the test system.
Smart Images

Figure CN119988114A_ABST
Abstract
Description
Technical Field
[0001] The invention belongs to the technical field of high-speed serial interface testing, and in particular relates to a high-precision arbitrary timing jitter injection method and system. Background Art
[0002] In digital communication systems, transmission speed and signal density have been increased to unprecedented levels. Jitter is generally defined as the deviation between the timing event of a signal and its ideal position. Due to the existence of jitter, the performance of the entire system is often greatly affected. Therefore, jitter has become a key factor restricting the design of high-speed digital systems. It can be seen from the current various high-speed serial bus specifications that the jitter components existing in high-speed serial signal transmission systems are strictly controlled. In order to ensure the stability of high-speed digital systems, it is necessary to perform jitter analysis on the signal, accurately determine the jitter components existing in it, and separate different jitter components to determine whether the system performance meets the design requirements of bit error rate and stability, and minimize the errors caused by jitter in the system.
[0003] In order to analyze the jitter source of the entire link, the jitter is usually extracted and analyzed at the receiver through software or hardware. When conducting research related to jitter analysis on a high-speed signal test system, in order to verify the accuracy of the jitter analysis results of the high-speed signal test system, a method is needed to generate various types of standard jitter signals for comparison and analysis with the jitter analysis results of the high-speed signal test system. Secondly, in order to verify the accuracy of jitter extraction at the receiver, a jitter tolerance test is required. Jitter tolerance testing is crucial for high-speed applications, and a jitter injection method is required to inject various types of jitter into the test signal. According to the application scenario of the serial port signal, it is generally divided into two solutions: software method and hardware method. Due to the long development cycle and complex modification of the hardware jitter injection circuit, it can no longer meet the testing needs of the high-speed signal test system. Therefore, the present application provides a software method for high-speed signal jitter injection to meet the current application requirements. Summary of the invention
[0004] The object of the present invention is to provide a high-precision arbitrary timing jitter injection method and system to solve at least one problem existing in the background technology.
[0005] To achieve the above objectives, the present invention provides a high-precision arbitrary timing jitter injection method and system.
[0006] In a first aspect, an embodiment of the present application provides a high-precision arbitrary type jitter injection method for a high-speed serial interface tester jitter test, wherein the high-speed serial interface tester comprises a signal generator and a digital oscilloscope, wherein the digital oscilloscope comprises a data acquisition module, a data calculation module, a jitter generation module, a jitter injection module, and a data output module, wherein the signal generator generates a measured signal to the data acquisition module, and the method comprises the following steps:
[0007] The data acquisition module acquires an initial code stream signal of a number of symbols according to the configured symbol rate, each symbol including a corresponding amplitude, and sends the initial code stream signal to the data calculation module;
[0008] The data acquisition module acquires the initial duration of each symbol in the initial code stream signal according to the symbol rate, and sends the initial duration to the jitter injection module;
[0009] The jitter generation module obtains the jitter timing to be injected into each symbol according to the jitter type to be injected, and sends the jitter timing to the jitter injection module;
[0010] The jitter injection module injects the jitter timing into the initial duration to obtain a target duration for each symbol, and sends the target duration to the data calculation module;
[0011] The data calculation module performs linear interpolation on the amplitude of the initial duration of each symbol according to the target duration to obtain the amplitude of the target duration, that is, the target code stream signal after the jitter is injected, and outputs the target code stream signal to the data output module.
[0012] In combination with the first aspect, in some implementations, the jitter generation module obtains the jitter timing in the following steps:
[0013] According to the jitter type to be injected, obtaining a time interval error sequence including the jitter type;
[0014] The time interval error sequence is differentially calculated to obtain the jitter timing sequence.
[0015] In some implementations, the length of the time interval error sequence is the same as the length of each symbol.
[0016] In some implementations, the data calculation module linearly interpolates the amplitude at the initial duration according to the target duration to obtain the amplitude at the target duration, and further includes:
[0017] Taking a value of the target duration of each symbol to obtain a time coordinate of each symbol and an amplitude corresponding to the time coordinate of each symbol;
[0018] Acquire the total number of sampling points of the initial code stream signal according to the symbol rate, the number of symbols and the sampling rate of the initial code stream signal;
[0019] Taking a sampling interval value of each sampling point to obtain a time coordinate of each sampling point, wherein the time coordinate of the sampling point is aligned with the time coordinate of the symbol;
[0020] According to the time coordinate of each sampling point, linear interpolation is performed on the amplitude of the time coordinate of each symbol to obtain the amplitude corresponding to each sampling point.
[0021] In some implementations, the target duration of each symbol is equally divided into a number of even-numbered segments, and the time coordinates of each symbol are obtained by taking values of the division points.
[0022] In some implementations, the jitter type includes one or more of random jitter, periodic jitter, inter-symbol interference, differential clock jitter, and bounded uncorrelated jitter. The random jitter is generated by simulating a Gaussian function. The specific function model is as follows:
[0023]
[0024] The periodic jitter is generated by sine function simulation. The specific function model is as follows:
[0025]
[0026] The inter-symbol interference is generated by simulating the response function of the channel. The specific function model is as follows:
[0027] y CH (t) = h CH (t)*y TX (t),
[0028] The differential clock jitter is generated by dual Dirac function simulation. The specific function model is as follows:
[0029] The bounded uncorrelated jitter is generated by simulating a truncated Gaussian function. The specific function model is as follows:
[0030]
[0031] In some implementations, a random number generator is further included, wherein the random number generator generates a time interval error sequence that complies with a function model distribution according to the jitter type.
[0032] In some implementations, the code type of the measured signal is one of clk or PRBS.
[0033] In the second aspect, the present application also provides a high-precision arbitrary timing jitter injection system, including a data acquisition module, a data calculation module, a jitter generation module, a jitter injection module and a data output module. When the high-precision arbitrary timing jitter injection system executes the program or the instruction, it implements a high-precision arbitrary timing jitter injection method described in any of the aforementioned embodiments.
[0034] In a third aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, characterized in that when the computer program is executed, it can implement a high-precision arbitrary timing jitter injection method as described in any of the aforementioned embodiments.
[0035] The present application provides a high-precision arbitrary timing jitter injection method and system, which realizes various types of separate injection and mixed injection according to the type of jitter to be injected, and respectively calculates the initial duration of each symbol in the code stream signal and the target duration of each symbol after the jitter is injected, and linearly interpolates the amplitude of the initial duration of each symbol to obtain the amplitude of the target duration, and obtains the target code stream signal after the jitter is injected, so that the jitter injection process is no longer limited to a specific sampling rate. Regardless of how the sampling rate changes, high-precision jitter injection can be achieved, thereby greatly improving the accuracy of the test system and enhancing the overall performance of the test system. BRIEF DESCRIPTION OF THE DRAWINGS
[0036] Figure 1 It is a flow chart of a jitter analysis method of a high-speed serial signal provided by an embodiment of the first aspect of the present invention;
[0037] Figure 2 It is a principle block diagram provided by an embodiment of the first aspect of the present invention;
[0038] Figure 3 is a flow chart of a method provided by another embodiment of the first aspect of the present invention;
[0039] Figure 4 is a flow chart of a method provided by another embodiment of the first aspect of the present invention;
[0040] Figure 5 It is a schematic diagram of linear interpolation provided by the first aspect of the present invention. DETAILED DESCRIPTION
[0041] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.
[0044] The existing technical solution realizes jitter injection by moving the data edge. Assuming that there are L sampling points in a symbol, if the jitter injected into a symbol is k times the symbol duration, then the edge needs to move kL sampling points. Therefore, its injection accuracy is related to the sampling rate. When the sampling rate is relatively low, the accuracy of jitter injection is also low.
[0045] Furthermore, the present application provides a high-precision arbitrary timing jitter injection method and system.
[0046] The technical solutions in the embodiments of the present application will be described below in conjunction with the accompanying drawings.
[0047] The terms "component", "unit", "system", etc. used in this specification are used to represent computer-related entities, hardware, firmware, a combination of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program and / or a computer. By way of illustration, both applications running on a computing device and a computing device can be components. One or more components can reside in a process and / or an execution thread, and a component can be located on a computer and / or distributed between two or more computers. In addition, these components can be executed from various computer-readable media having various data structures stored thereon. Components can, for example, communicate through local and / or remote processes according to signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system and / or a network, such as the Internet interacting with other systems through signals).
[0048] To facilitate understanding of the embodiments of the present application, the following first briefly introduces the terms involved in the embodiments of the present application.
[0049] 1. Time jitter
[0050] During digital signal transmission, the signal will inevitably be affected by system characteristics and external interference, thus deviating from the ideal signal pattern in amplitude and time. Among them, the deviation of the actual signal in amplitude relative to the ideal signal is called amplitude noise, and the deviation in time relative to the ideal signal is called time jitter, or jitter for short. Jitter is the measurement result of the time domain change of the signal, which essentially describes how much the signal period deviates from its ideal value. In most literature and specifications, time jitter is defined as the deviation between the arrival time of the edge of a high-speed serial signal and the ideal time.
[0051] 2. Classification of jitter
[0052] Jitter is a complex phenomenon caused by multiple factors of the system itself and the external environment. Therefore, when classifying, it is necessary to consider both the impact of jitter on the system and its physical causes. Generally, total jitter (TJ) is first divided into bounded deterministic jitter (DJ) and unbounded random jitter (RJ) according to whether it is bounded. Deterministic jitter is divided into data-dependent jitter (DDJ) and bounded uncorrelated jitter (BUJ) according to whether it is related to the transmitted data. Data-dependent jitter is divided into inter-symbol interference (ISI) and duty cycle distortion (DCD). Bounded uncorrelated jitter is divided into periodic jitter (PJ) and aperiodic bounded uncorrelated jitter (ABUJ).
[0053] The basic concepts of each jitter are introduced in detail below.
[0054] 2.1 Random jitter (RJ): refers to timing changes caused by factors that are difficult to predict. For example, temperature factors that can affect the mobility of semiconductor crystal materials may cause random changes in carriers. In addition, changes in semiconductor processing technology, such as uneven doping density, may also cause jitter.
[0055] Random jitter is noise in time and does not have any known pattern. Although in the theory of random processes, random jitter may have various probability distributions, it is usually assumed in jitter models to be Gaussian normal distribution. There are two reasons for this: first, in many circuits, the main source of random noise is thermal noise, which has a Gaussian distribution; second, according to the central limit theorem, many independent and uncorrelated noise sources are superimposed to a Gaussian distribution. Since random jitter satisfies the Gaussian distribution, its peak value is unbounded, which is an important feature that distinguishes random jitter from deterministic jitter.
[0056] 2.2 Periodic jitter (PJ): Jitter that repeats in a periodic manner is called periodic jitter. Since any periodic waveform can be decomposed into harmonically related sinusoids through Fourier transform, this type of jitter is sometimes also called sinusoidal jitter. Generally speaking, periodic jitter has nothing to do with the data pattern. Periodic jitter is generally caused by external deterministic noise sources coupled into the system, such as switching power supply noise or local radiation on the board (such as close to the clock).
[0057] 2.3. Inter-symbol interference (ISI): Inter-symbol interference refers to multiple access interference, which is mainly caused by a certain correlation between user signals and will increase rapidly with the increase in the number of users and transmission power.
[0058] 2.4 Duty Cycle Distortion (DCD): Duty cycle distortion jitter is the measurement jitter caused by the different positions of the zero crossing points when the duty cycle is not 50%. There are two reasons for this: First, the clock duty cycle is not 50%, which is called ClockDCD. Second, the slope of the rising edge of the signal is different from the slope of the falling edge or the decision threshold is too high or too low, which is called DataDCD. DCD usually has a histogram of two discrete pulse forms similar to DDJ, and the height of the two peaks is the same.
[0059] 2.5. Bounded Uncorrelated Jitter (BUJ): Bounded uncorrelated jitter is a general term for time jitter that is not correlated with the jitter measurement moment in time and has a bounded peak-to-peak value in distribution. There are usually three sources: First, power supply noise, which may affect the bit error rate due to the noise caused by the power supply; second, crosstalk and external noise, which may be caused by adjacent transmission lines or external electromagnetic interference during the transmission process; third, periodic noise, which is the signal periodic jitter (PJ) caused by various periodic noises. For example: switching power supply noise or periodic signals used in testing.
[0060] 3. Time interval error (TIE): The time deviation of the event edge time point of the actual signal relative to the event edge time point of the ideal signal. In high-speed serial systems, TIE is usually used to measure jitter. In fact, TIE is the expression of the phase noise spectrum in the discrete signal sequence in the time domain, in seconds or ps.
[0061] The present invention provides a high-precision arbitrary timing jitter injection method and system for jitter testing of a high-speed serial interface tester. Specifically, the method can be applied to a signal generator or a transmitter to add jitter to an output signal, and can also be applied to a receiver or an oscilloscope to perform jitter tolerance testing on an input signal. The method can also be applied to other devices with signal processing functions, such as a data acquisition system.
[0062] Figure 1 It is a flow chart of a high-precision arbitrary timing jitter injection method provided by an embodiment of the first aspect of the present invention.
[0063] Figure 2 It is a principle block diagram provided by an embodiment of the first aspect of the present invention.
[0064] like Figure 2 As shown, the high-speed serial interface tester includes a signal generator and a digital oscilloscope. The digital oscilloscope includes a data acquisition module 100, a data calculation module 400, a jitter generation module 300, a jitter injection module 200 and a data output module 500. The signal generator generates a test signal to the data acquisition module 100. Figure 1 As shown, the method comprises the following steps:
[0065] Step S1, the data acquisition module 100 acquires an initial code stream signal of a certain number of symbols according to the configured symbol rate, each symbol including a corresponding amplitude, and sends the initial code stream signal to the data calculation module 400;
[0066] In step S2 , the data acquisition module 100 acquires the initial duration of each symbol in the initial code stream signal according to the symbol rate, and sends the initial duration to the jitter injection module 200 .
[0067] Step S3, the jitter generation module 300 obtains the jitter timing to be injected into each symbol according to the jitter type to be injected, and sends the jitter timing to the jitter injection module 200;
[0068] Step S4, the jitter injection module 200 injects the jitter timing into the initial duration, obtains the target duration of each symbol, and sends the target duration to the data calculation module 400;
[0069] In step S5 , the data calculation module 400 linearly interpolates the amplitude of the initial duration of each symbol according to the target duration, obtains the amplitude of the target duration, which is the target code stream signal after the jitter is injected, and outputs the target code stream signal to the data output module 500 .
[0070] This embodiment calculates the initial duration of each symbol in the code stream signal and the target duration of each symbol after jitter injection, performs linear interpolation on the amplitude of the initial duration of each symbol to obtain the amplitude of the target duration, and obtains the target code stream signal after jitter injection, so that the jitter injection process is no longer limited to a specific sampling rate. Regardless of how the sampling rate changes, high-precision jitter injection can be achieved, thereby greatly improving the accuracy of the test system and enhancing the overall performance of the test system.
[0071] Specifically, taking the bit stream signal with the number of symbols N configured by the user as an example, the symbol rate of the bit stream signal is R symbol , the sampling rate is R sample , the vector consisting of the amplitude of each symbol is denoted as Amp symbol , with a length of N.
[0072] Among them, the initial duration of each symbol in the code stream signal is recorded as UI, and the specific calculation formula is as follows:
[0073]
[0074] It should also be understood that the initial duration of each of the above symbols may also be described in other ways, such as the time interval between two symbols, and this application does not limit this.
[0075] Figure 3 It is a flow chart of a high-precision arbitrary timing jitter injection method provided by another embodiment of the first aspect of the present invention.
[0076] like Figure 3 As shown, in this example, the jitter generation module 300 obtains the jitter timing in the following steps:
[0077] Step S31, according to the jitter type to be injected, obtaining a time interval error sequence including the jitter type;
[0078] Step S32: performing differential calculation on the time interval error sequence to obtain the jitter timing sequence.
[0079] In this embodiment, the jitter type to be injected can be a single jitter or a superposition of multiple jitters, a jitter code stream signal is generated, and the jitter timing to be injected is obtained according to the jitter code stream signal, thereby realizing various types of separate injection and mixed injection, which greatly improves the flexibility of the test system and can adapt to different application scenarios and requirements. The jitter injection strategy can be easily adjusted without changing the hardware or software architecture.
[0080] In this embodiment, the length of each time interval error sequence is the same as the length of each symbol. For example, the length of the time interval error and the length of the amplitude of each symbol are N. The jitter timing sequence to be injected into each symbol is calculated. The specific calculation formula is as follows:
[0081] PJ(1)=TIE(1), m=1; (2-1)
[0082] PJ(m)=TIE(m)-TIE(m-1), m≠1; (2-2)
[0083] Wherein, PJ(m) represents the jitter timing, TIE(m) represents the time interval error, and m represents the symbol number.
[0084] It should also be understood that the jitter timing is the result of differentiating the time interval error, that is, the deviation between the actual clock period of each symbol and the ideal clock period, also known as periodic jitter, which is distinguished from the periodic jitter in this application. This application does not limit the definition name of the above principle process.
[0085] In this embodiment, the jitter timing is injected into the initial time to obtain the target duration of each symbol. The specific calculation formula is as follows:
[0086] T(m)=UI+PJ(m), (2-3)
[0087] Where T(m) represents the target duration.
[0088] In this embodiment, the jitter type includes one or more of random jitter, periodic jitter, inter-symbol interference, differential clock jitter and bounded uncorrelated jitter. The random jitter is generated by simulating a Gaussian function. The specific function model is as follows:
[0089]
[0090] where σ and μ are the variance and mean of the random jitter, respectively.
[0091] Periodic jitter is generated by sine function simulation. The specific function model is as follows:
[0092]
[0093] Inter-symbol interference is generated by simulating the response function of the channel. The specific function model is as follows:
[0094] y CH (t) = h CH (t)*y TX (t), (2-6)
[0095] The differential clock jitter is generated by dual Dirac function simulation. The specific function model is as follows:
[0096]
[0097] Bounded uncorrelated jitter is generated by simulating a truncated Gaussian function. The specific function model is as follows:
[0098]
[0099] In some implementations, a random number generator is further included, and the random number generator generates a time interval error sequence that complies with a function model distribution according to the jitter type.
[0100] For example, take the jitter type of random jitter injection as an example. Random jitter is Gaussian distributed. According to the mean and variance of the Gaussian distribution, a random number generator is configured to generate a set of sequences that conform to the Gaussian distribution, which is the time interval error sequence. The random number generator here is implemented by calling a matlab function.
[0101] Figure 4 This is a flowchart of a high-precision arbitrary timing jitter injection method provided by another embodiment of the first aspect of the present application.
[0102] Figure 5 It is an interpolation schematic diagram of a high-precision arbitrary timing jitter injection method provided by another embodiment of the first aspect of the present application.
[0103] like Figure 4 As shown, the data calculation module 400 performs linear interpolation on the amplitude at the initial duration according to the target duration to obtain the amplitude at the target duration, and also includes the following method steps:
[0104] Step S51, taking a value of the target duration of each symbol, obtaining the time coordinate of each symbol, and the amplitude corresponding to the time coordinate of each symbol;
[0105] Step S52, obtaining the total number of sampling points of the initial code stream signal according to the configured sampling rate and the symbol rate and the number of symbols of the initial code stream signal;
[0106] Step S53, taking a sampling interval value of each sampling point to obtain a time coordinate of each sampling point, and aligning the time coordinate of the sampling point with the time coordinate of the symbol;
[0107] Step S54, as Figure 5 As shown, linear interpolation is performed on the amplitude of the time coordinate of each symbol according to the time coordinate of each sampling point to obtain the amplitude corresponding to each sampling point.
[0108] In this embodiment, the target duration and sampling interval of each symbol are taken to obtain the time coordinates of each symbol and the time coordinates of each sampling point, and then the amplitude corresponding to the time coordinate of each symbol is estimated by linear interpolation of the amplitude corresponding to the time coordinate of each symbol, that is, the target code stream signal injected with jitter, which improves the jitter injection accuracy while reducing the performance requirements of the test system and improving the stability of the test system operation.
[0109] In this embodiment, the target duration of each symbol is equally divided into a number of even-numbered segments, and the time coordinates of each symbol are obtained by taking values of the division points.
[0110] Exemplarily, the target duration of each symbol is divided into two equal segments, and the time coordinate of each symbol is obtained by taking the bisection point (ie, the middle value). The specific calculation formula is as follows:
[0111] t symbol (1)=0.5T(1), m=1; (3-1)
[0112]
[0113] Among them, t symbol (m) represents the time coordinate of each symbol, m represents the symbol number, and T represents the target duration.
[0114] It can be understood that the target duration of each symbol is equally spaced into a number of even-numbered segments, and the time coordinates of each symbol are obtained by taking values at the division points. The more the number of divisions, that is, the more samples of the values, the more accurate the estimation result. This embodiment only takes the bisection point as an example for illustration, and does not limit the specific number of other divisions.
[0115] In this embodiment, the total number of sampling points of the initial code stream signal is obtained according to the symbol rate, the number of symbols and the sampling rate of the initial code stream signal. The specific calculation formula is as follows:
[0116]
[0117] Among them, L represents the total number of sampling points, R symbol Represents the symbol rate, R sample represents the sampling rate, N represents the length of each symbol, and round represents rounding.
[0118] Similarly, the sampling interval of each sampling point is taken according to the time coordinate of each symbol to obtain the time coordinate of each sampling point, so that the time coordinate of the sampling point is aligned with the time coordinate of the symbol. For example, the time coordinate value of the first symbol is 0.5T(1), then the time coordinate value of the first sampling point is The time coordinate values of the first symbol are 0.25T(1), 0.5T(1), 0.75T(1), then the time coordinate value of the first sampling point is
[0119] For example, the time coordinate value of the first sampling point is t k Represents the sampling interval of each sampling point and the time coordinate of each sampling point. The specific calculation formula is as follows:
[0120]
[0121] Among them, t sample (l) represents the time coordinate of each sampling point, and l represents the sequence number of the sampling point.
[0122] In this embodiment, taking the middle value of the target duration of each symbol to obtain the corresponding amplitude can more accurately reflect the actual situation of the measured parameter and reduce errors and fluctuations.
[0123] In this embodiment, each symbol and sampling point is equally spaced into even-numbered segments, so that the values of the division points always include intermediate values, and the samples are more accurate.
[0124] It can be understood that more time coordinates are taken at equal intervals for the target duration of each symbol to obtain more amplitude samples on the corresponding time coordinates, and the target code stream signal obtained by linear interpolation is more referenceable; similarly, the higher the sampling rate of the system, that is, the more sampling points of each symbol, the more time coordinates of the sampling points, and the more accurate the target code stream signal obtained. This embodiment does not limit this.
[0125] In some implementations, the code type of the measured signal is one of clk or PRBS.
[0126] In the second aspect, the present application also provides a high-precision arbitrary timing jitter injection system, including a data acquisition module 100, a data calculation module 400, a jitter generation module 300, a jitter injection module 200 and a data output module 500. When the high-precision arbitrary timing jitter injection system executes the program or the instruction, a high-precision arbitrary timing jitter injection method of any of the aforementioned embodiments is implemented.
[0127] In a third aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, characterized in that when the computer program is executed, it is capable of implementing a high-precision arbitrary timing jitter injection method of any of the aforementioned embodiments.
[0128] Although embodiments of the present invention have been shown and described, it will be appreciated by those skilled in the art that various changes, modifications, substitutions and variations may be made to the embodiments without departing from the principles and spirit of the present invention, and that the scope of the present invention is defined by the appended claims and their equivalents.
Claims
1. A high-precision arbitrary timing jitter injection method, characterized in that: Used for jitter test of a high-speed serial interface tester, the high-speed serial interface tester comprises a signal generator and a digital oscilloscope, the digital oscilloscope comprises a data acquisition module, a data calculation module, a jitter generation module, a jitter injection module and a data output module, the signal generator generates a measured signal to the data acquisition module, and the method comprises the following steps: The data acquisition module acquires an initial code stream signal of a number of symbols according to the configured symbol rate, each symbol including a corresponding amplitude, and sends the initial code stream signal to the data calculation module; The data acquisition module acquires the initial duration of each symbol in the initial code stream signal according to the symbol rate, and sends the initial duration to the jitter injection module; The jitter generation module obtains the jitter timing to be injected into each symbol according to the jitter type to be injected, and sends the jitter timing to the jitter injection module; The jitter injection module injects the jitter timing into the initial duration, obtains a target duration for each symbol, and sends the target duration to the data calculation module; The data calculation module performs linear interpolation on the amplitude of the initial duration of each symbol according to the target duration to obtain the amplitude of the target duration, that is, the target code stream signal after the jitter is injected, and outputs the target code stream signal to the data output module.
2. A high-precision arbitrary timing jitter injection method according to claim 1, characterized in that: The jitter generation module obtains the jitter timing in the following steps: According to the jitter type to be injected, obtaining a time interval error sequence including the jitter type; The time interval error sequence is differentially calculated to obtain the jitter timing sequence.
3. A high-precision arbitrary timing jitter injection method according to claim 2, characterized in that: The length of the time interval error sequence is the same as the length of each symbol.
4. A high-precision arbitrary timing jitter injection method according to claim 1, characterized in that: The data calculation module performs linear interpolation on the amplitude at the initial duration according to the target duration to obtain the amplitude at the target duration, and further includes: Taking a value of the target duration of each symbol to obtain a time coordinate of each symbol and an amplitude corresponding to the time coordinate of each symbol; Obtaining the total number of sampling points of the initial code stream signal according to the configured sampling rate and the symbol rate and the number of symbols of the initial code stream signal; Taking a sampling interval value of each sampling point to obtain a time coordinate of each sampling point, wherein the time coordinate of the sampling point is aligned with the time coordinate of the symbol; According to the time coordinate of each sampling point, linear interpolation is performed on the amplitude of the time coordinate of each symbol to obtain the amplitude corresponding to each sampling point.
5. A high-precision arbitrary timing jitter injection method according to claim 4, characterized in that: The target duration of each symbol is equally divided into a number of even-numbered segments, and the time coordinates of each symbol are obtained by taking values of the division points.
6. A high-precision arbitrary timing jitter injection method according to claim 1, characterized in that: The jitter type includes one or more of random jitter, periodic jitter, inter-symbol interference, differential clock jitter and bounded uncorrelated jitter. The random jitter is generated by Gaussian function simulation. The specific function model is as follows: The periodic jitter is generated by sine function simulation. The specific function model is as follows: The inter-symbol interference is generated by simulating the response function of the channel. The specific function model is as follows: y CH (t)=h CH (t)*y TX (t), The differential clock jitter is generated by dual Dirac function simulation. The specific function model is as follows: The bounded uncorrelated jitter is generated by simulating a truncated Gaussian function. The specific function model is as follows:
7. The high-precision arbitrary timing jitter injection method according to claim 5, characterized in that: The system also includes a random number generator, which generates a time interval error sequence that complies with a function model distribution according to the jitter type.
8. The high-precision arbitrary timing jitter injection method according to claim 1, characterized in that: The code type of the measured signal is one of clk or PRBS.
9. A high-precision arbitrary timing jitter injection system, characterized in that: It comprises a data acquisition module, a data calculation module, a jitter generation module, a jitter injection module and a data output module. When the high-precision arbitrary timing jitter injection system executes the program or the instruction, it implements a high-precision arbitrary timing jitter injection method as claimed in any one of claims 1 to 8.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed, it is possible to implement a high-precision arbitrary timing jitter injection method according to any one of claims 1 to 8.
Citation Information
Cited By
Board card detection method, device and equipment and storage medium
CN120629178A