Forum: Mikrocontroller und Digitale Elektronik SPI - "Digital-Stern" vs. Daisychain-Bus


von Marten M. (mcgonahy148)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

habe mir versucht durch andere Foreneinträge und den Artikel 
https://www.mikrocontroller.net/articles/Wellenwiderstand ein Bild zu 
machen. Komplett schlau daraus werde ich noch nicht, was am besten 
geeignet ist.

Es geht um die SPI-Versorgung von mehreren Verbrauchern (ca. 12). Diese 
liegen zu Gruppen mit je 3 Stück auf PCBs. Diese ist ca. 50cm lang. In 
Summe 4 PCBs, die also je 50cm aufweisen. Sie liegen übereinander, nur 
so nebenbei.

Es gibt einen Einspeispunkt für SPI, also das Signal vom uC kommend.

Nach dem Einspeisepunkt kommt z.B. sowas hier zum Einsatz
http://www.ti.com/general/docs/suppproductinfo.tsp?distId=26&gotoUrl=http%3A%2F%2Fwww.ti.com%2Flit%2Fgpn%2Fsn74lvc8t245-q1

dahinter liegen die Verbraucher.

Nun gibt es 3 Varianten, Sternförmig  Daisy Chain  Mischvariante.

Sternförmig ist evtl. der falsche Ausdruck, da diese ja durch das IC 
SN74... getrennt sein sollten. Großer Nachteil den ich sehe sind halt 
die vielen Leiterbahnen, die man benötigt um zu den Verbrauchern hin zu 
kommmen.

ABER WAS IST NUN SINNVOLLER?

Sind die Terminierungen angemessen jeweils? (Serienterminierung bei 
Variante Stern, Thevenin bei Variante DaisyChain)


Gruß,
Marten

p.s. bitte keine Diskussionen darüber, Flankensteilheit zu verringern 
und ob SPI geeignet ist hierfür. Die Verbraucher sind SPI Chips und 
Flanken sind relativ unbekannt, also gehe ich vom Schlimmsten aus und 
dass Reflektionen schon zum Problem werden können.

von derElf (Gast)


Lesenswert?

um welche Taktfrequenz geht es?

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

In der Skizze steht rechts oben "fclk ~ < kHz-Bereich".

Damit ist das gesamte Timingverhalten ausgesprochen harmlos.

Beim Busbetrieb muss nur die Treiberleistung des den Takt und die Daten 
ausgebenden Bausteines ausreichend sein, um alle Eingänge der 
angeschlossenen Bausteine parallel versorgen zu können.

Solange aber keine alten TTL-Bausteine (74xx) oder LS-TTL-Bausteine 
(74LSxx) verwendet werden, ist auch das kein besonders heikles Thema.

Hier wird der einfache Bus ganz wunderbar funktionieren.

: Bearbeitet durch User
von Marten M. (mcgonahy148)


Lesenswert?

Außerdem,

es gibt hier zwei ICs die mich


http://www.ti.com/lit/ds/symlink/sn74lvc8t245-q1.pdf

https://assets.nexperia.com/documents/data-sheet/74HC_HCT541.pdf


Beim Nexperia-IC können die Ausgänge nicht so viel Strom treiben 
(clamping current, output current).

Beim Rest erkenne ich nicht so viel Unterschied, der TI erscheint etwas 
schneller.

Rufus Τ. F. schrieb:
> In der Skizze steht rechts oben "fclk ~ < kHz-Bereich".
>
> Damit ist das gesamte Timingverhalten ausgesprochen harmlos.
>
> Beim Busbetrieb muss nur die Treiberleistung des den Takt und die Daten
> ausgebenden Bausteines ausreichend sein, um alle Eingänge der
> angeschlossenen Bausteine parallel versorgen zu können.
>
> Solange aber keine alten TTL-Bausteine (74xx) oder LS-TTL-Bausteine
> (74LSxx) verwendet werden, ist auch das kein besonders heikles Thema.
>
> Hier wird der einfache Bus ganz wunderbar funktionieren.

Verbraucher sind CMOS 1,8V. Ich hab halt nur noch etwas Respekt vor den 
50cm von einem LVC8T... zum nächsten. Kritische länge für 10ns ist ja 
dann doch gleich 50cm.

von Falk B. (falk)


Lesenswert?

@Marten M. (mcgonahy148)

>habe mir versucht durch andere Foreneinträge und den Artikel
>https://www.mikrocontroller.net/articles/Wellenwiderstand ein Bild zu
>machen.

Gut.

> Komplett schlau daraus werde ich noch nicht, was am besten
>geeignet ist.

Weniger gut.

>Es geht um die SPI-Versorgung von mehreren Verbrauchern (ca. 12). Diese
>liegen zu Gruppen mit je 3 Stück auf PCBs. Diese ist ca. 50cm lang. In
>Summe 4 PCBs, die also je 50cm aufweisen. Sie liegen übereinander, nur
>so nebenbei.

Klingt nach einem Display.

>Nach dem Einspeisepunkt kommt z.B. sowas hier zum Einsatz
>http://www.ti.com/general/docs/suppproductinfo.tsp...

Ist OK.

>Nun gibt es 3 Varianten, Sternförmig  Daisy Chain  Mischvariante.

>Sternförmig ist evtl. der falsche Ausdruck,

Nö, das passt schon.

> da diese ja durch das IC
>SN74... getrennt sein sollten. Großer Nachteil den ich sehe sind halt
>die vielen Leiterbahnen, die man benötigt um zu den Verbrauchern hin zu
>kommmen.

Stimmt.

>ABER WAS IST NUN SINNVOLLER?

Die Daisy Chain Variante ist bewährt und OK, mit Thevenin-Terminierung 
voll OK.

Beitrag "Re: Skurriles Problem mit BS170 Mosfets"

>Sind die Terminierungen angemessen jeweils? (Serienterminierung bei
>Variante Stern, Thevenin bei Variante DaisyChain)

Ja.

Was soll deine Mischform sein? Was soll die rote Leitung darstellen? 
Eine 2. Einspeisung in der Mitte?

von Falk B. (falk)


Lesenswert?

@Marten M. (mcgonahy148)

>Verbraucher sind CMOS 1,8V. Ich hab halt nur noch etwas Respekt vor den
>50cm von einem LVC8T... zum nächsten. Kritische länge für 10ns ist ja
>dann doch gleich 50cm.

Darum halt auch eine gescheite Terminierung.

von Marten M. (mcgonahy148)


Lesenswert?

Falk B. schrieb:
>>Sind die Terminierungen angemessen jeweils? (Serienterminierung bei
>>Variante Stern, Thevenin bei Variante DaisyChain)
>
> Ja.
>
> Was soll deine Mischform sein? Was soll die rote Leitung darstellen?
> Eine 2. Einspeisung in der Mitte?

Hi Falk,

das soll heißen - dass Ebene1...4 nicht über DaisyChain verbunden sind, 
sondern dann über Stern durch den SN74...

Ohne das Rote wäre es ein Bus von 4x 50cm, mit dem SN74... 
dazwischenliegend zwischen den Ebenen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Marten M. schrieb:
> Kritische länge für 10ns ist ja dann doch gleich 50cm

Und? Wir haben hier ja keinen Takt im zweistelligen MHz-Bereich, sondern 
--so interpretiere ich die Angabe "fclk ~ < kHz" im untersten 
kHz-Bereich.

von Egon D. (Gast)


Lesenswert?

Rufus Τ. F. schrieb:

> Marten M. schrieb:
>> Kritische länge für 10ns ist ja dann doch gleich 50cm
>
> Und? Wir haben hier ja keinen Takt im zweistelligen
> MHz-Bereich, [...]

Das spielt doch für die Echos keine Rolle.

Für die Probleme, die durch Reflexionen hervorgerufen
werden können, ist die Relation aus Laufzeit und
Flankensteilheit entscheidend.

von Egon D. (Gast)


Lesenswert?

Marten M. schrieb:

> das soll heißen - dass Ebene1...4 nicht über
> DaisyChain verbunden sind, sondern dann über
> Stern durch den SN74...

Das ist etwas ungünstig gezeichnet; in Elektronik-
schaltplänen ist es gängig, die Signale (wenn möglich)
vorzugsweise von links nach rechts laufen zu lassen,
nicht im Zickzack.


Davon abgesehen: Wie üblich verstehe ich Dein
Problem nicht ganz. Klar kannst Du einen
Mehrfach-Treiber verwenden und auf jeder Platine
einen Signalstrang vorsehen. Wenn Dein Leiterzug
einen Wellenwiderstand von ungefähr 110 Ohm hat,
ist Thevenin-Terminierung mit (220+220) Ohm machbar.
Dadurch hält sich bei 1.8V auch der Querstrom in
Grenzen (ca. 4 mA).

Einzige Einschränkung: Du darfst die Ausgänge nicht
in Tristate schalten, weil dann der Pegel dauerhaft
in der verbotenen Zone liegt.

von Marten M. (mcgonahy148)


Lesenswert?

Egon D. schrieb:
> Das ist etwas ungünstig gezeichnet; in Elektronik-
> schaltplänen ist es gängig, die Signale (wenn möglich)
> vorzugsweise von links nach rechts laufen zu lassen,
> nicht im Zickzack.

Das hat einen Grund - die 4 Platinen sind übereinander. Um nicht 50cm 
zusätzlich zu verlieren, müsste der Eingang der zweiten Platine also am 
Ende der Daisy Chain von Board1 (Ebene1) liegen. Deswegen hatte ich es 
so gezeichnet.

Aber mit der Lösung mit der Roten Linie, geht man bei jeder Platine 
links rein.

Dazu werde ich dann wohl ein Serien-R in die rote Linie einbauen, da es 
einen Punkt-zu-Punkt Verbindung ist.

Die Daisy Chain dahinter wird vermutlich nicht zwingendermaßen dann mit 
Thevenin abgeschlossen, da es ja kein offenes Ende gibt und der letzte 
Verbraucher den Abschluss darstellt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.