Forum: Mikrocontroller und Digitale Elektronik Wann verwendet Ihr einen Logik Buffer?


von uC (Gast)


Lesenswert?

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?

von uC (Gast)


Lesenswert?

Achja: Ich plane eine Frequenz von um die 3 MHz auf dem Pin

von Dunno.. (Gast)


Lesenswert?

Wenn der IO die Ströme schafft, why not..

von HildeK (Gast)


Lesenswert?

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.

von my2ct (Gast)


Lesenswert?

uC schrieb:
> relativ kurz eigentlich (max. 6-7 cm)

hüstel ...

von Clemens L. (c_l)


Lesenswert?

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.

von Zupfgeigenhansl (Gast)


Lesenswert?

Und wie schaut es bzgl. Störungen durch rückreflektierte Signale bei 
dieser wahrscheinlich nicht terminierten Stern-Topologie aus?

von Sebastian S. (amateur)


Lesenswert?

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.

von F. M. (foxmulder)


Lesenswert?

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.

von georg (Gast)


Lesenswert?

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

von Sebastian S. (amateur)


Lesenswert?

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.

von HildeK (Gast)



Lesenswert?

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.

von Jens G. (jensig)


Lesenswert?

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?

von Gwendolin Gyro (Gast)


Lesenswert?

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

von Gwendolin Gyro (Gast)


Lesenswert?

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?"

von HildeK (Gast)


Lesenswert?

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.

von uC (Gast)


Lesenswert?

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.

von Hermann Kokoschka (Gast)


Lesenswert?

Sebastian S. schrieb:
> Kein vernünftiger Mensch benutzt einen Buffer!

Mehr Blödsinn ging echt nicht..?

von H. B. (Gast)


Lesenswert?

uC schrieb:
> Die PCB-Strecken sind relativ kurz eigentlich (max. 6-7 cm).

Versuch erst mal die Leitungslängen deutlich zu verkürzen.

von MaWin (Gast)


Lesenswert?

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.

von HildeK (Gast)


Lesenswert?

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.

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.