Innholdsfortegnelse:

The Incredible STM32 L4 !: 12 trinn
The Incredible STM32 L4 !: 12 trinn

Video: The Incredible STM32 L4 !: 12 trinn

Video: The Incredible STM32 L4 !: 12 trinn
Video: «Интернет вещей», Джеймс Уиттакер из Microsoft 2024, November
Anonim
Image
Image
STM32F746G OPPDAGELSE
STM32F746G OPPDAGELSE

Jeg vil starte denne artikkelen med å forklare at denne bokstaven L (i L4) betyr Low (eller i utgangspunktet Ultra Low Power). Dermed bruker den lite energi og viser hvorfor denne STM32 er utrolig! Den bruker mikroampere og har et system inne som kan identifisere bekostningen av hver brikkedel. Dette gir mulighet for en meget effektiv håndtering av energi, og med høy ytelse.

Jeg snakket allerede om denne mikrokontrolleren i videoen, "Den enkleste måten å programmere en mikrokontroller på!" I videoen viste jeg hvordan jeg programmerer STM32 L4 med MBED. Men mens jeg undersøkte mer om det, oppdaget jeg noe som produsenten STMicroelectronics ikke avslører. Den implementerte Core Arduino i brikken, som muliggjør programmering gjennom Arduino IDE.

I dette bildet har vi to versjoner av L4. STM32L432KC er identisk med Arduino Nano og STM32L476RG, som har tilsvarende IOer til Arduino Uno. Så mens du jobber med to versjoner av denne kraftige mikrokontrolleren, viser jeg deg hvordan du installerer Arduino Core i STM32 -familien. Jeg vil også forklare hovedtrekkene til STM32 -settene.

Trinn 1: Plater med kjerne Arduino

Jeg la ut en liste om mangfoldet her. Imidlertid skal vi jobbe med STM32L432KC og STM32L476RG.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308DISCOVERY

STM32F1

  • BluePill F103C8 (grunnleggende støtte, ingen USB)
  • MapleMini F103CB (grunnleggende støtte, 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

Trinn 2: STM32F746G DISCOVERY

Bare for å illustrere, viser jeg detaljene til en STM32F746G DISCOVERY, som jeg anser som et dyr. Jeg har allerede bestilt denne brikken, og jeg håper å snakke om den snart.

Kjennetegn:

STM32F746NGH6 mikrokontroller med 1 Mbyte Flash -minne og 340 Kbyte RAM i en BGA216 -pakke

  • Innebygd ST-LINK / V2-1 som støtter USB-regningskapasitet
  • Mbed-aktivert (mbed.org)
  • USB -funksjoner: virtuell COM -port, masselagring og feilsøkingsport
  • 4,3-tommers 480x272 farge LCD-TFT med kapasitiv berøringsskjerm
  • Kamerakontakt
  • SAI lydkodek
  • Lydkontakt for linje inn og linje ut
  • Stereohøyttalerutganger
  • To ST MEMS mikrofoner
  • SPDIF RCA -inngangskontakt
  • To trykknapper (bruker og tilbakestilling)
  • 128 Mbit Quad-SPI Flash-minne
  • 128 Mbit SDRAM (64 Mbits tilgjengelig)
  • Kontakt for microSD -kort
  • RF-EEPROM datterkortkontakt
  • USB OTG HS med Micro-AB-kontakter
  • USB OTG FS med Micro-AB-kontakter
  • Ethernet-kontakt kompatibel med IEEE-802.3-2002
  • Fem alternativer for strømforsyning:

- ST LINK / V2-1

- USB FS -kontakt

- USB HS -kontakt

- VIN fra Arduino -kontakt

- Ekstern 5 V fra kontakt

Strømforsyningsutgang for eksterne applikasjoner:

- 3,3 V eller 5 V

Arduino Uno V3 -kontakter

Trinn 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 brukt denne modellen i videoer: Nema 23 Stepper Motor with Driver TB6600 with Arduino Due, og SpeedTest: Arduinos - ESP32 / 8266s - STM32, with STM NUCLEO -L476RG, which is an ARM Cortex -M4 Ultra Low Power, and is in bildet på høyre side.

Arduino Due:

Mikrokontroller: AT91SAM3X8E

Driftsspenning: 3,3V

Inngangsspenning (anbefalt): 7-12V

Inngangsspenning (grenser): 6-16V

Digitale I / O -pinner: 54 (hvorav 12 gir PWM -utgang)

Analoge inngangspinner: 12

Analoge utgangspinner: 2 (DAC)

Total DC -utgangsstrøm på alle I / O -linjer: 130 mA

Likestrøm for 3.3V Pin: 800 mA

Likestrøm for 5V Pin: 800 mA

Flash -minne: 512 KB alt tilgjengelig for brukerapplikasjonene

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

Klokkehastighet: 84 MHz

Lengde: 101,52 mm

Bredde: 53,3 mm

Vekt: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 i LQFP64 -pakken

ARM®32-biters Cortex®-M4 CPU

Adaptiv sanntidsakselerator

(ART Accelerator ™) som tillater utførelse av 0-ventetid fra Flash-minne

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 avbrudd

Kapasitiv sansing med 12 kanaler

12-biters ADC (3) med 16 kanaler

12-biters DAC med 2 kanaler

FPU eller flytende punkt

* Jeg markerer her den separate FPUen til STM NUCLEO-L476RG, noe som betyr at brikken gjør trigonometriske beregninger med fantastisk fart. Dette er ulikt Arduino Due, som trenger en genetisk prosessor for å gjøre det.

Trinn 4: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone er et syntetisk datamaskin benchmark -program utviklet i 1984 av Reinhold P. Weicker, som er ment å være representativ for (heltall) systemprogrammering. Dhrystone ble en representant for den totale prosessorytelsen (CPU). Navnet "Dhrystone" er et ordspill på en annen referansealgoritme kalt Whetstone. Dette er et tiltak tatt fra noen generiske operasjoner.

Dette programmet er her for å kompilere noe inne i disse mikrokontrollerne i Arduino. Og resultatet av to tester jeg gjorde, en med Dhrystone og en annen fra SpeedTest -videoen, er som følger:

Arduino Due: 37,00 dollar

Dhrystone Benchmark, versjon 2.1 (språk: C)

Henrettelsen starter, 300 000 løper gjennom Dhrystone

Henrettelsen avsluttes

Mikrosekunder for ett løp gjennom Dhrystone: 10.70

Dhrystones per sekund: 93, 431,43

VAX MIPS -vurdering = 53,18 DMIPS

Løpetest Fernandok

Total tid: 2, 458 ms

  • Har ikke FPU
  • Dhrystone -programvare på Arduino

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23,00 dollar

Dhrystone Benchmark, versjon 2.1 (språk: C)

Henrettelsen starter, 300 000 løper gjennom Dhrystone

Henrettelsen avsluttes

Mikrosekunder for ett løp gjennom Dhrystone: 9.63

Dhrystones per sekund: 103, 794,59

VAX MIPS -vurdering = 59,07 DMIPS

Løpetest Fernandok

Total tid: 869 ms 2,8x RASKERE

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

Trinn 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Det venstre kortet er STM32L432KC, der STMicroelectronics plasserte den identiske Arduino Nano pinout på bildet til høyre.

Trinn 6: STM32L432KC

STM32L432KC
STM32L432KC

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

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

Opptil 26 IOer raskere, mer tolerante overfor 5V

  • RTC med HW -kalender, alarmer og kalibrering
  • Opptil 3 kapasitive deteksjonskanaler
  • 11x tidtakere: 1x16-bits avansert motorstyring

1x 32-biters og 2x 16-biters generelle formål, 2x 16-biters grunnleggende, 2x lavtidsforbrukende 16-biters (tilgjengelig i stoppmodus), 2x vakthunder, SysTick-timer

Hukommelse:

- Opptil 256 KB Flash, proprietær kodelesingsbeskyttelse

- 64 KB SRAM inkludert 16 KB med maskinvareparitetskontroll

- Quad SPI -minnegrensesnitt

Rike analoge eksterne enheter (uavhengig forsyning)

- 1x 12-biters ADC 5 Msps, opptil 16 bits med maskinvareoversampling, 200 μA / Msps

- 2 kanaler med 12-biters DAC-utgang, lavt strømforbruk

- 1x operasjonsforsterker med innebygd PGA

- 2x sammenlignet med ultralavgrensesnitt

- 1x UPS (serielt lydgrensesnitt)

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

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

- 1x LPUART (Stopp 2 våkne)

- 2x SPI (og 1x SPI Quad)

- KAN (2.0B aktiv)

- Enkeltrådsprotokollmester SWPMI I / F

- IRTIM (infrarødt grensesnitt)

  • 14-kanals DMA-kontroller
  • Tilfeldig tallgenerator

Trinn 7: Installer Core Arduino for STM32L4 -kort

Installer Core Arduino for STM32L4 -kort
Installer Core Arduino for STM32L4 -kort
  1. Installer ST-Link-programmet som tar opp
  2. Json -adresse
  3. Tavler: Kortsjef
  4. Biblioteker: Library Manager

Trinn 8: Installer ST -Link - Program som registrerer

Installer ST -Link - Program som registrerer
Installer ST -Link - Program som registrerer

Last ned filen på https://www.st.com/en/development-tools/stsw-link0…. Bare registrer, last ned og installer enheten.

Trinn 9: Adresse Json

Adresse Json
Adresse Json

Inkluder følgende adresse på eiendommer:

github.com/stm32duino/BoardManagerFiles/ra…

Trinn 10: Styrer: Styreleder

Styrer: Styreleder
Styrer: Styreleder

I Arduino Board Manager installerer du STM32 Core, som er omtrent 40 MB.

Trinn 11: Biblioteker: Library Manager

Biblioteker: Library Manager
Biblioteker: Library Manager

Til slutt installerer du bibliotekene.

Jeg personlig likte gruppen STM32duino.com, som har flere eksempler, noen av dem installerte jeg. Jeg lastet også ned en FreeRTOS, som jeg likte godt. Jeg fant det raskt og pålitelig. Jeg har også installert (men har ikke testet) LRWAN. Jeg skal snart fortelle deg om det er bra eller ikke.

Trinn 12: Last ned PDF

PDF

Anbefalt: