Ich habe an einem Projekt gearbeitet, bei dem ein OMAP Linux SPI-Master mit 6 SPI-Slave-Peripheriegeräten (5x A / D-Wandler und Einzelmagnetometer) interagiert.
Ich kann die SPI-Taktfrequenz einstellen und habe mit 50 kHz, 100 kHz und 1 MHz experimentiert.
Ich habe ein Verdrahtungs- / Platinen-Diagramm beigefügt, das die Länge des SPI-Masters und aller Peripheriegeräte zeigt. Die SPI-Buslänge (alle Kabellängen) vom Master entfernt beträgt für meinen Experimentierfall ungefähr 970 mm.
Das Problem, das ich festgestellt habe, ist, dass die Kommunikation mit einem Peripheriegerät fehlschlägt, wenn ich weitere Peripheriegeräte auf dem Bus hinzufüge. Selbst wenn die Kommunikation zum Magnetometer auf der anderen Seite des Busses erfolgt, schlägt die Kommunikation mit den A / D-Wandlern auf der anderen Seite fehl, bis der Magnetometer-Kabelbaumstummel entfernt wird und der A / D-Abschnitt zurückkehrt.
Ich habe hier etwas gelesen: Überlegungen zur Beendigung des SPI-Busses und hier: Kurzstrecken-Kommunikation von Board zu Board
Wo empfohlen wird, einen RC-LPF so nahe wie möglich an einem beliebigen Treiberknoten zu platzieren, also SCLK und MOSI auf der Masterseite und jedes meiner 6x MISO / SOMI-Signale. Ich habe einen ähnlichen Ansatz für USB mit 47pF / 27R RC-Netzwerk gesehen. Meine Absicht ist es, dies auf meiner Schaltung zu versuchen, um den schnellen Kantenübergang mit scharfen Kanten von ~ 100 ns zu reduzieren.
Ist dies das richtige Verfahren, das ich hier beim Hinzufügen eines RC-LPF befolge? Das scheint wirklich wackelig, gibt es eine bessere Praxis? Ich habe eine App-Notiz von TI gesehen, in der über die Erweiterung des SPI für längere Busentfernungen gesprochen wird. Ist dies hier eine geeignete Lösung oder mein Problem einfach eine der Hochfrequenz-Harmonischen aus dem Hochgeschwindigkeits-Kantenübergang? http://www.ti.com/lit/an/slyt441/slyt441.pdf
Danke, Nick