Forum: Platinen PCB Layout ATMEGA32U4 überprüfen


von Gerrit L. (zimt)


Angehängte Dateien:

Lesenswert?

Hi,

hier zu sehen mein erstes PCB Layout. Der uC soll erstmal nur über USB 
angeschlossen und versorgt werden. Notfalls über SPI oder TX,RX 
programmiert, bzw der bootloader aufgespielt werden.
Ein Taster und eine LED dienen zum testen.
Später würde ich an den oberen Anschlüssen gerne einen Motortreiber (der 
keine 5V benötigt) anhängen.

Es würde mich freuen wenn ich hierzu Hinweise auf grobe Fehler, 
Verbesserungsvorschläge, oder allgemeine Kritik bekommen könnte.

Insbesondere bei den GND Verbindungen bin ich unsicher.
Nachfolgend mein Gedankengang:
- Auf eine Massefläche habe ich vorerst verzichtet um mir über die 
Leiterbahnen Gedanken machen zu müssen.
- Masse Sternpunkt ist unter dem uC
- Masseverbindung zu RX/TX, Schaltern und zum Motortreiber unter den 
jeweiligen Signalleitungen


Vielen Dank

von Wolfgang (Gast)


Lesenswert?

Für den Fall, dass du später vielleicht mal den ADC benutzen möchtest, 
fehlt dir eine Entkopplung zwischen VCC und AVCC.

Guck dir mal die Leiterbahnabstände am SPI-Stecker an. Das kann 
eigentlich kaum heil durch den DRC gekommen sein. Oder was fordert dein 
Leiterplattenfertiger dort als Mindestabständ?

von Simon T. (narfinus)


Lesenswert?

Ein paar Anregungen:

- Falls es ein Anwendungsszenario gibt in dem das Board extern versorgt 
wird sollte die USB-V+ Leitung vom 5V-Netz getrennt werden können.
- Die Abstände der Leiterbahnen sind teilweise extrem klein.
- 8 pF für die Kondensatoren kommen mir gefühlt etwas wenig vor: Hast du 
das Datenblatt für den Quarz zur Hand? Dessen Kapazität sollte ungefähr 
gleich sein.
- Welche Größe haben die Abblockkondensatoren? Händisches löten ist mit 
etwas größeren Pads deutlich angenehmer.
- Der Reset vom Stecker JP4 kann mit dem Button direkt auf Masse gezogen 
werden. Hier könnte ein kleiner Serienwiderstand (~100 Ohm) schützen.
- Auch wenn du die Masse selbst richtig geroutet hast gibt es eigentlich 
keinen Grund auf die Plane zu verzichten. Falls du selber ätzen möchtest 
sättigt dein Entwickler nicht ganz so schnell.
- Falls es Bestückungsdruck gibt: Siehe noch Bezeichnungen für deine 
Jumper / Stecker vor. Das hilft ungemein wenn man nach einem Jahr die 
Schaltung wieder auskramt ;)

Grüße

von Blabla (Gast)


Lesenswert?

Ui, naja ich würde dir Raten nochmal etwas Recherche zu Betreiben.

Noch anzumerken wäre auch das USB differenzielle Datenleitungen hat, 
typischerweise.

Schon mal so kleine Bauteile gelötet?

von Andi (Gast)


Lesenswert?

Lies das bitte durch:
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8128-Best-Practices-for-the-PCB-Layout-of-Oscillators_ApplicationNote_AVR186.pdf

Weite die Leiterbahnabstände deutlich auf (3W).
Ich sehe keinen Grund für das Anschmiegen, du hast genug Platz.

Da bei einem 2-lagigen Print korrektes differentielles routen nicht 
wirklich funktioniert:
Halte D+/- zwischen MCU und USB-Stecker möglichst kurz, gleich lang 
sowie in Phase.
Abstand zu anderen Leitungen bzw. GND-Polygone mindestens 5W.

von Gerrit L. (zimt)


Lesenswert?

Wolfgang schrieb:
> Für den Fall, dass du später vielleicht mal den ADC benutzen möchtest,
> fehlt dir eine Entkopplung zwischen VCC und AVCC

Klingt vernünftig. Welche Induktivität ist hierbei sinnvoll und warum? 
Bisher habe ich zwischen 2uH und 10uH verschiedenes gesehen. Lässt sich 
abschätzen welchen Strom die Induktivität vertragen können muss?

Wolfgang schrieb:
> Guck dir mal die Leiterbahnabstände am SPI-Stecker an. Das kann
> eigentlich kaum heil durch den DRC gekommen sein. Oder was fordert dein
> Leiterplattenfertiger dort als Mindestabständ?

Simon T. schrieb:
> Die Abstände der Leiterbahnen sind teilweise extrem klein.

Andi schrieb:
> Weite die Leiterbahnabstände deutlich auf (3W).
> Ich sehe keinen Grund für das Anschmiegen, du hast genug Platz.

Der Hersteller fordert 5 mil, die IPC-2221 (der erste Standard den ich 
zu dem Thema  gefunden habe) fordert 4 mil. Habe jetzt auf 10 mil 
erhöht, möchte die Leiterbahnen aber lieber eng halten, da nur vorläufig 
soviel Platz ist.

Simon T. schrieb:
> alls es ein Anwendungsszenario gibt in dem das Board extern versorgt
> wird sollte die USB-V+ Leitung vom 5V-Netz getrennt werden können.

Done.

Simon T. schrieb:
> 8 pF für die Kondensatoren kommen mir gefühlt etwas wenig vor: Hast du
> das Datenblatt für den Quarz zur Hand? Dessen Kapazität sollte ungefähr
> gleich sein.

Quarz hat laut Datenblatt 8pF. Mit angenommen 4pF Streukapazität kam ich 
damit auf 8pF bei den Kondensatoren.

Simon T. schrieb:
> Welche Größe haben die Abblockkondensatoren? Händisches löten ist mit
> etwas größeren Pads deutlich angenehmer.

Blabla schrieb:
> Schon mal so kleine Bauteile gelötet?

Sind alles 0805 Gehäuse. 0402 hab ich zwar schonmal gelötet, mich aber 
wegen des Aufwandes für 0805 entschieden.

Simon T. schrieb:
> Der Reset vom Stecker JP4 kann mit dem Button direkt auf Masse gezogen
> werden. Hier könnte ein kleiner Serienwiderstand (~100 Ohm) schützen.

Soll der Button Reset denn nicht direkt auf Masse ziehen? Zumindest habe 
ich das bisher immer so gesehen?

Simon T. schrieb:
> Falls es Bestückungsdruck gibt: Siehe noch Bezeichnungen für deine
> Jumper / Stecker vor. Das hilft ungemein wenn man nach einem Jahr die
> Schaltung wieder auskramt ;)

Wird folgen :)

Blabla schrieb:
> Ui, naja ich würde dir Raten nochmal etwas Recherche zu Betreiben.

Ein Ratschlag der sicherlich für jeden Menschen in jeder Situation 
richtig ist. Leider in dieser Form nicht konstruktiv genug um mir zu 
helfen.

Andi schrieb:
> Lies das bitte durch:
> 
http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8128-Best-Practices-for-the-PCB-Layout-of-Oscillators_ApplicationNote_AVR186.pdf

Gelesen und gespeichert. Allerdings sehe ich keine Design Regeln die ich 
verletzte. Also nicht zwingend verstanden XD

Andi schrieb:
> Da bei einem 2-lagigen Print korrektes differentielles routen nicht
> wirklich funktioniert:
> Halte D+/- zwischen MCU und USB-Stecker möglichst kurz, gleich lang
> sowie in Phase.
> Abstand zu anderen Leitungen bzw. GND-Polygone mindestens 5W.

Sind nun gleich lang. Was bedeutet in Phase bei Leitungen? Sagt mir nur 
im Zusammenhang mit Schwingungen etwas. Und wofür stehen 3W, 5W?


Vielen Dank für die Hilfe

von georg (Gast)


Lesenswert?

Gerrit L. schrieb:
> Was bedeutet in Phase bei Leitungen? Sagt mir nur
> im Zusammenhang mit Schwingungen etwas

Und was transportieren die Leiterbahnen - z.B. Schwingungen. In Phase 
heisst - bei differential lines, sonst hat das keinen Sinn - dass die 
HiLo-Flanke auf der einen Leitung neben der LoHi-Flanke auf der andern 
läuft, und nicht ein Stück davor oder dahinter. Natürlich mit einer 
gewissen Toleranz, die Flanke ist ja auch nicht unendlich kurz.

Bei Anstiegszeiten um 1 ns bewegt sich diese Länge im Bereich von cm, 
also dürfte das bei der vorliegenden Schaltung ziemlich wenig relevant 
sein. Wenns nicht funktioniert liegt das sicher nicht am 
Längenausgleich.

Georg

von J. Zimmermann (Gast)


Lesenswert?

Mach mal besser die grosse Top-Massefläche unter dem Chip etwas kleiner, 
um die Abstände zu den Nichtmasse-Pins des MC zu vergrössern, falls es 
da nach Auflöten des Chips eine Zinnbrücke gibt, hast Du keine Chance.
Warum "ziehst" Du alles so auseinander - kurze Leitungen sind immer 
besser, ausserdem zahlst Du beim PCB-Hersteller die Fläche.
mfg
Achim

von Wolfgang (Gast)


Lesenswert?

Gerrit L. schrieb:
> Klingt vernünftig. Welche Induktivität ist hierbei sinnvoll und warum?
> Bisher habe ich zwischen 2uH und 10uH verschiedenes gesehen. Lässt sich
> abschätzen welchen Strom die Induktivität vertragen können muss?

Du willst dort keine Induktivität, die zusammen mit einem 
Abblockkondensator zum Schwingkreisen wird, sondern ein Ferrit zur 
Dämpfung von hochfrequenten Spikes, die auf VCC rumgeistern.

Da fließt genau so viel Strom, wie die dort dran hängenden Baugruppen 
und Lasten an IO-Pins benötigen. Wie viel das ist, hängt sehr von deinem 
Programm ab und wird nach oben durch den Maximalwert für die zulässig 
Pin-Belastung begrenzt, die du hoffentlich nicht überschreitest.

von Simon T. (narfinus)


Lesenswert?

Gerrit L. schrieb:
> Soll der Button Reset denn nicht direkt auf Masse ziehen? Zumindest habe
> ich das bisher immer so gesehen?

Der Button kann schon den Reset-Pin des µCs auf Masse ziehen da dieser 
ja ein Eingang ist. Wenn aber nun ein Progammer angeschlossen ist und 
dieser das RESET-Signal auf High legt wird dieses nach GND 
kurzgeschlossen sobald der Button gedrückt wird.
Mein Vorschlag ist daher einen Serienwiderstand zwischen JP4 und 
Netzknoten Button/µC-Eingang.

Prinzipiell sieht man recht häufig kleine Serienwiderstände bei allen 
IO-Leitungen damit auch im Fehlerfall die IOs des Mikrocontrollers nicht 
überlastet werden. Das kommt aber immer auf den Anwendungsfall an.

Simon

von Andi (Gast)


Lesenswert?

> Gelesen und gespeichert. Allerdings sehe ich keine Design Regeln die ich
> verletzte. Also nicht zwingend verstanden XD

Wirklich keinen Unterschied gesehen?
Ich sehe an deinem Layout eigentlich wenig, nein, gar nichts was der 
App-Note entspricht.
Solltest vielleicht nochmal genauer schauen? ;)
Bzw. "2. Design Guides" durchlesen...

Hints:
- Die Kondensatoren sollen am Pfad zwischen Quarz und CPU liegen.
- Die GND-Pads der Kondensatoren direkt mit dem nächstliegendem GND-Pin 
der CPU verbinden und erst dort mit Via auf die Plane gehen.
- Signalleitungen nicht nahe bei den Quarzleitungen verlegen.


> Der Hersteller fordert 5 mil, die IPC-2221 (der erste Standard den ich
> zu dem Thema  gefunden habe) fordert 4 mil. Habe jetzt auf 10 mil
> erhöht, möchte die Leiterbahnen aber lieber eng halten, da nur vorläufig
> soviel Platz ist.

Was der Hersteller fordert unterscheidet sich von dem was die Physik 
fordert.
Je enger die Leiterbahnen liegen, desto grösser das Übersprechen - und 
das will man möglichst vermeiden.


> Sind nun gleich lang. Was bedeutet in Phase bei Leitungen? Sagt mir nur
> im Zusammenhang mit Schwingungen etwas. Und wofür stehen 3W, 5W?

Signale sind doch nichts anderes als Schwingungen.
Auf beiden Leitungen (D+,D-) laufen 2 gegenläufige Signale, die sollten 
immer in Phase sein. Sprich Längenausgleich immer direkt dort machen wo 
die Differenzen auftreten.
Ok, ist bei deinem Design nicht wirklich notwendig, aber nur so zum 
merken...

3W 5W: Vielfaches der Leiterbahnbreite W.

Faustregel:
DC: das was der Hersteller fordert.
Normale Signale: 3W Abstand.
Highspeed: >3W idealerweise 5W (Da zählen auch Clock-Leitungen und 
Quarzanbindungen dazu)

von Gerrit L. (zimt)


Lesenswert?

-A ground area should be placed under the crystal oscillator area. This 
ground land should be
connected to the oscillator ground.
- Connect the external capacitors needed for the crystal and the ceramic 
resonator operation as well
as the crystal housing to the ground plane

Andi schrieb:
> - Die GND-Pads der Kondensatoren direkt mit dem nächstliegendem GND-Pin
> der CPU verbinden und erst dort mit Via auf die Plane gehen.

So wie ich den Design Guide verstehe soll gleich auf die Plane verbunden 
werden. Und soll die Anbindung zu Xtal zwar kurz sein, aber nicht 
zwingend zwischen uC und Crystal liegen. 
http://ww1.microchip.com/downloads/en/appnotes/atmel-2521-avr-hardware-design-considerations_applicationnote_avr042.pdf 
zeigt ein Gegenbeispiel.
Signalleitungen habe ich verschoben soweit möglich.

Andi schrieb:
> Signale sind doch nichts anderes als Schwingungen.
> Auf beiden Leitungen (D+,D-) laufen 2 gegenläufige Signale, die sollten
> immer in Phase sein. Sprich Längenausgleich immer direkt dort machen wo
> die Differenzen auftreten.
> Ok, ist bei deinem Design nicht wirklich notwendig, aber nur so zum
> merken...

Wie finde ich die Punkte an denen Differenzen auftreten? Ich erinnere 
mich, dass Induktivität und Kapazität Phasenverschiebung zur Folge hat, 
aber die kenne ich für die Leitung nicht.

Simon T. schrieb:
> Der Button kann schon den Reset-Pin des µCs auf Masse ziehen da dieser
> ja ein Eingang ist. Wenn aber nun ein Progammer angeschlossen ist und
> dieser das RESET-Signal auf High legt wird dieses nach GND
> kurzgeschlossen sobald der Button gedrückt wird.
> Mein Vorschlag ist daher einen Serienwiderstand zwischen JP4 und
> Netzknoten Button/µC-Eingang.

Jetzt hab ichs verstanden :) Wird eingefügt.

Wolfgang schrieb:
> Du willst dort keine Induktivität, die zusammen mit einem
> Abblockkondensator zum Schwingkreisen wird, sondern ein Ferrit zur
> Dämpfung von hochfrequenten Spikes, die auf VCC rumgeistern.

Ich wusste nicht mal dass es dieses Bauteil gibt. Vielen Dank

von georg (Gast)


Lesenswert?

Gerrit L. schrieb:
> Ich erinnere
> mich, dass Induktivität und Kapazität Phasenverschiebung zur Folge hat,
> aber die kenne ich für die Leitung nicht.

Natürlich kennst du die, wie willst du sonst die Impedanz berechnen? 
Aber die Kenntnis ist für diesen Fall auch garnicht notwendig, es geht 
um Längenunterschiede, die sind geometrisch zu bestimmen (die 
elektrischen Werte der beiden Leiterbahnen müssen eh gleich sein, sonst 
braucht man sich um Impedanzen garnicht erst zu kümmern). 
Phasenunterschiede ergeben sich daraus, dass z.B. die Länge der Kurve 
bei der äusseren Leiterbahn grösser ist, also hinkt der Logikwechsel 
nach dieser Kurve auf der äusseren leitung hinterher. Ob das bei den 
gegebenen Frequenzen und Anstiegszeiten relevant ist ist die gleiche 
Frage wie bei den Gesamt-Längenunterschieden auch. Siehe weiter oben.

Idealerweise liegen bei den beiden Leiterbahnen immer Punkte 
nebeneinender die von der Quelle gleich weit entfernt sind. Insofern 
sind Längen- und Phasenabgleich eigentlich das gleiche, nur stellt sich 
die Frage nach der Phase auch "unterwegs". Anders gesagt, der 
Längenausgleich nur am Ende reicht u.U. nicht.

Georg

von Andreas M. (amesser)


Lesenswert?

Gerrit L. schrieb:
> Der Hersteller fordert 5 mil, die IPC-2221 (der erste Standard den ich
> zu dem Thema  gefunden habe) fordert 4 mil. Habe jetzt auf 10 mil
> erhöht, möchte die Leiterbahnen aber lieber eng halten, da nur vorläufig
> soviel Platz ist.

Wenn du mehr Komponenten drauf machst muss das Layout eh neu gemacht 
werden

Gerrit L. schrieb:
> Sind alles 0805 Gehäuse. 0402 hab ich zwar schonmal gelötet, mich aber
> wegen des Aufwandes für 0805 entschieden.

Dafür dann aber einen Quarz mit 4 Pads, vermutlich alle unterm Gehäuse, 
auf der Fläche von einem 0805?

Andi schrieb:
> Halte D+/- zwischen MCU und USB-Stecker möglichst kurz, gleich lang
> sowie in Phase.

Ich glaube bei USB mit 12MBit muss man sich schon sehr anstrengen das 
soweit aus der Phase zu bekommen damit das nicht mehr funktioniert, wenn 
ich mir so die ganzen Billig-USB-Kabel anschaue, da liegen bestimmt cm 
Unterschiede zwischen den einzelnen Adern.

Zum Thema:

- Am USB Anschluss fehlt eine Sicherung in der 5V Leitung, am besten 
eine Polyfuse.
- Warum ist der 32U4 45 Grad gedreht?
- Dia ganze Beschaltung um den "Toggle" Taster is unnötig. Das kann man 
in Software machen

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.