Forum: Mikrocontroller und Digitale Elektronik High-Z Signal richtig routen in PCB


von Max (Gast)


Lesenswert?

Hallo,

wie man 50 Ohm Leitungen im 2-layer PCB verlegt ist mir klar (Ground 
Plane + entsprechend dicke Trace).

Meine Frage ist: Wie verlegt / terminiert man ein hochohmiges Signal 
korrekt?

Konkret: µC Ausgang - PCB - IC Eingang

der µC gibt ein digitales Signal aus, also 0->3.3V->0V mit sehr 
schnellen Flanken < 1ns. Und der IC soll am Eingang möglichst ein 
genauso-"gutes" Signal empfangen.

Mir ist aber nicht klar welche "Impedanz" jetzt ein µC Ausgang hat und 
wie man das Signal korrekt layoutet. Außerdem ist mir nicht klar ob der 
IC am Eingang dann ein Terminierungswiderstand braucht?

Was ist da eure Erfahrung?

Dadnke
Max

von Falk B. (falk)


Lesenswert?

@ Max (Gast)

>Meine Frage ist: Wie verlegt / terminiert man ein hochohmiges Signal
>korrekt?

???

>der µC gibt ein digitales Signal aus, also 0->3.3V->0V mit sehr
>schnellen Flanken < 1ns. Und der IC soll am Eingang möglichst ein
>genauso-"gutes" Signal empfangen.

Was hat das mit hochohmig zu tun? Das ist ein hochfrequentes Signal, 
siehe Wellenwiderstand.

>Mir ist aber nicht klar welche "Impedanz" jetzt ein µC Ausgang hat

Kommt auf den uC an.

>und
>wie man das Signal korrekt layoutet. Außerdem ist mir nicht klar ob der
>IC am Eingang dann ein Terminierungswiderstand braucht?

Eher am Ausgang, siehe Serienterminierung.

von Peter D. (peda)


Lesenswert?

Max schrieb:
> schnellen Flanken < 1ns.

Sicher, daß Du >1GHz benötigst?
Wozu denn?

von Marian (phiarc) Benutzerseite


Lesenswert?

Peter D. schrieb:
> Max schrieb:
>> schnellen Flanken < 1ns.
>
> Sicher, daß Du >1GHz benötigst?
> Wozu denn?

Flanken mit 1 ns Anstiegszeit entsprechen "nur" einer Bandbreite von 
etwa 350 MHz

von 6a66 (Gast)


Lesenswert?

Max schrieb:
> der µC gibt ein digitales Signal aus, also 0->3.3V->0V mit sehr
> schnellen Flanken < 1ns. Und der IC soll am Eingang möglichst ein
> genauso-"gutes" Signal empfangen.

Hallo Max,

also HiZ und 0V/3V/0V sind IMHO also nicht das gleiche. Bei HiZ würde 
auch ein Tristate Zustand mit "drinne" sein.

Gut, egal, ob jetzt HiZ/0/3V/HiZ oder nicht. Mit 1ns ist das auch noch 
nicht so schnell dass man da besondere Regeln bräuchte. Klar kann das 
Reflexionen auslösen, da reden wir aber über größere Leitungslängen und 
andere Lasten und Flankensteilheiten von so 300...500ps/5V.

Und im übrigen, warum soll das Signal UNDBEDINGT so genau sein? Im 
allgemeinen ist das bei Taktverteilung so aber dann reden wir über 
andere Anforderungen.

rgds

von Purzel H. (hacky)


Lesenswert?

Flanken mit 1ns Anstiegszeit machen's eh nicht als Hochohmig. Denn die 
Leiterbahn hat eine Impedanz ungleich unendlich. Der Eingang auf der 
anderen Seite ist vielleicht kapazitiv und macht die Flanke flach.
Wenn du die 1ns Flanke haben musst, musst du auch mit 50 Ohm oder so 
verbinden.

von Max (Gast)


Lesenswert?

Peter D. schrieb:
> Max schrieb:
>> schnellen Flanken < 1ns.
>
> Sicher, daß Du >1GHz benötigst?
> Wozu denn?

Es geht um ganz "normale" Signale die ein µC auf seinen Digitalports 
eben so ausgibt. Mir ist halt aufgefallen wenn man die Ausgänge wie wild 
verkabelt kommt am Ende ein sehr verzerrtes Signal raus. Deshalb die 
Überlegung wie man das korrekt macht.

von Falk B. (falk)


Lesenswert?

@ Max (Gast)

>eben so ausgibt. Mir ist halt aufgefallen wenn man die Ausgänge wie wild
>verkabelt kommt am Ende ein sehr verzerrtes Signal raus. Deshalb die
>Überlegung wie man das korrekt macht.

Nicht wild verkabeln und gescheit layouten?

von Max (Gast)


Lesenswert?

Falk B. schrieb:
> @ Max (Gast)
>
as korrekt macht.
>
> Nicht wild verkabeln und gescheit layouten?


Genau, und jetzt definiere mal bitte gescheit. Ist das eine 0.1mm 
Leiterbahn auf 1.6mm FR4 oder ist es egal wie breit die Leiterbahn ist, 
hauptsache nicht zu lang, oder oder oder...?

von Falk B. (falk)


Lesenswert?

@ Max (Gast)

>Genau, und jetzt definiere mal bitte gescheit. Ist das eine 0.1mm
>Leiterbahn auf 1.6mm FR4 oder ist es egal wie breit die Leiterbahn ist,
>hauptsache nicht zu lang, oder oder oder...?

Hast du mal den Artikel Wellenwiderstand gelesen? Besonders den 
Abschnitt

https://www.mikrocontroller.net/articles/Wellenwiderstand#Leitungsf.C3.BChrung_und_Layout

von Max (Gast)


Angehängte Dateien:

Lesenswert?

Hier ein Beispiel was falsch angepasste Leitungen mit den Signalen 
machen:

µC -> 50Ohm Kabel 1.5m -> Oszilloskop auf Hochohmig (>1MOhm)

http://hoeckerson.de/notes/2015/04/triggering-devices-with-arduino/

genau das möchte ich vermeiden. (BNC Kabel kommt zwar keins vor in 
meiner Anforderung vom Anfang, aber eine Leitungssführung auf einer PCB 
verzerrt das Signal auch)

von Falk B. (falk)


Lesenswert?

@ Max (Gast)

>    Arduino-GPIO-Out-Switching-Transient.png

Ahhh, der Arduino ist die HF-Quelle!
Aber der hat keine 1ns Anstiegszeit, eher 5ns. Ist auch flott, aber um 
einiges langsamer.

>>µC -> 50Ohm Kabel 1.5m -> Oszilloskop auf Hochohmig (>1MOhm)

>http://hoeckerson.de/notes/2015/04/triggering-devi...

;-)

Naja, man hätte es ja wenigstens mit einer Serienterminierung versuchen 
sollen.

>genau das möchte ich vermeiden. (BNC Kabel kommt zwar keins vor in
>meiner Anforderung vom Anfang, aber eine Leitungssführung auf einer PCB
>verzerrt das Signal auch)

Dazu muss man erstmal richtig messen. Hast du das? Wie? Wo?

https://www.mikrocontroller.net/articles/Oszilloskop#Tastk.C3.B6pfe_richtig_benutzen

von Max (Gast)


Lesenswert?

Falk B. schrieb:
> Ahhh, der Arduino ist die HF-Quelle!
> Aber der hat keine 1ns Anstiegszeit, eher 5ns. Ist auch flott, aber um
> einiges langsamer.

Oh, ja sorry, ich wollte noch dazuschreiben dass es sich NICHT um einen 
Arduino handelt ;-) Das war nur das erstbeste Bild mit Screenshot.

Es handelt sich um ein ARM TM4C129x, aber wahrscheinlich ist das ja egal 
weil die µCs sich an den GPIOs ja ähnlich verhalten.

von Falk B. (falk)


Lesenswert?

Aber der "Artikel" der Arduino-User ist schon amüsant ;-)

"Looking at the edge of the next period, 2ms later, reveals a surprising 
amount of jitter. My el-cheapo oscilloscope does not have 
jitter-analysis software, but my impression was that most jitter is 
within ±150ns, with occasional spikes up to ±10µs, sometimes even more."

Vielleicht sollte sich der gute Mann mal die Frage stellen, was der 
liebe Arduino so alles macht. Und nein, es ist nicht nur die loop() 
Endlosschleife. Da läuft noch ein 1ms Timer im Hintergrund. Der bringt 
den Jitter. Wenn man den ausschaltet ist auch der Jitter weg.

von Klaus (Gast)


Lesenswert?

Und was stand heute in Deinem Horoskop?

Was Du da verlinkt hast, ist ein "gutes" Beispiel für eine unangepasste 
Messung mit einem Oszilloskop an einem uC-Pin.

Es bringt nichts sich von irgendwelchen unpassenden Beispielen 
beunruhigen zu lassen. Mit der selben Methode werden auch Versicherungen 
und Amulette verkauft.

Lies Dir den Wellenwiderstand Artikel durch.

von Falk B. (falk)


Lesenswert?

@ Max (Gast)

>Oh, ja sorry, ich wollte noch dazuschreiben dass es sich NICHT um einen
>Arduino handelt ;-) Das war nur das erstbeste Bild mit Screenshot.

Ja, das sollte man dazuschreiben!

>Es handelt sich um ein ARM TM4C129x, aber wahrscheinlich ist das ja egal
>weil die µCs sich an den GPIOs ja ähnlich verhalten.

Dann sieh mal zu, dass du die GPIOs auf minimale Slew Rate einstellst, 
wenn das dein Controller ermöglicht. Trotzdem wird es noch ziemlich 
schnell sein. Es bleibt bei meinen Empfehlungen.

von Marian (phiarc) Benutzerseite


Lesenswert?

Max schrieb:
> (BNC Kabel kommt zwar keins vor in
> meiner Anforderung vom Anfang, aber eine Leitungssführung auf einer PCB
> verzerrt das Signal auch)

Max schrieb:
> 50Ohm Kabel 1.5m

Du hast 1500 mm lange Leitungen auf deiner Platine?

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.