Saleae Logic High Level Analyzer

The Tinkerforge Saleae Logic High Level Analyzer is an extension for Saleae Logic 2. It makes analysis of the communication with Co-MCU Bricklets using one of the Saleae Logic Analyzers a lot easier.

The analyzer can decode captured SPI communication into SPITFP and TFP packets. It contains a database of all functions of Bricks and Bricklets.

The analyzer can assist in debugging bugs when developing new Bricklets using the XMC1400 Breakout Bricklet.

Saleae High Level Analyzer

Hardware

To be able to capture the SPI communication, you need to build yourself an adapter to tap into the electric signals. You can, for example, use two Breakout Bricklets and a pin header to connect them.

If you are using the XMC1400 Breakout Bricklet you can capture the SPI communication from the pins marked with CS, CLK, MOSI and MISO.

Installation

The analyzer requires an up-to-date version of the Saleae Logic 2 alpha. It was tested with version 2.2.15, but should work with versions starting from 2.2.9.

Download the analyzer from here and extract the zip file.

In Logic 2 you can add the analyzer as an extension. It should then be possible to add the SPITFP analyzer.

Configuration

The following options can be configured for the analyzer:

  • Input Analyzer: This is the underlying protocol. This should always be SPI.
  • Output Format: Packets with large payloads can create a lot of graph overlay text. If necessary, you can limit the output to only the headers or the (TFP) payload here.
  • Direction: Selects the SPI signal to analyze. Use MOSI to analyze messages sent to the Bricklet, or MISO to analyze messages created by the Bricklet.
  • Device: You can select the attached device. This is required to allow the analyzer to parse the function IDs and payload.

It is possible to add multiple instances of the analyzer. This allows parsing both directions of communication (i.e. from/to the Bricklet) at the same time. This can also be used to get a multi-line output when analyzing large packages: Add one instance with Headers output format and one with the Payload output format to see the parsed packets as shown in the screenshot above.