Tartalomjegyzék:

A hihetetlen STM32 L4 !: 12 lépés
A hihetetlen STM32 L4 !: 12 lépés

Videó: A hihetetlen STM32 L4 !: 12 lépés

Videó: A hihetetlen STM32 L4 !: 12 lépés
Videó: Online meetup 2020. május 30. (Zephyr OS + MITM-elés MITM nélkül) 2024, Július
Anonim
Image
Image
STM32F746G FELFEDEZÉS
STM32F746G FELFEDEZÉS

Ezt a cikket azzal szeretném kezdeni, hogy elmagyarázzam, hogy ez az L betű (az L4 -ből) alacsony (vagy alapvetően ultra alacsony fogyasztású). Így kevés energiát költ, és megmutatja, miért hihetetlen ez az STM32! Mikroamperokat költ, és van benne egy rendszer, amely képes azonosítani az egyes chiprészek költségeit. Ez lehetővé teszi az energia hatékony és nagy teljesítményű kezelését.

Erről a mikrovezérlőről már beszéltem a videóban: „A mikrokontroller programozásának legegyszerűbb módja!” A videóban bemutattam, hogyan kell programozni az STM32 L4 -et MBED -el. De miközben többet kutattam róla, felfedeztem valamit, amit az STMicroelectronics gyártó nem tesz közzé. Beépítette a Core Arduino -t a chipbe, amely lehetővé teszi a programozást az Arduino IDE -n keresztül.

Ezen a képen az L4 két verziója van. Az STM32L432KC megegyezik az Arduino Nano -val és az STM32L476RG -vel, amelyek IO -ja egyenértékű az Arduino Uno -val. Tehát, miközben ennek az erős mikrokontrollernek két verziójával dolgozom, megmutatom, hogyan kell telepíteni az Arduino Core -t az STM32 családba. Továbbá elmagyarázom az STM32 készletek fő jellemzőit.

1. lépés: Lemezek Core Arduino -val

Itt tettem fel egy listát a sokszínűségről. Azonban az STM32L432KC -vel és az STM32L476RG -vel fogunk dolgozni.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308FELFEDEZÉS

STM32F1

  • BluePill F103C8 (alapvető támogatás, nincs USB)
  • MapleMini F103CB (alapvető támogatás, nincs 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

2. lépés: STM32F746G FELFEDEZÉS

Csak illusztrációként egy STM32F746G FELFEDEZÉS részleteit mutatom be, amelyet állattá tartok. Már megrendeltem ezt a chipet, és remélem, hamarosan beszélni fogok róla.

Jellemzők:

STM32F746NGH6 mikrokontroller 1 Mbájt Flash memóriával és 340 Kbyte RAM memóriával BGA216 csomagban

  • A fedélzeti ST-LINK / V2-1 támogatja az USB újraszámlálási képességeit
  • Mbed-kompatibilis (mbed.org)
  • USB funkciók: virtuális COM port, háttértár és hibakeresési port
  • 4,3 hüvelykes 480x272 színes LCD-TFT kapacitív érintőképernyővel
  • Kamera csatlakozó
  • SAI audio kodek
  • Audio bemenet és vonal kimenet
  • Sztereó hangszóró kimenetek
  • Két ST MEMS mikrofon
  • SPDIF RCA bemeneti csatlakozó
  • Két nyomógomb (felhasználó és visszaállítás)
  • 128 Mbit Quad-SPI Flash memória
  • 128 Mbit SDRAM (64 Mbit elérhető)
  • Csatlakozó a microSD kártyához
  • RF-EEPROM alaplapi csatlakozó
  • USB OTG HS Micro-AB csatlakozókkal
  • USB OTG FS Micro-AB csatlakozókkal
  • Ethernet csatlakozó megfelel az IEEE-802.3-2002 szabványnak
  • Öt tápellátási lehetőség:

- ST LINK / V2-1

- USB FS csatlakozó

- USB HS csatlakozó

- VIN az Arduino csatlakozóból

- Külső 5 V a csatlakozóról

Tápegység kimeneti külső alkalmazások:

- 3,3 V vagy 5 V

Arduino Uno V3 csatlakozók

3. lépés: Arduino Due X STM NUCLEO-L476RG

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

Itt egy összehasonlítás az Arduino Due-val, amely egy ARM Cortex-M3. Ezt a modellt használtam videókban: Nema 23 léptetőmotor TB6600 illesztőprogrammal, Arduino Due és SpeedTest: Arduinos - ESP32 / 8266s - STM32, STM NUCLEO -L476RG, ami egy ARM Cortex -M4 Ultra Low Power, és a kép a jobb oldalon.

Arduino miatt:

Mikrokontroller: AT91SAM3X8E

Üzemi feszültség: 3.3V

Bemeneti feszültség (ajánlott): 7-12V

Bemeneti feszültség (határok): 6-16V

Digitális I / O érintkezők: 54 (ebből 12 PWM kimenetet biztosít)

Analóg bemeneti csapok: 12

Analóg kimeneti tüskék: 2 (DAC)

Teljes egyenáramú kimeneti áram minden I / O vonalon: 130 mA

Egyenáram 3,3 V -os tű esetén: 800 mA

DC áram 5V -os tű esetén: 800 mA

Flash memória: 512 KB minden elérhető a felhasználói alkalmazásokhoz

SRAM: 96 KB (két bank: 64 KB és 32 KB)

Óra sebesség: 84 MHz

Hossz: 101,52 mm

Szélesség: 53,3 mm

Súly: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 LQFP64 csomagban

ARM® 32 bites Cortex®-M4 CPU

Adaptív valós idejű gyorsító

(ART Accelerator ™) lehetővé teszi a 0 várakozási állapot végrehajtását a Flash memóriából

80 MHz maximális CPU frekvencia

VDD 1,71 V -tól 3,6 V -ig

1 MB Flash

128 KB SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) külső megszakítási képességgel

Kapacitív érzékelés 12 csatornával

12 bites ADC (3) 16 csatornával

12 bites DAC 2 csatornával

FPU vagy lebegőpontos egység

* Itt kiemelem az STM NUCLEO-L476RG külön FPU-ját, ami azt jelenti, hogy a chip elképesztő sebességgel végez trigonometrikus számításokat. Ez eltér az Arduino Due -tól, amelynek ehhez genetikai processzorra van szüksége.

4. lépés: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

A Dhrystone egy szintetikus számítógépes benchmark program, amelyet Reinhold P. Weicker fejlesztett ki 1984 -ben, és amely az (egész) rendszerprogramozást hivatott képviselni. A Dhrystone a teljes processzor teljesítményének (CPU) képviselője lett. A "Dhrystone" név egy szójáték egy másik benchmark algoritmusban, az úgynevezett Whetstone -ban. Ez néhány általános műveletből származó intézkedés.

Ez a program azért van itt, hogy összeállítson valamit ezekben az Arduino mikrovezérlőkben. És két teszt eredménye, az egyik Dhrystone -val, a másik pedig a SpeedTest videóból, a következő:

Arduino esedékes: 37,00 USD

Dhrystone Benchmark, 2.1 verzió (nyelv: C)

A végrehajtás megkezdődik, 300 000 fut végig a Dhrystone -on

A kivégzés véget ér

Mikroszekundumok a Dhrystone -on keresztül: 10.70

Dhrystones másodpercenként: 93, 431,43

VAX MIPS minősítés = 53,18 DMIPS

Futó teszt Fernandok

Teljes idő: 2, 458 ms

  • Nem rendelkezik FPU -val
  • Dhrystone szoftver az Arduino -n

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23,00 USD

Dhrystone Benchmark, 2.1 verzió (nyelv: C)

A végrehajtás megkezdődik, 300 000 fut végig a Dhrystone -on

A végrehajtás véget ér

Mikroszekundumok a Dhrystone -on keresztül: 9.63

Dhrystones másodpercenként: 103, 794,59

VAX MIPS minősítés = 59,07 DMIPS

Futó teszt Fernandok

Teljes idő: 869 ms 2.8x GYORSABB

  • PI akár 40 Mbit / s, USART 10 Mbit / s
  • 2x DMA (14 csatorna)
  • Akár 80 MHz / 100 DMIPS ART Acceleratorral

5. lépés: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

A bal oldali tábla az STM32L432KC, amelyben az STMicroelectronics az azonos Arduino Nano pinoutot helyezte el a jobb oldali képen.

6. lépés: STM32L432KC

STM32L432KC
STM32L432KC

Rendkívül kis teljesítményű Arm® Cortex®-M4 32 bites

MCU + FPU, 100DMIPS, akár 256 KB vaku, 64 KB SRAM, USB FS, analóg, audio

Akár 26 IO gyorsabb, toleránsabb 5V -ra

  • RTC HW naptárral, riasztásokkal és kalibrálással
  • Akár 3 kapacitív érzékelő csatorna
  • 11x időzítő: 1x16 bites fejlett motorvezérlés

1x 32 bites és 2x 16 bites általános célú, 2x 16 bites alap, 2x alacsony fogyasztású 16 bites időzítő (Stop módban érhető el), 2x watchdogs, SysTick timer

Memória:

- Akár 256 KB Flash, saját kódolvasási védelem

- 64 KB SRAM, beleértve 16 KB hardver paritás ellenőrzéssel

- Quad SPI memória interfész

Gazdag analóg perifériák (független tápegység)

- 1x 12 bites ADC 5 Msps, akár 16 bit hardver túlmintavételezéssel, 200 μA / Msps

- 2 csatorna 12 bites DAC kimenet, alacsony energiafogyasztás

- 1x operációs erősítő beépített PGA-val

- 2x az ultra alacsony fogyasztású interfészekhez képest

- 1x UPS (soros audio interfész)

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

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

- 1x LPUART (Stop 2 ébresztés)

- 2x SPI (és 1x SPI Quad)

- CAN (2.0B aktív)

- Egyvezetékes protokoll mester SWPMI I / F

- IRTIM (infravörös interfész)

  • 14 csatornás DMA vezérlő
  • Véletlenszám -generátor

7. lépés: Telepítse a Core Arduino -t az STM32L4 kártyákhoz

Telepítse a Core Arduino -t az STM32L4 kártyákhoz
Telepítse a Core Arduino -t az STM32L4 kártyákhoz
  1. Telepítse a rögzítő ST-Link programot
  2. Json Cím
  3. Testületek: Kártyakezelő
  4. Könyvtárak: Könyvtárvezető

8. lépés: Telepítse az ST -Link programot

Telepítse az ST -Link programot, amely rögzíti
Telepítse az ST -Link programot, amely rögzíti

Töltse le a fájlt a https://www.st.com/en/development-tools/stsw-link0… címen. Csak regisztrálja, töltse le és telepítse az eszközt.

9. lépés: Cím Json

Cím: Json
Cím: Json

A tulajdonságoknál adja meg a következő címet:

github.com/stm32duino/BoardManagerFiles/ra…

10. lépés: Testületek: igazgatótanácsvezető

Testületek: igazgatótanácsvezető
Testületek: igazgatótanácsvezető

Az Arduino Board Manager alkalmazásban telepítse az STM32 Core -t, amely körülbelül 40 MB.

11. lépés: Könyvtárak: Könyvtárkezelő

Könyvtárak: Könyvtárvezető
Könyvtárak: Könyvtárvezető

Végül telepítse a könyvtárakat.

Nekem személy szerint tetszett az STM32duino.com csoport, amely számos példát tartalmaz, amelyek közül néhányat én is telepítettem. Letöltöttem egy FreeRTOS -t is, ami nagyon tetszett. Gyorsnak és megbízhatónak találtam. Telepítettem (de még nem teszteltem) az LRWAN -t. Hamarosan elmondom, hogy jó -e vagy sem.

12. lépés: PDF letöltése

PDF

Ajánlott: