SPI mit 3 slaves - Buffer und/oder Terminierung nowendig?

Gast #5052937
Hallo,

ich möchte mit einem Master (STM32) 4 Slaves ansprechen. Das alles 
findet auf einer Platine statt ohne längere Wege oder gar 
Kabelverbindungen. Die Anstiegszeit der SPI Clock laut STM Datenblatt 
beträgt 6ns - wie ich dem Artikel "Wellenwiderstand" entnehmen kann 
komme ich bei etwa 15 bis 17cm ohne Terminierung aus. Die genaue 
Signallänge habe ich leider noch nicht da ich noch in der Designphase 
bin.
Wie sieht das jedoch aus wenn die Clock Leitung 4x aufgesplittet wird? 
Serienterminierung funktioniert doch eiegntlich nur bei direkten 1:1 
Verbindungen, richtig? Ich habe mir überlegt wie es aussieht wenn ich 
einen Buffer verwende, zum Beispiel CD4050.
Oder muss ich bei der Anzahl Slaves vielleicht gar keine Maßnahmen 
vornehmen?

Danke!
Gast
S.P.I. schrieb:
> Wie sieht das jedoch aus wenn die Clock Leitung 4x aufgesplittet wird?
> Serienterminierung funktioniert doch eiegntlich nur bei direkten 1:1
> Verbindungen, richtig?

Korrekt. Aber wenn die Empfänger sehr nah beieinander sind (1-2cm), dann 
geht auch Serienterminierung mit mehr als einem Empfänger und nur einer 
Leitung.
Alternativ: zwei oder drei jeweils einzeln serienterminierte Leitungen 
an einem (kräftigen) Ausgang sind auch möglich. Vielleicht schaffst du 
es, je zwei Empfängerpins nahe zu platzieren.

Die (beste) Lösung mit einem CD4050 als Buffer geht auf jeden Fall, dann 
kannst du jede Ausgangsleitung serienterminiern und getrennt routen.
Hallo,
> S.P.I. schrieb:
> Die Anstiegszeit der SPI Clock laut STM Datenblatt beträgt 6ns.
Das entspricht einer Frequenz im Bereich um 100MHz.

- wie ich dem Artikel "Wellenwiderstand" entnehmen kann
> komme ich bei etwa 15 bis 17cm ohne Terminierung aus.
Ja. Man sollte bei Leitungslängen ab ca. Lambda/10 eine Leitung als 
Wellenleiter behandeln.
Für den konkreten Fall würde ich damit rechnen, dass es bis ca. 
20...30cm noch ohne Berücksichtigung solcher Wellenleiterreffekte geht.

> Wie sieht das jedoch aus wenn die Clock Leitung 4x aufgesplittet wird?
Auch da gelten am Ende obige Betrachtungen.

> Serienterminierung funktioniert doch eiegntlich nur bei direkten 1:1
> Verbindungen, richtig?
Im konkreten Fall gibt es oft auch Stichleitungen, die solange 
unkritisch sind, wie die Leitungslänge HF-mäßig recht kurz bleibt.

> Ich habe mir überlegt wie es aussieht wenn ich
> einen Buffer verwende, zum Beispiel CD4050.
Da der eh rel. langsam ist, wird es damit wohl etwas besser.
> Oder muss ich bei der Anzahl Slaves vielleicht gar keine Maßnahmen
> vornehmen?
Überlege doch, welche Datenrate du eigentlich benötigst. Wenn diese 
moderat sein darf, dann kannst du auch evtl. mit Tiefpass, also mit 
Reihenwiderständen und ein paar pF gegen Masse, die Bandbreite 
begrenzen.
Wenn die Anstiegszeiten dann noch noch in der Größenordnung von 
50...100ns liegen, kannst du immer noch mit Clockfrequenz im Bereich von 
MHz arbeiten, aber die Frequenzen in den Oberwellen sind deutlich 
geringer.
Damit werden die Leitungen auch deutlich "gutmütiger".
Gruß Öletronika

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.