INHOUDSOPGAWE:

Die ongelooflike STM32 L4 !: 12 stappe
Die ongelooflike STM32 L4 !: 12 stappe

Video: Die ongelooflike STM32 L4 !: 12 stappe

Video: Die ongelooflike STM32 L4 !: 12 stappe
Video: «Интернет вещей», Джеймс Уиттакер из Microsoft 2024, Julie
Anonim
Image
Image
STM32F746G ONTDEKING
STM32F746G ONTDEKING

Ek wil met hierdie artikel begin en verduidelik dat hierdie letter L (van die L4) Lae (of basies, Ultra Low Power) beteken. Dit spandeer dus min energie en toon waarom hierdie STM32 ongelooflik is! Dit spandeer mikroampe en het 'n stelsel binne wat die koste van elke skyfdeel kan identifiseer. Dit maak voorsiening vir 'n baie doeltreffende bestuur van energie en met hoë werkverrigting.

Ek het reeds oor die mikrobeheerder in die video gepraat: "Die maklikste manier om 'n mikrobeheerder te programmeer!" In die video het ek gewys hoe om die STM32 L4 met MBED te programmeer. Maar terwyl ek meer daaroor ondersoek, het ek iets ontdek wat die vervaardiger STMicroelectronics nie bekend maak nie. Dit het die Core Arduino geïmplementeer in die chip, wat programmeer deur die Arduino IDE moontlik maak.

In hierdie prent het ons twee weergawes van L4. Die STM32L432KC is identies aan die Arduino Nano en die STM32L476RG, wat ekwivalente IO's het met die Arduino Uno. Dus, terwyl ek met twee weergawes van hierdie kragtige mikrobeheerder werk, sal ek u wys hoe u die Arduino Core in die STM32 -gesin kan installeer. Ek sal ook die belangrikste kenmerke van die STM32 -kits verduidelik.

Stap 1: borde met Core Arduino

Ek het hier 'n lys geplaas oor die diversiteit. Ons gaan egter werk met die STM32L432KC en die STM32L476RG.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308 ONTDEKING

STM32F1

  • BluePill F103C8 (basiese ondersteuning, geen USB)
  • MapleMini F103CB (basiese ondersteuning, geen 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-ONTDEKING

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

Stap 2: STM32F746G ONTDEKING

Net ter illustrasie, wys ek die besonderhede van 'n STM32F746G ONTDEKING, wat ek as 'n dier beskou. Ek het hierdie chip al bestel, en ek hoop om binnekort daaroor te praat.

Eienskappe:

STM32F746NGH6 mikrokontroleerder met 1 Mbyte flitsgeheue en 340 Kbyte RAM in 'n BGA216 -pakket

  • Aan boord ST-LINK / V2-1 ondersteun USB-heropnames
  • Mbed-geaktiveer (mbed.org)
  • USB -funksies: virtuele COM -poort, massa -berging en ontfoutingspoort
  • 4.3-duim 480x272 kleur LCD-TFT met kapasitiewe aanraakskerm
  • Kamera -aansluiting
  • SAI klank -codec
  • Audio line in en line out jack
  • Stereo luidsprekeruitsette
  • Twee ST MEMS -mikrofone
  • SPDIF RCA -aansluiting
  • Twee drukknoppies (gebruiker en herstel)
  • 128-Mbit Quad-SPI-flitsgeheue
  • 128 Mbit SDRAM (64 Mbits toeganklik)
  • Connector vir microSD kaart
  • RF-EEPROM dogterbord-aansluiting
  • USB OTG HS met Micro-AB-aansluitings
  • USB OTG FS met Micro-AB-aansluitings
  • Ethernet-aansluiting voldoen aan IEEE-802.3-2002
  • Vyf kragvoorsieningsopsies:

- ST LINK / V2-1

- USB FS -aansluiting

- USB HS -aansluiting

- VIN van Arduino -aansluiting

- Eksterne 5 V van aansluiting

Kragvoorsiening uitvoer vir eksterne toepassings:

- 3.3 V of 5 V

Arduino Uno V3 -verbindings

Stap 3: Arduino Due X STM NUCLEO-L476RG

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

Hier is 'n vergelyking met die Arduino Due, wat 'n ARM Cortex-M3 is. Ek het hierdie model in video's gebruik: Nema 23 Stepper Motor met bestuurder TB6600 met Arduino Due, en SpeedTest: Arduinos - ESP32 / 8266s - STM32, met STM NUCLEO -L476RG, wat 'n ARM Cortex -M4 Ultra Low Power is, en is in die prentjie aan die regterkant.

Arduino Due:

Mikrokontroleerder: AT91SAM3X8E

Bedryfspanning: 3.3V

Ingangsspanning (aanbeveel): 7-12V

Ingangsspanning (perke): 6-16V

Digitale I / O -penne: 54 (waarvan 12 PWM -uitset lewer)

Analoge invoerpenne: 12

Analoog uitvoer penne: 2 (DAC)

Totale DC -uitsetstroom op alle I / O -lyne: 130 mA

Gelykstroom vir 3.3V Pin: 800 mA

Gelykstroom vir 5V -pen: 800 mA

Flitsgeheue: 512 KB, almal beskikbaar vir die gebruikersprogramme

SRAM: 96 KB (twee banke: 64KB en 32KB)

Kloksnelheid: 84 MHz

Lengte: 101,52 mm

Breedte: 53,3 mm

Gewig: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 in LQFP64 -pakket

ARM®32-bis Cortex®-M4 CPU

Aanpasbare intydse versneller

(ART Accelerator ™) wat die uitvoering van 0-wagstoestande uit Flash-geheue moontlik maak

80 MHz maksimum CPU frekwensie

VDD van 1,71 V tot 3,6 V

1 MB flits

128 KB SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) met eksterne onderbrekingsvermoë

Kapasitiewe waarneming met 12 kanale

12-bis ADC (3) met 16 kanale

12-bis DAC met 2 kanale

FPU of Floating Point Unit

* Ek beklemtoon hier die aparte FPU van STM NUCLEO-L476RG, wat beteken dat die chip trigonometriese berekeninge met ongelooflike snelheid doen. Dit is anders as die Arduino Due, wat 'n genetiese verwerker nodig het om dit te doen.

Stap 4: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone is 'n sintetiese rekenaarmaatstafprogram wat in 1984 ontwikkel is deur Reinhold P. Weicker, wat bedoel is om verteenwoordigend te wees van (heelgetal) stelselprogrammering. Dhrystone het 'n verteenwoordiger geword van die algehele verwerkerprestasie (SVE). Die naam "Dhrystone" is 'n woordspeling op 'n ander maatstafalgoritme genaamd Whetstone. Dit is 'n maatstaf wat geneem is by sommige generiese operasies.

Hierdie program is hier om iets in hierdie mikrobeheerders in Arduino saam te stel. En die resultaat van twee toetse wat ek gedoen het, een met Dhrystone en 'n ander uit die SpeedTest -video, is soos volg:

Arduino betaalbaar: US $ 37,00

Dhrystone Benchmark, Weergawe 2.1 (Taal: C)

Die teregstelling begin, 300 000 loop deur Dhrystone

Die teregstelling eindig

Mikrosekondes vir een lopie deur Dhrystone: 10.70

Dhrystones per sekonde: 93, 431,43

VAX MIPS -gradering = 53,18 DMIPS

Hardlooptoets Fernandok

Totale tyd: 2, 458 ms

  • Het nie FPU nie
  • Dhrystone -sagteware op Arduino

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: US $ 23,00

Dhrystone Benchmark, Weergawe 2.1 (Taal: C)

Die teregstelling begin, 300 000 loop deur Dhrystone

Uitvoering eindig

Mikrosekondes vir een lopie deur Dhrystone: 9.63

Dhrystones per sekonde: 103, 794,59

VAX MIPS -gradering = 59,07 DMIPS

Hardloop toets Fernandok

Totale tyd: 869 ms 2.8x vinniger

  • PI tot 40Mbit / s, USART 10Mbit / s
  • 2x DMA (14 kanale)
  • Tot 80 MHz / 100 DMIPS met ART Accelerator

Stap 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Die linker bord is die STM32L432KC, waarin STMicroelectronics die identiese Arduino Nano pinout in die prentjie regs geplaas het.

Stap 6: STM32L432KC

STM32L432KC
STM32L432KC

Ultra-lae-krag Arm® Cortex®-M4 32-bis

MCU + FPU, 100DMIPS, tot 256KB flits, 64KB SRAM, USB FS, analoog, klank

Tot 26 IO's vinniger, meer verdraagsaam teenoor 5V

  • RTC met HW kalender, alarms en kalibrasie
  • Tot 3 kapasitiewe opsporingskanale
  • 11x timers: 1x16-bit gevorderde enjinbeheer

1x 32-bis en 2x 16-bis algemene doeleindes, 2x 16-bis basiese, 2x laesterkte 16-bis-tydtellers (beskikbaar in stopmodus), 2x waghonde, SysTick-timer

Geheue:

- Tot 256 KB Flash, eie kodeleesbeskerming

- 64 KB SRAM, insluitend 16 KB met hardeware -pariteitstoets

- Quad SPI geheue koppelvlak

Ryk analoog randapparatuur (onafhanklike toevoer)

- 1x 12-bis ADC 5 Msps, tot 16 bisse met hardeware-oorsampling, 200 μA / Msps

- 2 kanale met 12-bis DAC-uitset, lae kragverbruik

- 1x operasionele versterker met ingeboude PGA

- 2x in vergelyking met ultra-lae kragkoppelvlakke

- 1x UPS (seriële klank -koppelvlak)

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

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

- 1x LPUART (Stop 2 word wakker)

- 2x SPI (en 1x SPI Quad)

- KAN (2.0B aktief)

- Enkele draad protokol meester SWPMI I / F

- IRTIM (infrarooi koppelvlak)

  • 14-kanaal DMA-kontroleerder
  • Willekeurige getalopwekker

Stap 7: Installeer Core Arduino vir STM32L4 -kaarte

Installeer Core Arduino vir STM32L4 -kaarte
Installeer Core Arduino vir STM32L4 -kaarte
  1. Installeer die ST-Link-program wat opneem
  2. Json adres
  3. Rade: Kaartbestuurder
  4. Biblioteke: Biblioteekbestuurder

Stap 8: Installeer ST -Link - Program wat opneem

Installeer ST -Link - Program wat opneem
Installeer ST -Link - Program wat opneem

Laai die lêer af op https://www.st.com/en/development-tools/stsw-link0…. Registreer, laai en installeer die toestel.

Stap 9: Spreek Json aan

Adres Json
Adres Json

Sluit die volgende adres op eiendomme in:

github.com/stm32duino/BoardManagerFiles/ra…

Stap 10: rade: direksiebestuurder

Rade: Direksiebestuurder
Rade: Direksiebestuurder

Installeer die STM32 Core in die Arduino Board Manager, wat ongeveer 40 MB is.

Stap 11: Biblioteke: Biblioteekbestuurder

Biblioteke: Biblioteekbestuurder
Biblioteke: Biblioteekbestuurder

Laastens, installeer die biblioteke.

Ek het persoonlik gehou van die groep STM32duino.com, wat verskeie voorbeelde bevat, waarvan ek sommige geïnstalleer het. Ek het ook 'n FreeRTOS afgelaai, waarvan ek baie gehou het. Ek het dit vinnig en betroubaar gevind. Ek het ook LRWAN geïnstalleer (maar nog nie getoets nie). Ek sal u binnekort vertel of dit goed is of nie.

Stap 12: Laai PDF af

PDF

Aanbeveel: