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
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?
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
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?
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.
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
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
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
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.
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
> 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)
-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
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.