Methods for eliminating distortion in the oscilloscope display of an I2C serial bus signal are demonstrated.
Hi once more and welcome to our 86th Test and Measurement Video. Today we’ll use the Tektronix MDO3104 oscilloscope to display an I2C serial bus signal. The source for this signal is the proprietary Tektronix Demo One board. First, a few words about the board itself. This printed circuit board is intended to go with the Tektronix MSO4000 oscilloscope, but it will work with any instrument that is capable of displaying the signal and that has two USB slots.
The board comes with a specialized Y-type cable. The reason for the two separate inputs, both of which have A-type connectors, is that due to power requirements of the demo board, with just one of the inputs hooked up the oscilloscope USB circuit would be overloaded, damaging the instrument.
A red and two green LED’s indicate that the demo board is powered up. We have connected two 10:1 probes to Channels One and Three in the oscilloscope. The Demo Board has terminals arranged in rows. The probe tips with hook adopters have been connected to terminals labeled I2C_Clock and I2C_Data. The clock signal is displayed in purple, the dedicated color for Channel Three, and the data signal is displayed in yellow, the dedicated color for Channel One. It may be necessary to press Auto-Set to adjust frequency, amplitude and triggering for an optimum display.
Now we see the two signals, but they are still blurry and indistinct.
We can improve them by performing either or both of two operations, which are very effective. Often the signal degradation may be attributed to thermal noise, which can come from inside or outside the oscilloscope. Noise is a very wide spectrum phenomenon, so it can be mitigated by limiting the bandwidth, not of the oscilloscope but of the signal. To do this, lowpass filters are switched on. In this One GHz instrument, bandwidth can be successively limited to 250 MHz and 20 MHz. This is done by pressing the analog channel button, then the soft key for bandwidth. The default, of course, is full bandwidth. As you can see, the technique is not effective for this particular signal.
The other method for cleaning up a signal as it appears in the display is Signal Averaging. In this case, the cause of the blurry and thickened traces is probably spectral impurity. The actual signal is exactly the same from one triggering cycle to the next, whereas the impurities vary. Signal averaging is often a successful technique because it displays the average of successive waveforms, retaining those portions that are the same and suppressing those portions that are not common to successive trigger cycles.
To perform Signal Averaging, press Acquire. Then press the soft key associated with Mode in the bottom horizontal menu. This brings up the Vertical Acquisition Mode menu on the right. Press the Average soft key. The number of waveforms that are averaged can be set by turning Multipurpose Knob a or by using the number pad. The range is 2 to 512.
As you can see, the distortion is removed, leaving a good display.
I2C, one of the digital signal buses, denotes inter-integrated circuit. The exponent is just part of the abbreviation and has nothing to do with a mathematical operation.
I2C is a two-wire serial bus. Data is carried on one wire and a clock signal is carried on the other wire. This bus is used primarily for enabling communication between IC’s, often located on the same printed circuit board. On a single bus, there can be any number of master and slave devices. They are connected in parallel between the two lines, just like wall receptacles in a residential branch circuit.
After a logic High voltage is applied to one of the lines, if any master or slave conducts, the logic state is pulled down. By conducting or not conducting, any master or slave can write data that any other device can see.
All masters monitor the bus for start or stop bits. If a master is using a bus, another master will not interrupt. When two masters begin simultaneously, the one sending a message to the slave having the lower slave address will have priority.
The I2C serial bus is used worldwide, in everything from transistor radios to high-energy physics laboratories. It is far more efficient and user-friendly than the old parallel buses, but to troubleshoot and debug systems that employ it, considerable knowledge and expertise is needed, as we shall demonstrate in a video coming up soon.