i2c-troubleshooting-sigrok-9.ino

Sipeed SLogic32U3: Analizador lógico de 32 canales USB 3.2 Gen2 · Archivo : i2c-troubleshooting-sigrok-9.ino · Lenguaje : bash · Uso : Déboguer un bus I2C en capturant les adresses et les données échangées entre le maître et l'esclave.

Script simplificado en Bash para lanzar una captura I2C con decodificación integrada, mostrando direcciones esclavas y registros leídos/escritos.

Hardware: SLogic32U3 conectado a SCL y SDA. Software: sigrok-cli. Ejecución: verifique los números de canal utilizados para SCL y SDA en la variable DECODER_OPTS. Útil para verificar si el maestro genera correctamente los bits ACK/NACK.

i2c-troubleshooting-sigrok-9.ino

#!/bin/bash
# Capture I2C sur SLogic32U3
# Câblage supposé : Ch0 = SCL, Ch1 = SDA
# Taux d'échantillonnage élevé recommandé pour les signaux I2C rapides (400kHz+) 
# Bien que l'I2C soit lent, la résolution temporelle aide au débogage.

DRIVER="slogic"
CHANNELS="0-1"
# 100 MS/s est suffisant et plus stable pour l'I2C que le max absolu
RATE="100M"
DURATION="5s"
DECODER="i2c"
# Options du décodeur : scl=0 sda=1 (indices des canaux)
DECODER_OPTS="scl=0 sda=1"

echo "Capture I2C en cours pendant ${DURATION}..."
sigrok-cli -d $DRIVER -c $CHANNELS -r $RATE -A $DURATION \
  -p "0=${DECODER} ${DECODER_OPTS}" \
  -O decode

echo "Analyse terminée."

← Volver a la ficha