Meine MCU betreibt einen SPI-Bus mit ca. 4 Geräten. Ich möchte diesen Bus so erweitern, dass er auch außerhalb des Boards ist, dh einige PCBs werden mit dem "Hauptboard" verbunden und erweitern die Funktionalität. Der Abstand "Pad zu Pad" wäre:
Leiterbahnlänge der Hauptplatine + Kabellänge + Leiterbahnlänge auf der Erweiterungsplatine
3 "+ 6" + 3 "= ungefähr 12"
Nach meiner Erfahrung wurde sogar ein 1-MHz-Signal mit Anstiegszeiten von etwa 7 ns über diese Distanz über ein Flachbandkabel um mehr als 1 V übersteuert (es trat jedoch kein übermäßiges Klingeln auf). Die Platinen werden von derselben Stromversorgung gespeist.
Hinweis: Sie können die Anstiegszeiten hier nicht sehen, aber Sie können das übermäßige Überschwingen sehen - dies ist ein 3,3-V-Signal. Und ja, dies wurde mit einem sehr kurzen Kabel von der Sonde zur Erde richtig gemessen. Ähnlich wie es auf dieser Seite oft empfohlen wird. Ich denke nicht, dass es ein Messfehler ist.
Ich möchte, dass das System mit 4 MHz arbeitet, aber 2 MHz sind auch akzeptabel. Die max. Die Anzahl der Karten, die ich anschließen möchte, beträgt ungefähr 4, wodurch der SPI-Bus auf ungefähr 12 Geräte erweitert wird. Ich denke nicht, dass es zu schwierig wäre, dies per Code zu handhaben, da ich bereits so etwas habe. Es ist auch kein Problem, die zusätzlichen Slave-Auswahlleitungen zu haben.
Mein Anliegen ist jedoch, wie die SPI-Daten von einer Karte zu einer anderen gesendet werden. Sollte ich nur gerade SPI senden oder es an einem Ende in LVDS konvertieren und es dann am anderen Ende wieder in SPI konvertieren?