The first type of advanced testing of serial data devices which will be discussed in this paper enables the user to characterize the latency time between a particular digital packet and an analog signal or between the edge of an analog signal and the beginning of a particular digital packet. The second and most advanced methodology for obtaining a deeper understanding of the actions of a device which is monitored or controlled by a low speed serial data bus is to view the values of a serial data stream as a waveform. Essentially, the oscilloscope becomes a Digital to Analog Converter (DAQ). The long string(s) of numbers contained in a serial data stream can be viewed as a waveform to give insight into device performance.
Characterizing the Time Between a Digital Message and an Analog Signal
A wide variety of applications involve the conversion of analog signals into a series of numbers or vice versa. For example a singer’s voice or the strumming of a guitar string create sound waveforms which can be recorded as a series of digital numbers on a CD or MP3 player. Similarly, the series of digital numbers in the MP3 memory can be reconverted into sound waveforms. Or the changing pressure of a foot on an automobile brake can create an analog signal that sends a series of digital numbers to the electronic brakes, controlling the rate of decrease in speed of a vehicle. Engineers who design such systems need to make sure the conversion from analog to digital – or digital to analog – is done correctly and with a well-controlled latency time between the analog and digital information. No one wants a sound system where the notes are off by half a tone (incorrect information) or where the time lag of the conversion is inconsistent (some notes are delayed compared to others). Even worse would be a braking system where the action of the electronic brakes did not conform to what the driver expected when his foot hit the pedal.
Figure 1 shows an example of a measurement in a CANbus (Controller Area Network) system. In this case an oscilloscope is measuring the time between a particular CAN data packet and the edge of a particular analog signal. The parameter P1 (delta time at level CAN to analog) is measuring the latency time between the digital data and the analog edge. This latency time is supposed to be less than 1.33 milliseconds. A pass/fail test has been set up to monitor this characteristic of the system. Out of 371 measurements, 370 of them passed the specification and one failed. The failing waveforms (both the digital data packet and the analog edge) are shown at the top of the screen. In this case, the latency time was 1.3316 msec. This is very useful information for the design engineer. Perhaps even more useful is the histogram of the 371 measurements. The bar chart in the center of the oscilloscope screen shows the distribution of the values of P1 (the time latency) for all the measurements. The engineer can see there is a long tail of events trailing off toward shorter latency times (low values are toward the left hand side of the histogram) and a sharper tail of occurrences where the latency was longer than average. The first thing a scope user might conclude from the histogram of latency times is that 371 measurements are not enough to characterize the worst case. A larger ensemble of statistical data would give more confidence in stating worst case performance. The user might also be able to make a statement about conformance of the design to specification. If it is necessary for the elapsed time between the CAN digital signal and the analog signal to be less than 1.33 msec then the current design fails. On the other hand, maybe the industry spec is 2.0 msec and the engineer merely set up this test using the 1.33 msec threshold to see how much margin was available. In this case, the design is probably OK (but more data should be observed before making a conclusion).
Figure 1 shows a measurement of elapsed time from a data packet to the edge of an analog signal. This is called “Message to Analog” timing. In exactly the same way, the user of a LeCroy oscilloscope can also measure “Analog to Message” timing or “Message to Message”. In all cases, the user specifies a particular analog signal and a particular type of digital message. For Message to Message timing, the two messages can both be on the same digital signal or on two different signals (they can even be two different protocols). Of course it is also possible to measure the times between two analog edges—either two edges on the same signal or two edges on two different signals. Additionally, it is possible for the scope to assign a parameter to measure (and draw a histogram if desired) the various times at which a particular message appears (Time at Message).
Sometimes the exact timing of a message on the bus is not as important as knowing the load of messages on the bus or their bit rate. For those applications, bus status measurements such as Bus Load, Message Bitrate, and Number of Messages, give an overall status of the decode protocol so the engineer knows if the bus is over utilized and to verify the bit rate matches expectations.
Representing Serial Data Streams as Waveforms
Digital oscilloscopes are very good at displaying a series of numbers versus time. Most often, the scope user looks at waveforms which display voltage vs time – the shape of an electronic signal. In systems where an engineer needs to characterize the performance of a device which is monitored or controlled via a low speed serial data bus it may be more useful to look at a different series of numbers – Not the voltage. Figure 2 shows the capture and decoding of one data packet. The user can easily read the packet ID, number of data bytes (3)
and value of the CRC. He can also read the hex values of the data bytes. These are written above the waveform of the electronic signal. Going one step further, the scope can tell the user the physical values to which these data bytes correspond – written in clear text below the voltage vs time waveform. In Figure 2 the data values are monitoring the coolant in an engine (pressure, temperature and coolant level). If you were the engineer in charge of the coolant system, it might be very useful for you to observe waveforms that depicted the pressure vs time and temperature vs time. Obviously if the oscilloscope is monitoring the bus line and decoding all the values the scope “knows” the numbers. It is simply (!) a matter of graphing the series of numbers versus time.
Figure 3 shows an example of drawing a waveform based on the values captured and decoded from a serial data stream. In this case the serial data protocol is from an audio application: I2S (Inter-IC Sound). Note in the lower right corner of the figure the Trigger box says “I2S.” In addition to I2S the Audiobus trigger, decode and graph package from LeCroy supports Left Justified (LJ), Right Justified (RJ) and TDM (Time Division Multiplex) coded
signals. In Figure 3, channels 1, 2 and 3 of the scope are capturing electronic signals which are zoomed (to see more detail) and viewed in the upper half of the screen. You can see the decoding of the serial data signal from channel 1 (Z1) at top of the screen. The user has set up two parameters, P1 and P2, measuring values from the serial data stream. The tracks of values of P1 and P2 versus time are shown in the bottom two traces in the lower half of the screen.
Multidomain Signal Analysis
When characterizing a device it is often useful to examine performance in multiple domains. In Figure 4 the two sides of a differential signal are captured by channel 2 and 3 of the oscilloscope. Those two traces are subtracted by math function F1. Use of a differential probe would give a more accurate view of the differential signal, but the technique shown here is adequate for examining the decoded values of the serial data stream. The data stream is decoded (top trace) and the values extracted from the serial data stream are viewed as a waveform in the time domain (2nd trace). That trace is a parameter track of the values of P1 (CAN to Value). An FFT is performed on the parameter track (3rd trace) to view the variation of the data values in the frequency domain. It should be emphasized this is not an FFT of the voltage vs time signal – but instead is a spectrum analysis of the waveform created by the series of digitally decoded values in the serial data stream. Finally a histogram of the data values is shown in the bottom trace to get information on device performance in the statistical domain. Each view gives different insights into product performance and can be used to diagnose device behavior.
Figure 5 is a final example which combines the use of sensors, serial data bus decoding and tracking the values of parameters carried in the serial data stream. The sensors on a steering wheel detect the angle at which the wheel is pointing and the rate of change of the position of the wheel. These two data values are measured
frequently and transmitted via a serial data stream. The serial data stream is captured and decoded by the oscilloscope which extracts the data and saves it as parameter measurements (P1 and P2). The engineer who is designing/testing the steering system can now view the steering wheel angle and its rate of change as waveforms on the screen of the oscilloscope. This gives him much more insight than he would get from viewing the top trace which simply shows a series of decoded numbers.
The measurements described above were acquired using the AudioBus, CANbus TD (Trigger, Decode) and PROTObus MAG (Measure, Analyze, Graph) options. Although the capability to trigger on and decode low speed serial data busses is available for the WaveSurfer series of oscilloscopes, a more powerful processor found in WaveRunner and higher bandwidth LeCroy oscilloscopes is needed for the graph capability. The ability to decode a series of numbers from a serial data stream and depict those numbers as a waveform on the oscilloscope is unique to LeCroy. LeCroy was also the first company (many years ago) to introduce the use of FFT for analysis of oscilloscope signals in the frequency domain and the first to introduce the use of parameter histograms for insights in the statistical domain. All these methods for characterizing serial data streams and the devices connected to those busses can be extremely useful.