Wichtigkeit von Leiterbahnlänge bei Digitalsignalen

OP #6390609
Lesenswert?

Moin,

Ich mache gerade ein Layout, auf dem sich ein PIC, und Flash mit Latches 
an dessen External Memory Bus befinden. Die Schaltung entspricht der auf 
Seite 120 hier: 
http://ww1.microchip.com/downloads/en/DeviceDoc/39762f.pdf , nur dass 
die Latches durch 573 ersetzt wurden, da ich mir davon ein besseres 
Layout verspreche. Der Flash ist ein SST39VF1602-70-4I-EKE und ich bin 
auf einer 2-Layer-Platine zugange.

Bisher habe ich nur eine Lösung gefunden, bei der ich zwischen kürzester 
und längster Leitung einen Unterschied von etwa 70mm habe. Den PIC kann 
man mit bis zu 42MHz takten, somit ergibt sich mit einer 
Ausbreitungsgeschwindigkeit von etwa 15cm/ns eine Laufzeitdifferenz von
. Eine Periodendauer sind bei 42MHz 23.8ns, somit sollte das eigentlich 
kein Problem darstellen, oder übersehe ich da etwas?

Die Risetime vom PIC beträgt, wenn ich mich nicht irre, 5ns, meine 
Leiterbahnen sind unter dem Richtwert
, daher kann ich sie wohl noch als elektrisch kurz ansehen.

Ab welcher Laufzeitsdifferenz im Verhältnis zur Periodendauer des 
Digitalsignals muss ich auf die Leiterbahnlänge achten? Oder ist das die 
falsche Metrik?

VG und danke schonmal :)
Angehängte Dateien:
Beitrag #6390628 wurde von einem Moderator gelöscht.
OP #6390642
Lesenswert?

Der Flash ist neben dem MC, da der aber auch noch ein paar Adresspins 
hat, die dann auf der gegenüberliegenden Seite sind, kommt halt einiges 
an Differenz zustande; ich bin aber beim Layouten auch Anfänger. Und da 
man die Leitungen auch etwas „entwirren“ muss, fällt mir da auch nichts 
so richtig sauberes ein. Das Layout kann ich hier leider gerade nicht 
teilen.

Ich könnte natürlich nochmal neu anfangen und vielleicht etwas bischen 
besseres finden und den Rest dann meandern, aber aus obiger Überlegung 
bin ich mir nicht so sicher, ob das überhaupt so wichtig ist. Und daher 
auch die Frage.
Gast #6390726
Lesenswert?

D3l T. schrieb:
> Ab welcher Laufzeitsdifferenz im Verhältnis zur Periodendauer des
> Digitalsignals muss ich auf die Leiterbahnlänge achten? Oder ist das die
> falsche Metrik?
Zumindest nicht ganz richtig.
Alle Ausgänge haben ein Min- und Max-Delay, die Senken eine Setup- und 
Holdzeit. Damit ergibt sich eine Einengung des zulässigen Fensters.
Moderator (Firma: Titel) Persönliche Seite #6390828
Lesenswert?

D3l T. schrieb:
> nur dass die Latches durch 573 ersetzt wurden, da ich mir davon ein
> besseres Layout verspreche.
Du solltest dann aber ggfs. auch die einzelnen Treiber im Schaltplan so 
umsortieren, dass das in der Realität auch der Fall ist.

> SST39VF1602-70-4I-EKE und ich bin auf einer 2-Layer-Platine zugange.
Mit diesen Bauteilen überhaupt 7cm Gesamtlänge zu schaffen, ist schon 
eine gewisse Leistung. Und dann gleich noch 7cm Unterschied...  ;-)

> ich bin auf einer 2-Layer-Platine zugange.
Nimm 2 Versorgungslagen dazu, dann läuft das Design auf Anhieb weil alle 
Leitungen viel kürzer sind und du ohne Handstände durch diese zwei Lagen 
eine wirklich stabile Versorgung an die ICs bekommst. Und die Mehrkosten 
sind wider Erwarten nicht mal so arg viel höher.

> Oder ist das die falsche Metrik?
Interessant an der ganzen Geschichte ist letztlich nur, ob du die Setup- 
und Hold-Zeiten von Speicher und Controller einhältst.
#6390830
Lesenswert?

D3l T. schrieb:
> Eine Periodendauer sind bei 42MHz 23.8ns, somit
> sollte das eigentlich
> kein Problem darstellen,

Ist es auch nicht.

> oder übersehe ich da etwas?

Naja, bei 2 Lagen hat man keine Massefläche. Wenn man es falsch 
anstellt, geht die Signalintegrität zum Teufel. Aber man kriegt es hin, 
wenn man halbwegs weiß was man tut. Anbei ein Layout von mir, wenn 
gleich das nicht mit 42 MHz läuft. Ein AVR mit 64kB externem SRAM.

> 15\frac{\mathrm{cm}}{\mathrm{ns}} = 125\mathrm{mm}, daher kann ich sie
> wohl noch als elektrisch kurz ansehen.

Ja, siehe Wellenwiderstand.

> Ab welcher Laufzeitsdifferenz im Verhältnis zur Periodendauer des
> Digitalsignals muss ich auf die Leiterbahnlänge achten?

Ich sag mal ab 10% sollte man spätestens mal nachdenken, ob man es nicht 
besser machen kann. Die Pedanten hier im Forum werden gleich aufheulen 
und mich der Ketzerei bezichtigen.

"NIEMALS! Selbst 1% ist viel zu viel!!! Alles muss auf den Zehntel mm 
gleich lang sein!!! Uhhhhhh!"

;-)
Gast #6390934
Lesenswert?

my2ct schrieb:
> D3l T. schrieb:
>> Das Layout kann ich hier leider gerade nicht teilen.
>
> Dann behalt's für dich - aber beschwer dich hinterher nicht, wenn die
> Schaltung bei Sommerwetter oder Vollmond unzuverlässig arbeitet.

Ich erwarte von euch auch nicht, mein Layout zu fixen.

Fpgakuechle K. schrieb:
> D3l T. schrieb:
>> Oder ist das die
>> falsche Metrik?
>
> Man kann ja auch die Leiterbahn als Kondensatorelektrode ansehen - dann
> treiben die beiden Pins jeweils unterschiedliche Kapazitäten. Dann sind
> das unterschiedliche tau, die exponentiel eingehen.

Stimmt, ist das bei den Frequenzen und den Längenunterschieden schon zu 
berücksichtigen? Wenn ich zehnfache Übertragungsraten und somit zehntel 
an Risetime und so hätte, würde ich vermutlich anders an die Schaltung 
rangehen, aber ab wann muss man über sowas nachdenken? Habe da bisher 
nichts zu finden können.

HildeK schrieb:
> D3l T. schrieb:
>> Ab welcher Laufzeitsdifferenz im Verhältnis zur Periodendauer des
>> Digitalsignals muss ich auf die Leiterbahnlänge achten? Oder ist das die
>> falsche Metrik?
> Zumindest nicht ganz richtig.
> Alle Ausgänge haben ein Min- und Max-Delay, die Senken eine Setup- und
> Holdzeit. Damit ergibt sich eine Einengung des zulässigen Fensters.

Danke für den Hinweis, das werde ich prüfen. Sowas meinte ich mit der 
Frage, ob ich was übersehen habe :)

Lothar M. schrieb:
> D3l T. schrieb:
>> nur dass die Latches durch 573 ersetzt wurden, da ich mir davon ein
>> besseres Layout verspreche.
> Du solltest dann aber ggfs. auch die einzelnen Treiber im Schaltplan so
> umsortieren, dass das in der Realität auch der Fall ist.

Damit habe ich schon experimentiert, auch mit der 
Flash-Datenpin-Belegung. :)

>> SST39VF1602-70-4I-EKE und ich bin auf einer 2-Layer-Platine zugange.
> Mit diesen Bauteilen überhaupt 7cm Gesamtlänge zu schaffen, ist schon
> eine gewisse Leistung. Und dann gleich noch 7cm Unterschied...  ;-)

Gibt halt 3 Traces, die einmal um die Latches und den Flash herumlaufen, 
die haben dann 84mm Länge, der Rest maximal die Hälfte. Ich schaue 
nochmal, ob ich die kürzer bekomme, 10mm oder so sollten da eigentlich 
noch locker drin sein. Aber so richtig in die Nähe von den anderen 
bekomme ich die mit meinem Ansatz nicht … Und daher frage ich mich, ob 
das schlimm ist :)

>> ich bin auf einer 2-Layer-Platine zugange.
> Nimm 2 Versorgungslagen dazu, dann läuft das Design auf Anhieb weil alle
> Leitungen viel kürzer sind und du ohne Handstände durch diese zwei Lagen
> eine wirklich stabile Versorgung an die ICs bekommst. Und die Mehrkosten
> sind wider Erwarten nicht mal so arg viel höher.

Das werde ich auch nochmal schauen, die Versorgung muss sich aktuell 
ziemlich durchschlängeln und unter MC und Flash habe ich jeweils keine 
Massefläche, was mir etwas Bauchschmerzen macht; ich habe aber auch 
nicht die Erfahrung, um zu sagen, ob das nicht trotzdem funktioniert.

>> Oder ist das die falsche Metrik?
> Interessant an der ganzen Geschichte ist letztlich nur, ob du die Setup-
> und Hold-Zeiten von Speicher und Controller einhältst.

Werde ich nochmal durchgehen, danke!

Falk B. schrieb:
> D3l T. schrieb:
>> Eine Periodendauer sind bei 42MHz 23.8ns, somit
>> sollte das eigentlich
>> kein Problem darstellen,
>
> Ist es auch nicht.

Danke für die Einschätzung

>> oder übersehe ich da etwas?
>
> Naja, bei 2 Lagen hat man keine Massefläche. Wenn man es falsch
> anstellt, geht die Signalintegrität zum Teufel. Aber man kriegt es hin,
> wenn man halbwegs weiß was man tut. Anbei ein Layout von mir, wenn
> gleich das nicht mit 42 MHz läuft. Ein AVR mit 64kB externem SRAM.

Bin ich blind, oder hast du es nicht angefügt? Das Layout würde mich auf 
jeden Fall interessieren.

>> 15\frac{\mathrm{cm}}{\mathrm{ns}} = 125\mathrm{mm}, daher kann ich sie
>> wohl noch als elektrisch kurz ansehen.
>
> Ja, siehe Wellenwiderstand.

Den Artikel kenne ich und habe ihn schon mehrmals gelesen :) .

>> Ab welcher Laufzeitsdifferenz im Verhältnis zur Periodendauer des
>> Digitalsignals muss ich auf die Leiterbahnlänge achten?
>
> Ich sag mal ab 10% sollte man spätestens mal nachdenken, ob man es nicht
> besser machen kann. Die Pedanten hier im Forum werden gleich aufheulen
> und mich der Ketzerei bezichtigen.
>
> "NIEMALS! Selbst 1% ist viel zu viel!!! Alles muss auf den Zehntel mm
> gleich lang sein!!! Uhhhhhh!"
>
> ;-)

Hört sich für mich plausibel an. Geht halt nur gegen das, was ich so als 
Eindruck gewonnen habe.
Gast #6390971
Lesenswert?

jemand schrieb:
> Fpgakuechle K. schrieb:
>> D3l T. schrieb:
>>> Oder ist das die
>>> falsche Metrik?
>>
>> Man kann ja auch die Leiterbahn als Kondensatorelektrode ansehen - dann
>> treiben die beiden Pins jeweils unterschiedliche Kapazitäten. Dann sind
>> das unterschiedliche tau, die exponentiel eingehen.
>
> Stimmt, ist das bei den Frequenzen und den Längenunterschieden schon zu
> berücksichtigen? Wenn ich zehnfache Übertragungsraten und somit zehntel
> an Risetime und so hätte, würde ich vermutlich anders an die Schaltung
> rangehen, aber ab wann muss man über sowas nachdenken? Habe da bisher
> nichts zu finden können.

Zu kapazitiver Last (capacitive load) und Flankensteilheit gibt es 
eigentlich eine ganze Menge Hinweise und das schon seit Jahrzehnten, 
auch aus den Zeiten wo 10 MHz clock das Maß der Dinge waren, aber damals 
waren auch die Setup und Holdzeiten länger. Üblicherweise wird da nicht 
viel gerechnet, sondern am Prototyp per scope durchgemessen wieviel 
margin man hat.
Und da können wenige picofarad den Unterschied ausmachen, ich hab schon 
PCB designs gesehen, die funktionierten wenn man eine Scope-probe 
dranhängt (ca 100pF) aber ohne probe nicht. Letztlich bei einem 
SD-karten interface, bei dem der Layouter nicht auf Längenausgleich 
geachtet hat.

Ich würd das delta von 70mm auf mindestens 5-10mm verkürzzen, auch bei 
den lahmen 42 MHz.
#6390986
Lesenswert?

Fpgakuechle K. schrieb:
> Ich würd das delta von 70mm auf mindestens 5-10mm verkürzzen, auch bei
> den lahmen 42 MHz.

Du glaubst wahrscheinlich auch, daß das Coronavirus gaaaanz schlimm ist 
. .  .

https://de.wikipedia.org/wiki/Overengineering

https://de.wikipedia.org/wiki/Pedant

https://de.wikipedia.org/wiki/German_Angst

Ich sag JA zu

https://de.wikipedia.org/wiki/Pragmatismus
Gast #6391056
Lesenswert?

D3l T. schrieb:

> Ab welcher Laufzeitsdifferenz im Verhältnis zur Periodendauer des
> Digitalsignals muss ich auf die Leiterbahnlänge achten? Oder ist das die
> falsche Metrik?

Du hast in Deinem System Setup- und Holdzeiten. Also wieviel eher die 
Daten da sein müssen bevor das Übernahmesignal kommt, und wie lange die 
danach noch anliegen müssen. Diese Anforderung muss für jedes Bit Deines 
Busses gewährleistet sein.
#6391369
Lesenswert?

Hier mein Projekt. Ich weiß nicht mehr, was ich damals alles gemessen 
habe, ich habe auch keine Screenshots davon. Aber ich hab an einige 
Signal mal den Tastkopf gehalten und es sah gut aus. Und wie man sieht, 
hab ich auch mit nur 2 Lagen eine fast durchgängige Massefläche.
Angehängte Dateien:
Gast #6392029
Lesenswert?

Falk B. schrieb:

> https://de.wikipedia.org/wiki/Overengineering
> https://de.wikipedia.org/wiki/Pedant
> https://de.wikipedia.org/wiki/German_Angst
>
> Ich sag JA zu
> https://de.wikipedia.org/wiki/Pragmatismus

Nein, der Hinweis das mehr gemessen als gerechnet werden sollte hat 
nichts mit Pedanterie oder Angst zu tun, sondern mit Praxis-Erfahrung.
Hier: eine Platine mit ARM-Mikroocntroller und ein fixes 
SDCard-Interface das nur bootete wenn man an eine von den Leitung (10 
...100 pF) lötete. Eigentlich unkritisch das Ganze, wenig Leitungen 
(weniger als 10) irgendwas im zweistelligen Frequenzbereich (50 MHz?), 
etwa wie https://www.mouser.com/catalog/specsheets/an10911.pdf

Die Leitungen waren im ersten Layout 'irgendwie' geführt, Unterschied 
der Leitungslängen deshalb irgendwas im zweistelligen mm-Bereich. Hinzu 
kammen stark unterschiedliche kapazitive Verhältnise, da einige 
Leitungen quer über alle Lagen ging, andere dagegen nur auf einer. Ein 
einfaches Re-Layout löste das Problem.

Wer das Risiko eines Re-layouts nach Messung vermeiden will, vermeidet 
die groben Schnitzer, die bei einem "irgendwie layout" entstehen. Das 
der TO überhaupt die Leitungslängen ermittelt hat, spricht schon mal für 
ihn. Den was sagt Murphy's Gesetz über die Gnadenlosigkeit der Statistik 
? - "Was schief gehen kann, wird schief gehen" 
https://de.wikipedia.org/wiki/Murphys_Gesetz ;-)

Und darauf zu achten das man von ca 7 cm Differenz (etwa breite 
Smartphone) auf anderthalb cm (etwa halbe daumenbreite) sollte kein 
wirkliches Problem sein. Erst recht nicht, wenn man eine moderne CAD 
benutzt.

BTW:
Bitte keine Corona-Vergleiche beim nächsten Mal, die sorgen nur für 
schlechte Stimmung.
#6392149
Lesenswert?

Fpgakuechle K. schrieb:
> Falk B. schrieb:
>
>> https://de.wikipedia.org/wiki/Overengineering
>> https://de.wikipedia.org/wiki/Pedant
>> https://de.wikipedia.org/wiki/German_Angst
>>
>> Ich sag JA zu
>> https://de.wikipedia.org/wiki/Pragmatismus
>
> Nein, der Hinweis das mehr gemessen als gerechnet werden sollte hat
> nichts mit Pedanterie oder Angst zu tun, sondern mit Praxis-Erfahrung.

Darauf bezog sich meine Kritik nicht, sondern auf das eher krampfhafte, 
ängstlich, pedantische Minimieren der Leitungslängenunterschiede.

> Hier: eine Platine mit ARM-Mikroocntroller und ein fixes
> SDCard-Interface das nur bootete wenn man an eine von den Leitung (10
> ...100 pF) lötete. Eigentlich unkritisch das Ganze, wenig Leitungen
> (weniger als 10) irgendwas im zweistelligen Frequenzbereich (50 MHz?),
> etwa wie https://www.mouser.com/catalog/specsheets/an10911.pdf

> Die Leitungen waren im ersten Layout 'irgendwie' geführt, Unterschied
> der Leitungslängen deshalb irgendwas im zweistelligen mm-Bereich.

Kann sein, aber ich bezweifle, daß es der Laufzeitunterschied war, der 
die Funktion störte.

> Hinzu
> kammen stark unterschiedliche kapazitive Verhältnise, da einige
> Leitungen quer über alle Lagen ging, andere dagegen nur auf einer.

DAS glaube ich schon eher! Und das ist auch viel wahrscheinlicher, wenn 
jemand so eine Schaltung wie der OP auf 2 Lagen machen will. Nicht der 
Laufzeitunterschied, sondern die schlechte HF-Eigenschaften bzw. 
parasitären Induktivitäten wegen schlechter Leitungsführung und 
fehlender bzw. stark zerschnittener Massefläche.

Beitrag "Probleme mit SPI"

> Wer das Risiko eines Re-layouts nach Messung vermeiden will, vermeidet
> die groben Schnitzer, die bei einem "irgendwie layout" entstehen. Das
> der TO überhaupt die Leitungslängen ermittelt hat, spricht schon mal für
> ihn. Den was sagt Murphy's Gesetz über die Gnadenlosigkeit der Statistik
> ? - "Was schief gehen kann, wird schief gehen"
> https://de.wikipedia.org/wiki/Murphys_Gesetz ;-)

100% Zustimmung.

> Und darauf zu achten das man von ca 7 cm Differenz (etwa breite
> Smartphone) auf anderthalb cm (etwa halbe daumenbreite)

In deinem letzten Beitrag sprachst du von 5-10mm.

> sollte kein
> wirkliches Problem sein.

Kann sein. Aber ich bin auch kein Freund von Pedanterie. Und wenn Leute 
dann anfangen, krampfhaft Mäander zu legen und in den 
Längenausgleichswahn verfallen, geht mein Zeiger auf rot!
Gast #6392391
Lesenswert?

Falk B. schrieb:
> krampfhaft Mäander zu legen und in den
> Längenausgleichswahn verfallen, geht mein Zeiger auf rot!

Leider sehen die meisten Anfänger das komplett anders - ein richtig 
geiles Layout muss zahllose Mäander enthalten und ausserdem gnadenlos 
mit Flächen geflutet werden, dann sieht es erst professinell aus (für 
Anfänger).

Genausogut könntest du dich mit Windmühlenflügeln anlegen.

Georg
Gast #6392655
Lesenswert?

Mal ganz pragmatisch:

bei 10mm Längendifferenz wäre die Laufzeitdifferenz etwa 50ps (!)
So eine Differenz ist mit einem Hochleistungsoszilloskop und 
Expertenwissen kaum noch vernünftig zu messen.

Was die Leitungskapazität betrifft:

die Ausgangstreiber von Digitalbausteinen liegt in der Größenordnung von 
etwa 50 Ohm (eher weniger).
Bei 10pF liegt die Zeitkonstante durch R*C somit ebenfalls bei etwa 
50ps. Nun ist es aber so, dass so eine Leiterbahn ganz grob 1pF pro cm 
aufweist (eher weniger). Die Kapazität ist also kein Problem.

Mein Fazit: Aus technischer/ physikalischer Sicht ist die Grenze bei 
10mm schon völlig übertrieben. Einige cm sind völlig okay.

lg
Gast #6392771
Lesenswert?

ich denke das:

1. funtionieren kann.
2. EMV Normen bei den Frequenzen auf 2 Lagen eine Herausforderung sein 
können. Nur falls das irgendwo kommerziellen Hintergrund hat.
3. sowas meist entsteht weil man die Bausteine so nebeneinander stellt 
das eine Seite sehr kurz und die andere dafür umso länger angebunden 
ist. Das geht durchaus besser. Allerdings ist man bei 2 Lagen und 21 
parallelen Leitungen natürlich froh um jede Bahn die sich leicht 
verbinden lässt.

viel Erfolg
hauspapa
Gast #6393107
Lesenswert?

Falk B. schrieb:
>> Und darauf zu achten das man von ca 7 cm Differenz (etwa breite
>> Smartphone) auf anderthalb cm (etwa halbe daumenbreite)
>
> In deinem letzten Beitrag sprachst du von 5-10mm.

Gemeint ist, was sich ohne viel Müh erreichen lässt. Bei den 5-10 mm 
gehe ich eher von wenigen pins aus. Wenn man dagegen breite Busse zu 
verdrahten hat können 5-10 mm schon unnötig sportlich sein.

>> sollte kein
>> wirkliches Problem sein.
>
> Kann sein. Aber ich bin auch kein Freund von Pedanterie. Und wenn Leute
> dann anfangen, krampfhaft Mäander zu legen und in den
> Längenausgleichswahn verfallen, geht mein Zeiger auf rot!

Rot sehen ist nicht so mein Ding, eine Abneigung gegen überflüssige 
Massnahmen dagegen teile ich auch. Insbesonders, wenn man nur diese 
(Mäander) kennt und andere (Stütz-C, bei FPGA's: delayelemente, 
slew-rate, etc) ignoriert. Und überhaupt nicht gemessen hat, wo die 
aktuellen Margins überhaupt liegen.

nukki schrieb:
> Was die Leitungskapazität betrifft:
>
> die Ausgangstreiber von Digitalbausteinen liegt in der Größenordnung von
> etwa 50 Ohm (eher weniger).
> Bei 10pF liegt die Zeitkonstante durch R*C somit ebenfalls bei etwa
> 50ps. Nun ist es aber so, dass so eine Leiterbahn ganz grob 1pF pro cm
> aufweist (eher weniger). Die Kapazität ist also kein Problem.
Dieses Abschätzmodell hat mehrere Schwächen:
-die kap. Last eines Leitungszuges ist nicht nur von seiner Länge 
abhängig, sondern von der Gesamtgeometrie zur Gegenelektrode, hier 
Masse. Der Zugewinn an Kap. ist also ein anderer abhängig von der 
jeweiligen Position des Leistunszuges  in Relation zur 
Masseleitung/-fläche. (schwankungen im Dielektrikum des Prepregs nicht 
weiter betrachtet)
-entscheident für die Zeitkonstante Tau ist nicht das Längen-delta 
sondern das Längenverhältniss, also schlagen die bspw. 7 cm auf 1 cm 
(8chtfache) oder auf 3.5 cm auf (dreifach)?
-kapazitive Lasten bestimmen im wesentlichen die Flankensteilheit, die 
wird im Datenblatt extra zu setup und hold angegeben. Für eine Flanke 
zwischen 10% und 90% braucht man jetzt geschätzt 2* bis 3*Tau. Da kann 
eine Verdopplung schon dramatisch sein.

> Mein Fazit: Aus technischer/ physikalischer Sicht ist die Grenze bei
> 10mm schon völlig übertrieben. Einige cm sind völlig okay.
So pauschal Mumpitz. Einfach mal messen, ich hab schon einige Designs 
gesehen, die liefen wegen ungünstig gerouten Signalen nicht und das bei 
50 MHz.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren