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 :)
70mm Längendifferenz? Was treibst dui auf der Platine?
Wenn du auf Nr.Sichersicher gehen möchtest, mache Längenausgleiche rein.
Vergiss nicht die Laufzeit deiner Laches, wenn du die Steuerleitungen
benutzt. Am Besten ist es, du packst dort auch ein oder zwei Buffer
rein.
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.
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.
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.
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.
Bei einem 2seitigen Layout hast du ohnehin keine Leiterbahnen mit
kontrollierter oder auch nur halbwegs definierter Impedanz, da ist ein
Längenausgleich zweitrangig.
Georg
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.
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!"
;-)
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.
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.
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.
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.
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.
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!
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
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
nukki schrieb:> Mein Fazit: Aus technischer/ physikalischer Sicht ist die Grenze bei> 10mm schon völlig übertrieben. Einige cm sind völlig okay
JEHOVA, JEHOVA!!!! ;-)
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
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.