spi-capture-analysis-8.ino

Sipeed SLogic32U3: Analizador lógico de 32 canales USB 3.2 Gen2 · Archivo : spi-capture-analysis-8.ino · Lenguaje : python · Uso : Capturer un bus SPI à 4 canaux (MOSI, MISO, SCK, CS) et décoder les trames avec sigrok-cli pour identifier les commandes.

Uso de sigrok-cli a través de Python para capturar líneas SPI y decodificar el protocolo en tiempo real para visualizar los paquetes enviados.

Hardware: SLogic32U3 con 4 canales conectados a señales SPI. Software: sigrok-cli. Ejecución: asegúrese de que los canales coincidan con el orden SCK/MOSI/MISO/CS. El decodificador SPI requiere CS activo (generalmente bajo, pero configurable).

spi-capture-analysis-8.ino

import subprocess
import sys

# Configuration de la capture SPI
# Canaux : 0=SCK, 1=MOSI, 2=MISO, 3=CS (Exemple de câblage)
# Taux : 800 MS/s pour 4 canaux maximum
DRIVER = 'slogic'
CHANNELS = '0-3'
RATE = '800M'
TIME = '1s'
DECODER = 'spi'
DECODER_OPTS = 'mode=0 cpol=0 cpha=0 cs_active=high'

command = [
    'sigrok-cli',
    '-d', DRIVER,
    '-c', CHANNELS,
    '-r', RATE,
    '-A', TIME,
    '-p', f'0={DECODER} {DECODER_OPTS}',
    '-O', 'decode'
]

print("Lancement de la capture et décodage SPI...")
try:
    result = subprocess.run(command, capture_output=True, text=True, check=True)
    print("Données décodées :")
    print(result.stdout)
except subprocess.CalledProcessError as e:
    print(f"Erreur lors de la capture : {e.stderr}")
except FileNotFoundError:
    print("Erreur : sigrok-cli non trouvé. Installez-le d'abord.")

← Volver a la ficha