Die SPI-Wellenform auf Raspberry Pi ist nicht sauber, und ich frage mich, warum

Ich habe einen Raspberry Pi Zero Wireless und möchte ihn über SPI mit einem FPGA verbinden. Ich habe einige SPI-Tests mit meinem 100-MHz-Oszilloskop durchgeführt und sehe die unten gezeigten Bilder. Der Raspberry Pi gibt mit einem einfachen C-Programm den Text „Test“ korrekt aus.

Der SPI läuft mit 1 MHz. Die Wellenformen sehen nicht sehr sauber aus, und ich frage mich, warum. Sie sind an den Anstiegs- und Abfallpunkten nicht sauber. Ich verwende Verbindungskabel, um eine Verbindung zu den GPIO-Pins herzustellen. Letztendlich möchte ich dies viel schneller als 1 MHz machen. Warum gibt es Spitzen in den Wellenformen?

Ich verwende keine Pull-Up- oder Pull-Down-Widerstände. Sollte ich? Die Drähte werden einfach mit dem GPIO-Header verbunden. Die Chip-Select-Leitung (gelb) hat einige Anomalien, die ich loswerden/über die ich lernen möchte.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Ihr Oszilloskop kann Transienten erkennen, die Phantome sind, da Ihre Oszilloskop-Masseverbindung zu lang ist.
Diese Kommentare helfen, ich kenne jetzt die Richtung, in der ich nach der wahrscheinlichen Ursache/Lösung suchen muss.

Antworten (1)

Die Spitzen beim Anstieg und Abfall des blauen Signals sind wahrscheinlich auf die Sondeninduktivität (auch bekannt als lange GND-Drahtverbindung) zurückzuführen. Versuchen Sie, eine möglichst kurze GND-Verbindung zu verwenden. Befreien Sie sich für Oszilloskopmessungen auch so weit wie möglich von den Anschlussdrähten und verwenden Sie die Sonde so nah wie möglich am endgültigen Ziel des Signals. Wenn der Pi beispielsweise der SPI-Master ist, versuchen Sie, um das SCK-Signal zu prüfen, die Sonde so nahe wie möglich am FPGA-SCK-Eingang zu platzieren.

Beachten Sie auch, dass die Störung des violetten Signals mit dem Anstieg und Abfall des blauen Signals synchronisiert ist. Dies bedeutet, dass es auf ein Übersprechen zwischen den Signalen zurückzuführen ist. Versuchen Sie nach Möglichkeit, den Abstand zwischen den Signalen zu vergrößern.

Wenn eine bessere Sondenhygiene die Wellenformen nicht bereinigt, installieren Sie 150-Ohm-Widerstände an den angesteuerten Enden der SPI-Signale. Dies bietet eine Quellenterminierung und funktioniert recht gut, wenn Sie nur einen einzelnen TX und einen einzelnen RX haben.