Global Sources
EE Times-Asia
Stay in touch with EE Times Asia
EE Times-Asia > Sensors/MEMS

MSO resolves clocking issues in serial bus system debugging

Posted: 01 Dec 2003 ?? ?Print Version ?Bookmark and Share

Keywords:mso? oscilloscope? eeprom? usb? can?

As applications have grown in complexity, serial buses have begun to supplant parallel buses. One of the advantages of a serial over parallel bus is the small number of signal lines required. Many designs incorporate more than one type of serial interface for communication. For example, a design may use an I2C bus to communicate locally with an EEPROM and then another device may use an SPI bus to communicate with other peripherals in the design. The entire design may then connect to an external network via USB or CAN.

But there are a number of challenges associated with debugging serial bus designs. For instance, it is difficult to extract information about the protocol itself and to determine the interaction between devices due to the long serial data streams. This measurement challenge builds upon those designers already encounter when debugging today's mixed analog and digital serial bus designs. In addition to analyzing the behavior of the serial bus protocol itself, parametric measurements must be performed - rise and fall times, setup and hold times as well as analyzing voltage levels.

A popular strategy for debugging serial-bus systems has been to employ a logic analyzer, combined with an oscilloscope, triggering on a serial-bus transition of interest. But that can be difficult because there is no time reference for all of the data, simply because being serial, it is read sequentially, bit-by-bit.

To meet these challenges, a preferred method is to use a mixed-signal oscilloscope (MSO). These oscilloscopes are called 'mixed signal' because they can view digital and analog behavior simultaneously on many channels. MSOs are equipped with specially-designed triggering capabilities tailored to specific serial data formats that are coming into use. They solve the difficult problem of triggering on the specific protocol conditions encountered when one uses a separate logic analyzer and oscilloscope. Such MSOs find a desired pattern automatically in a long serial stream without the chore of creating a complicated state machine in a logic analyzer.

An instrument like the Agilent 54642D MSO, for example, provides 16 digital-timing channels and two analog scope channels with bandwidths up to 500MHz, in a single instrument. In addition, this MSO has deep memory acquisition capability. Its triggering features are easy to set up and can reduce the time the user currently spends in debugging problems in embedded systems that utilize serial bus communications.

The serial bus triggering features in the MSO can trigger on serial buses with a synchronous clock - such as the I2C and SPI buses - that have separate clock and data lines. In addition, such an MSO is able to establish a trigger on serial buses that have an embedded clock within the data stream - such as CAN and USB.

These triggering features make it easy to correlate the sequential data and timing on long streams of data. This provides a designer with the ability to look at the fast digital signals and correlate them with slower analog signals on long, serial data streams. Also, the MSO's 16 digital and two analog channels of acquisition are automatically time correlated. The dilemma of having to trigger twice to acquire a long time capture or to view detailed resolution is solved with the deep memory.

Debugging an I2C bus system

The I2C bus comprises two active signals: SDA and SCL. Here is a typical problem that is likely to be encountered in debugging an I2C-based system: The MCU may request information from a slave device and then not receive any information back from that device. Debugging this problem with a conventional scope would require the user to digitize a long data record using either an edge or pattern trigger. The user would then need to scroll through the individual data frames to search for the particular problem. This technique would be time-consuming.

An MSO with I2C triggering features and deep memory make it possible to probe the two signals of the bus along with other signals, such as the data and address lines of an EEPROM, to detect where the problems are occurring in the system. Setting up the I2C triggering features is a matter of assigning the data (SDA) and clock (SCL) to specific scope channels, and then selecting the I2C serial triggering options. The two lines of the bus can then be probed by either the digital timing channels or the analog scope channels and are automatically labeled on the screen.

It is also possible to trigger on content, reading or writing from a specific address and data value. In a typical I2C frame, for example, there is a start condition, a control byte that configures the particular slave to be read from or written to, a valid acknowledge clock pulse and other bytes of the transferred data. The MSO can be configured to trigger on the address and/or data of the control byte or the secondary byte.

This triggering feature enables the user to look within the I2C frame to trigger when a device at a particular address is written to (or read from) with a data value. This triggering feature enables the user to look within the I2C frame to trigger when a device at a particular address is written to (or read from) with a data value. This feature is useful in finding errors in software routines that write incorrect data to a device.

EEPROM data can also trigger a scope read operation. In the I2C protocol, EEPROMs have a predetermined address on the bus in the form of 1010xxx binary. The EEPROM data read trigger looks for an address matching this pattern on the SDA line, followed by a read bit and then an acknowledge bit. When the data matches the qualified condition set by the user, the MSO triggers on the acknowledge clock edge after the data is sent. The MSO can trigger on a "current address read" cycle, a "random read" cycle, or on any data byte within a "sequential read" cycle.

The MSO trigger hardware looks for the appropriate control byte first, followed by any data byte that meets the user-specified qualifications. These qualifications include less than, greater than equal, not equal and don't care.

For example, suppose an MCU stores calibration data from a temperature sensor in memory to use at a later time in a program. But when the data is read back, it is corrupt and causes the sensor to perform incorrectly. This trigger feature of the MSO provides the user an easy way to track and debug data being read from an EEPROM in the system.

New technologies bring with them new design and debug challenges. The MSO provides an added dimension to solving problems when debugging MCU and DSP-based designs incorporating serial buses. It solves the problems associated with debugging serial bus interfaces by providing a unique solution that uses a MSO with specially designed triggering capabilities to debug protocols and the interactions of devices on these buses. Having a single instrument able to debug many parts of a system can reduce debug time, cost and frustration, and helps to get designs out the door and into production faster.

- Angelica Sostheim

Applications Engineer, Oscilloscope Product Line

Agilent Technologies Inc.

Article Comments - MSO resolves clocking issues in seri...
*? You can enter [0] more charecters.
*Verify code:


Visit Asia Webinars to learn about the latest in technology and get practical design tips.

Back to Top