Sisällysluettelo:

Uskomaton STM32 L4 !: 12 askelta
Uskomaton STM32 L4 !: 12 askelta

Video: Uskomaton STM32 L4 !: 12 askelta

Video: Uskomaton STM32 L4 !: 12 askelta
Video: Uskomaton 2024, Marraskuu
Anonim
Image
Image
STM32F746G TUTKIMUS
STM32F746G TUTKIMUS

Haluan aloittaa tämän artikkelin selittämällä, että tämä (L4: n) kirjain tarkoittaa alhaista (tai pohjimmiltaan erittäin pienitehoista). Siten se kuluttaa vähän energiaa ja näyttää miksi tämä STM32 on uskomaton! Se käyttää mikroampeja ja sen sisällä on järjestelmä, joka pystyy tunnistamaan kunkin sirun osan kulut. Tämä mahdollistaa erittäin tehokkaan energianhallinnan ja korkean suorituskyvyn.

Puhuin jo tästä mikrokontrollerista videossa "Helpoin tapa ohjelmoida mikro!" Videolla näytin kuinka ohjelmoida STM32 L4 MBED: llä. Mutta tutkiessani sitä enemmän löysin jotain, jota valmistaja STMicroelectronics ei paljasta. Se otti käyttöön sirun Core Arduinon, joka mahdollistaa ohjelmoinnin Arduino IDE: n kautta.

Tässä kuvassa meillä on kaksi L4 -versiota. STM32L432KC on identtinen Arduino Nanon ja STM32L476RG: n kanssa, joilla on vastaavat IO: t kuin Arduino Unolla. Joten työskennellessäni tämän tehokkaan mikro -ohjaimen kahden version kanssa näytän sinulle, kuinka Arduino Core asennetaan STM32 -perheeseen. Selitän myös STM32 -sarjojen pääominaisuudet.

Vaihe 1: Levyt Core Arduinolla

Laitoin tähän luettelon monimuotoisuudesta. Työskentelemme kuitenkin STM32L432KC: n ja STM32L476RG: n kanssa.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308 TUTKIMUS

STM32F1

  • BluePill F103C8 (perustuki, ei USB -liitäntää)
  • MapleMini F103CB (perustuki, ei USB: tä)
  • 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

Vaihe 2: STM32F746G DISCOVERY

Vain havainnollistamiseksi näytän yksityiskohdat STM32F746G DISCOVERY: sta, jota pidän pedona. Olen jo tilannut tämän sirun, ja toivon voivani puhua siitä pian.

Ominaisuudet:

STM32F746NGH6 -mikrokontrolleri, jossa on 1 megatavua Flash -muistia ja 340 kilotavua RAM -muistia BGA216 -paketissa

  • Sisäinen ST-LINK / V2-1 tukee USB-uudelleenlaskentaominaisuuksia
  • Mbed-yhteensopiva (mbed.org)
  • USB -toiminnot: virtuaalinen COM -portti, massamuisti ja virheenkorjausportti
  • 4,3 tuuman 480 x 272 värillinen LCD-TFT-kapasitiivinen kosketusnäyttö
  • Kameran liitin
  • SAI -äänikoodekki
  • Äänen tulo- ja linjalähtöliitäntä
  • Stereokaiutinlähdöt
  • Kaksi ST MEMS -mikrofonia
  • SPDIF RCA -tuloliitin
  • Kaksi painiketta (käyttäjä ja nollaus)
  • 128 Mbit Quad-SPI Flash -muisti
  • 128 Mbit SDRAM (64 Mbits käytettävissä)
  • Liitin microSD -kortille
  • RF-EEPROM-tytärlevyn liitin
  • USB OTG HS Micro-AB-liittimillä
  • USB OTG FS Micro-AB-liittimillä
  • Ethernet-liitin IEEE-802.3-2002-yhteensopiva
  • Viisi virransyöttövaihtoehtoa:

- ST LINK / V2-1

- USB FS -liitin

- USB HS -liitin

- VIN Arduino -liittimestä

- Ulkoinen 5 V liittimestä

Ulkoisten sovellusten virtalähteen lähtö:

- 3,3 V tai 5 V

Arduino Uno V3 -liittimet

Vaihe 3: Arduino Due X STM NUCLEO-L476RG

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

Tässä on vertailu Arduino Due -laitteeseen, joka on ARM Cortex-M3. Olen käyttänyt tätä mallia videoissa: Nema 23 -askelmoottori, jossa ohjain TB6600 ja Arduino Due, ja SpeedTest: Arduinos - ESP32 / 8266s - STM32, STM NUCLEO -L476RG, joka on ARM Cortex -M4 Ultra Low Power ja on kuva oikealla puolella.

Arduino Due:

Mikro -ohjain: AT91SAM3X8E

Käyttöjännite: 3.3V

Tulojännite (suositus): 7-12V

Tulojännite (rajat): 6-16V

Digitaaliset I / O -nastat: 54 (joista 12 tarjoavat PWM -lähtöä)

Analogiset tulonastat: 12

Analogiset lähtönastat: 2 (DAC)

DC -lähtövirta kaikilla I / O -linjoilla: 130 mA

DC -virta 3,3 V: n nastalle: 800 mA

DC -virta 5 V: n nastalle: 800 mA

Flash -muisti: 512 kt, kaikki käytettävissä sovelluksille

SRAM: 96 kt (kaksi pankkia: 64 kt ja 32 kt)

Kellotaajuus: 84 MHz

Pituus: 101,52 mm

Leveys: 53,3 mm

Paino: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 LQFP64 -paketissa

ARM® 32-bittinen Cortex®-M4-suoritin

Mukautuva reaaliaikainen kiihdytin

(ART Accelerator ™) mahdollistaa 0-odotustilan suorittamisen Flash-muistista

80 MHz: n maksimi suorittimen taajuus

VDD 1,71 V - 3,6 V

1 Mt Flash

128 kt SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) ulkoisella keskeytysominaisuudella

Kapasitiivinen tunnistus 12 kanavalla

12-bittinen ADC (3), 16 kanavaa

12-bittinen DAC, 2 kanavaa

FPU tai liukulukuyksikkö

* Korostan tässä STM NUCLEO-L476RG: n erillistä FPU: ta, mikä tarkoittaa, että siru tekee trigonometrisiä laskelmia hämmästyttävällä nopeudella. Tämä on toisin kuin Arduino Due, joka tarvitsee geneettisen prosessorin.

Vaihe 4: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone on Reinhold P. Weickerin vuonna 1984 kehittämä synteettinen tietokonevertailuohjelma, jonka on tarkoitus edustaa (kokonaisluku) järjestelmäohjelmointia. Dhrystonesta tuli prosessorin yleisen suorituskyvyn edustaja. Nimi "Dhrystone" on sanaleikki toisessa vertailualgoritmissa nimeltä Whetstone. Tämä on mitattu joistakin yleisistä toiminnoista.

Tämä ohjelma on täällä kootakseen jotain näiden Arduinon mikro -ohjaimien sisälle. Ja kahden tekemäni testin, joista toinen oli Dhrystonen ja toinen SpeedTest -videosta, tulos on seuraava:

Arduinon eräpäivä: 37,00 dollaria

Dhrystone Benchmark, versio 2.1 (kieli: C)

Toteutus alkaa, 300 000 kulkee Dhrystonen läpi

Ulosotto päättyy

Mikrosekuntia yhdelle Dhrystonen läpi: 10.70

Dhrystones sekunnissa: 93, 431,43

VAX MIPS -luokitus = 53,18 DMIPS

Juoksutesti Fernandok

Kokonaisaika: 2, 458 ms

  • Ei ole FPU
  • Dhrystone -ohjelmisto Arduinossa

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23,00 dollaria

Dhrystone Benchmark, versio 2.1 (kieli: C)

Toteutus alkaa, 300 000 kulkee Dhrystonen läpi

Toteutus päättyy

Mikrosekuntia yhdelle ajolle Dhrystonen läpi: 9.63

Dhrystones sekunnissa: 103, 794,59

VAX MIPS -luokitus = 59,07 DMIPS

Juoksutesti Fernandok

Kokonaisaika: 869 ms 2.8x NOPEAMPI

  • PI jopa 40 Mbit / s, USART 10 Mbit / s
  • 2x DMA (14 kanavaa)
  • Jopa 80 MHz / 100 DMIPS ART Acceleratorilla

Vaihe 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Vasen levy on STM32L432KC, johon STMicroelectronics sijoitti identtisen Arduino Nano -pistokkeen oikeanpuoleiseen kuvaan.

Vaihe 6: STM32L432KC

STM32L432KC
STM32L432KC

Erittäin pienitehoinen Arm® Cortex®-M4 32-bittinen

MCU + FPU, 100DMIPS, jopa 256 kt Flash, 64 kt SRAM, USB FS, analoginen, ääni

Jopa 26 IO: ta nopeampi, sietävämpi 5 V: lle

  • RTC, jossa on LK -kalenteri, hälytykset ja kalibrointi
  • Jopa 3 kapasitiivista tunnistuskanavaa
  • 11x ajastimet: 1x16-bittinen edistyksellinen moottorin ohjaus

1x 32-bittinen ja 2x 16-bittinen yleiskäyttöinen, 2x 16-bittinen perus, 2x pienitehoinen 16-bittinen ajastin (saatavana pysäytystilassa), 2x vahtikoiraa, SysTick-ajastin

Muisti:

- Jopa 256 kt: n Flash, oma koodin lukusuoja

- 64 kt SRAM mukaan lukien 16 kt laitteiston pariteetin tarkistuksella

- Quad SPI -muistiliitäntä

Runsaat analogiset oheislaitteet (itsenäinen syöttö)

- 1x 12-bittinen ADC 5 Msps, jopa 16 bittiä laitteiston ylinäytteistyksellä, 200 μA / Msps

- 2 kanavaa 12-bittistä DAC-lähtöä, alhainen virrankulutus

- 1x operaatiovahvistin, jossa on sisäänrakennettu PGA

- 2x verrattuna erittäin pienitehoisiin rajapintoihin

- 1x UPS (sarjaääniliitäntä)

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

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

- 1x LPUART (Stop 2 herää)

- 2x SPI (ja 1x SPI Quad)

- CAN (2.0B aktiivinen)

- Yksijohtiminen protokollan isäntä SWPMI I / F

- IRTIM (infrapunaliitäntä)

  • 14-kanavainen DMA-ohjain
  • Satunnaislukugeneraattori

Vaihe 7: Asenna Core Arduino STM32L4 -korteille

Asenna Core Arduino STM32L4 -korteille
Asenna Core Arduino STM32L4 -korteille
  1. Asenna tallennava ST-Link-ohjelma
  2. Json -osoite
  3. Hallitukset: Kortinhallinta
  4. Kirjastot: Kirjastonhoitaja

Vaihe 8: Asenna ST -Link - Tallenna ohjelma

Asenna ST -Link - tallennusohjelma
Asenna ST -Link - tallennusohjelma

Lataa tiedosto osoitteesta https://www.st.com/en/development-tools/stsw-link0…. Rekisteröi, lataa ja asenna laite.

Vaihe 9: Osoita Json

Osoite: Json
Osoite: Json

Lisää kiinteistöihin seuraava osoite:

github.com/stm32duino/BoardManagerFiles/ra…

Vaihe 10: Hallitukset: Hallituksen johtaja

Hallitukset: Hallituksen johtaja
Hallitukset: Hallituksen johtaja

Asenna Arduino Board Manageriin STM32 Core, joka on noin 40 Mt.

Vaihe 11: Kirjastot: Kirjastonhoitaja

Kirjastot: Kirjastonhoitaja
Kirjastot: Kirjastonhoitaja

Asenna lopuksi kirjastot.

Pidin henkilökohtaisesti ryhmästä STM32duino.com, jossa on useita esimerkkejä, joista osa olen asentanut. Latasin myös FreeRTOSin, josta pidin paljon. Löysin sen nopeasti ja luotettavasti. Asensin myös (mutta en ole vielä testannut) LRWANia. Kerron pian, onko se hyvä vai ei.

Vaihe 12: Lataa PDF

PDF

Suositeltava: