Abstract:
A system for dynamically calibrating operational parameters of a Device Under Test (DUT) includes a signal generator for generating a data pattern, a DUT structured to generate a clock signal, an oscilloscope structured to measure margins of the generated clock signal compared to an eye-diagram produced on the oscilloscope from the data pattern, and a calibration unit. The calibration unit can produce a candidate a jitter value for the signal generator, receive a determination from the oscilloscope whether the data pattern generated with the candidate jitter value causes the DUT to produce the generated clock signal within a pre-determined tolerance level, and modify the jitter value accordingly. The calibration unit may also be further structured to generate voltage swing values.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application claims priority to Indian Patent Application 1920/MUM/2015, filed May 15, 2015, entitled DYNAMIC CALIBRATION OF DATA PATTERNS WITH RESPECT TO DUT CLOCK, the contents of which are herein incorporated by reference. 
       FIELD OF INVENTION 
       [0002]    This disclosure generally relates to calibration and, more particularly, relates to methods and systems for dynamic calibration of data patterns. 
       BACKGROUND 
       [0003]    Signal generators are well known in the art. Calibrations like a jitter calibration are available on signal generators such as a Bit Error Rate Analyzer or on an arbitrary signal/waveform generator (AWG). Typically, these signal generators are general-purpose and calibrate a given signal of interest. Typically, two parameters, Jitter and Swing, are calibrated at a time by trial and error. In a typical calibration, the pattern gets calibrated for expected jitter and swing values. This calibration method is used for particular data connections such as the Mobile High-Definition Link technologies, (such as MHL3.2) and High-Definition Multimedia Interface technologies (such as HDMI1.4/2.0). 
         [0004]    The existing calibration procedures are done manually, which is time consuming and error prone. Also, there is no easy way for the oscilloscope to seamlessly tie an application and its calibration requirements. 
         [0005]    Embodiments of the invention address these and other limitations of the prior art. 
       SUMMARY OF THE INVENTION 
       [0006]    Aspects of the invention include a system for dynamically calibrating operational parameters of a Device Under Test (DUT) coupled to a test and measurement system that includes a signal generator structured to generate a data pattern, a DUT structured to generate a clock signal, an oscilloscope coupled to the signal generator and to the DUT and structured to measure margins of the generated clock signal compared to an eye-diagram produced on the oscilloscope from the data pattern, and a calibration unit. In some embodiments the calibration unit is coupled to the signal generator and to the oscilloscope, and structured to produce a candidate a jitter value for the signal generator. The calibration unit is also structured to receive a determination from the oscilloscope whether the data pattern generated with the candidate jitter value causes the DUT to produce the generated clock signal within a pre-determined tolerance level from a measured eye width of the eye-diagram generated by the oscilloscope from the data pattern. The calibration unit may also be further structured to generate a candidate voltage swing value, send the candidate voltage swing value to the signal generator, and receive a determination from the oscilloscope whether the candidate voltage swing value causes the DUT to produce the generated clock signal within the pre-determined tolerance level from the measured eye width of the eye-diagram generated by the oscilloscope from the data pattern. 
         [0007]    Aspects of the invention also include associated methods. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0008]    Reference is made to embodiments of the invention, examples of which may be illustrated in the accompanying figures. These figures are intended to be illustrative, not limiting. Although the invention is described in the context of these embodiments, it should be understood that this description is not intended to limit the scope of the invention to these particular embodiments. 
           [0009]      FIG. 1  is a block diagram illustrating connections for calibration according to embodiments of the invention. 
           [0010]      FIG. 2 , which is illustrated on  FIGS. 2A, 2B, and 2C , is an example flow diagram illustrating operations of a hybrid method for calibration of data patterns in accordance with embodiments of the invention. 
           [0011]      FIG. 3  is a chart illustrating periodic jitter of the system using poly-fit estimation in accordance with embodiments of the invention. 
           [0012]      FIG. 4  is a graph illustrating calibration convergence in accordance with embodiments of the invention. 
           [0013]      FIG. 5  shows calibrated results after dynamic calibration with Marginal EYE, EYE diagram and Spectrum showing Periodic jitter values for 1 MHz in accordance with an embodiment of the invention. 
           [0014]      FIG. 6  shows calibrated results after dynamic calibration with Marginal EYE, EYE diagram and Spectrum showing Periodic jitter values for 500 kHz in accordance with an embodiment of the invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0015]    The embodiments herein provide method and system for dynamic calibration of data patterns. References in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, characteristic, or function described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment. Embodiments of the invention are described herein using specific exemplary details for better understanding. However, the invention disclosed can be implemented by a person skilled in the art without the use of these specific details. Embodiments of the invention may be implemented in hardware, such as an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), or with computer software operating in conjunction with a general purpose computer, a specific purpose computer, or a combination of such examples. Components and devices shown in block diagram are illustrative of exemplary embodiments of the invention and are meant to avoid obscuring the invention. Also, the connections between various elements may not necessarily be direct and the data transfer in between can be subjected to modifications. 
         [0016]    In some embodiments a method for dynamic calibration is performed on an output of a Device Under Test (DUT) which is given as reference input to a signal generator. The signal generator can be any signal generator like an arbitrary waveform generator (AWG) which generates backward data patterns to be used as input for the DUT. The data pattern is calibrated with respect to a forward clock signal generated by the source DUT. The Source Forward Clock may be referred to in some examples as eCBUS FWD and the data pattern (like a data pattern from an AWG) may be referred to as eCBUS BWD data. The calibrated pattern from the AWG is provided back as an input to the DUT to check for Bit Error Rate (BER) values. 
         [0017]    In an embodiment, a hybrid method of the present invention calibrates to meet marginal EYE opening through software running on an oscilloscope for determining that calibration is completed, and not merely calibrated with a scalar value. So, the data pattern, for example the AWG pattern, is adjusted by adding more periodic jitter and voltage swing based on the DUT output. 
         [0018]    A calibration system  100  according to embodiments of the invention is illustrated with a calibration connection diagram as shown in  FIG. 1 . The calibration system  100  includes a signal generator  110  connected to an oscilloscope  120 . The signal generator  110  generates data patterns, such as backward data patterns, for passing through the oscilloscope  120  to a source DUT (Device Under Test)  130 . The DUT  130  is configured to generate a forward clock (such as an eCBUS FWD CLK) and send it to the oscilloscope  120 . The source DUT  130  also receives the backward data patterns from the signal generator  110  through the oscilloscope. The calibration system  100  further includes a calibration unit  140  for determining how much to calibrate, adding periodic jitter Pj and adjusting swing voltage. 
         [0019]    For the purpose of explanation, embodiments of the invention are described with reference to the signal generator  110  as an arbitrary waveform generator (AWG). However, a person ordinarily skilled in the art would appreciate that the signal generator may be any signal generator other than AWG also. The signal generator  110  is coupled to a memory  112  for storing calibrated patterns. 
         [0020]    Embodiments of the invention calibrate periodic jitter on the backward data patterns, such as eCBUS BWD data, and voltage swing, to meet marginal EYE requirements. Additionally embodiments determine the jitter tolerance of the backward data. This confirms that the source DUT  130  tolerates the maximum jitter of the backward data specified by test specifications for certain protocols, such as the MHL compliance test specification. 
         [0021]    In some embodiments two clock periodic jitter components are provided at 10 MHz and 7 MHz, and two data jitter components are provided at 1 MHz and 500 kHz. The system illustrated in  FIG. 1  can calibrate eCBUS-S BWD patterns for 1 MHz and 500 KHz jitter components separately, which accounts for the source DUT CK jitter, and this is achieved by performing dynamic calibration. Performing such a dynamic calibration is preferred because the DUT can have more or less jitter depending on the DUT and then the data pattern (like AWG pattern) can get adjusted for these values. 
         [0022]    As illustrated in  FIG. 1 , an external clock divider circuit CLK  150  is positioned to scale a signal from the DUT, such as a resultant AVLINK or TMDS data output to one that may be accepted by an external clock input range of the signal generator  110 . The clock divider circuit  150  converts the higher frequency signals from the DUT output to an input range between 10 MHZ to 800 MHZ, using a variable divider. The received reference clock input is then used in the PLL circuit of an internal clock oscillator within the signal generator  110 . Therefore, the external reference clock signal and ‘Variable’ type is used to adjust the signal generator frequency to the external clock that originates with the source DUT  130 . In embodiments where the clock input range of the signal generator  110  matches an output clock of the DUT  130 , the clock divider circuit  150  would not be necessary. 
         [0023]    The signal generator  110  is made to be synchronous with the source DUT  130  by applying an external REF CK input from the external clock divider  150 , and a hardware Phase Locked Loop (PLL) in the signal generator  110  locks to this and generates calibrated patterns based on the received reference clock. 
         [0024]    In an embodiment, a calibrator  140  sequentially calibrates jitter components. For example first a 1 MHz jitter may be calibrated, followed by 500 kHz jitter. Next, error patterns are calibrated at 1 MHz and 500 KHz from the signal generator  110  output. The calibrator  140  performs swing calibration and computes the AWG gain, and then adjusts the jitter amount until it passes an eCBUS-D BWD Data with clean (i.e., non-interfering) margins, as described in more detail below. 
         [0025]    When the calibration is to begin, first a relatively accurate initial periodic jitter value is selected. The initial value determines the number of iterations that will be needed to satisfy the marginal eye diagram test that is performed by the oscilloscope  120  based on the output of the DUT  130  and backward data patterns from the AWG. 
         [0026]    As experimentally determined, having a 1 Unit Interval (UI) is an optimal initial value for an initial jitter value Pj at 1 MHz and 500 KHz for the system described in  FIG. 1 . However, embodiments of the invention can also be used to perform a 3-point calibration to arrive an estimated value. 
         [0027]    Referring to  FIGS. 2A, 2B, and 2C , a flow diagram depicting a hybrid method for calibration of data patterns is provided in accordance with an embodiment of the present invention. The method begins with an operation of  201  for setting up the source DUT  130  for generating a forward clock, such as the previously mentioned eCBUS FWD CLK. In operation  202 , the signal generator  110  is set up to generate backward data, such as the previously mentioned eCBUS BWD data. Also in operation  202  the oscilloscope and its software are set up for making advanced automated jitter, eye-diagram and timing measurements. The software for making such measurements may be, for example, DPOJET software available from Tektronix, Inc. of Beaverton Oreg. 
         [0028]    In operation  203 , a 3-point calibration for swing and jitter values is performed using a second order polynomial, as described in more detail below. In some embodiments merely an estimated initial jitter may be used, without performing the 3-point calibration, but the dynamic calibration may take more cycles to complete. 
         [0029]    In operation  204 , the signal generator swing adjustment is set as, for example, 150 mV mask height+75 mV for signal path loss and 50 mV to meet rise time after adding the jitter value. In operation  205 , the initial Pj value is set, starting with, for example an initial Pj value of 1UI@ 1 MHZ. In operation  206 , an input bit stream is read from the DUT  130  and the initial Pj value is applied. In operation  207  ( FIG. 2B ), the jitter pattern is transferred to the signal generator  110  and, in operation  208 , an EYE open value or set of values is measured by creating an EYE contour in the oscilloscope software. In operation  209  the oscilloscope software determines if the eye measurement satisfies the jitter test criteria. For example, the criteria may be satisfied if the eye Open&lt;(Mask width+10%) AND&gt;(Actual Mask width−10%) AND EYE Masj hits&lt;waiver limit (for example 50 hits). Of course, other criteria are also possible. If the measurement satisfies the criteria, the jitter values are calibrated beginning with operation  210  ( FIG. 2C ). In operation  210 , an additional mask is created in the oscilloscope software which overlaps and sits at a top portion of the center mask. This additional mask helps to determine whether the Eye Height determination is met, since the oscilloscope software provides mask hits for any overlapping segment. In operation  211 , if the overlap mask segment fails, the swing gain of the signal generator is increased by a factor in operation  212 , otherwise the swing adjustment is complete as determined in operation  213 . Next the signal generator pattern is saved in the memory  112  with the calibrated pattern in operation  214 . 
         [0030]    Returning back to operation  209  ( FIG. 2B ), if instead the eye measurement does not satisfy the jitter test criteria, then the inserted jitter is adjusted. The decision block  215  determines which way the jitter is to be adjusted. For example the decision block  215  may apply the criterion of “if eye open&lt;Mask width−10% OR EYE MASK hits.” Other criteria may also be used. If jitter is to be reduced, it is reduced in operation  216 . Otherwise, if jitter is to be added, it is added in operation  217 . Then, referring back to  FIG. 2A , the flow returns back to operation  206 , the input bit stream is again read and a new Pj value applied. 
         [0031]    The method for calibration of jitter described above achieves a target value within range. Embodiments of the present invention provide a non-linear equation to achieve a closed loop calibration. The convergence happens in a damping fashion. 
         [0032]    Returning back to operation  203 , the 3-point calibration means to generate and measure three swing values for a pattern loaded in the signal generator, and generate and measure  3  jitter values by loading the pattern into the signal generator. In some embodiments the 3 values for swing may include 1.0V, 750 mV and 500 mV, for example. For periodic jitter, the 3 values may include 1.0UI, 1.5UI and 2.0UI. These values are configurable. Also in operation  203 , the polynomial fit of order  2  is performed and the value of interest for the target value is estimated. This estimated jitter value will be called as m_initialPj. The system response  300  for the periodic jitter value is as shown in  FIG. 3 . 
         [0033]    The estimated swing value is used to calibrate the jitter value. First the swing value is initially calibrated since jitter is added to the bit stream, the slope of the bits becomes slow and eye opening reduces. So, if swing keeps varying, then more jitter can be added, which gets to a marginal eye at higher jitter numbers. So, the swing calibration is completed first and then jitter calibration steps are performed. 
         [0034]    In an example, the target Eye Width (TEW) is 3.3 ns, which is the center mask eye width value. The range is +/−5% which means the calibrated jitter value should lie between 3.3 ns−0.05*(3.3 ns) and 3.3 ns+0.05*(3.3 ns). 
         [0035]    In an embodiment, the Closed Loop calibration logic implements a custom nonlinear equation: 
         [0036]    First, the eye width is measured in the operation  208  ( FIG. 2B ) after the initial insertion of Pj 1UI value. For example, assume the measured Eye Width (MEW) is 5 ns. Next a time value is determined by evaluating how far the measured MEW is from TEW. In this example, MEW−TEW=5 ns−3.5 ns, or 1.5 ns. 
         [0037]    Then a ‘how_far_value’ is normalized with the target value which gives 1.5 ns/3.5 ns=0.4286. This value becomes incr_Pj, and is used as the incremental Pj value for next iteration. 
         [0038]    The next iteration value is m_initialPj=m_initialPj+incr_Pj which is 1UI+0.4286=1.4286. 
         [0039]    As observed above, the increment incr_Pj is positive which means more jitter can be added in operation  217 . 
         [0040]    If instead, for example, the MEW is 2.5 ns, which is below target value of 3.3 ns, the ‘how_far_value’ is computed as =MEW−TEW=2.5 ns−3.3 ns=−0.8 ns. Then normalizing ‘how far value’ gives −0.8 ns/3.5 ns=−0.226. Adding the −0.226 to the initial jitter value m_initialPj of 1.0 reduces the jitter insertion value in the operation  216 . 
         [0041]    As observed above, the increment is negative which means jitter addition has to be reduced to meet the eye margins. So, the automatically incremented or reduced amount of jitter happens as part of the closed loop calibration. The operations  206 - 217  are repeated until the measured eye width is within the specified range. The calibration logic of the calibrator  140  ( FIG. 1 ) is a hybrid model with a combination of polynomial and closed loop methods as described above. 
         [0042]    Referring to  FIG. 4 , convergence graph  400  illustrates an example calibration flow in accordance with an embodiment of the invention. First a second-order polynomial fit is performed with the result illustrated as  410 . Then the closed-loop values are calibrated in multiple iterations until the measured eye width output falls within 5% of the target value of 3.3 ns, as illustrated in 420-426. 
         [0043]    The technique used for accurate signal generation (with calibration) includes two main steps: 
         [0044]    Step 1: Characterization—Each parameter is varied across an appropriate range, and a poly-fit is obtained to characterize the measured values. 
         [0045]    Step 2: Fine-Tuning—A validation test is run with the estimated values from the characterization step. If the measured values are within the accuracy desired, there are no further steps required. If not, then a further iterative algorithm is applied to converge on the desired values within the desired accuracy. This step uses the estimates from the first step, and fine-tunes those using modifications of the derivative-based optimization operation. 
         [0046]    The above two steps enables the calibration of the backward data patterns, such as eCBUS BWD data patterns by adjusting jitter based on jitter with DUT Tx Clock. 
         [0047]    Referring to  FIGS. 5 and 6 , the final calibrated results after performing dynamic calibration with Marginal EYE, EYE diagram and Spectrum showing periodic jitter value  510  for 1 MHz ( FIG. 5 ) and periodic jitter value  610  for 500 kHz ( FIG. 6 ) components is shown in accordance with an embodiment of the invention. 
         [0048]    In an advantageous aspect, embodiments of the invention work in conjunction with a Real-time (RT) oscilloscope, and provides a facility to interface with a signal generator to controls the sequence of target impairments. 
         [0049]    Further, embodiments of the present invention lets users automatically calibrate pattern required by the particular specifications, such as the CTS specification, and lets the user specify a set of patterns to be calibrated. When each test is run, the calibration results are automatically applied based on the pattern type. 
         [0050]    It shall be well understood to a person skilled in the art that the invention is not limited to any particular standard, but is applicable to systems having similar architecture without depraving from the inventive scope. 
         [0051]    The foregoing description has been described for purposes of clarity and understanding. In view of the wide variety of permutations to the embodiments described herein, the description is intended to be illustrative only, and should not be taken as limiting the scope of the invention. Although specific embodiments of the invention have been illustrated and described for purposes of illustration, various modifications may be made without departing from the spirit and scope of the invention. Accordingly, the invention should not be limited except as by the appended claims.