Inhaltsverzeichnis:

Der unglaubliche STM32 L4! - Gunook
Der unglaubliche STM32 L4! - Gunook

Video: Der unglaubliche STM32 L4! - Gunook

Video: Der unglaubliche STM32 L4! - Gunook
Video: Необычный случай с Алексом Льюисом (документальный фильм о чудесном чуде) - Реальные истории 2024, November
Anonim
Image
Image
STM32F746G ENTDECKUNG
STM32F746G ENTDECKUNG

Ich möchte diesen Artikel beginnen und erklären, dass dieser Buchstabe L (von L4) Low (oder im Grunde genommen Ultra Low Power) bedeutet. Somit verbraucht es wenig Energie und zeigt, warum dieser STM32 unglaublich ist! Es verbraucht Mikroampere und verfügt über ein System, das die Kosten jedes Chipteils identifizieren kann. Dies ermöglicht ein sehr effizientes Energiemanagement bei hoher Leistung.

Über diesen Mikrocontroller habe ich bereits im Video „Der einfachste Weg, einen Mikrocontroller zu programmieren!“gesprochen. Im Video habe ich gezeigt, wie man den STM32 L4 mit MBED programmiert. Aber während ich mehr darüber recherchierte, entdeckte ich etwas, das der Hersteller STMicroelectronics nicht preisgibt. Es implementierte den Core Arduino in den Chip, der die Programmierung über die Arduino IDE ermöglicht.

In diesem Bild haben wir zwei Versionen von L4. Der STM32L432KC ist identisch mit dem Arduino Nano und dem STM32L476RG, die äquivalente IOs wie der Arduino Uno haben. Während ich mit zwei Versionen dieses leistungsstarken Mikrocontrollers arbeite, zeige ich Ihnen, wie Sie den Arduino Core in der STM32-Familie installieren. Außerdem werde ich die Hauptmerkmale der STM32-Kits erklären.

Schritt 1: Platten mit Core Arduino

Ich habe hier eine Liste über die Vielfalt platziert. Wir werden jedoch mit dem STM32L432KC und dem STM32L476RG arbeiten.

STM32F0

  • Nukleo F030R8
  • Nucleo F091RC
  • 32F0308ENTDECKUNG

STM32F1

  • BluePill F103C8 (Basisunterstützung, kein USB)
  • MapleMini F103CB (Basisunterstützung, kein USB)
  • Nucleo F103RB
  • STM32VLDISCOVERY

STM32F2

Nucleo F207ZG

STM32F3

  • Nucleo F302R8
  • Nucleo F303K8
  • Nucleo F303RE

STM32F4

  • Nucleo F401RE
  • Nucleo F411RE
  • Nukleo F429ZI
  • Nukleo F446RE
  • STM32F407G-DISC1

STM32F7

STM32F746G-ENTDECKUNG

STM32L0

  • Nucleo L031K6
  • Nucleo L053R8
  • B-L072Z-LRWAN1

STM32L1

Nucleo L152RE

STM32L4

  • Nucleo L432KC
  • Nucleo L476RG
  • NUCLEO-L496ZG-P
  • NUCLEO-L496ZG-P
  • B-L475E-IOT01A

Schritt 2: STM32F746G ENTDECKUNG

Nur zur Veranschaulichung zeige ich die Details eines STM32F746G DISCOVERY, das ich für ein Biest halte. Ich habe diesen Chip bereits bestellt und hoffe, bald darüber sprechen zu können.

Eigenschaften:

STM32F746NGH6 Mikrocontroller mit 1 MByte Flash-Speicher und 340 KByte RAM in einem BGA216-Gehäuse

  • Integrierter ST-LINK / V2-1 mit Unterstützung für USB-Re-Enumeration-Funktionen
  • Mbed-fähig (mbed.org)
  • USB-Funktionen: virtueller COM-Port, Massenspeicher und Debug-Port
  • 4,3 Zoll 480x272 Farb-LCD-TFT mit kapazitivem Touchscreen
  • Kameraanschluss
  • SAI-Audiocodec
  • Audio-Line-In- und Line-Out-Buchse
  • Stereo-Lautsprecherausgänge
  • Zwei ST MEMS-Mikrofone
  • SPDIF-Cinch-Eingangsanschluss
  • Zwei Drucktasten (Benutzer und Reset)
  • 128-Mbit-Quad-SPI-Flash-Speicher
  • 128-Mbit-SDRAM (64 Mbit zugänglich)
  • Anschluss für microSD-Karte
  • HF-EEPROM-Tochterplatinenanschluss
  • USB OTG HS mit Micro-AB-Anschlüssen
  • USB OTG FS mit Micro-AB-Anschlüssen
  • Ethernet-Anschluss gemäß IEEE-802.3-2002
  • Fünf Stromversorgungsoptionen:

- ST-LINK / V2-1

- USB-FS-Anschluss

- USB-HS-Anschluss

- VIN vom Arduino-Anschluss

- Externe 5 V vom Anschluss

Netzteilausgang für externe Anwendungen:

- 3,3 V oder 5 V

Arduino Uno V3-Anschlüsse

Schritt 3: Arduino Due X STM NUCLEO-L476RG

Arduino Due X STM NUCLEO-L476RG
Arduino Due X STM NUCLEO-L476RG

Hier ist ein Vergleich mit dem Arduino Due, einem ARM Cortex-M3. Ich habe dieses Modell in Videos verwendet: Nema 23 Stepper Motor with Driver TB6600 with Arduino Due und SpeedTest: Arduinos - ESP32 / 8266s - STM32, with STM NUCLEO-L476RG, ein ARM Cortex-M4 Ultra Low Power, und ist in das Bild auf der rechten Seite.

Arduino fällig:

Mikrocontroller: AT91SAM3X8E

Betriebsspannung: 3.3V

Eingangsspannung (empfohlen): 7-12V

Eingangsspannung (Grenzwerte): 6-16V

Digitale I/O-Pins: 54 (davon 12 PWM-Ausgang)

Analoge Eingangspins: 12

Analogausgangspins: 2 (DAC)

Gesamt-DC-Ausgangsstrom auf allen I/O-Leitungen: 130 mA

Gleichstrom für 3.3V Pin: 800 mA

Gleichstrom für 5V Pin: 800 mA

Flash-Speicher: 512 KB alle für die Benutzeranwendungen verfügbar

SRAM: 96 KB (zwei Bänke: 64 KB und 32 KB)

Taktfrequenz: 84 MHz

Länge: 101,52 mm

Breite: 53,3 mm

Gewicht: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 im LQFP64-Paket

ARM®32-Bit-Cortex®-M4-CPU

Adaptiver Echtzeitbeschleuniger

(ART Accelerator ™) ermöglicht die Ausführung des 0-Wartezustands vom Flash-Speicher

80 MHz maximale CPU-Frequenz

VDD von 1,71 V bis 3,6 V

1 MB Flash

128 KB SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) mit externer Interrupt-Fähigkeit

Kapazitive Erfassung mit 12 Kanälen

12-Bit-ADC (3) mit 16 Kanälen

12-Bit-DAC mit 2 Kanälen

FPU oder Gleitkommaeinheit

* Ich hebe hier die separate FPU von STM NUCLEO-L476RG hervor, was bedeutet, dass der Chip trigonometrische Berechnungen mit erstaunlicher Geschwindigkeit durchführt. Dies ist anders als beim Arduino Due, der dafür einen genetischen Prozessor benötigt.

Schritt 4: Drystone

Trockenstein
Trockenstein
Trockenstein
Trockenstein

Dhrystone ist ein 1984 von Reinhold P. Weicker entwickeltes synthetisches Computer-Benchmark-Programm, das repräsentativ für die (ganzzahlige) Systemprogrammierung sein soll. Dhrystone wurde zu einem Vertreter der Gesamtprozessorleistung (CPU). Der Name "Dhrystone" ist ein Wortspiel mit einem anderen Benchmark-Algorithmus namens Whetstone. Dies ist ein Maß aus einigen generischen Operationen.

Dieses Programm ist hier, um etwas in diesen Mikrocontrollern in Arduino zu kompilieren. Und das Ergebnis von zwei Tests, die ich durchgeführt habe, einer mit Dhrystone und einer aus dem SpeedTest-Video, ist wie folgt:

Arduino fällig: US $ 37,00

Dhrystone-Benchmark, Version 2.1 (Sprache: C)

Die Hinrichtung beginnt, 300.000 Läufe durch Dhrystone

Hinrichtung endet

Mikrosekunden für einen Lauf durch Dhrystone: 10,70

Dhrystones pro Sekunde: 93, 431,43

VAX-MIPS-Bewertung = 53,18 DMIPS

Lauftest Fernandok

Gesamtzeit: 2.458 ms

  • Hat keine FPU
  • Drystone-Software auf Arduino

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: US $ 23,00

Dhrystone-Benchmark, Version 2.1 (Sprache: C)

Die Hinrichtung beginnt, 300.000 Läufe durch Dhrystone

Ausführung endet

Mikrosekunden für einen Lauf durch Dhrystone: 9,63

Dhrystones pro Sekunde: 103, 794,59

VAX-MIPS-Bewertung = 59,07 DMIPS

Lauftest Fernandok

Gesamtzeit: 869 ms 2,8x SCHNELLER

  • PI bis 40Mbit/s, USART 10Mbit/s
  • 2x DMA (14 Kanäle)
  • Bis zu 80 MHz / 100 DMIPS mit ART Accelerator

Schritt 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Das linke Board ist das STM32L432KC, bei dem STMicroelectronics im rechten Bild die identische Arduino Nano-Pinbelegung platziert hat.

Schritt 6: STM32L432KC

STM32L432KC
STM32L432KC

Extrem stromsparender Arm® Cortex®-M4 32-Bit

MCU + FPU, 100DMIPS, bis zu 256KB Flash, 64KB SRAM, USB FS, analog, Audio

Bis zu 26 IOs schneller, toleranter gegenüber 5V

  • RTC mit HW-Kalender, Alarmen und Kalibrierung
  • Bis zu 3 kapazitive Erkennungskanäle
  • 11x Timer: 1x16-Bit erweiterte Motorsteuerung

1x 32-Bit und 2x 16-Bit Allzweck, 2x 16-Bit Basic, 2x Low-Power 16-Bit Timer (verfügbar im Stop-Modus), 2x Watchdogs, SysTick Timer

Speicher:

- Bis zu 256 KB Flash, proprietärer Code-Leseschutz

- 64 KB SRAM, davon 16 KB mit Hardware-Paritätsprüfung

- Quad-SPI-Speicherschnittstelle

Umfangreiche analoge Peripheriegeräte (unabhängige Versorgung)

- 1x 12-Bit-ADC 5 Msps, bis zu 16 Bit mit Hardware-Oversampling, 200 μA / Msps

- 2 Kanäle mit 12-Bit-DAC-Ausgang, geringer Stromverbrauch

- 1x Operationsverstärker mit eingebautem PGA

- 2x im Vergleich zu Ultra-Low-Power-Schnittstellen

- 1x USV (serielles Audiointerface)

- 2x I2C FM+ (1 Mbit/s), SMBus / PMBus

- 3x USARTs (ISO 7816, LIN, IrDA, Modem)

- 1x LPUART (Stop 2 Wake up)

- 2x SPI (und 1x SPI Quad)

- CAN (2.0B aktiv)

- Single Wire Protokoll Master SWPMI I / F

- IRTIM (Infrarot-Schnittstelle)

  • 14-Kanal-DMA-Controller
  • Zufallszahlengenerator

Schritt 7: Core Arduino für STM32L4-Karten installieren

Core Arduino für STM32L4-Karten installieren
Core Arduino für STM32L4-Karten installieren
  1. Installieren Sie das ST-Link-Programm, das aufzeichnet
  2. Json-Adresse
  3. Boards: Kartenmanager
  4. Bibliotheken: Bibliotheksmanager

Schritt 8: ST-Link installieren - Programm, das aufzeichnet

Installieren Sie ST-Link - Programm, das aufzeichnet
Installieren Sie ST-Link - Programm, das aufzeichnet

Laden Sie die Datei unter https://www.st.com/de/development-tools/stsw-link0… herunter. Registrieren Sie sich einfach, laden Sie das Gerät herunter und installieren Sie es.

Schritt 9: Adresse Json

Adresse Json
Adresse Json

Geben Sie bei Eigenschaften die folgende Adresse an:

github.com/stm32duino/BoardManagerFiles/ra…

Schritt 10: Boards: Board Manager

Vorstände: Vorstandsvorsitzender
Vorstände: Vorstandsvorsitzender

Installieren Sie im Arduino Board Manager den STM32 Core, der etwa 40 MB groß ist.

Schritt 11: Bibliotheken: Bibliotheksmanager

Bibliotheken: Bibliotheksmanager
Bibliotheken: Bibliotheksmanager

Installieren Sie abschließend die Bibliotheken.

Mir persönlich hat die Gruppe STM32duino.com gefallen, die mehrere Beispiele hat, von denen ich einige installiert habe. Ich habe auch ein FreeRTOS heruntergeladen, was mir sehr gut gefallen hat. Ich fand es schnell und zuverlässig. Ich habe auch LRWAN installiert (aber noch nicht getestet). Ich werde dir bald sagen, ob es gut ist oder nicht.

Schritt 12: PDF herunterladen

PDF

Empfohlen: