Hallo zusammen,
beschäftige mich seit einigen Tagen mit PCB-Design.
Dabei stoße ich auf, für mich neue, Verfahren bzw. Begrifflichkeiten.
Da heißt es dann dass man bei Bussystemen darauf achten muss, dass die
einzelnen Leitungen gleich lang sind und am besten die Leitung für den
Takt etwas mehr Abstand zu den anderen Leitungen hat.
Oder dass bei Ethernet und USB unbedingt differentielle Leitungsführung
durchführen soll.
Das einfachste ist diese "Tips" zu befolgen. Doch dabei stellen sich bei
mir immer mehr Fragen.
Was genau heißt denn "gleichlange Leitungen"? Da kann man z.B. mit
Altium Toleranzen eingeben, z.B. 2mm. Ist das genug? Woraus ergibt sich
die Toleranz? Ist das Abhängig von der Frequenz oder wie schon öfter
gelesen doch von der Flankensteilheit?
Wie sieht eine sehr gute differenzielle Leitungsführung aus? Soweit ich
jetzt recherchiert habe ist es ja bei differentiellen Leitungen ja auch
so, dass die Impedanz bei 100 Ohm liegen sollte, wobei das wieder
abhängt welche Impedanz der/ die entsprechenden Pinanschlüsse haben.
Da behaupte ich, dass die Eigenschaften der Leitungsführung, wie z.B.
Leitungsbreite, Abstand zwischen beiden Leitungen, von der Berechnung
für die Impedanz abhängen. Aber ich stelle mir die Frage, ob es da
prinzipielle Angaben gibt. So eine Art Rezept: Keine 90° Ecken oder nur
wenig bis keine Lagensprünge oder oder oder.
Vielen Dank schon mal an die erfahrenen Hasen ;)
Joe
Hallo,
du machst dir womöglich viel zu viele Sorgen um ein Detail, das dir zu
Ohren gekommen ist, anderderseits ist zu vermuten, dass du an anderer
Stelle große Anfängerfehler machen wirst.
Um was geht es denn überhaupt? Nach den Fragen zu urteilen, willst du
mit GHz-Technik arbeiten? Das ist aber auch wieder nicht anzunehmen,
weil man das nicht mal eben so als Laie beherrschen kann.
Bei der Bewertung der Länge einer Leitung stehen Aspekte der HF-Technik
im Vordergrund. Eine Leitung wird dann als lang angesehen, wenn auf ihr
relevante HF-Effekte wie Reflexionen, Abstahlung und Übersprechen eine
Rolle spielen und auch Laufzeiten zu beachten sind.
Reflexionen treten schon auf, wenn die Leitungslänge über dem 0,1-fachen
der auftretenden Wellenlänge liegt.
Welche Signalfrequenzen aber auf der Leitung vorkommen, hängt bei
digitalen Sigbnalen von der Flankensteilheit ab. Da kannst du was mit
100kHz Rechteck übertragen und trotzdem Oberwellen bis in den Bereich
von GHz bekommen.
Da wären dann Massnahmen zur wirksamen Begrenzung der Signalbandbreite
sinnvoll.
Will man sehr viel höhere Signalfrquenzen nutzen, so braucht man
natürlich hohe Flankensteilheit. Dann sind vor allem Reflexionen zu
beachten, die z.B. durch Terminierung (Impedanzanpassung) an den
Leitungsenden verhindert werden können.
Für USB und Ethernet gibt es in diversen Datenblättern und
Applikationsschriften Vorgaben zum Layout.
Grundsätzlich sind Leitungen mit hohen Frequnzen so kurz wie möglich zu
halten.
Auf dem Bord zum USB-Stecker (bzw. auch Ethernetstecker) werden oft
Reihenwiderstände von ca. 33 Ohm empfohlen. Außerdem sollten dünne
Leiterzüge mit geringstem Abstand zwischen den differenziellen Leitungen
geroutet werden.
Aus der Physik sollte bekannt sein, dass die wirksame Fläche zwischen
Leitern als Leiterschleife wie eine Antenne wirkt.
Gruß Öletronika
Wenn du des englischen mächtig bist, möchte ich dich gerne weiter
verweisen. Ich weiß nicht, ob das jetzt schon als Werbung durchgeht.
Fedevel hat viele gute Tutorials was Altium betrifft.
https://www.youtube.com/watch?v=QlNgoS3SEMEhttp://www.fedevel.com/welldoneblog/2014/07/11-the-most-common-high-speed-design-rules/http://www.fedevel.com/welldoneblog/2014/07/length-matching-in-altium/
Ein paar Gedanken:
Leitungslänge bedeutet Laufzeit. Längenunterschiede ...
Die Impedanz ist für die Schnittstellen (LVDS, etc.) definiert und dort
dann einheitlich.
Es gibt Tools die dir die Impedanz berechnen (Edge Coupled Microstrip)
Es geht erstaunlich viel (irgendwie), ohne dass man die Regeln beachtet.
Und es geht so einiges nicht, nur weil man es mit den Regeln nicht so
genau nimmt (das schiebt man dann auf die "EMV"-Magie).
Dazwischen liegt Erfahrung und Wagemut.
Orientiere dich an den Hersteller vorgaben application notes
evaluations boards, etc.
Grüße Felix
Hallo Öletronika,
um was es mir überhaupt geht versuch ich kurz zu halten.
Woher weiß ich, wann ich denn nun längenangepasste Leitungen oder
impedanzangepasste Leitungen oder differentielle Leitungen verwende?
Das trifft so ziemlich meine persönliche Grundfrage.
Ist es im täglichen Geschäft z.B. so, dass man von mir aus weiß, okay...
ich möchte eine USB-Buchse auf meinem Board haben. Daraus resultiert
dass ich von der USB-Buchse zum IC differentiel verfahre weil es sich um
USB handelt?
Da muss es doch andere Kenndaten/- werte geben.
So ungefähr dass man ab einer bestimmten Datenrate vorzugsweise
differentielle Leitungsverlegung nimmt oder dass man bei Bussystemen mit
den und den Eigenschaften möglichst gleichlange Leitungen mit einer
maximalen Längendifferenz von so und soviel mm nimmt.
Dass in diesem Bereich viele Erfahrungswerte eine Rolle spielen ist mir
zwischenzeitlich bekannt, aber irgendwie konnte mir noch keiner sagen,
woher bestimmte Angaben oder Anwendungen stammen.
Ich hätte das schon gerne in etwa so, dass ich z.b. so vorgehen kann
dass ich sage:
- Datenrate ist so größer als... also muss hier auf jeden Fall
differentiell gefahren werden.
- Hier handelt es sich um eine SD-Karte auf der Platine, hier muss ich
so verfahren dass alle Leitungen gleichlang sind, Impedanzanpassung ist
aber nicht unbedingt notwendig, da das und das...
So etwas suche ich :)
In meinem Fall geht es um ein Praktikum, wo ich seit Wochen am Layout
sitze und bei meinen Fragen von Kollegen oder vom Chef immer die selbe
Antwort bekomme. "Das ist halt so". Aber ich würde schon gern wissen
WARUM das so ist. Also wie schon gesagt, dass man wie nach einem Rezept
vorgehen kann und nach, von mir aus gesagt, Ausschlussverfahren vorgehen
kann.
Datenrate ist kleiner als oder größer als, also reicht das oder man muss
das machen.
Ich hoffe ich bin zu dieser späten Stunde noch verständlich rüber
gekommen :)
Joe
"Harte Grenzen", aber wann welche Technik eingesetzt werden muss, wirst
du kaum finden.
Ich würde mal grob sagen:
- sobald die Laufzeiten auf den Leitungen in einen ähnlichen Bereich
kommen wie die Anstiegszeiten der Signale, musst du dir Gedanken über
Leitungsimpedanzen, Reflektionen und Terminierungen machen.
- das Längenmatching unterschiedlicher Leitungen muss so gut sein, dass
es das setup/hold Fenster jedes Signals nicht aus dem Datenauge
hinausschiebt. 2mm Toleranz dürften für unterschiedliche Signale eines
Busses in den allermeisten Fällen mehr als gut sein. Bei differentiellen
Signalpaare würde ich grundsätzlich immer versuchen, das matching best
möglich hinzukriegen, damit die Signale wirklich "parallel"
nebeneinander her laufen.
- wenn du ein Busssystem nicht zuverlässig mit single ended Leitungen
realisieren kannst, dann klappt es vielleicht mit Umstieg auf
differentielle Leitungen. Gründe für die Notwendigkeit gibt es
verschiedene: z.B. die größere Störfestigkeit auf dem Kabel. Bei Treiber
ICs kann z.B. auch das gleichzeitige Schalten vieler single ended
Ausgänge aufgrund der Versorgungs-Induktivitäten zu GND-Bounce oder
VCC-Sag führen, was bei differentiellen Ausgängen ebenfalls entschärft
wird.
Und wenn du nicht selbst ein neues Bussystem entwirfst sondern ein
Layout für ein bestehendes Bussystem machst (wie derzeit in deinem
Praktikum), dann hältst du dich an die Vorgaben, mit denen
sichergestellt ist, dass der Bus funktioniert - insofern haben deine
Kollegen nicht ganz unrecht mit dem "das ist halt so".
Ein Buch dazu:
ISBN 3-7723-5499-8
"EMV-Designrichtlinien: Optimierung von Signalqualität, Abstrahlung und
Störfestigkeit"
Da stehen deine Fragen halbwegs beantwortet drin. Halbwegs weil: harte
Grenzen gibt es nicht. Man kann sich selbst harte Grenzen festlegen.
Dazu stehen in Buch auch welche. Aber ein Allheilmittel und Anleitung
zum perfekten Layout ist das nicht.
Du wirst zu einem Punkt kommen müssen, wo das Ergebnis der
Verbesserungsmaßnahmen nicht mehr im Verhältnis zum Aufwand steht UND du
dann sagst: das ist es, fertig! Kein Arbeitgeber wird dich Jahre am
perfekten Layout entwickeln lassen.
Joe schrieb:> So ungefähr dass man ab einer bestimmten Datenrate vorzugsweise> differentielle Leitungsverlegung nimmt
Das entscheidest du ja garnicht, jedenfalls nicht, wenn du PCB Layout
machst, denn die Tatsache ist ja schon im Stromlaufplan festgelegt. Da
dafür spezielle Treiber und Eingänge benötigt werden, sieht der
Stromlaufplan dafür ganz anders aus, die Entscheidung fällt also lange
bevor mit der Leiterplatte begonnen wird. Sofern überhaupt etwas zu
entscheiden ist, denn z.B. USB oder Ethernet oder LVDS für ein Display
sind eben differentiell, und das aus gutem Grund.
Auch andere Fragen wie Längenausgleich muss eigentlich der
Systemingenieur beantworten, der die ganze Schaltung entworfen hat. Ob
der Ausgleich notwendig ist, ist die falsche Frage, es muss heissen
welcher Längenunterschied ist zulässig, und das ergibt sich aus dem
zulässigen Laufzeitunterschied (Laufzeit = Länge, bei einem guten
CAD-System kannst du beides anzeigen lassen). Dazu muss man das genaue
Timing der Signalübertragung kennen, das ist u.U. recht aufwendig und
der PCB Designer kann das garnicht wissen.
Natürlich kann ein und diesselbe Person alles entwerfen und berechnen,
aber so habe ich deine Anfrage nicht verstanden. Bei Arbeitsteilung
sollten alle deine Fragen bereits im Stromlaufplan beantwortet werden,
jedenfalls wenn man professionell arbeitet. Dazu haben erwachsene
CAD-Systeme ein Constraint Managment, das inzwischen fast umfangreicher
ist als die Zeichenfunktionen, d.h. Eigenschaften wie min und max
Impedanz oder max Längendifferenz werden schon im Stromlaufplan der
Signalleitung zugewiesen und vom System bis zum Schluss immer wieder
überprüft. Dass das ein Haufen Arbeit ist und viel Erfahrung und
Grundlagenkenntnisse erfordert versteht sich von selbst.
Fazit: USB usw. ist klar, da kann man vom Layouter erwarten, dass er die
Normen kennt. Bei ungenormten Signalverbindungen muss der Entwickler
festlegen, ob sie impedanzkontrolliert sein müssen usw. Es ist auch
nicht sinnvoll, einfach alles so zu verlegen, dadurch würde die
Leiterplatte ohne Grund viel zu aufwendig oder ganz unmöglich. I.d.R.
ist nur ein geringer Prozentsatz der Verbindungen betroffen.
Georg
so, erstmal vielen Dank für eure Antworten.
das EMV-Design-Richtlinienbuch war heute sogar in der Bibliothek
verfügbar :)
da werd ich jetzt mal drin rumstöbern und mich zu einem späteren
Zeitpunkt nochmal äussern was ich für mich gutes entdecken konnte
So, hab folgendes bezüglich impedanzkontrollierten Leiterbahnen aus dem
vorher genannten Buch "Optimierung von Signalqualität" und dem Buch
"Handbuch der Leiterplattentechnik" von Jillek und Keller herausfinden
können:
ab einer Impulsanstiegszeit kleiner 3ns sollten impedanzkontrollierte
Leiterbahnen verwendet werden
Die Impedanz der Leiterbahn ist längenunabhängig
ab einer Taktfrequenz größer 10MHz kann für die Berechnung der Impedanz
auf den Widerstandsbelag und den Querleitbelag verzichtet werden, da
diese im Vergleich zum Induktivitäts- bzw. Kapazitätsbelag schwindend
klein sind und dadurch die Kreisfrequenz ebenfalls vernachlässigbar ist.
Mir persönlich fehlt noch ein Zusammenhang bei Leiterbahnen, die man
"ungefähr" gleich lang routen soll. Hab diesbezüglich leider noch keine
Toleranzangaben finden können. z.B. von was das abhhängt usw.
Joe
Joe schrieb:> Hab diesbezüglich leider noch keine> Toleranzangaben finden können. z.B. von was das abhhängt usw.
Hab ich doch beantwortet (Laufzeitdifferenz) - dass dir das zu
kompliziert ist, liegt nicht an mir, sondern an der Physik.
Georg
Georg schrieb:> Joe schrieb:>> Hab diesbezüglich leider noch keine>> Toleranzangaben finden können. z.B. von was das abhhängt usw.
Das definiert der jeweilige Schnittstellenstandart. USB, Ethernet, LVDS,
DDR, DDR2, DDR3 ... das steht in den Spzifikationen. Da steht die
Impedanz, Längentoleranzen und und und. Allgemein zu sprechen geht
einfach nicht. Die Schnittstelle wird so designt, dass es in diese
Parameter hineinpasst. Darauf sind Leitungtreiber und alles ausgelegt.
Habe jetzt folgendes Beispiel analysiert und hoffe, dass meine
Gedankengänge nicht ganz falsch oder im besten Fall richtig sind :)
Es geht ja darum, wie groß der Längenunterschied zwischen zwei Leitungen
sein darf, damit die Signale am Eingang des ICs korrekt erfasst werden
Nehmen wir folgenden IC:
http://datasheets.maximintegrated.com/en/ds/MAX13030E-MAX13035E.pdf
im Datenblatt auf Seite 4 entnehme ich, dass der Skew (Zeitdifferenz der
Signale) zwischen den Kanäle maximal 0,8ns betragen darf.
die Laufzeit einer Leiterbahn, z.B. Mikrostrip auf FR4-Material ergibt
sich aus nachfolgender Formel, die ich in einem Buch gefunden hab:
Laufzeit td = Leiterbahnlänge * Wurzel(epsilon_r,effektiv = 3,1) /
(Vakuumlichtgeschwindigkeit c0 = 3*10^8)
bei einer Leitungslänge von 100mm ergibt sich die Laufzeit von td =
0,587ns
nehmen wir an, dass meine zweite Leitung 150mm lang ist. Laufzeit ist
dann 0,88ns
die Differenz aus beiden Laufzeiten ist ja dann 0,293ns, was ja laut
Datenblattforderung im erlaubten Bereich wäre.
Jetzt stellt sich mir aber die Frage, falls meine Überlegung richtig
ist, wieso in den mir bekannten PCB-Beispielen bei Bussen wie hier z.B.
die SD-Karte "peinlichst" genau drauf geachtet wird, dass die Leitungen
gleich lang sind. In meinem praktischen Beispiel im Betrieb sind
Pauschal 2mm Toleranz angegeben mit der Aussage, dass das eben so
gemacht wird.
Aber laut meiner Rechnung und meiner Überlegung ist das ja total
unnötig, wenn, wie gesagt, mein Gedankengang richtig ist.
Lasse mich aber gerne belehren :)
Hallo,
> Joe schrieb:> ab einer Impulsanstiegszeit kleiner 3ns sollten impedanzkontrollierte> Leiterbahnen verwendet werden
das ist so als pauschale Forderung auch nicht korrekt.
Ich hatte in meinem 1. Posting ja schon was zum Wellenlänge im
Verhältnis zu Leitungslänge geschrieben. Ab ca. 1/10 der Wellenlänge
(Lambda) muß man schon mit Reflektionen rechnen, spätestens aber ab ca.
1/4 Lambda.
Ob man differenzielle Leitungen verwendet, hängt vom Anwendungsfall und
der Störumgebung ab. Übertragung über lange Kabel mit höheren Baudraten
werden oft differtiell gemacht. -> USB, Ethernet, RS485, CAN usw.
Es gibt aber auch Anwendungen, bei denen es ohne differnzielle Signale
gut läuft, sogar über rel. lange Stecken (z.B. RS232). Aber da hat man
meist nur paar kBaud.
Es kommt natürlich auch immer drauf an, welche Umgebung man hat und
welche Störsicherheit man erreichen muss.
Da ist eine poplige Heimanwendung nicht zu vergleichen mit Industrie, wo
eine Steuerung oder Sensorik neben gesteuerten Motoren im MW-Bereich
auch funktionieren muß oder wo in der Nähe eine Elektroschmelze mit
einigen zig. MW arbeitet.
> Mir persönlich fehlt noch ein Zusammenhang bei Leiterbahnen, die man> "ungefähr" gleich lang routen soll. Hab diesbezüglich leider noch keine> Toleranzangaben finden können. z.B. von was das abhhängt usw.
Auch das hängt vom konkrten Einsatzfall ab. Manchmal wird da auch
Aufwand getrieben, der unnötig ist.
Weil man sich aber nicht jedesmal mit den physikalischen Grundlagen
beschäftigen und auch kein Risiko eingehehen will, werden auch
Entwurfsregeln in Fällen angewendet, wo das nicht nötig ist. Ich habe
kürzlich eine Displaysteuerung mit ARM Core-M3 gemacht, wo auch ein DRAM
mit dran kommt, der mit Takten bis 133 MHz angsteuert werdern kann. Ich
habe mir da aber keine Gedanken um exakt gleich lange Leitungslängen
gemacht, sondern beser darum, die Leitungen grundsätzlich kurz zu
halten. Bis zu einigen 10mm Länge ist das dann unkristisch.
Will man aber Signale mit 100MHz-Takt über eine Rückverdrahtung eines
19-Racks führen, dann muß man sich aber zwingend mit der Problematik
beschäftigen.
Diese Logik_Level Umsetzer von MAX (und andere auch), die du oben
nennst, sind nicht harmlos. Diese haben Flankensteilheit im Bereich von
wenige ns.
Da sind also Oberwellen im Bereich von GHz zu erwarten und somit auch
schon bei wenigen cm Leitungslänge können hässliche Reflexionen auf
nicht angepassten Leitungen zum Problem werden. Hier ist aber dann die
Frage, wie lang die Leitungen sind ob man diese durch Änderung des
Konzeptes kürzer machen kann oder ob man die Geschwindigkeit wirklich
benötigt.
Statt Leitungen an den Enden zu terminieren kann man da auch mit
Tiefpässen im den Signalleitungen was machen. Niedrigere Anstiegszeiten
sind dann auch bei der EMV-Prüfung eher unkritisch.
Z.B. eine SD-Karte kann man normal nicht mit so hohen Geschwindigkeiten
fahren, dass man ns-Flanken braucht, sofern man da nicht spezielle
sauschnelle Flashspeicher drauf hat. Für einige MBaud reichen dann auch
Signale mit 10...20ns-Flanken.
Niemand wird dir hier solche Kochrezepte ausstellen, wie du sie
erwartest.
Entweder du sagst klar, was du für Probleme hast oder du mußt für deine
Fälle immer wieder die Grundlagen nehmen und darüber nachdenken, ob
Massnamen überflüssig, empfehlenswert oder zwingend sind.
Macht man aber grobe Fehler und muß diese später mit Redesigns
ausbügeln, kostet das oft viel mehr Zeit und Geld, als wenn man gleich
auf Sicherheit geht.
Gruß Öletronika
Joe schrieb:> Aber laut meiner Rechnung und meiner Überlegung ist das ja total> unnötig, wenn, wie gesagt, mein Gedankengang richtig ist.
Richtig aber unvollständig: der zulässige Skew am Empfänger ist ja schon
die Summe von allem was dem Signal unterwegs passieren kann, und du bist
als Layouter ja nicht verpflichtet, das für deine Zwecke aufzubrauchen,
im Gegenteil. Ein Bestandteil ist z.B. der Skew des Senders, und an dem
kannst du garnichts ändern, folglich steht dir schon nicht mehr alles
für deine Leiterbahn zur Verfügung. Dazu kommt, dass der Längenausgleich
der Leiterbahnen trivial und leicht durchzuführen ist, d.h. der Skew
durch unterschiedliche Länge lässt sich von allen Bestandteilen am
einfachsten eliminieren - also tut man das gefälligst. Mehr als 1/10 der
Gesamtmarge sollte sich der Layouter nicht gönnen, und ein Wert von 2 mm
ist dadurch gerechtfertigt, dass man das ja problemlos erreichen kann,
hat also seine Berechtigung als Daumenregel, weils schlechter kaum geht.
Es bleibt bloss die Frage, ob es besser sein muss als 2 mm, aber dazu
braucht man schon lange Leitungen und sehr hohe Frequenzen (im Sinn von
Buszyklen, woraus sich dann die Skew-Margen ergeben), und dann muss man
halt selber rechnen. 2 mm ist einfach "gute Design Praxis".
Nebenbei: das entspricht sowieso häufig nicht den tatsächlichen
Anforderungen: bei einem Datenbus ist in der Regel nicht die gleiche
Laufzeit von Interesse, sondern die Stabilität der Logikpegel relativ
zum Strobe-Impuls. Bei halbwegs gleichzeitigen Signalen ist die
Einhaltung von Setup und Hold aber deutlich einfacher.
Übrigens gilt das auch für deine anderen gefragten Eigenschaften:
Impedanz unterliegt in der Praxis relativ grossen Streuungen. Wenn 5
oder 10 % gefordert sind, heisst das aber keineswegs, dass du im
CAD-Entwurf soviel daneben liegen darfst, denn die Toleranz braucht
dringend die Fertigung, 5 % sind schon sehr aufwendig einzuhalten. Der
Layouter hat also seine Berechnungen viel genauer durchzuführen, eine
Abweichung von mehr als 2 % ist für micht ein klarer Kunstfehler.
Georg