Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Eye pattern
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
== Calculation == === Source data === The first step of computing an eye pattern is normally to obtain the waveform being analyzed in a quantized form. This may be done by measuring an actual electrical system with an oscilloscope of sufficient bandwidth, or by creating synthetic data with a [[Electronic circuit simulation|circuit simulator]] in order to evaluate the signal integrity of a proposed design. A combination of the two approaches may be used as well: simulating the effects of an arbitrary circuit or [[Transmission_lines|transmission line]] on a measured signal, perhaps to determine whether a signal will still be intelligible after passing through a long cable. [[Interpolation]] may also be applied at this time in order to increase the number of samples per unit interval (UI) and produce a smooth, gap-free plot which is more visually appealing and easier to understand. === Slicing === Next, the position of each sample within the UI must be determined. There are several methods for doing this depending on the characteristics of the signal and the capabilities of the oscilloscope and software in use. This step is critically important for accurate visualization of [[jitter]] in the eye. ==== Triggering ==== A very simple method of slicing is to set the oscilloscope display to be slightly more than one UI wide, trigger on both rising and falling edges in the signal, and enable display persistence so that all measured waveforms "stack" into a single plot. This has the advantage of being possible on almost any oscilloscope (even fully analog ones) and can provide decent visualization of noise and overall signal shape, but completely destroys the jitter content of the signal since the instrument's trigger re-synchronizes the plot to each UI. The only jitter visible with this method is that of the oscilloscope itself, as well as extremely high frequency jitter (frequencies with period less than the UI). ==== Fixed rate ==== A simple way to have the eye pattern display jitter in the signal is to estimate the [[symbol rate]] of the signal (perhaps by counting the average number of zero crossings in a known window of time) and acquiring many UIs in a single oscilloscope capture. The first zero crossing in the capture is located and declared to be the start of the first UI, and the remainder of the waveform is divided into chunks one UI long. This approach can work adequately for stable signals in which the symbol rate remains exactly the same over time, however inaccuracies in the system mean that some drift is inevitable so it is rarely used in practice. In some protocols, such as [[SATA]], the symbol rate is intentionally varied by use of [[Spread_spectrum_clocking#Clock_signal_generation|spread spectrum clocking]], so assuming a fixed rate will lead to the eye grossly exaggerating the actual jitter present on the signal. (While spread spectrum modulation on a clock is technically jitter in the strict sense, receivers for these systems are designed to track the modulation. The only jitter of interest to a signal integrity engineer is jitter much faster than the modulation rate, which the receiver cannot track effectively.) ==== Reference clock ==== With some protocols, such as [[HDMI]], a reference clock is supplied along with the signal, either at the symbol rate or at a lower (but synchronized) frequency from which a symbol clock can be reconstructed. Since the actual receiver in the system uses the reference clock to sample the data, using this clock to determine UI boundaries allows the eye pattern to faithfully display the signal as the receiver sees it: only jitter between the signal and the reference clock is displayed. ==== Clock recovery ==== Most high speed serial signals, such as [[PCIe]], [[DisplayPort]], and most variants of [[Ethernet]], use a [[line code]] which is intended to allow easy [[clock recovery]] by means of a [[Phase-locked loop|PLL]]. Since this is how the actual receiver works, the most accurate way to slice data for the eye pattern is to implement a PLL with the same characteristics in software. Correct PLL configuration allows for the eye to conceal the effects of spread spectrum clocking and other long-term variation in the symbol rate which do not contribute to errors at the receiver, while still displaying higher frequency jitter. === Integration === The samples are then accumulated into a two-dimensional [[histogram]], with the X axis representing time within the UI and the Y axis representing voltage. This is then [[Feature_scaling|normalized]] by dividing the value in each histogram bin by the value in the largest bin. [[Tone mapping]], logarithmic scaling, or other mathematical transformations may be applied in order to emphasize different portions of the distribution, and a color gradient is applied to the final eye for display. Large amounts of data may be needed to provide an accurate representation of the signal; tens to hundreds of millions of UIs are frequently used for a single eye pattern. In the example below, the eye using twelve thousand UIs only shows the basic shape of the eye, while the eye using eight million UIs shows far more nuance on the rising and falling edges. <gallery widths="400px" heights="250px"> Eye_pattern_2.png|Eye pattern of twelve thousand UIs of a 1.25 Gbit/s signal Eye_pattern_example.png|Eye pattern of eight million UIs (unit intervals) of a 1.25 Gbit/s signal </gallery>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)