Hi Leute,
ich mache gerade ein HW-Design und plane gerade, mit einem einzigen uC
pin innerhalb der Platine in Summe 7 input Pins von anderen devices zu
treiben.
Die PCB-Strecken sind relativ kurz eigentlich (max. 6-7 cm).
Ich habe abgehend von dem Pin zwei Pfade die jeweils einen eigenen 33
Ohm Serien-Terminierungs Widerstand haben.
Ich wollte mal euch aus dem Bauchgefühl heraus fragen ob man so viele
in's mit einem uC-out treiben kann oder doch lieber Logikbuffer nehmen?
Du hast den µC nicht genannt. Es gibt da Unterschiede.
Prinzipiell kann man bei einem kräftigen Ausgang (niedriger
Innenwiderstand) das schon machen.
Wenn du mehrere Eingänge an eine serienterminierte Leitung anschließt,
ist es wichtig, dass diese Eingänge sehr nah beieinander sind. Im
Zweifel lieber mehr als zwei Pfade spendieren und ggf. die Widerstände
etwas höher auslegen (39Ω, 43Ω).
Die Frage ist auch: sind die Signale Clocks oder Daten? Bei Daten ist
das meist weniger kritisch, weil durch die Serienterminierung nur die
Flanken verbessert werden, die Daten aber meist in der Bitmitte beim
Empfänger abgetastet werden. Bei Takten sollte man sich ggf. einen
Buffer überlegen, hier ist eben die Signalintegrität (saubere Flanken)
wesentlich wichtiger.
Ein CMOS-Ausgang schafft normalerweise deutlich mehr als sieben Inputs,
selbst die uralten TTLs hatten ein Fanout von 10, LS-TTL, meine ich,
sogar 20. Bei CMOS ist es wesentlich mehr.
Die Impedanz von CMOS-Eingängen ist so hoch, dass die kapazitive
Belastung zuerst Probleme mit der Flankensteilheit verursacht. Aber dazu
braucht es auch zig Inputs, lange Leitungen, und hohe Frequenzen.
uC schrieb:> 3 MHz
Kein Problem.
Kein vernünftiger Mensch benutzt einen Buffer!
Die einzige Ausnahme von dieser Regel ist: Er wird benötigt.
Eine weitere Ausnahme ist, wenn Du Deine Arbeitsleistung in verwendeten
IC's berechnest.
Dazu müssen aber die Beteiligten bekannt sein um dann zu sagen: Es geht
nicht ohne.
Außer wie eilig Du es hast sind aber noch keine diesbezüglichen
Informationen rübergewachsen.
Sebastian S. schrieb:> Arbeitsleistung in verwendeten> IC's berechnest.
Nun, wenn es schnell und problemlos gehen soll, dann lieber 50ct mehr
investieren, nicht das man sich hinterher ärgert.
Gottseidank bin ich in einem Bereich unterwegs, wo es keinen juckt
solange die ICs so unter 10 Euro pro Stück sind.
uC schrieb:> ob man so viele> in's mit einem uC-out treiben kann oder doch lieber Logikbuffer nehmen?
1. Kommt drauf an, man muss halt rechnen, ob die Ausgangsleistung für
die beteiligten Eingänge reicht, pauschal kann man das nicht
beantworten.
2. Ein Buffer macht sowieso nur Sinn, wenn seine Ausgangsleistung
grösser ist als die des Prozessorpins, das ist nicht ohne weiteres der
Fall. Richtig fette Treiber mit 50 oder 100 mA Ausgang braucht man heute
nur noch ganz selten, und nicht zur Ansteuerung von Logikeingängen.
Georg
Uups!
Wird ein Buffer da verwendet, wo es nicht nötigt ist, erhöht man auch
gleich die Fehlerwahrscheinlichkeit. Nicht nur dadurch, dass man ein
Teil (das ausfallen kann) mehr hat, sondern auch ein Teil mehr löten
(kann unnötige Fehler erzeugen) muss und der Ekel auch noch Platz (auf
der Platine) benötigt. Uups.
Dass die Signale, auf ihrer Reise, durch einen Puffer, Zeit benötigen
und zwar in Zweifelsfalle unnötig. Die tatsächlich benötigte Zeit ist
dabei unwichtig, denn es steht ja fest, dass sie unnötig verbraucht
wird. Uups.
Theoretisch wird sogar die Stromversorgung - vor allem, wenn das öfters
vorkommt, unnötig belastet. Uups.
Fazit: Wenn nicht nötig - sein lassen.
Zupfgeigenhansl schrieb:> Und wie schaut es bzgl. Störungen durch rückreflektierte Signale bei> dieser wahrscheinlich nicht terminierten Stern-Topologie aus?
Sie sei serienterminiert laut TO.
Ob das geht oder nicht, hängt von der Art der Leitungsführung ab. Siehe
Anhang.
'Geht':
Ob man erfolgreich ist, hängt natürlich auch ein wenig von der
Treiberstärke ab. Alle Empfänger an einer Leitung müssen nach der
Gabelung möglichst kurze Leitungen haben, also ganz nahe beieinander
sitzen.
'Geht nicht':
In der Anordnung wird man Probleme mit Reflexionen bekommen. In dem Fall
muss man für jeden Empfänger einen eigenen Serienwiderstand spendieren
und eine eigene Leitung.
Hat der TO schon was zur benutzten Hardware und nötigen Flankensteilheit
gesagt, oder woher wißt Ihr, daß ein paar cm Leitung schon zu schwer
störenden Reflexionen kommen können?
Jens G. schrieb:> Hat der TO schon was zur benutzten Hardware und nötigen Flankensteilheit> gesagt, oder woher wißt Ihr, daß ein paar cm Leitung schon zu schwer> störenden Reflexionen kommen können?
Eben weil er nichts von der Hardware sagt, ist davon auszugehen das es
keine terminierung gibt und es dadurch zu Reflexionen kommt, die auf
einer unausgeglichenen 7-strahligen Sternstruktur munter hin und her
wandern.
https://m.eet.com/media/1135026/15202-476916.pdf
Gwendolin Gyro schrieb:> Eben weil er nichts von der Hardware sagt, ist davon auszugehen das es> keine terminierung gibt und es dadurch zu Reflexionen kommt, die auf> einer unausgeglichenen 7-strahligen Sternstruktur munter hin und her> wandern.
Oh ich lese grad da gibt es doch etwas was Terminierung genannt wird,
allerdings nur in zwei Pfaden ... dann ist das wohl eher eine
Abschwächung statt eine Terminierung. Und wie gezeigt auc mit der Lizenz
zum Schuß ins eigene Knie:
Beitrag "Re: Wann verwendet Ihr einen Logik Buffer?"
Gwendolin Gyro schrieb:> dann ist das wohl eher eine Abschwächung statt eine Terminierung.
?
Kennst die quellseitige Serienterminierung nicht? Nix Abschwächung!
Ich habe die Struktur doch gezeichnet; oberes Teilbild, ist machbar,
hängt ein wenig von der Treiberleistung ab.
Bei max. 6-7cm geht es bei nicht allzu steilen Flanken ggf. auch ganz
ohne Serienterminierung.
Hey Leute,
ich bin es nochmal der TO.
Also Hardware ist ein normaler uC, dessen Treiber im Output-pin in 4
verschiedenen Stärken einstellbar ist. Denke das ist überall recht
ähnlich.
Empfänger-Pins sind in Summe 7 Stück wie schon geschrieben.
2 davon sind Pins am uC selber (der gleiche der das Signal ausgibt).
Hier habe ich keine Terminierung reingemacht und habe die 3 Pins (output
+ 2 rx pins) direkt verdrahtet.
IC 1 hat seinen eigenen 33R und hat ca 7cm Leitungslänge.
IC 2 hat auch seinen eigenen 33R und bekommt das Signal an 2 pins
(Distanz etwa 5mm zwischen den Pins) und ca 10 cm vom uC zum IC
IC 3 ist das gleiche wie bei IC2 nur ca 13 cm Leitungslänge.
Also habe ich jetzt drei Terminierungswiderstände für die weiter
entfernten devices und keinen für die Verdrahtung am uC selber.
Von der Signalintegrität denke ich ist es kein Problem. Hatte eher Angst
dass die Treiberstärke nicht ausreicht, weil jeder Input pin ja eine
gewisse Kapazität hat.
Bei IC2 und IC3 ist im Datenblatt nichts zur Eingangskapazität
spezifiert (sind aber normale dig-IOs).
Der uC selber hat die output-slewrates nur bei einer bestimmten
Kapazität definiert.
Also für mich schwer das nachzurechnen.
Aber ich werde es mal ausprobieren. Denke das wird schon klappen.
uC schrieb:> Also Hardware ist ein normaler uC, dessen Treiber im Output-pin in 4> verschiedenen Stärken einstellbar ist. Denke das ist überall recht> ähnlich.
Nein, keineswegs.
> Empfänger-Pins sind in Summe 7 Stück wie schon geschrieben.
'Empfänger' ist ein weites Feld. Mit Schmitt-Trigger oder ohne, welche
Flankensteilheit ist vom IC gefordert, welche Art der
Eingangsschutzdioden liebt vor, nach VCC und GND oder Z-Diode nach
Masse.
Du hast ein Dutzend Rückfragen bekommen, zu den IC Typen und
Geschwindigkeit, und bringst hier nicht mehr als weiterhin dummes
allgemeines Gelaber.
Die einzige Salamischeibe: vorhin waren es 6-7cm, nun ist deine Platine
mysteriöserweise auf 10-13 gewachsen.
Ich denke, du musst dein Problem alleine lösen.
Normalerweise brauchst du keinen buffer.
uC schrieb:> 2 davon sind Pins am uC selber (der gleiche der das Signal ausgibt).> Hier habe ich keine Terminierung reingemacht und habe die 3 Pins (output> + 2 rx pins) direkt verdrahtet.
Ja, passt.
> IC 1 hat seinen eigenen 33R und hat ca 7cm Leitungslänge.
Passt auch.
> IC 2 hat auch seinen eigenen 33R und bekommt das Signal an 2 pins> (Distanz etwa 5mm zwischen den Pins) und ca 10 cm vom uC zum IC> IC 3 ist das gleiche wie bei IC2 nur ca 13 cm Leitungslänge.
Auch das ist korrekt gelöst. Bei einer Distanz von 5mm oder 10mm und
spielt ein Aufsplitten nur bei extrem steilen Signalen eine Rolle.
Sieht so aus, wie in meiner Skizze. Meiner Erfahrung nach ist die hohe
Treiberstärke und die Verwendung von Serienwiderständen besser.
Oft sind die Angaben über die spezifizierte Rise-/Falltime mit eine
Bedingung für die kapazitive Last angegeben, mir sind öfters 50pF
begegnet.
Auch wenn es mehr ist bringt das den µC nicht um, nur die Anstiegszeiten
sind dann ggf. nicht größer.
Die Serienterminierung der beiden längeren Abschnitte ist notwendig, sie
bringt Signalintegrität, weil sie Mehrfachreflexionen verhindert. Das
ist der wichtige Part gerade bei einer solchen Topologie, wie du sie
beschreibst. Ich muss auch deshalb dazu raten, weil ich du die
Flankensteilheit nicht genannt hast.
Also, Serienterminierung verwenden, nicht auf Grund der
(streu-)kapazitiven Last sondern zur Vermeidung von z.B. deutlichen
Überschwingern oder treppenförmigen Flanken.