Überprüfung des STM32-MCU-PCB-Layouts (Quarz & Entkopplung & ADC)

Einführung:

Ich entwerfe zum ersten Mal eine Hobbyelektronik und verwende STM32 zur Steuerung einer Lötspitze. Ich habe viele Dokumente zum PCB-Layout gelesen und auch viele Informationen aus diesem Forum. Und dies ist mein erstes Ergebnis, ich werde dieses Design von der Leiterplattenfertigung herstellen lassen.

Da dies mein erster Versuch ist, hätte ich gerne einen Rat, um zu überprüfen, ob ich falsch liege oder nicht, bevor ich dieses Design an die Fabrik schicke.

Diese Leiterplatte wird eine Doppelschicht-Leiterplatte sein.

Die Bauteile werden von Hand gelötet.

Ich entwerfe die Leiterplatte mit der EAGLE-Bildungsversion. (nur 2 Schichten)

Kristall-Layout:

Aus diesem Dokument habe ich gelernt:

  • Um eine GND-Insel in der unteren Schicht und einen Schutzring auf der oberen Schicht zu haben, um das OSC-Signal zu schützen.
  • Die isolierte Erdungsinsel sollte mit der nächstgelegenen MCU-Erdung verbunden werden.
  • Der Schutzring sollte durch ein Loch mit der Erdungsinsel vernäht werden.
  • Es darf kein Signal durch den isolierten Massebereich laufen.
  • Die Signalpfade von OSC sollten möglichst symmetrisch sein.
  • Die Signalwege von OSC sollten möglichst kurz sein.
  • Der Rückweg der Last C geht über zur Masseinsel

Mein OSC läuft in 8 MHz; Last C sind 18 pF.

Ich hoffe, ich habe die Regel richtig verstanden und mache das Layout auch im Bereich eines Hobbyboards richtig.

Leistung und Entkopplung C:

Ich verwende eine 0603-Kappe. Ich möchte die Grundebene so vollständig wie möglich halten, also möchte ich nicht, dass die Signalspur auf die unterste Ebene geht. Aber ich kann auch das Entkopplungs-C nicht auf der obersten Schicht halten. Deshalb habe ich die Entkopplung C auf die unterste Ebene verschoben. Wenn eine Idee bereitgestellt werden kann, die sowohl Spuren als auch die Entkopplung von C auf der obersten Schicht machen kann, wird dies sehr geschätzt.

Was ich als Regeln bekommen habe:

  • Die Entkopplung C sollte so nah wie möglich am VDD/VSS-Paar platziert werden.
  • Die Stromversorgung geht zuerst durch die Entkopplung C und dann zu den VDD / VSS-Pins
  • MCU hat lokal +3V3 und GND. Und sie werden von einem einzigen Punkt aus gespeist.
  • Halten Sie den Grundriss nicht geschnitten werden.
  • Für den VDDA wird eine Ferritperle benötigt.
  • Wenn mehrere C benötigt werden, platzieren Sie das C mit dem kleineren Wert näher am VDD/VSS-Paar.

Bitte lassen Sie mich wissen, ob mein Layout angemessen ist.

ADC-Signal:

Für meine Anwendung wird ein Thermoelementsignal benötigt, das in der Lötkolbenspitze steckt. Die Spitze hat einen Heizwiderstand und ein Thermoelement im Inneren und das Thermoelement und der Heizwiderstand teilen sich einen gemeinsamen Rückweg. Die Thermoelementspannung wird in der Zeit gemessen, in der die Heizspannung nicht anliegt.

Ich verwende einen sehr einfachen nicht invertierten Operationsverstärker, um das Signal zu verstärken. Worum es mir geht sind:

  • ob der Rückstrom des Heizelements die MCU stark stört. (Da die Thermoelementspannung nur gemessen wird, wenn kein Heizstrom fließt, spielt es keine Rolle, dass der Strom den Operationsverstärker beeinflusst.)
  • Ist es besser, den OP-Verstärker VSS direkt an die Masseebene zu binden oder ihn an das Thermoelement (-) zu binden, wie ich es im Design getan habe? Oder andere Möglichkeiten?

Schema:

Ich verwende einen STM32F103C8T6. Laut Datenblatt .1uF und 2x 10uF für VDD/VSS-Paar. Für ein schnelles Signal habe ich einen Widerstand zur Unterdrückung der steigenden Flanke platziert. Eine Kappe wird zum Filtern der Reset-Leitung platziert. Ich verwende SWIO zum Debuggen des Ports mit SDO-Tracing.

Folgende Abschnitte ist mein aktuelles PCB-Design:

-Schema:

Geben Sie hier die Bildbeschreibung ein

-SPITZE:

Die gestrichelte Linie ist der 3V3-Ausschnitt zum Trennen von VDD-Pins und +3V3-EbeneOberste Schicht MCU oben schließen

-UNTERSEITE:

Die gestrichelte Linie ist der GND-Ausschnitt zum Trennen von VSS-Pins und GND-EbeneUnterste Schicht MCU unten schließen

-Analogteil:

Operationsverstärker

-Lötspitzenaufbau:

Geben Sie hier die Bildbeschreibung ein

Ich hoffe, die von mir bereitgestellten Informationen reichen aus, um ein Feedback zu generieren.

Und lassen Sie mich auch wissen, ob mein Verständnis von Designregeln richtig ist.

Vielen Dank im Voraus.

Mit freundlichen Grüßen.

Welcher STM32 genau? Benötigen Sie ein genaues Timing?
Auch ein Schaltplan würde helfen.
Hallo Jan, danke für deinen Kommentar. Ich habe einen Schaltplan des MCU-Teils in der Bearbeitung hinzugefügt. Die MCU ist ein STM32F103C8T6. Ich werde nicht sagen, dass es ein genaues Timing braucht. Aber ich frage mich, wie eng die Anwendung sein wird, um als "genaues Timing zu benötigen" zu betrachten? Genauigkeit von +/- 100 ns? Die 800-kHz-PWM steuert die WS2812B-LED. die Toleranz beträgt +/-150 ns. Ich habe dieses Design auf dem Brotbrett ausprobiert und mit Oszi gemessen. Es klappt. Könnte das Signal auf einer Leiterplatte schlechter sein als auf einer Steckplatine?
falsche Formulierung meinerseits evtl. Mehr in Richtung Uhrenpräzision - ich glaube nicht, dass Sie diesen Kristall überhaupt brauchen. Der HSI-Oszillator sollte etwas in der Größenordnung von +/- 3 % haben. Auch das Hinzufügen von NRST zu Ihrem Programmieranschluss ist sehr hilfreich, obwohl dies nicht unbedingt erforderlich ist.
Hallo Jan, es ist eine gute Idee, den NRST an den Programmierport zu binden. Meiner Meinung nach besteht der praktische Weg, dies zu tun, derzeit darin, die dedizierte lokale GND auf der obersten Schicht aufzugeben und den Bypass C an die globale Masse zu binden, und dann den NRST auf die Schicht unter der MCU zum Programmierport gehen zu lassen. Können Sie mir einen Kommentar zu dieser Idee geben? Und ein Kommentar zu meinem Kristalllayout wird geschätzt. Vielen Dank im Voraus.
NRST-Routing hört sich gut an. Was den Kristall betrifft - IMHO sieht er übertrieben aus. Ich habe funktionierende Boards mit einem 25-MHz-Quarz gesehen, die für alles eine einzige Masse verwenden, aber ich bin kein Spezialist. Außerdem wurde mir beigebracht, Kappen zwischen dem Kristall und der MCU zu platzieren, aber das ist nur Wissen, das in meinem Büro weitergegeben wird.

Antworten (2)

220 Ohm Pull-up auf NRST ist zu stark. Normalerweise gibt es überhaupt keinen Pull-up, da der Chip einen internen Pull-up enthält. Aber ich würde den Platz für den Widerstand lassen, aber nicht montieren, damit vielleicht später bei Bedarf ein 10k dort platziert werden kann.

Legen Sie nicht sowohl Pull-up als auch Pull-down auf den BOOT0-Pin. Wenn Sie den eingebauten Bootloader nicht verwenden möchten und nur über JTAG/SWD programmieren, können Sie einfach den BOOT0-Pin erden oder die 10k dort lassen.

Hallo Justme, danke für die Beantwortung dieses alten Threads. Für das Pull-up und das Pull-down für BOOT0 sind sie optional, und nur einer von ihnen wird platziert, ich beabsichtige nicht, beide zu platzieren. Aber trotzdem danke für den Hinweis. Und ich werde mir den internen Pull-up für den NRST-Pin ansehen, danke für deinen Rat!

Habe es nur kurz überflogen, aber zwei Dinge stören mich:

  • Was ist die gepunktete Linie auf der obersten Ebene um Ihre MCU herum? Es sieht aus wie eine Art Umriss von einer anderen Schicht, die irgendwie auf der Kupferschicht gelandet ist. Sie sollten es entfernen oder es wird Kurzschlüsse verursachen.

  • Auf dem analogen Teil scheint der Abstand zwischen einigen Spuren und (hauptsächlich) dem geerdeten Kupferguss sehr gering zu sein. Dies kann zu Problemen bei der Herstellung und auch zu Kurzschlüssen führen. Es sollte eine Einstellung in EAGLE geben, um den Mindestabstand der Netze (Spuren) zum Kupferguss zu definieren.

    Ich habe die betroffenen Bereiche mit gelben Kreisen markiert:

Layout mit hervorgehobenen Bereichen

Die gepunktete Linie zeigt einen Polygonumriss. Es wird behoben, sobald Eagle Pours/Polygone neu berechnet.
Hallo Marco, danke für deinen Beitrag. Die gestrichelte Linie ist das Polygon von EAGLE. Ich kann die Polygonlinie nicht irgendwie verstecken, also sind sie immer noch da. In der Bearbeitung habe ich das Vergrößern des MCU-Layouts hinzugefügt. Sie können sehen, dass die Polygone zum Trennen von Stromanschlüssen und der Stromebene verwendet werden. Sie erwähnten die Räumung von Spuren/Kupfer. Der Hersteller kann eine 5-Mil-Freigabe vornehmen, und ich habe 6 Mil im DRC eingestellt, nachdem ich den DRC ausgeführt hatte, gab es keine Fehler. Also ich glaube es ist in Ordnung. FYI. das Raster ist auf 25 mil als Skalar eingestellt.