Beratung für 25-50 Mbit SPI-Leitungen - PCB-Design

Ich möchte Sie um Rat für mein Layout-Design bitten.

Ich arbeite an einem Layout-Design. Die entworfene Leiterplatte wird eine Erweiterungskarte in Beaglebone Black (BBB) ​​sein. Es handelt sich um eine vierlagige Leiterplatte mit folgendem Aufbau:

  1. Signal/GND
  2. Masse
  3. Leistung
  4. Signal/GND.

Auf der Schaltung befinden sich vier Geräte (SI8652), die mit der BBB mit SPI-Schnittstelle verbunden sind. Mit diesem Erweiterungsboard möchte ich ca. 25-50 MBit Geschwindigkeit über das SPI erreichen. Die SPI-Leitungen (SCLK, MISO, MOSI) werden auf einem Layer platziert. Kein Durchgangsloch oder Durchkontaktierungen auf diesen Spuren. Die vier SPI-Geräte sind in Reihe geschaltet. Die Längen der SPI-Leitung sind nicht angepasst.

Und meine Frage ist: Werde ich irgendwelche Probleme mit der Geschwindigkeit haben? Muss ich etwas mit der Signalintegrität tun? Benötige ich für die SPI-Leitungen Abschlusswiderstände, Filterkondensatoren usw.?

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

AKTUALISIEREN:

Geben Sie hier die Bildbeschreibung ein

Jeder Rat ist willkommen!

Danke.

UPDATE: Es funktioniert gut bei einer SPI-Taktgeschwindigkeit von etwa 35-40 MHz.

Antworten (3)

Wenn Sie ein Signal mit kurzer Anstiegszeit haben, müssen Sie sich Gedanken über die SI-Analyse und -Terminierung machen, um Reflexionen zu vermeiden.

Eine einfache Regel lautet: Alle Spuren, die länger als 0,3 * Anstiegszeit (ns) * 7,5 (cm) sind, benötigen eine SI-Analyse und Terminierung.

25 MHz ist für die SPI-Kommunikation etwas zu hoch, und Sie könnten aufgrund langer 17-cm-Leiterbahnen unerwünschte Strahlungsemissionen haben. Die Längenanpassung ist hier nicht der Fall, aber das Hinzufügen einiger Massespuren als Schutzleitungen könnte die wahrscheinlichen Probleme mit Emissionen und HF-Immunität verringern. Die Schutzspuren könnten auch die Rückwegschleife reduzieren und dann den unerwünschten Antennengewinn reduzieren. Die wahrscheinlichen Probleme hängen von der Entfernung zwischen der SPI-Routingschicht und der Erdungsschicht ab. Je weniger Abstand, desto weniger Probleme.

Danke für deinen Beitrag. Ich habe ein neues Bild hinzugefügt, auf dem Sie sehen können, dass sich unter den SPI-Leitungen eine fast vollständige Grundschicht befindet. Oder meinst du, ich sollte Vias entlang der SPI-Spuren setzen? Sie erwähnten Strahlungsemission. Ich habe vergessen hinzuzufügen, dass dieses Gerät in ein Vollmetallgehäuse (Aluminium) eingeschlossen wird. Vorder- und Rückseite ebenfalls aus Metall.
Metallgehäuse könnten Sie schützen, wenn sie aus möglichst wenigen Stücken hergestellt und mit geeigneten Dichtungen und Fächerscheiben miteinander verbunden sind. Alle Löcher müssen geschützt werden. alle E/A-Kabel müssen ebenfalls gefiltert werden. Sie können die SPI-Spuren mit Erdungsspuren umgeben, die mit Durchkontaktierungen mit der GND-Ebene verbunden sind, um sich über Anfälligkeits- / Immunitätsprobleme zu vergewissern. Natürlich können Sie mit der aktuellen Konfiguration ins Testlabor gehen und das Design verbessern, wenn Sie den Zielstandard nicht erfüllen. Immer müssen wir gut genug sein, nicht perfekt.

Werde ich Probleme mit der Geschwindigkeit haben?

Ja du wirst. Die Kapazität an beiden Enden der Leitungen bestimmt wahrscheinlich die Anstiegszeit der SPI-Leitungen. In der Vergangenheit musste ich mich nicht um Übertragungsleitungseffekte kümmern, diese werden ohnehin keine Rolle spielen, es sei denn, die Leitungstreiber sind angepasst. Wenn Sie Leitungstreiber (Transceiver) haben, passen Sie die PCB-Leiterbahn an die Transceiver an. (Ich bin mir ziemlich sicher, dass die BBB nur ein normaler GPIO ist). Wenn nicht, schauen Sie sich die Kapazität der Treiber an. Sehen Sie sich auch den Fanout (und die Gesamtkapazität der Leitung) an. Meiner Erfahrung nach ist es nicht schwer, 25 MHz zu bekommen, 30-40 MHz ist schwieriger.

Der 0,1-Zoll-Header-Pin des BBB trägt ebenfalls einige nH zur Induktivität bei und erzeugt einen RLC-Filter, der ein gewisses Klingeln verursachen kann.

Muss ich etwas mit der Signalintegrität tun? Benötige ich für die SPI-Leitungen Abschlusswiderstände, Filterkondensatoren usw.?

Wahrscheinlich nicht, jede weitere Kapazität, die Sie den Leitungen hinzufügen, verlangsamt die Anstiegszeit.

Zunächst muss ich sagen, dass ich kein Profi in Sachen Hochfrequenzdesign bin.

Die Länge der Signalleitungen sollte hier kein Problem sein, wie ich denke; Probleme treten wirklich auf, wenn das Timing aufgrund der Signalausbreitungsgeschwindigkeit schrecklich falsch wird. Nehmen wir an, dass die Frequenz für 50 Mbit/s 50 MHz beträgt und dass das Timing „schrecklich falsch“ wird, wenn die Zeitverschiebung etwa 10 % der Periode beträgt. Also, dl / c = T/10, wobei c die Lichtgeschwindigkeit, T die Periode und dl die maximale Spurlängendifferenz ist; Daraus ergibt sich die maximale Spurlängendifferenz von 60 cm, die möglicherweise viel höher ist als Sie. Die eigentliche Spurlängensache tritt größtenteils im GHz-Bereich ein.

Die Abschlusswiderstände werden in Ihrem Fall auch nicht wirklich benötigt; Als Faustregel gilt, dass Abschlusswiderstände verwendet werden sollten, wenn die Länge der Übertragungsleitung mehr als 10 % der Wellenlänge beträgt; Da die Wellenlänge (c * T = 6 Meter) viel höher ist als Ihre Spurlänge, sollte es in Ordnung sein. Pull-up-Widerstände an jedem Ende der Leiterbahn sind jedoch laut SPI-Dokumentation ein Muss, wenn ich mich richtig erinnere.

Die kritische Frequenz ist wirklich die der Wellenformkante, nicht die Frequenz von SPI selbst. Sie müssen also ein paar Oberschwingungen über dem, was Sie berechnet haben, berücksichtigen. Ein 5MHz Digitalsignal würde schon bei 60cm Probleme zeigen.
Vielen Dank für die Kommentare. Nun, der AM3558-Chip auf dem BBB kann mit 1 GHz laufen, aber die SPI-Schnittstelle wird mit der PRU realisiert, die mit 200 MHz läuft. Und die Spezifikation besagt, dass der GPIO-Takt für die PRU 100 MHz beträgt. Ich denke also, dass diese 100 MHz die Anstiegs- / Abfallzeit der Taktflanke definieren. Aktuell liegen die Leiterbahnlängen bei ca. 173mm. Nebenbei finde ich heraus, wie einfach die Spurlänge in KiCad eingestellt werden kann, also werde ich versuchen, die SCLK-, MISO- und MOSI-Spuren auf die gleiche Länge zu optimieren.