🛠 Debugging I2C and SPI Buses with the SLogic32U3

Sipeed SLogic32U3: 32-Channel USB 3.2 Gen2 Logic Analyzer · intermediaire · Apprenez à configurer et analyser les protocoles de communication série courants en exploitant la haute bande passante de l'analyseur logique SLogic32U3.

Objectives

This tutorial guides you through analyzing serial communication protocols I2C and SPI, essential for embedded development. With the SLogic32U3's 350 MHz bandwidth and 32 channels, you can capture fast signals with high temporal precision, identifying timing errors, address conflicts, or signal integrity issues that classic logic analyzers miss.

Required Equipment

Steps

  1. Software Installation: Download the latest version of SLogicView or Pulseview. Ensure USB drivers are correctly installed on your system (Windows, Linux, or macOS).
  1. Physical Connection: Connect the SLogic32U3 to your computer via the USB-C cable. Connect probes to your target circuit pins. For I2C, use SDA and SCL. For SPI, connect MOSI, MISO, CLK, and CS. Respect the maximum input voltage of 10 V.
  1. Acquisition Configuration: In the software, select the SLogic32U3. Choose the number of active channels. For detailed high-speed I2C analysis, prefer 4 or 8 channels to benefit from the maximum sampling rate of 1400 MS/s or 800 MS/s. Set the trigger threshold (e.g., 1.8 V or 3.3 V depending on your logic) via the software interface.
  1. Trigger Definition: Configure a trigger on a SCL falling edge or a specific address to capture only useful frames. This optimizes the use of the 2 Gbit FIFO memory.
  1. Capture and Analysis: Start the acquisition. Once capture is complete, apply protocol decoders (I2C or SPI) in the software. The SLogic32U3 allows visualizing data packets in real-time or post-processing.

Verification

Verify that the decoded data matches expectations (addresses, commands). Observe logic levels: ensure there is no excessive noise on the lines, which could indicate signal integrity or ground issues.

Further Reading

Explore the use of the optional ADC module to correlate analog signals with digital events. Also test integration with sigrok-cli to create test automation scripts.

Other tutorials for this board

Code examples for this board

← Back to the board 🛠 All tutorials