Serial bus decoding and protocol analysis

Introduction

Serial communication buses are used extensively in modern electronic designs. Serial buses offer significant cost advantages and some performance improvements over parallel bus communications. First off, there are fewer signals to route on the board, so PCB costs are lower. Less I/O pins on each device are needed, which simplifies component packaging and so reduces component cost. Some serial buses use differential signalling which improves noise immunity. 

There is a wide range of serial communication standards, each optimised for specific operating conditions and differing design complexity, different speeds, power consumption, fault tolerance and, of course, cost.

PicoScope can decode 1-WireARINC 429, BroadR-Reach (100BASE-T1)CAN & CAN FD, CAN J1939, CAN XLDALI, DCC, DMX512, Ethernet 10Base-T and Ethernet 100Base-TX,  FlexRayI²C, I²S, I3C, LIN, Manchester, MIL-STD-1553, Modbus (ASCII/RTU)Parallel Bus, PMBus, PS/2, Quadrature, SENT Fast/Slow, SMBus, SBS Data, SPI-MISO/MOSI, SDI-SDIO, UART (RS-232 / RS-422 / RS-485), USB and Wind Sensor protocol data as standard, with more protocols in development, and available in the future with free-of-charge software upgrades.

Although serial buses offer several advantages, they also present difficulties when troubleshooting and debugging systems since the data is transmitted in packets or frames that need to be decoded, according to the standard in use, before the designer can make sense of the information flow. Manually decoding (or “bit counting”) streams of binary data is error prone and time-consuming.

PicoScope includes decoding and analysis of popular serial standards to help engineers see what is happening in their design to identify programming and timing errors and check for other signal integrity issues. Timing analysis tools help to show performance of each design element, enabling the engineer to identify those parts of the design that need to be improved to optimize overall system performance.

Decoding

Serial decoding is included in PicoScope as standard. The decoded data can be displayed in the format of your choice: In Graph, In Table, or both at once.

In Graph format shows decoded data in a bus format, aligned with the analog waveform, on a common time axis, with error frames marked in red. Frames can be zoomed and correlated with acquired analog channels to investigate timing errors or other signal integrity issues that are root cause of data errors.

PicoScope 7 serial decoding color key

Packet example Meaning
Header
Payload / Data
Parity
CRC / Checksum
Bit Stuffing
Start Bit
Stop Bit
Sync
Packet Type
Address
Break
Ack
Reserved / Delimiter
Preamble
Control Pair

In Table format shows a list of the decoded frames, including the data and all flags and identifiers. You can set up filtering conditions to display only the frames you are interested in, search for frames with specified properties, or define a start pattern to signal when the program should list the data.

Data can be displayed in Hex, Binary, ASCII or Decimal formats.  To help make decoded data even easier to read PicoScope enables the use of a link file so that, for example, address hex 03DF can be displayed as “Oil Temperature”, or whatever the parameter means in human-readable form.

Analysis

PicoScope deep-memory oscilloscopes can capture hundreds or even thousands of serial data packets, so it is important to be able to search and analyze the acquired packets to isolate the specific packets of interest. There are several ways to do that.

Search is used to highlight specific packets in long acquisitions that meet user-defined search criteria.

Filter displays only those packets that match user-defined condition(s).

Fields provides the enabling and disabling of columns within the table. It also provides the option to display detailed timing and voltage information on each packet, which helps to determine safe margins, noise immunity, and design reliability over extended operating periods.

Link File helps to speed analysis by cross referencing hexadecimal field values into human readable form. So, for example, instead of displaying "Address: 7E" in the Table View, the corresponding text “Set Motor Speed” will be shown instead, or whatever is appropriate. The Link File template with all field headings can be created directly from the serial table toolbar, and edited manually as a spreadsheet to apply the cross reference values.

Export: Table view data can be saved in a spreadsheet format file for off line viewing and analysis. Statistics and cross reference information from the table is preserved in the spreadsheet file.