STM32-Übung von Grund auf 08: Schematische Darstellung der STM32-Hauptsteuerung
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Da der Lehrer jeden Pin verwendetEinstufungIch habe den Schaltplan des Mikrocontrollers, den ich verwendet habe, nicht gefundenin OrdnungDas Layout ist nicht geeignet, um Screenshots jedes Moduls einzeln anzuzeigen. Daher wird in diesem Teil das schematische Diagramm des Lehrers verwendet.
1. Stromversorgung
1.1 Einführung in die Stromversorgung
1.1.1 Digitale Stromversorgung und Masse (VDD und VSS)
digitale Macht Die Pins versorgen alle digitalen Schaltungsteile mit Spannung. Zu diesen digitalen Schaltkreisen gehören:
- Prozessorkern: Anweisungen ausführen und Daten verarbeiten.
- Erinnerung: Einschließlich Flash und SRAM, die zum Speichern von Programmen und Daten verwendet werden.
- Digitale Peripheriegeräte: Einschließlich GPIO, UART, SPI, I2C, TIMER usw., die für verschiedene digitale Kommunikation und Steuerung verwendet werden.
- Interner Oszillator: Erzeugt Taktsignale zur Ansteuerung des Prozessors und anderer Peripheriegeräte.
digitalDie Pins bilden den Massebezugspunkt für alle digitalen Schaltungsteile, einschließlich:
- Der gesamte über VDD zugeführte Strom fließt schließlich zu VSS zurück und bildet eine vollständige Stromschleife.
- Beim PCB-Design sind alle VSS-Pins normalerweise mit einer gemeinsamen Masseebene verbunden, um elektrisches Rauschen und Interferenzen zu reduzieren.
1.1.2 Analoge Stromversorgung und Masse (VDDA und VSSA)
Analoge Stromversorgung Die Pins versorgen alle analogen Schaltungsteile mit Spannung. umfassen vor allem:
- ADC (Analog-Digital-Wandler): Wandeln Sie analoge Signale in digitale Signale um.
- DAC (Digital-Analog-Wandler): Wandeln Sie digitale Signale in analoge Signale um.
- Interne Referenzspannungsquelle: Stellen Sie ADC und DAC eine stabile Referenzspannung zur Verfügung, um die Konvertierungsgenauigkeit sicherzustellen.
AnalogDie Pins stellen die Massebezugspunkte für alle analogen Schaltungsteile bereit, einschließlich:
- Wie bei VSS fließt der gesamte über VDDA zugeführte Strom schließlich zu VSSA zurück, um eine vollständige Stromschleife zu bilden.
1.1.3 Unterschiede und Zusammenhänge zwischen den beiden Netzteilen
Digitale Schaltkreise erzeugen normalerweise hochfrequentes Schaltrauschen. Wenn diese Geräusche analoge Schaltkreise direkt stören, führen sie zu Instabilität und verringerter Genauigkeit der analogen Signale. Daher kann die Verwendung separater analoger Netzteile und Erdungen diese Störungen reduzieren.
Analoge Schaltkreise erfordern eine sehr saubere, stabile Stromversorgung, um eine genaue Signalverarbeitung zu gewährleisten. Daher wird VDDA häufig durch zusätzliche Filterschaltungen entkoppelt.
Um die Interferenz von hochfrequentem Rauschen, das von digitalen Schaltkreisen erzeugt wird, auf analoge Schaltkreise zu reduzieren, werden VSSA und VSS im PCB-Design normalerweise separat verarbeitet und nur an einem einzigen Punkt verbunden, normalerweise in der Nähe des Stromeingangs.
1.2 Einführung in die Filterung
Stellen Sie die 3,3-V-Stromversorgung für den Mikrocontroller vor.
(1) 120R Magnetperlen
- Wirkung: Magnetkügelchen sind eine hochfrequente Impedanzkomponente, die in Reihe an die Stromleitung angeschlossen ist.Verhindert die Ausbreitung hochfrequenter Geräusche entlang von Stromleitungen.
- Prinzip: Magnetkügelchen weisen bei Gleich- und niederfrequenten Wechselstromsignalen eine niedrige Impedanz auf, bei hohen Frequenzen jedoch eine hohe Impedanz, wodurch hochfrequentes Rauschen herausgefiltert wird.
- wählen: 120-Ω-Ferritperlen werden typischerweise zur Rauschunterdrückung im Mittelfrequenzbereich verwendet. Es bietet eine ausreichende Impedanz im Hochfrequenzbereich, um Geräusche zu dämpfen.
(2) 10µF-Kondensator
- Wirkung: 10µF-Kondensator zur Niederfrequenzfilterung,Glatte Gleichspannung, wodurch Schwankungen der Stromversorgung bei niedrigeren Frequenzen vermieden werden.
- Prinzip: Größere Kapazitätswerte haben bei niedrigen Frequenzen eine geringere Impedanz, wodurch die Gleichspannung effektiv geglättet und niederfrequentes Rauschen herausgefiltert werden kann.
- Standort: 10-µF-Kondensatoren werden typischerweise am Stromeingang platziert, um die Spannung im Stromnetz zu glätten.
(3) 0,1µF-Kondensator
- Wirkung: 0,1µF-Kondensator zur Hochfrequenzfilterung,Unterdrückt hochfrequentes Rauschen und Störspitzen.
- Prinzip: Kleinere Kapazitätswerte haben bei hohen Frequenzen eine geringere Impedanz und können hochfrequentes Rauschen und Störspitzen wirksam herausfiltern.
- Standort: 0,1-µF-Kondensatoren werden typischerweise in der Nähe jedes VDD/VDDA-Pins so nah wie möglich am IC platziert, um die effektivste Filterung von Hochfrequenzrauschen zu gewährleisten.
(4) 10nF-Kondensator
- Zusätzliche Filterbänder: In Kombination mit anderen Filterkondensatoren (10 µF, 0,1 µF) kann es einen größeren Frequenzbereich abdecken und eine vollständige Rauschunterdrückung der Stromversorgung für die analoge Stromversorgung bieten (wie oben erwähnt, muss die analoge Stromversorgung sehr rein sein). .
1.3 Schaltplan


1.4 Chen versteht (vielleicht kann nur ich es verstehen)
Digitale Signale (digitale Stromversorgung) wie Differenzsignale auf Signalleitungen, 1 ist 1, 0 ist 0, der Unterschied ist ziemlich groß, nicht leicht zu verwechseln, aber er ändert sich schnell, es gibt Interferenzen mit anderen Signalformen (hier bezieht sich auf). analoges Signal), daher wird zwischen digitalen Signalen und analogen Signalen unterschieden.
Zweitens sind analoge Signale nicht wie digitale Signale, bei denen 1 gleich 1 und 0 gleich 0 ist. Ihr Wert wird in die entsprechende Binärzahl umgewandelt, daher muss er genauer sein und die Filterung muss strenger sein.
2. Zurücksetzen
2.1 Arbeitsablauf
- Normaler Arbeitsstatus: Wenn die Reset-Taste nicht gedrückt wird, hält der Pull-up-Widerstand den RST-Pin auf High. Zu diesem Zeitpunkt befindet sich der Mikrocontroller im normalen Betriebszustand.
- Drücken Sie die Reset-Taste: Wenn die Reset-Taste gedrückt wird, wird der RST-Pin direkt auf Masse gezogen. Dadurch wird der Reset-Vorgang des Mikrocontrollers ausgelöst.
- Lassen Sie die Reset-Taste los: Wenn die Reset-Taste losgelassen wird, kehrt der RST-Pin über den Pull-up-Widerstand auf den hohen Pegel zurück. Entkopplungskondensatoren sind erforderlich, um vorübergehende Störungen während des Wiederherstellungsprozesses herauszufiltern (es gibt auch eine Entkopplung während des Pressvorgangs) und sicherzustellen, dass der RST-Pin stabil auf einen hohen Pegel zurückkehrt, damit der Mikrocontroller ordnungsgemäß aus dem Reset-Zustand starten kann.
2.2 Besondere Umstände
- Externe Einmischung: In einer Umgebung mit starken elektromagnetischen Störungen kann der Reset-Pin gestört werden, was zu einem falschen Reset führt. Durch geeignete Filterschaltungen (z. B. größere Kondensatoren oder niedrigere Pull-up-Widerstände) kann die Störfestigkeit weiter verbessert werden.
- Rücksetzzeit: Der Wert des Entkopplungskondensators bestimmt die Zeitkonstante des Reset-Signals. Eine größere Kapazität führt zu einer längeren Rücksetzzeit, sorgt aber für eine bessere Filterung niederfrequenter Störungen. Es muss entsprechend der tatsächlichen Anwendung ausgewählt werden.
2.3 Ich habe eine dumme Frage
Frage: Warum wird die Spannungsversorgung auf die digitale Spannungsversorgung VDD und nicht auf die analoge Spannungsversorgung VDDA hochgezogen?
Antwort:
1. Stabilität der Stromversorgung
VDD-Stabilität: VDD ist ein digitales Netzteil, das normalerweise direkt von einem Spannungsregler gespeist wird. Die Spannung ist relativ stabil und kann beim Einschalten schnell einen stabilen Wert erreichen. Die Rücksetzschaltung benötigt eine stabile Spannungsquelle, um die Zuverlässigkeit des Rücksetzsignals sicherzustellen.
VDDA hängt von VDD ab: VDDA ist eine analoge Stromversorgung, obwohl sie auch sehr stabil ist. In einigen Designs kann VDDA gefiltert und angepasst werden, um den Anforderungen analoger Schaltkreise gerecht zu werden, und die Startgeschwindigkeit und Stabilität kann geringfügig sein langsamer als VDD.
2. Die Auswirkung der Reset-Schaltung auf digitale Schaltkreise
Die Reset-Schaltung richtet sich hauptsächlich an digitale Schaltungen: Das Reset-Signal wird hauptsächlich zum Zurücksetzen der digitalen Schaltkreise im STM32 (einschließlich CPU und Peripheriegeräten) verwendet. Die Betriebsspannung digitaler Schaltkreise beträgt VDD, daher ist es sinnvoller, den Reset-Pin auf VDD zu ziehen.
3. Überlegungen zur Strombelastung der Stromversorgung
VDD-Stromfähigkeit: Die Stromversorgungskapazität des VDD-Netzteils ist in der Regel größer als die des VDDA, da es den gesamten digitalen Teil, einschließlich Prozessor, Speicher und Peripheriegeräte, mit Strom versorgt. Die Strombelastung des Pull-up-Widerstands hat einen minimalen Einfluss auf VDD.
Die Lastanforderungen des VDDA sind hoch: Das VDDA-Netzteil versorgt hauptsächlich analoge Teile (wie ADC, DAC usw.). Diese Schaltungen stellen höhere Anforderungen an die Welligkeit und das Rauschen des Netzteils. Der Anschluss eines Pull-up-Widerstands an VDDA kann zu unnötiger Belastung und Rauschen führen und die Leistung analoger Schaltkreise beeinträchtigen.
2.4 Schaltplan

3. BOOT-Start
3.1 Einführung
Die BOOT-Pins (BOOT0 und BOOT1) werden verwendet, um den Startmodus des Mikrocontrollers auszuwählen. Durch verschiedene Pin-Level-Kombinationen können verschiedene Startmodi ausgewählt werden, wie in der folgenden Abbildung dargestellt:

3.2 Schaltung

Führen Sie die BOOT0- und BOOT1-Pins des Mikrocontrollers durch die 2×3-Stiftleiste heraus.Pullovermütze Wählen Sie VDD_MCU (1) nach oben und GND (0) nach unten, um den Startmodus des Mikrocontrollers zu konfigurieren. Die vom Lehrer gewählte Startmethode ist: Booten vom integrierten SRAM, wie unten gezeigt.

4. Kristallschaltung
4.1 Warum benötigt STM32 zwei Quarzoszillatorschaltungen?
STM32-Mikrocontroller verwenden normalerweise zwei Quarzoszillatorschaltungen, um unterschiedliche Taktanforderungen zu erfüllen:
- Hauptquarzoszillatorschaltung (8 MHz): Wird zur Bereitstellung des Hauptsystemtakts (HSE, High-Speed External Clock) verwendet. Diese Taktquelle wird normalerweise für die Kernverarbeitungseinheit von Mikrocontrollern, Hochgeschwindigkeitsperipheriegeräte (wie USB, CAN usw.) und Funktionen verwendet, die hochpräzise Hochgeschwindigkeitstakte erfordern.
- Sekundäre Quarzoszillatorschaltung (32,768 kHz): Wird zur Bereitstellung eines Takts mit geringem Stromverbrauch (LSE, Low-Speed External Clock) verwendet. Diese Taktquelle wird normalerweise für Echtzeituhren (RTC, Real-Time Clock) und Timing-Funktionen in Energiesparmodi verwendet. Die Frequenz von 32,768 kHz ist genau richtig für die Zeitmessung, da sie bequem zur Erzeugung von Taktperioden von 1 Sekunde verwendet werden kann (32.768 ist 2 hoch 15, geeignet für binäres Zählen).
4.2 Warum sind die Frequenzen dieser beiden Quarzoszillatorschaltungen so?
Die Wahl von Quarzoszillatoren mit unterschiedlichen Frequenzen und Spezifikationen basiert hauptsächlich auf folgenden Gründen:
-
8-MHz-Quarzoszillator (Hauptquarzoszillator):
- Frequenzauswahl: 8 MHz ist eine häufig verwendete Hochfrequenz, die die Taktanforderungen des STM32-Kerns und der Hochgeschwindigkeitsperipheriegeräte erfüllen kann.
- Lastkapazität (22pF): Stellen Sie die Stabilität und Zuverlässigkeit des Quarzoszillators bei dieser Frequenz sicher. 22 pF ist ein üblicher Lastkapazitätswert, der zur Anpassung an die Lastanforderungen des Quarzoszillators verwendet wird.
-
32,768-kHz-Quarzoszillator (sekundärer Quarzoszillator):
- Frequenzauswahl: 32,768 kHz ist die Standardfrequenz des RTC-Quarzoszillators und eignet sich für Taktanwendungen mit geringem Stromverbrauch.
- Lastkapazität (10pF): Dieser Kondensator mit niedrigem Wert eignet sich für Niederfrequenz-Quarzoszillatoren, um eine stabile Schwingung bei niedrigen Frequenzen zu gewährleisten.
4.3 Wie funktioniert die Quarzoszillatorschaltung? (Es ist einfacher, die Probleme von 4.4 und 4.5 zu verstehen)
(1) Quarzoszillator beginnt zu schwingen
- Beim Einschalten beginnt der Quarzoszillator ein schwaches Schwingungssignal zu erzeugen.
- Dieses Signal gelangt über den OSC_IN-Pin in die interne Oszillatorschaltung des STM32.
(2) Anpassung der Lastkapazität
- Die Kondensatoren C1 und C2 arbeiten mit dem Quarz zusammen, um sicherzustellen, dass der Quarz mit seiner Nennfrequenz schwingt.
- Der Lastkapazitätswert wird normalerweise im Bereich von 10 pF bis 22 pF gewählt, der tatsächliche Wert sollte jedoch entsprechend der Quarzoszillatorspezifikation und der parasitären Kapazität der Leiterplatte angepasst werden.
(3) Signalverstärkung
- Die Oszillatorschaltung im STM32 verstärkt das schwache Eingangsschwingungssignal und erzeugt ein stabiles Taktsignal.
- Dieses stabile Taktsignal wird über den OSC_OUT-Pin ausgegeben und als Systemtakt für STM32 verwendet.
(4) Signalrückmeldung
- Die Oszillatorschaltung führt das verstärkte Schwingungssignal über den OSC_OUT-Pin zurück zur Quarzoszillatorschaltung, um die Schwingung des Quarzoszillators weiterhin aufrechtzuerhalten.
- Diese Rückkopplungsschleife stellt sicher, dass der Quarzoszillator weiterhin ein stabiles Oszillationssignal erzeugen kann.
(Jetzt verstehen Sie, dass es im Quarzoszillatorkreis eine Schleife gibt.)
4.4 Warum hat die Hauptkristalloszillatorschaltung OSC einen großen Widerstand? Hat es irgendeine Wirkung?
Die Hauptkristalloszillatorschaltung enthält einen großen 1-MΩ-Widerstand (normalerweise zwischen OSC_IN und OSC_OUT angeschlossen). Seine Hauptfunktionen sind wie folgt:
- Um Startschwierigkeiten vorzubeugen: Der große Widerstand stellt einen anfänglichen Rückkopplungspfad bereit, der dazu beiträgt, dass der Quarzoszillator beim Einschalten schnell startet und Startschwierigkeiten durch instabile Anfangsbedingungen vermieden werden.
- Stabile Schwingung: Ein großer Widerstand kann den Startvorgang des Oszillators stabilisieren und sicherstellen, dass der Oszillator nach dem Start schnell in einen stabilen Zustand gelangen kann.
(Einfach ausgedrückt bedeutet dies, schnell die in 4.3 erwähnte Stromschleife zu bilden.)
4.5 Warum hat die sekundäre Quarzoszillatorschaltung OSC32 keinen großen Widerstand?
Zu den Gründen, warum die sekundäre Quarzoszillatorschaltung normalerweise keinen großen Widerstand benötigt, gehören:
- Frequenz und Leistung sind niedrig: Der 32,768-kHz-Quarzoszillator arbeitet mit sehr niedriger Frequenz und Leistung und lässt sich relativ einfach starten, ohne dass zusätzliche Widerstände zur Starthilfe erforderlich sind.
- Design mit geringem Stromverbrauch: Die sekundäre Quarzoszillatorschaltung wird normalerweise in RTC- und Low-Power-Anwendungen verwendet. Das Hinzufügen eines großen Widerstands erhöht den Stromverbrauch und erfüllt nicht die Anforderungen eines Low-Power-Designs.
4.6 Schaltplan

5. RTC-Echtzeituhr
5.1 Funktion des VBAT-Pins
Der VBAT-Pin wird zur Stromversorgung der RTC und der Backup-Register verwendet, sodass die RTC weiterarbeiten kann, wenn die Hauptstromversorgung entfernt wird.
5.2 Gestaltungsprinzipien
- Hauptstromversorgung (VDD_MCU): Wenn die Hauptstromversorgung (VDD_MCU) mit Strom versorgt wird, ist die BAT54-C-Diode in Durchlassrichtung vorgespannt, der VBAT-Pin erhält über die Diode die Spannung von VDD_MCU und die RTC und das Backup-Register funktionieren normal.
- Notstromversorgung: Wenn die Hauptstromversorgung unterbrochen wird, verhindert die BAT54-C-Diode den umgekehrten Stromfluss. Das RTC und das Backup-Register können weiterhin über die Backup-Stromversorgung (z. B. eine Knopfbatterie) über den ZH1.25-2A-Anschluss mit Strom versorgt werden , um sicherzustellen, dass die RTC-Zeit und die Sicherungsdaten nicht verloren gehen.
5.3 Schematische Darstellung

5.3.1 Die Funktion der BAT54-C-Diode
- Garantierte Stromversorgung: Wenn die Hauptstromversorgung vorhanden ist, ist die Diode in Vorwärtsrichtung vorgespannt, um sicherzustellen, dass der VBAT-Pin eine stabile Spannungsversorgung empfängt dass das RTC weiterhin betrieben wird.
- Rückstrom verhindern: Stellen Sie sicher, dass beim Trennen der Hauptstromversorgung der Notstrom nicht zurück zum Hauptstromkreis fließt, um unnötigen Stromverbrauch und mögliche Schäden am Stromkreis zu vermeiden. Gleichzeitig ist sichergestellt, dass bei normaler Versorgung mit der Hauptstromversorgung der Strom des Chips nicht in die Backup-Batterie zurückfließt und Schäden verursacht.
5.3.2 Funktion des ZH1.25-2A-Steckers
- Notstromschnittstelle: Bietet eine Schnittstelle zum Anschluss an die Notstromversorgung und erleichtert so den Anschluss und Austausch von Batterien oder anderer Notstromversorgung.
- Stromversorgungspfad sicherstellen: Über den ZH1.25-2A-Anschluss kann die Notstromversorgung den VBAT-Pin zuverlässig mit Spannung versorgen, um sicherzustellen, dass die RTC-Stromversorgung nicht unterbrochen wird.
6. Flash-Chip
6.1 Chipfunktionen
In STM32-Mikrocontrollern wird normalerweise ein externer Flash-Speicher (wie der in diesem Projekt verwendete W25Q64JVSSIQ) zum Speichern von Firmware, Datenprotokollen oder anderen Anwendungen verwendet, die eine nichtflüchtige Speicherung erfordern.
6.1 Pin-Einführung und Schaltungsdesignkonzept
1. CS# (Chip-Auswahl):
- Design: Der CS#-Pin wird über den PA15-Pin gesteuert. Niedriger Pegel aktiviert den Chip, hoher Pegel schaltet den Chip aus.
- Prinzip: Wenn CS# auf niedrigem Niveau ist, ist der Flash-Chip ausgewählt und STM32 kann mit ihm kommunizieren; wenn CS# auf hohem Niveau ist, ist der Flash-Chip inaktiv. Da mehrere SPI-Geräte denselben SPI-Bus teilen können, können andere Geräte kommunizieren.
2. SO (Serieller Ausgang):
- Design: Der SO-Pin ist über den PB4-Pin (MISO, Master In Slave Out) mit dem STM32 verbunden.
- Prinzip: Wird zum Senden von Daten vom Flash-Chip an STM32 in der SPI-Kommunikation verwendet.
3. WP# (Schreibschutz):
- Design: Der WP#-Pin ist direkt mit der 3,3-V-Stromversorgung verbunden.
- Prinzip: Verbinden Sie WP# mit einem hohen Pegel (3,3 V), um die Schreibschutzfunktion zu deaktivieren und Schreibvorgänge zu ermöglichen.
4. GND (Masse):
- Design: Der GND-Pin ist mit Masse verbunden.
- Prinzip: Stellt den Stromkreis für den Chip bereit.
5. SI (Serieller Eingang):
- Design: Der SI-Pin ist über den PB5-Pin (MOSI, Master Out Slave In) mit dem STM32 verbunden.
- Prinzip: Wird zum Senden von Daten von STM32 an den Flash-Chip in der SPI-Kommunikation verwendet.
6. CLK (Uhr):
- Design: Der CLK-Pin ist über den PB3-Pin mit dem STM32 verbunden.
- Prinzip: Stellt ein Taktsignal für die SPI-Kommunikation bereit, das von STM32 generiert und gesteuert wird.
7. HALTEN3#:
- Design: Der HOLD3#-Pin ist mit der 3,3-V-Stromversorgung verbunden.
- Prinzip: Verbinden Sie HOLD3# mit einem hohen Pegel (3,3 V), um die Pausenfunktion zu deaktivieren und den Flash-Chip normal arbeiten zu lassen.
8. VCC (Stromversorgung):
- Design: Der VCC-Pin ist mit der 3,3-V-Stromversorgung verbunden.
- Prinzip: Stellen Sie die Betriebsspannung für den Flash-Chip bereit.
9. Stromfilterschaltung
- Design: Die 3,3-V-Stromversorgung ist über einen 0,1-uF-Kondensator mit Masse verbunden.
- Prinzip: Entkopplungskondensatoren werden verwendet, um hochfrequentes Rauschen auf der Stromleitung herauszufiltern, die Stromversorgung zu stabilisieren und den normalen Betrieb des Flash-Chips sicherzustellen.
6.2 Schaltungsbetrieb
- Ein: Das 3,3-V-Netzteil versorgt den Flash-Chip mit Strom und der Kondensator filtert Netzteilrauschen heraus.
- SPI-Kommunikation: STM32 kommuniziert mit dem Flash-Chip über die SPI-Schnittstelle (Pins PA15, PB3, PB4, PB5):
- PA15 steuert CS# und wählt den Chip aus.
- PB3 liefert das Taktsignal (CLK).
- PB5 sendet Daten an den Flash-Chip (MOSI).
- PB4 empfängt die Daten des Flash-Chips (MISO).
- Schreibschutz: WP# (in der Abbildung unten IO2) ist mit der hohen Ebene verbunden, um sicherzustellen, dass der Schreibvorgang nicht deaktiviert wird und das Schreiben von Daten erleichtert wird.
- Pausenfunktion: HOLD3# (das ist IO3 im Bild unten) ist mit High-Pegel verbunden, um die Pausenfunktion zu deaktivieren und den normalen Betrieb sicherzustellen.

6.3 Andere Entwurfsmethoden
- Hardware-Schreibschutz: Wenn Sie eine Hardware-Schreibschutzfunktion benötigen, können Sie den WP#-Pin mit einem GPIO-Pin von STM32 verbinden und den Schreibschutzstatus über Software steuern.
- Größeren Kondensator verwenden: In der Stromversorgungsfilterschaltung kann ein Kondensator mit größerer Kapazität (z. B. 1 uF oder 10 uF) verwendet werden, um die Versorgungsspannung entsprechend der tatsächlichen Situation weiter zu glätten.
- Pufferschaltung hinzufügen: In einer verrauschten Umgebung kann der SPI-Signalleitung eine Pufferschaltung hinzugefügt werden, um die Kommunikationszuverlässigkeit zu verbessern. (Spezifische Methoden: Verwendung von Pufferchips, Vorwiderständen, Kondensatorfilterung und Verwendung abgeschirmter Kabel.)
7. SWD-Debugging-Schnittstelle
SWD (Serial Wire Debug) ist eine Debugging- und Programmierschnittstelle, die in Mikrocontrollern der ARM Cortex-M-Serie weit verbreitet ist. Es ermöglicht effizientes Debuggen und Programmieren über zwei Datenleitungen (SWDIO und SWCLK) und hat folgende Funktionen:
- Debuggen und Programmieren: Die SWD-Schnittstelle ist eine Standardschnittstelle zum Debuggen und Programmieren von Mikrocontrollern. Dadurch können Sie Vorgänge wie Firmware-Download, Debugging, Haltepunkteinstellung, Variablenanzeige usw. ausführen.
- Vereinfachter Anschluss: Standardisierte Pins und Schnittstellen ermöglichen eine einfache Verbindung zum Debugger und vereinfachen so den Debugging- und Programmierprozess.
- Zuverlässige Kommunikation: Stellen Sie durch Pull-Up- und Pull-Down-Widerstände sicher, dass die Signalleitung im Ruhezustand einen stabilen Pegel hat, um Rauschstörungen zu vermeiden.
Dieser Teil der Schaltung in diesem Projekt besteht aus drei Teilen:
- HDR-M-2.54 1x5

- XYXH2.54-5A11

- Jianniu 2,54 mm 2x10 gerade

Diese drei Teile stellen alle SWD-Schnittstellen bereit, die Form und Verbindungsmethoden unterscheiden sich jedoch geringfügig.
7.1 HDR-M-2.54 1x5
7.1.1 Schaltplan

7.1.2 Funktionen und Prinzipien
- VCC und GND: Stellen Sie Strom- und Erdungskabel bereit, um sicherzustellen, dass der Debugger und STM32 über eine gemeinsame Stromreferenz verfügen.
- NRST: Wird zum externen Zurücksetzen von STM32 verwendet.Der Debugger kann den NRST-Pin steuernSTM32 zurücksetzen 。
- SWDIO (Serial Wire Debug-Ein-/Ausgang): Bidirektionale Datenleitung zur Übertragung von Debugging- und Programmierdaten.
- SWCLK (Serieller Wire Clock): Das vom Debugger generierte Taktsignal stellt eine Zeitreferenz für die SWD-Kommunikation bereit.
7.2 XYXH2.54-5A11
7.2.1 Schaltplan

7.2.2 Funktionen und Prinzipien
Dieses Teil hat die gleiche Funktion wie HDR-M-2.54 1x5, die Pins und Anschlussformen sind jedoch unterschiedlich.
7.3 Pull-Up- und Pull-Down-Widerstände
Warum Ersterer über Pull-Up- und Pull-Down-Widerstände verfügt, Letzterer jedoch nicht, wird wie folgt erklärt:
(1) Überlegungen zur Auswahl von Pull-up- und Pull-down-Widerständen
- Umgebungsgeräusche: Wenn das System in einer Umgebung mit hohem Rauschen betrieben wird, wird empfohlen, Pull-Up- und Pull-Down-Widerstände hinzuzufügen.
- Pin-Stabilität: Es muss sichergestellt werden, dass der Pin stabil bleibt, wenn der Debugger nicht angeschlossen oder aktiviert ist.
- Debugger-Funktionen: Einige Debugger verfügen intern über integrierte Pull-Up- und Pull-Down-Widerstände, auf externe Widerstände kann verzichtet werden.
(2) Warum verfügt HDR-M-2.54 1x5 über Pull-Up- und Pull-Down-Widerstände?
- Anwendbarkeit: Das HDR-M-2.54 1x5-Design umfasst Pull-Up- und Pull-Down-Widerstände, um sicherzustellen, dass der Pin stabil ist, wenn der Debugger nicht angeschlossen oder aktiviert ist.
- Verbessern Sie die Zuverlässigkeit: Die Pull-Up- und Pull-Down-Widerstände werden verwendet, um Fehlfunktionen zu vermeiden, die durch Rauschen verursacht werden, wenn der Debugger nicht angeschlossen ist oder der Debugger nicht betrieben wird, wodurch die Zuverlässigkeit des Systems verbessert wird.
spezifische Verbindung
- SWDIO (Pull-up): Der 10-kΩ-Widerstand zieht bis zu 3,3 V an, um sicherzustellen, dass der SWDIO-Pin hoch bleibt, wenn der Debugger nicht angeschlossen ist, um ein Schweben zu vermeiden.
- SWCLK (nach unten ziehen): Der 10-kΩ-Widerstand wird auf Masse gezogen, um sicherzustellen, dass der SWCLK-Pin niedrig bleibt, wenn der Debugger nicht angeschlossen ist, um ein Schweben zu vermeiden.
(3) Warum hat XYXH2.54-5A11 keine Pull-Up- und Pull-Down-Widerstände?
- Designvereinfachung: XYXH2.54-5A11 verzichtet aus Gründen der Einfachheit des Designs auf die Pull-Up- und Pull-Down-Widerstände und ermöglicht so mehr Flexibilität bei der Verwendung verschiedener Debugger.
- Hängt von der externen Schaltung ab: Bei einigen Designs kann dies der Fall seinMithilfe von Pull-Up- und Pull-Down-Widerständen auf dem Debugger oder der EntwicklungsplatineAnstatt es direkt in der Schnittstellenschaltung zu konfigurieren.
- Verschiedene Umgebungen: In einigen Anwendungsumgebungen kann davon ausgegangen werden, dass externe Störungen gering sind und der Bedarf an Pull-Up- und Pull-Down-Widerständen nicht groß ist, sodass sie weggelassen werden.
7,4 Jane Niu 2,54 mm 2x10 gerade
Ich muss hier erwähnen, dass es zum Debuggen zwei Debugging-Modi gibt.: JTAG-Modus und SWD-Modus. Ersteres verfügt über viele Schnittstellen und eignet sich besser für komplexe Hardware-Designs, während letzteres weniger Signalleitungen aufweist und für begrenzte eingebettete Systeme geeignet ist.hier reserviert Die JTAG-Schnittstelle (praktisch für spätere Verbesserungen) verwendet nur den SWD-Modus.
7.4.1 Schaltplan

7.4.2 Funktionen und Prinzipien
Das gleiche wie oben.
7.4.3 Erweiterung
Dieser Teil stellt eine Standard-JTAG-Schnittstellenform bereit, verwendet jedoch nur die für SWD erforderlichen Pins.Die verbleibenden unbenutzten Pins werden als nicht verbunden oder durchgestrichen markiert.
(1) Durchgestrichene Stecknadeln
-
TRST (Pin 3):
- Funktion: JTAG-Reset-Signal, das zum Zurücksetzen der JTAG-Debugging-Logik verwendet wird.
- Warum gegabelt: Im SWD-Modus wird der TRST-Pin nicht verwendet, da für den SWD-Modus kein separates JTAG-Reset-Signal erforderlich ist.
-
TDI (Pin 5):
- Funktion: JTAG-Testdateneingabe, zur Eingabe von Testdaten.
- Warum gegabelt: Im SWD-Modus wird der TDI-Pin nicht verwendet, da für den SWD-Modus kein separater Dateneingangspin erforderlich ist.
-
TDO/SWO (Pin 13):
- Funktion:
- TDO (Testdatenausgang): JTAG-Testdatenausgabe, die zur Ausgabe von Testdaten verwendet wird.
- SWO (Serieller Kabelausgang): Im SWD-Modus wird er als serieller Ausgang für die Ausgabe von Debugging-Informationen verwendet.
- Warum gegabelt: In einigen vereinfachten Designs ist der SWO-Pin unbenutzt oder nicht verbunden.
-
NC (Pins 9, 11, 15, 17):
- Funktion: Nicht verbunden, es ist keine bestimmte Funktion zugewiesen.
- Warum gegabelt: Diese Stifte werden in bestimmten Designs nicht verwendet.
(2) Erläuterung der Multiplex-Pins
Die gemultiplexten Pins (TMS/SWDIO, TCK/SWCLK) haben Doppelfunktionen und unterstützen sowohl JTAG- als auch SWD-Debugging-Protokolle. Die spezifischen Funktionen sind wie folgt:
-
TMS/SWDIO (Pin 7):
- TMS (Testmodusauswahl): Wird im JTAG-Modus zur Auswahl des Testmodus verwendet.
- SWDIO (Serial Wire Debug-Ein-/Ausgang): Im SWD-Modus dient es als bidirektionale Datenleitung zur Übertragung von Debugging- und Programmierdaten.
-
TCK/SWCLK (Pin 9):
- TCK (Testuhr): Wird im JTAG-Modus zur Bereitstellung eines Testtaktsignals verwendet.
- SWCLK (Serieller Wire Clock): Wird im SWD-Modus zur Bereitstellung eines seriellen Taktsignals verwendet.
(3) Nutzung von Wiederverwendungsfunktionen
Im tatsächlichen Einsatz wählen der Debugger und der Mikrocontroller basierend auf der Konfiguration das entsprechende Debug-Protokoll und die entsprechende Pin-Funktion aus. Zum Beispiel:
- Wenn der SWD-Modus ausgewählt ist, ist der TMS/SWDIO-Pin als SWDIO und der TCK/SWCLK-Pin als SWCLK konfiguriert.
- Wenn der JTAG-Modus ausgewählt ist, ist der TMS/SWDIO-Pin als TMS konfiguriert, der TCK/SWCLK-Pin ist als TCK konfiguriert und die TDI- und TDO-Pins können verwendet werden.
(4) Andere Hardware-Designlösungen
Neben den oben genannten Gestaltungsmöglichkeiten kommen noch weitere Gestaltungsmöglichkeiten in Betracht:
- Nur SWD-Schnittstelle: Wenn Sie nur die SWD-Debugging-Funktion benötigen, können Sie nur die SWDIO- und SWCLK-Pins behalten und die unnötigen JTAG-Pins sparen.
- Multifunktionale Schnittstelle: Entwerfen Sie eine multifunktionale Debugging-Schnittstelle, die JTAG und SWD gleichzeitig unterstützen und bei Bedarf umschalten kann.
- Onboard-Debugger: Entwerfen Sie einen integrierten Debugger wie ST-LINK, der direkt in das Entwicklungsboard integriert werden kann, um eine bequemere Debugging- und Programmierschnittstelle bereitzustellen.
(5) Andere Debugging-Modi
Neben den SWD- und JTAG-Modi gibt es noch mehrere weitere Debugging- und Programmiermodi:ISP, UART, I2C, SPIWarten.
8. STM32
Das Hauptereignis ist da, ich bin etwas nervös.