🛠 Analyzing a Protocol Bus with SLogic32U3
Objectives
This tutorial guides beginners in using the Sipeed SLogic32U3 to monitor a digital data bus. The goal is to understand how to connect the device, configure appropriate sampling parameters for your target, and interpret data frames via SLogicView software. We will use a concrete example of I2C communication between a microcontroller and a sensor, a common task in automation and embedded development.
Required Equipment
- Sipeed SLogic32U3 logic analyzer.
- USB-C cable (supplied or USB 3.2 compatible).
- Computer with Windows, Linux, or macOS.
- SLogicView software installed.
- Test leads (jumpers) and alligator clips.
- Target circuit running an I2C or UART bus (e.g., Arduino, Raspberry Pi Pico, or sensor module).
- Pull-up resistors if necessary for the I2C bus (typically 4.7 kΩ on SDA and SCL).
Steps
- Software Installation : Download and install SLogicView from the official Sipeed website. Ensure USB drivers are correctly installed so the computer recognizes the device.
- Physical Connection : Connect the SLogic32U3 to your computer via the USB-C port. The device is USB-powered, requiring no external source. LED indicators light up to show power status.
- Channel Configuration : Open SLogicView. In the interface, select the physical channels used. For a standard I2C bus, use Channel 0 for SDA and Channel 1 for SCL. Note that connectors are mini-HDMI ports; use provided adapters to access pins.
- Sampling Adjustment : For an I2C bus running at 100 kHz or 400 kHz, a sampling rate of 10 to 20 MS/s is sufficient. The SLogic32U3 offers up to 1400 MS/s on 4 channels, ensuring excellent time resolution. Set the threshold voltage to 3.3 V or 5 V according to your target circuit (adjustable in 0.1 V steps).
- Target Connection : Connect the alligator clips to the SDA and SCL lines of your circuit. Connect the SLogic32U3 ground (GND) to your circuit ground to establish a common reference. Warning : Never exceed 10 V on inputs.
- Data Capture : Start acquisition in SLogicView. Generate communication on your circuit (e.g., read a sensor value). Stop capture once frames are visible.
- Protocol Decoding : In the software, add an I2C decoder. Select corresponding channels. The software will display slave addresses, commands, and exchanged data in plain text.
Verification
Verify that captured signals are clean, without excessive noise. Logical transitions must be clear. If decoded data is erroneous, check ground connection and threshold voltage adjustment. The 100 kΩ input impedance ensures minimal load on the tested circuit.
Further Exploration
Explore the SLogic32U3's multi-channel capabilities to analyze parallel or 4-line SPI buses. Test the 2 Gbit buffer memory to capture long sequences without data loss. Also try the optional ADC module to correlate analog signals with digital events.
Other tutorials for this board
- SLogic32U3: First Connection and Setup
- Getting Started with SLogic32U3: Installation and First Connection
- Interfacing SLogic32U3 with External Peripherals
- Debugging I2C and SPI Buses with the SLogic32U3
- Advanced Setup of SLogic32U3: Configuration and Validation
- Advanced GPIO and Sensor Interface Analysis with SLogic32U3