Indholdsfortegnelse:

The Incredible STM32 L4 !: 12 trin
The Incredible STM32 L4 !: 12 trin

Video: The Incredible STM32 L4 !: 12 trin

Video: The Incredible STM32 L4 !: 12 trin
Video: STM32 Embedded 101: RCC Enable registers 2024, November
Anonim
Image
Image
STM32F746G DISCOVERY
STM32F746G DISCOVERY

Jeg vil starte denne artikel med at forklare, at dette bogstav L (i L4) betyder Lav (eller i bund og grund Ultra Low Power). Således bruger den lidt energi og viser, hvorfor denne STM32 er utrolig! Det bruger mikroampere og har et system indeni, der kan identificere udgifterne til hver chipdel. Dette giver mulighed for en meget effektiv styring af energi og med høj ydelse.

Jeg talte allerede om denne mikrokontroller i videoen, "Den nemmeste måde at programmere en mikrokontroller på!" I videoen viste jeg, hvordan man programmerer STM32 L4 med MBED. Men mens jeg undersøgte mere om det, opdagede jeg noget, som producenten STMicroelectronics ikke oplyser. Det implementerede Core Arduino i chippen, som muliggør programmering gennem Arduino IDE.

I dette billede har vi to versioner af L4. STM32L432KC er identisk med Arduino Nano og STM32L476RG, som har ækvivalente IO'er til Arduino Uno. Så mens jeg arbejder med to versioner af denne kraftfulde mikrokontroller, viser jeg dig, hvordan du installerer Arduino Core i STM32 -familien. Jeg vil også forklare de vigtigste egenskaber ved STM32 -kittene.

Trin 1: Plader med Core Arduino

Jeg placerede her en liste om mangfoldigheden. Vi kommer dog til at arbejde med STM32L432KC og STM32L476RG.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308DISCOVERY

STM32F1

  • BluePill F103C8 (Grundlæggende support, ingen USB)
  • MapleMini F103CB (Grundlæggende support, ingen USB)
  • Nucleo F103RB
  • STM32VLDISCOVERY

STM32F2

Nucleo F207ZG

STM32F3

  • Nucleo F302R8
  • Nucleo F303K8
  • Nucleo F303RE

STM32F4

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

STM32F7

STM32F746G-DISCOVERY

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

Trin 2: STM32F746G DISCOVERY

Bare for at illustrere, viser jeg detaljerne i en STM32F746G DISCOVERY, som jeg betragter som et dyr. Jeg har allerede bestilt denne chip, og jeg håber snart at tale om den.

Egenskaber:

STM32F746NGH6 mikrokontroller med 1 Mbytes Flash -hukommelse og 340 Kbyte RAM i en BGA216 -pakke

  • Indbygget ST-LINK / V2-1 understøtter USB-genopregningsfunktioner
  • Mbed-aktiveret (mbed.org)
  • USB -funktioner: virtuel COM -port, masselagring og fejlfindingsport
  • 4,3 tommer 480x272 farve LCD-TFT med kapacitiv berøringsskærm
  • Kamera stik
  • SAI lyd codec
  • Lydindgang og linjeudgang
  • Stereohøjttalerudgange
  • To ST MEMS mikrofoner
  • SPDIF RCA -indgangsstik
  • To trykknapper (bruger og nulstilling)
  • 128-Mbit Quad-SPI Flash-hukommelse
  • 128-Mbit SDRAM (64 Mbits tilgængelig)
  • Stik til microSD -kort
  • RF-EEPROM datterkort stik
  • USB OTG HS med Micro-AB stik
  • USB OTG FS med Micro-AB stik
  • Ethernet-stik kompatibelt med IEEE-802.3-2002
  • Fem muligheder for strømforsyning:

- ST LINK / V2-1

- USB FS -stik

- USB HS -stik

- VIN fra Arduino stik

- Ekstern 5 V fra stik

Strømforsyningsoutput til eksterne applikationer:

- 3,3 V eller 5 V

Arduino Uno V3 stik

Trin 3: Arduino Due X STM NUCLEO-L476RG

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

Her er en sammenligning med Arduino Due, som er en ARM Cortex-M3. Jeg har brugt denne model i videoer: Nema 23 Stepper Motor med Driver TB6600 med Arduino Due, og SpeedTest: Arduinos - ESP32 / 8266s - STM32, med STM NUCLEO -L476RG, som er en ARM Cortex -M4 Ultra Low Power, og er i billedet i højre side.

Arduino Due:

Mikrocontroller: AT91SAM3X8E

Driftsspænding: 3,3V

Indgangsspænding (anbefalet): 7-12V

Indgangsspænding (grænser): 6-16V

Digitale I / O -pins: 54 (heraf 12 med PWM -output)

Analoge indgangsstifter: 12

Analoge udgangsstifter: 2 (DAC)

Samlet DC -udgangsstrøm på alle I / O -linjer: 130 mA

DC -strøm til 3.3V Pin: 800 mA

DC -strøm til 5V Pin: 800 mA

Flashhukommelse: 512 KB alle tilgængelige til brugerapplikationer

SRAM: 96 KB (to banker: 64KB og 32KB)

Urhastighed: 84 MHz

Længde: 101,52 mm

Bredde: 53,3 mm

Vægt: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 i LQFP64 -pakken

ARM®32-bit Cortex®-M4 CPU

Adaptiv real-time accelerator

(ART Accelerator ™), der tillader 0-ventetidstilstandsudførelse fra Flash-hukommelse

80 MHz maks. CPU -frekvens

VDD fra 1,71 V til 3,6 V

1 MB Flash

128 KB SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) med ekstern afbrydelse

Kapacitiv registrering med 12 kanaler

12-bit ADC (3) med 16 kanaler

12-bit DAC med 2 kanaler

FPU eller Floating Point Unit

* Jeg fremhæver her den separate FPU for STM NUCLEO-L476RG, hvilket betyder, at chippen foretager trigonometriske beregninger med fantastisk hastighed. Dette er i modsætning til Arduino Due, som har brug for en genetisk processor til at gøre det.

Trin 4: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone er et syntetisk computer benchmark -program udviklet i 1984 af Reinhold P. Weicker, som er beregnet til at være repræsentativ for (heltal) systemprogrammering. Dhrystone blev en repræsentant for den samlede processorydelse (CPU). Navnet "Dhrystone" er et ordspil på en anden benchmark -algoritme kaldet Whetstone. Dette er en foranstaltning taget fra nogle generiske operationer.

Dette program er her for at kompilere noget inde i disse mikrokontrollere i Arduino. Og resultatet af to tests, jeg lavede, en med Dhrystone og en anden fra SpeedTest -videoen, er som følger:

Arduino Due: 37,00 US $

Dhrystone Benchmark, Version 2.1 (Sprog: C)

Henrettelsen starter, 300.000 løber gennem Dhrystone

Henrettelsen slutter

Mikrosekunder for et løb gennem Dhrystone: 10.70

Dhrystones pr. Sekund: 93, 431,43

VAX MIPS rating = 53,18 DMIPS

Løbetest Fernandok

Samlet tid: 2, 458 ms

  • Har ikke FPU
  • Dhrystone -software på Arduino

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23,00 US $

Dhrystone Benchmark, Version 2.1 (Sprog: C)

Henrettelsen starter, 300.000 løber gennem Dhrystone

Henrettelsen slutter

Mikrosekunder for et løb gennem Dhrystone: 9.63

Dhrystones pr. Sekund: 103, 794,59

VAX MIPS rating = 59,07 DMIPS

Løbetest Fernandok

Samlet tid: 869 ms 2,8x HURTIGER

  • PI op til 40 Mbit / s, USART 10 Mbit / s
  • 2x DMA (14 kanaler)
  • Op til 80 MHz / 100 DMIPS med ART Accelerator

Trin 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Det venstre bord er STM32L432KC, hvor STMicroelectronics placerede den samme Arduino Nano pinout på billedet til højre.

Trin 6: STM32L432KC

STM32L432KC
STM32L432KC

Ultra-low-power Arm® Cortex®-M4 32-bit

MCU + FPU, 100DMIPS, op til 256KB Flash, 64KB SRAM, USB FS, analog, lyd

Op til 26 IO'er hurtigere, mere tolerante over for 5V

  • RTC med varmekalender, alarmer og kalibrering
  • Op til 3 kapacitive detektionskanaler
  • 11x timere: 1x16-bit avanceret motorstyring

1x 32-bit og 2x 16-bit generelt formål, 2x 16-bit basic, 2x low-power 16-bit timere (fås i stoptilstand), 2x vagthunde, SysTick-timer

Hukommelse:

- Op til 256 KB Flash, proprietær kodelæsningsbeskyttelse

- 64 KB SRAM inklusive 16 KB med hardware paritetskontrol

- Quad SPI -hukommelsesgrænseflade

Rige analoge periferiudstyr (uafhængig forsyning)

- 1x 12-bit ADC 5 Msps, op til 16 bits med hardwareoversampling, 200 μA / Msps

- 2 kanaler med 12-bit DAC-output, lavt strømforbrug

- 1x operationsforstærker med indbygget PGA

- 2x sammenlignet med ultra-low power interfaces

- 1x UPS (seriel lydgrænseflade)

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

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

- 1x LPUART (Stop 2 vågne)

- 2x SPI (og 1x SPI Quad)

- CAN (2.0B aktiv)

- Single wire protocol master SWPMI I / F

- IRTIM (infrarød grænseflade)

  • 14-kanals DMA-controller
  • Tilfældig talgenerator

Trin 7: Installer Core Arduino til STM32L4 -kort

Installer Core Arduino til STM32L4 -kort
Installer Core Arduino til STM32L4 -kort
  1. Installer ST-Link-program, der optager
  2. Json -adresse
  3. Tavler: Kortchef
  4. Biblioteker: Bibliotekschef

Trin 8: Installer ST -Link - Program, der optager

Installer ST -Link - Program, der optager
Installer ST -Link - Program, der optager

Download filen på https://www.st.com/en/development-tools/stsw-link0…. Bare registrer, download og installer enheden.

Trin 9: Adresse til Json

Adresse Json
Adresse Json

Medtag følgende adresse på ejendomme:

github.com/stm32duino/BoardManagerFiles/ra…

Trin 10: Bestyrelser: Bestyrelsesleder

Bestyrelser: Bestyrelseschef
Bestyrelser: Bestyrelseschef

I Arduino Board Manager skal du installere STM32 Core, som er cirka 40 MB.

Trin 11: Biblioteker: Library Manager

Biblioteker: Bibliotekschef
Biblioteker: Bibliotekschef

Til sidst skal du installere bibliotekerne.

Jeg kunne personligt lide gruppen STM32duino.com, som har flere eksempler, hvoraf nogle installerede jeg. Jeg downloadede også en FreeRTOS, som jeg kunne lide meget. Jeg fandt det hurtigt og pålideligt. Jeg har også installeret (men endnu ikke testet) LRWAN. Jeg vil snart fortælle dig, om det er godt eller ej.

Trin 12: Download PDF

PDF

Anbefalede: