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?
Achja: Ich plane eine Frequenz von um die 3 MHz auf dem Pin
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.
Und wie schaut es bzgl. Störungen durch rückreflektierte Signale bei dieser wahrscheinlich nicht terminierten Stern-Topologie aus?
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.
Sebastian S. schrieb: > Kein vernünftiger Mensch benutzt einen Buffer! Mehr Blödsinn ging echt nicht..?
uC schrieb: > Die PCB-Strecken sind relativ kurz eigentlich (max. 6-7 cm). Versuch erst mal die Leitungslängen deutlich zu verkürzen.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
