Forum: Mikrocontroller und Digitale Elektronik PCB Pool USB Impedanz


von Mic U. (micyourcontroller)


Lesenswert?

Hallo zusammen,

ich arbeite derzeit an meiner ersten vierlagigen Platine. Verbaut darauf 
ist ein µC mit USB Full Speed. Ich möchte die Platine bei PCB Pool 
fertigen lassen (war bisher immer sehr zufrieden und die Kosten werden 
von meiner Hochschule übernommen).

Ich werde mich an den Standardaufbau halten:

http://www.pcb-specification.com

ML 4 Standard bei 1.6mm

Meine Lagen belegung ist
Top (USB Signale)
GND
VCC
Bottom

Leider bietet PCB Pool keine Angaben bzw. Auskünfte Richtung 
Leiterbahndicke/ Abstand bei differntiellem Routing für USB (90 Ohm). 
Wie kann ich das differentiell routen? Eagle bietet da leider keine 
Möglichkeit Angaben zu kalkulieren.

Vielen Dank vorab,

Liebe Grüße

von Jim M. (turboj)


Lesenswert?

Bei Full Speed spielt das praktisch noch keine große Rolle. Erst High 
Speed ist auf die Impedanz bei den Traces auf der Platine empfindlich.

von Mic U. (micyourcontroller)


Lesenswert?

aber ich kann sie doch nicht einfach beliebig routen?

von Nickname (Gast)


Lesenswert?

Bei Eagle gibt zwei ULP die helfen könnten

length.ulp : This ULP calculates the signal length of routed tracks in 
the layout
length-freq-ri.ulp : Creates a list of all signals of a board, together 
with their maximum frequency, length, area, resistance, minimum and 
maximum width and maximum current.

von Georg (Gast)


Angehängte Dateien:

Lesenswert?

Mic U. schrieb:
> Meine Lagen belegung ist
> Top (USB Signale)
> GND
> VCC
> Bottom

Nach der Belegung kommt also nur Microstrip in Frage, und der 
Lagenabstand 1-2 ist 0,38 mm. Leider ergibt das unpraktisch breite 
Leiterbahnen. Kannst du alles aus dem Screenshot entnehmen.

Alternativen:

geringerer Lagenabstand (nicht Standard)
Stripline (GND-Signal-GND, schwierig bei 4 Lagen)

Ich weiss nicht ob Eagle eine Funktion hat, diff Pairs in konstantem 
Abstand zu routen, manuell ist das sehr schwierig.

Georg

von Frickelfritze (Gast)


Lesenswert?

Mic U. schrieb:
> Leider bietet PCB Pool keine Angaben bzw. Auskünfte Richtung
> Leiterbahndicke/ Abstand bei differntiellem Routing für USB (90 Ohm).
> Wie kann ich das differentiell routen?

Muss es PCB Pool der die Angaben liefert?

Ist Google kaputt?

https://www.eeweb.com/toolbox/edge-coupled-microstrip-impedance/

von Timmo H. (masterfx)


Lesenswert?

Es gibt genug Design Guidelines:
https://www.silabs.com/Support%20Documents/TechnicalDocs/AN0046.pdf
http://www.ti.com/lit/an/spraar7e/spraar7e.pdf
http://www.ftdichip.com/Support/Documents/AppNotes/AN_146_USB_Hardware_Design_Guidelines_for_FTDI_ICs.pdf

Aber USB 2.0 ist gar nicht soo kritisch, insbesondere nicht wenn du nur 
ein kurzes Stück auf der Platine routest.
Ich versuche einfach die Leiterbahnen möglichst dicht zusammen zu legen, 
parallel zu halten und die länge einigermaßen gleich zu halten, 
Durchkontaktierungen vermeiden.
Bisher hat es immer funktioniert.

: Bearbeitet durch User
von Mic U. (micyourcontroller)


Lesenswert?

Vielen Dank für die ganzen Antworten, ich habe mir nun mal den Saturn 
PCB Calculator heruntergeladen. Danke für den Screenshot, dann weiß ich 
gleich wie ich was eintragen muss.

Die Guidelines habe ich auch schon etwas durchgeschaut, danke hierfür!

In Eagle gibt es mit dem Befehl "Meander" die Möglichkeit einen 
Längenausgleich vorzusehen, diferentielle Paar kann man in einer Net 
Class näher spezifizieren.

Ich finde eine Leiterbahnbreite von 0.35 und einen Abstand von 0.127 
nicht so tragisch zum layouten. Wieso sieht ihr diese Daten als 
kritisch?

Ich habe nun einmal die Berechnung für die 1mm Platine von PCB Pool 
durchgeführt - gibt es Gründe, die für oder gegen einen 1mm Aufbau 
sprechen?

von Johannes (Gast)


Lesenswert?

ich router USB im Grunde immer irgendwie und hab damit keine Probleme. 
200 Mbit war soweit auch kein Problem.
Ich halte die Traces kurz und genau das ist der Punkt.

Ich denke solange man unterhalb von pi mal daumen 3.75cm bleibt kann man 
praktisch gesehen routen wie man möchte, dann muss man schon etwas Pech 
haben das es nicht funktioniert.
Unterhalb der Traces habe ich immer eine durchgehende Groundfläche.

Ich denke bei USB 2.0 ist die Rise-time 0.5ns.

von Johannes (Gast)


Lesenswert?

Nachtrag PCB-Pool

Werft impedanzkontrollierte Traces bei PCB-Pool gleich über Bord, was 
die schreiben und was die liefern ist eine ganz andere Geschichte.
Ich hatte schon Platinen von denen mit einer Toleranz von 1.0-1.2mm 
Dicke!!

Wahrscheinlich lag im Lager grad n Prepreg rum das denen vergammelt wäre 
wenn sie's nicht verpresst hätten.

von Clemens L. (c_l)


Angehängte Dateien:

Lesenswert?

Mic U. schrieb:
> differntiellem Routing für USB (90 Ohm)

90 Ω ist nur das Kabel.

Abschnitt 7.1.1.1 der USB-2.0-Spezifikation sagt:
> A full-speed USB connection is made through a shielded, twisted pair
> cable with a differential characteristic impedance (Z0) of 90 Ω ±15%,
> a common mode impedance (ZCM) of 30 Ω ±30%, and a maximum one-way
> delay (TFSCBL) of 26 ns.  When the full-speed driver is not part of
> a high-speed capable transceiver, the impedance of each of the drivers
> (ZDRV) must be between 28 Ω and 44 Ω, i.e., within the gray area in
> Figure 7-4. [...]
> For a CMOS implementation, the driver impedance will typically be
> realized by a CMOS driver with an impedance significantly less than
> this resistance with a discrete series resistor making up the balance
> as shown in Figure 7-3.

Die Doku deines µCs sagt dir, wie groß Rs sein soll (z.B. 27 Ω ±5% beim 
MSP430).

Die Impedanz der Leiterbahnen ist hier ziemlich egal, auch weil die 
Frequenzen nicht hoch genug sind.

> aber ich kann sie doch nicht einfach beliebig routen?

Solange du keinen absoluten Blödsinn machst, wird es funktionieren.

: Bearbeitet durch User
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.