05. Arduino for Production!! How to Connect the ST-Link v2 to the ARM STM32 Microcontroller

05. Arduino für die Produktion!! Wie man den ST-Link v2 mit dem ARM STM32 Mikrocontroller verbindet

Vorherige Seite: Einführung in CoIDE

An dieser Stelle ist die IDE (Integrated Development Environment) Software installiert. Die Schnittstellensoftware, die mit dem USB-Anschluss verbunden ist, namens ST-link, wurde ebenfalls installiert. Wenn Sie die Software nicht installiert haben, folgen Sie den Links zu diesen Videos oder besuchen Sie newbiehack.com für weitere Informationen.

Für die Schaltkreise in diesen Videos werde ich eine solche Einrichtung verwenden, bei der der Mikrocontroller auf ein Breakoutboard gelötet ist.

Bild des STM32F0 Mikrocontrollers, der auf ein Breakoutboard gelötet ist

Das Breakoutboard ist mit drei Steckbrettern verbunden, die Zugang zu allen Pins bieten und auch zwei Verbindungsleisten für jeden Pin in Reihe bereitstellen. Sie können dieses Prototyping-Setup hier erhalten. In diesem Video werden wir die Steckbretter einrichten und die notwendigen Komponenten hinzufügen, um Programme von der IDE, vom Computer, auf diesen Mikrocontroller mit dem ST-Link zu übertragen. Das erste, was wir tun werden, ist, alle Stromschienen jedes Steckbretts miteinander zu verbinden, so dass wir Strom (positiv, das ist VCC) und negativ, das ist Masse, haben, damit wir den Mikrocontroller mit Strom versorgen können, indem wir den Strom an die entsprechenden Pins anschließen.

Dazu verbinden wir die positiven und negativen Anschlüsse jeder Steckbrett-Verbindungsleiste mit der nächsten, so dass der positive Anschluss zu dem positiven Anschluss auf jedem Steckbrett geht, der negative Anschluss zu dem negativen Anschluss auf jedem Steckbrett geht, also fangen wir an. Wir nehmen das erste Kabel, gehen vom negativen zum negativen auf der anderen Seite, und dann vom positiven hier zum positiven.

Bild der ersten beiden Stromleitungen (GND und VCC), die zwei der Steckbretter verbinden

Diese Seite ist fertig, jetzt machen wir die andere Seite und verbinden diese beiden Stromschienen miteinander. Wir beginnen mit dem Negativen, das ist Masse, zum Negativen auf der anderen Stromschiene, und dann vom Positiven zurück zum Positiven. Sie sollten sicherstellen, dass sich die beiden Kabel nicht berühren. Ich werde diese ein wenig auseinanderbewegen, nur für den Fall.

Nun müssen wir herausfinden, welche dieser Pins an Masse und VCC angeschlossen werden müssen. Dazu verwenden wir ein STM32 F030-Spickzettel, das beschreibt, was jeder Pin auf diesem Breakout-Board macht. Sie finden das erste Video, das die ARM-Entwicklung erklärt, scrollen Sie nach unten und Sie sehen das Diagramm. Verwenden Sie die Bildlaufleisten, um das gesamte Diagramm sehen zu können. Links im Diagramm finden Sie die Pins 1 bis 30, dann 31, 32, 33, 34 unten. Rechts finden Sie die restlichen Pins, 35 bis 64. Sehen wir uns also an, welche Pins mit Stromversorgung verbunden sind, damit wir den Mikrocontroller mit Strom versorgen können. Wir sehen bereits, dass Pin Nr. 1 mit der Stromversorgung, der digitalen Stromversorgung VDD, verbunden ist, also schließen wir diesen an. Wie im Diagramm befindet sich Pin Nr. 1 an der Ecke des Breakout-Boards.

Wir werden zuerst diese beiden Anschlussleisten miteinander verbinden; das ist mit Pin Nr. 1 verbunden.

Bild des Pins

Jetzt wollen wir den Pin Nr. 1 dieser Anschlussleiste nehmen und ihn an Plus legen. Vorsichtshalber werde ich einen Entkopplungskondensator mit 0,1 Mikrofarad hinzufügen. Im Allgemeinen werde ich diesen neben alle Strom- und Masseanschlüsse legen und im Allgemeinen so nah wie möglich am Chip, aber in diesem Fall gibt es nur eine einzige VDD und keine Masse daneben, also platziere ich ihn an der nächstgelegenen Stelle, die ich zu Masse und Strom finde.

Image of pin

Auf dem STM32 F030 Spickzettel sehen wir, dass an den Pins 12 und 13 Masse- und Versorgungsspannungs-Pins vorhanden sind, aber diese sind VSSA (Masse) und VDDA (Versorgungsspannung), jedoch für den Analog-Digital-Wandler. Wir werden zu diesem Zeitpunkt nichts an diese Pins anschließen, da wir den Analog-Digital-Wandler nicht verwenden werden. Wenn wir nach unten scrollen, sehen wir, dass Pin 31 VSS (Masse) und Pin 32 dasselbe wie Pin 1 ist. Wir werden beide an die Stromschienen anschließen, Masse an den Minuspol und die VDD-Versorgung an den Pluspol. Genau wie bei Pin 31 werden wir die Anschlussleisten durch Verbinden miteinander verlängern (31 und 32).

Image of pins

Nehmen Sie den Pin 31 und verbinden Sie ihn mit der Minusleiste und Pin 32 geht zur Plusleiste.

Image of pins

Wieder verwenden wir den Bypass-Kondensator mit 0,01 uF und platzieren ihn zwischen den Strom- und Masse-Pins so nah wie möglich an der Platine. Der Kondensator überbrückt die Pins 31 und 32.

Image of a capacitor connecting across pins

Lassen Sie uns die andere Seite der Platine überprüfen, um zu sehen, ob es noch weitere gibt. Wir haben 63 und 64, Masse und positive Versorgung, also lassen Sie uns diese anschließen. Wir werden dasselbe mit den Anschlussleisten tun.

Bild der Pins 63 und 64 für die Stromversorgung am Breakout-Board

Bild der Pins 63 und 64, die ihre jeweiligen Anschlussleisten auf dem Steckbrett verbinden

63 ist Masse, also verbinden wir diesen mit der Masseleiste oder der negativen Leiste. 64 ist positiv, also verbinden wir diesen mit der Plusleiste.

Bild der Pins 63 und 64, die an die Stromschienen angeschlossen sind

Füge einen weiteren Kondensator zwischen Pin 63 und 64 hinzu.

Das Bild zeigt den 0,1-uF-Kondensator, der zwischen Pin 63 und 64 angeschlossen ist

Nun müssen wir den ST-Link v2 mit dem Mikrocontroller verbinden.

Bild des ST-Link v2 und der Pinbelegung der ST-Link v2 STM32 Schnittstelle.

Dies ermöglicht es uns, Programme auf den Mikrocontroller zu übertragen, indem wir dies als Schnittstelle zwischen Computer und Mikrocontroller nutzen. Der ST-Link wird mit einem Kabel geliefert, das an jedem Ende vier weibliche Header hat, die an vier Pins auf der Rückseite des ST-Links angeschlossen werden.

Das Kabel mit weiblichen Headern, das zum Anschluss des ST-Link v2 an den Mikrocontroller verwendet wird

Die Pins, die wir verwenden werden, sind SWCLK, SWDIO. SWCLK ist der Takt und SWDIO ist der Daten-Ein-/Ausgang. Wir werden die Masse (GND) und die 3,3V verwenden. Sie haben auch einen 5V-Anschluss, falls Sie ihn benötigen, der Ihnen die Möglichkeit gibt, 5V auf Ihrer Platine zu verwenden. Sie werden feststellen, dass es eine Kerbe gibt, die der Kerbe auf der linken Seite des Diagramms des ST-Links entspricht. Wir werden die auf der anderen Seite verwenden, und die Pins, die wir verwenden werden, sind die oberen rechten, von dieser Richtung aus betrachtet. Der erste, den wir verbinden werden, ist SWCLK, der Takt, und dafür verwenden wir das grüne Kabel.

Das erste SWCLK-Kabel, das an die Rückseite der ST-Link v2 Schnittstelle angeschlossen ist

Wir haben also das grüne Kabel an den ersten Pin angeschlossen und gehen nun der Reihe nach vor, also verwenden wir Blau für SWDIO.

Zweiter Pin-Anschluss von SWDIO an der Rückseite der ST-Link v2 Programmierschnittstelle

Der Masse-Pin ist als Nächstes dran, das ist der nächste Draht im Flachbandkabel, der violett ist.

Anschluss des weiblichen Headers an den 3.3V-Pin der ST-Link v2 Schnittstelle

Der letzte Pin ist 3,3V, die Stromversorgung, und dafür verwenden wir den letzten Pin, den grauen.

Anschluss des Masse-Pins am ST-Link v2

Nun sind alle unsere Header in die angeschlossenen Pins eingesetzt. Wir können die andere Seite an die entsprechenden Pins auf dem Steckbrett stecken, aber zuerst müssen wir diese Pins männlich machen, damit wir sie in das Steckbrett stecken können. Ich werde eine Headerleiste verwenden und für jeden weiblichen Header einen abbrechen.

Bild einer Reihe von männlichen Header-Pins, die verwendet werden, um weibliche Header in männliche Header umzuwandeln

Ich muss dies vorbereiten, damit ich genügend Metall habe, um in das Steckbrett und fest in den weiblichen Header zu passen. Ich werde es einfach zwischen diese Zangen bringen und es gleichmäßig nach unten drücken. Wenn alle vier fertig sind, kann jeder in den weiblichen Header eingesetzt werden.

Bild, das den männlichen Header zeigt, der in den weiblichen Header eingesetzt ist

Sie sitzen jetzt fest, so dass sie problemlos halten sollten. Nun müssen wir herausfinden, wo wir diese in das Steckbrett stecken müssen.

Die einzigen Pins, die wir wirklich finden müssen, sind für SWCLK und SWDIO. Schauen wir uns an, wo wir sie finden können. SWCLK ist an Pin 49 und SWDIO ist an Pin 46. Wir müssen uns nicht wirklich um Masse und 3,3V kümmern, da wir diese ohnehin in die Stromschienen stecken werden, so dass der 3,3V-Pin an die Plus-Schiene und Masse an die Minus-Schiene geht. SWCLK, das ist mein grünes Kabel, ist mit Pin 49 verbunden, und SWDIO, das ist mein blaues Kabel, ist an Pin 46.

Die SWDIO- und SWCLK-Kabel von der ST-Link v2 Schnittstelle, die mit den entsprechenden STM32-Mikrocontroller-Pins 46 und 49 auf dem Steckbrett verbunden sind

Das Hochziehen und Herunterziehen dieser beiden Pins (im nächsten Absatz erwähnt) ist möglicherweise nicht notwendig. Verwenden Sie diese Technik nur, wenn Sie Probleme beim Hochladen von Code auf den Mikrocontroller haben. Dieser Zustand wird intern im Mikrocontroller behoben.

Da SWDIO und SWCLK schwebende Pins sind, müssen sie extern hoch- oder heruntergezogen werden. Für SWCLK muss dieser Pin heruntergezogen werden. Zuerst werde ich einen Widerstand an jeden Pin anbringen. Was ich tue, ist, diese Anschlussleiste vom Pin auf dem Breakoutboard zu nehmen und mit einem Widerstand zur nächsten Anschlussleiste zu springen. Da diese Anschlussleisten nicht verbunden sind, kann ich einen Widerstand darüber legen, und jetzt habe ich einen Widerstand zwischen dieser Anschlussleiste und dieser Anschlussleiste. Jetzt müssen wir nur noch diese Anschlussleisten an die entsprechende Stromschiene anschließen, um diese eine niedrig und diese eine hoch zu machen. Wir beginnen mit SWCLK und machen diese niedrig. Wir platzieren sie auf der Anschlussleiste, und dann geht der nächste Pin zur negativen Schiene. Nun für SWDIO platzieren wir das zuerst auf dem Positiven und dann auf der Anschlussleiste für SWDIO. SWCLK hat einen Widerstand und ist mit niedrig verbunden, und SWDIO hat einen Widerstand und ist mit hoch, also 3,3V, verbunden.

Jetzt nehmen wir die restlichen Kabel, nämlich Masse und 3,3V. Masse war das violette und 3,3V war das graue. Wir verbinden diese mit der Stromschiene. Wir nehmen Masse (violett) und platzieren es auf der negativen Schiene, und 3,3V (grau) und platzieren es auf der positiven Schiene.

Die 3,3V- und Massekabel von der ST-Link v2 Schnittstelle, die mit den Masse- und VCC-Stromschienen auf dem Steckbrett verbunden sind

Wir haben alles angeschlossen, was wir brauchen, um mit dem Mikrocontroller zu kommunizieren und Programme an ihn zu senden, aber wir haben nichts auf der Platine hinzugefügt, das uns mitteilt, dass das Programm funktioniert. Wir werden eine LED an einen der Pins anschließen und die LED durch Steuerung dieses bestimmten Pins ein- und ausschalten. Für die einfache Funktion des Ein- und Ausschaltens einer LED werde ich Pin PC6 wählen, der mit Pin 37 auf dem Breakout-Board verbunden ist. Da LEDs Widerstände benötigen, werde ich einen 330-Ohm-Widerstand über die beiden Anschlussleisten legen, die mit Pin 37 verbunden sind.

Der 330-Ohm-Widerstand, der über die beiden mit Pin 37 PORTC Pin 6 verbundenen Anschlüsse geht

Die LED wird von dieser Klemme mit der Masse verbunden, denn wenn der Pin mit Strom versorgt wird, befindet er sich auf der positiven Seite der LED und die negative Seite der LED befindet sich an Masse. Die Masse-Seite der LED ist die Seite der LED, die die flache Seite hat.

Bild der LED, die von der Klemmenleiste verbunden ist, die mit Pin 37 des STM-Mikrocontrollers ausgerichtet ist

Die flache Seite der Erdungsseite ist die Kathode, und die andere Seite, die positive Seite, ist die Anode. Damit ist der Schaltungsaufbau für das erste Projekt abgeschlossen, wobei die ST-Link-Schnittstelle mit dem Mikrocontroller verbunden und ein Gerät angeschlossen wird, um die Funktion unseres Programms zu sehen.

[[TUTORIALMENU(tutorial-arm" frameborder="0" allowfullscreen>

Zurück zum Blog

Hinterlasse einen Kommentar