Obsah:

Neuvěřitelný STM32 L4!: 12 kroků
Neuvěřitelný STM32 L4!: 12 kroků

Video: Neuvěřitelný STM32 L4!: 12 kroků

Video: Neuvěřitelný STM32 L4!: 12 kroků
Video: PlatformIO tipy a triky (Adam Hořčica) 2024, Červenec
Anonim
Image
Image
OBJEV STM32F746G
OBJEV STM32F746G

Chtěl bych zahájit tento článek vysvětlením, že toto písmeno L (L4) znamená Nízký (nebo v podstatě Ultra Nízký výkon). Proto utrácí málo energie a ukazuje, proč je tento STM32 neuvěřitelný! Tráví mikroampéry a uvnitř má systém, který dokáže identifikovat náklady každé části čipu. To umožňuje velmi efektivní řízení energie a vysoký výkon.

O tomto mikrokontroléru jsem již hovořil ve videu „Nejjednodušší způsob programování mikrokontroléru!“Ve videu jsem ukázal, jak programovat STM32 L4 s MBED. Ale při podrobnějším zkoumání jsem objevil něco, co výrobce STMicroelectronics nezveřejňuje. Do čipu implementoval Core Arduino, které umožňuje programování přes Arduino IDE.

Na tomto obrázku máme dvě verze L4. STM32L432KC je identický s Arduino Nano a STM32L476RG, které mají ekvivalentní IO k Arduino Uno. Při práci se dvěma verzemi tohoto výkonného mikrokontroléru vám tedy ukážu, jak nainstalovat Arduino Core do rodiny STM32. Také vysvětlím hlavní charakteristiky sad STM32.

Krok 1: Desky s jádrem Arduino

Umístil jsem sem seznam o rozmanitosti. Budeme však pracovat s modely STM32L432KC a STM32L476RG.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308DISCOVERY

STM32F1

  • BluePill F103C8 (základní podpora, bez USB)
  • MapleMini F103CB (základní podpora, bez 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

Krok 2: STM32F746G DISCOVERY

Jen pro ilustraci ukazuji detaily DISCOVERY STM32F746G, kterou považuji za bestii. Tento čip jsem již objednal a doufám, že si o něm brzy promluvím.

Charakteristika:

Mikrokontrolér STM32F746NGH6 s 1 MB paměti Flash a 340 kB paměti RAM v balení BGA216

  • Integrovaný ST-LINK / V2-1 podporující možnosti přepočtu USB
  • Povoleno Mbed (mbed.org)
  • Funkce USB: virtuální port COM, velkokapacitní úložiště a port pro ladění
  • 4,3palcový barevný LCD-TFT 480 x 272 s kapacitní dotykovou obrazovkou
  • Konektor fotoaparátu
  • Zvukový kodek SAI
  • Zvukový vstup a výstup
  • Stereo reproduktorové výstupy
  • Dva mikrofony ST MEMS
  • Vstupní konektor SPDIF RCA
  • Dvě tlačítka (uživatelská a resetovací)
  • 128bitová paměť Quad-SPI Flash
  • 128-Mbit SDRAM (přístupný 64 Mbit)
  • Konektor pro kartu microSD
  • Konektor dceřiné desky RF-EEPROM
  • USB OTG HS s konektory Micro-AB
  • USB OTG FS s konektory Micro-AB
  • Ethernetový konektor kompatibilní s IEEE-802.3-2002
  • Pět možností napájení:

- ST LINK / V2-1

- USB FS konektor

- USB HS konektor

- VIN z konektoru Arduino

- Externí 5 V z konektoru

Výstup napájecího zdroje pro externí aplikace:

- 3,3 V nebo 5 V

Konektory Arduino Uno V3

Krok 3: Arduino Due X STM NUCLEO-L476RG

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

Zde je srovnání s Arduino Due, což je ARM Cortex-M3. Tento model jsem použil ve videích: Krokový motor Nema 23 s ovladačem TB6600 s Arduino Due a SpeedTest: Arduinos - ESP32 / 8266s - STM32, s STM NUCLEO -L476RG, což je Ultra Low Power ARM Cortex -M4, a je v obrázek na pravé straně.

Termín Arduino:

Mikrokontrolér: AT91SAM3X8E

Provozní napětí: 3,3V

Vstupní napětí (doporučeno): 7-12V

Vstupní napětí (limity): 6-16V

Digitální I / O piny: 54 (z toho 12 poskytuje výstup PWM)

Analogové vstupní piny: 12

Analogové výstupní piny: 2 (DAC)

Celkový DC výstupní proud na všech I / O linkách: 130 mA

Stejnosměrný proud pro pin 3,3 V: 800 mA

Stejnosměrný proud pro kolík 5V: 800 mA

Flash paměť: 512 KB, vše dostupné pro uživatelské aplikace

SRAM: 96 KB (dvě banky: 64 kB a 32 kB)

Taktovací frekvence: 84 MHz

Délka: 101,52 mm

Šířka: 53,3 mm

Hmotnost: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 v balíčku LQFP64

ARM®32bitový procesor Cortex®-M4

Adaptivní akcelerátor v reálném čase

(ART Accelerator ™) umožňující spuštění stavu bez čekání z paměti Flash

80 MHz maximální frekvence CPU

VDD od 1,71 V do 3,6 V

1 MB Flash

128 KB SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) s možností externího přerušení

Kapacitní snímání s 12 kanály

12bitový ADC (3) se 16 kanály

12bitový DAC se 2 kanály

FPU nebo jednotka s pohyblivou řádovou čárkou

* Zdůrazňuji zde oddělený FPU STM NUCLEO-L476RG, což znamená, že čip provádí trigonometrické výpočty s úžasnou rychlostí. To je na rozdíl od Arduino Due, který k tomu potřebuje genetický procesor.

Krok 4: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone je syntetický počítačový srovnávací program vyvinutý v roce 1984 Reinholdem P. Weickerem, který má být reprezentativní pro (celočíselné) systémové programování. Dhrystone se stal zástupcem celkového výkonu procesoru (CPU). Název „Dhrystone“je slovní hříčka na jiném srovnávacím algoritmu s názvem Whetstone. Toto je opatření převzaté z některých generických operací.

Tento program je zde, aby v těchto Arduinoch zkompiloval něco uvnitř těchto mikrokontrolérů. A výsledek dvou testů, které jsem udělal, jeden s Dhrystone a druhý z videa SpeedTest, jsou následující:

Splatnost Arduina: 37,00 USD

Dhrystone Benchmark, verze 2.1 (jazyk: C)

Poprava začíná, 300 000 000 proběhne Dhrystoneem

Poprava končí

Mikrosekundy na jeden běh přes Dhrystone: 10,70

Dhrystones za sekundu: 93, 431,43

Hodnocení VAX MIPS = 53,18 DMIPS

Běžecký test Fernandok

Celkový čas: 2, 458 ms

  • Nemá FPU
  • Software Dhrystone na Arduinu

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23,00 USD

Dhrystone Benchmark, verze 2.1 (jazyk: C)

Poprava začíná, 300 000 000 projde Dhrystone

Poprava končí

Mikrosekundy na jeden běh Dhrystone: 9,63

Dhrystones za sekundu: 103, 794,59

Hodnocení VAX MIPS = 59,07 DMIPS

Běžecký test Fernandok

Celkový čas: 869 ms 2,8x RYCHLEJŠÍ

  • PI až 40 Mbit / s, USART 10 Mbit / s
  • 2x DMA (14 kanálů)
  • Až 80 MHz / 100 DMIPS s akcelerátorem ART

Krok 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Levá deska je STM32L432KC, do které STMicroelectronics umístil identický pinout Arduino Nano na obrázku vpravo.

Krok 6: STM32L432KC

STM32L432KC
STM32L432KC

32bitový Arm® Cortex®-M4 s extrémně nízkým výkonem

MCU + FPU, 100 DMIPS, až 256 kB Flash, 64 kB SRAM, USB FS, analogový, audio

Až 26 IO rychlejší, odolnější vůči 5V

  • RTC s HW kalendářem, alarmy a kalibrací
  • Až 3 kapacitní detekční kanály
  • 11x časovače: 1x16bitové pokročilé ovládání motoru

1x 32bitové a 2x 16bitové obecné použití, 2x 16bitové základní, 2x 16bitové časovače s nízkým výkonem (k dispozici v režimu Stop), 2x hlídací psi, časovač SysTick

Paměť:

- Až 256 kB Flash, vlastní ochrana proti čtení kódu

- 64 KB SRAM včetně 16 KB s kontrolou parity hardwaru

- Rozhraní paměti Quad SPI

Bohatá analogová periferie (nezávislé napájení)

- 1x 12bitový ADC 5 Msps, až 16 bitů s hardwarovým převzorkováním, 200 μA / Msps

- 2 kanály 12bitového výstupu DAC, nízká spotřeba energie

- 1x operační zesilovač s vestavěným PGA

- 2x ve srovnání s rozhraními s velmi nízkým výkonem

- 1x UPS (sériové zvukové rozhraní)

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

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

- 1x LPUART (zastavení 2 probuzení)

- 2x SPI (a 1x SPI Quad)

- CAN (2.0B aktivní)

- Jednodrátový hlavní protokol SWPMI I / F

- IRTIM (infračervené rozhraní)

  • 14kanálový řadič DMA
  • Generátor náhodných čísel

Krok 7: Nainstalujte Core Arduino pro karty STM32L4

Nainstalujte Core Arduino pro karty STM32L4
Nainstalujte Core Arduino pro karty STM32L4
  1. Nainstalujte si program ST-Link, který zaznamenává
  2. Adresa Jsona
  3. Desky: Správce karet
  4. Knihovny: Správce knihoven

Krok 8: Nainstalujte si ST -Link - program, který zaznamenává

Nainstalujte si ST -Link - program, který zaznamenává
Nainstalujte si ST -Link - program, který zaznamenává

Stáhněte si soubor na https://www.st.com/en/development-tools/stsw-link0…. Stačí se zaregistrovat, stáhnout a nainstalovat zařízení.

Krok 9: Adresa Json

Adresa Json
Adresa Json

K vlastnostem zadejte následující adresu:

github.com/stm32duino/BoardManagerFiles/ra…

Krok 10: Desky: Správce rady

Desky: Vedoucí představenstva
Desky: Vedoucí představenstva

Ve správci Arduino Board Manager nainstalujte STM32 Core, což je asi 40 MB.

Krok 11: Knihovny: Správce knihoven

Knihovny: Správce knihoven
Knihovny: Správce knihoven

Nakonec nainstalujte knihovny.

Osobně se mi líbila skupina STM32duino.com, která má několik příkladů, z nichž některé jsem nainstaloval. Také jsem si stáhl FreeRTOS, který se mi moc líbil. Našel jsem to rychle a spolehlivě. Také jsem nainstaloval (ale ještě jsem netestoval) LRWAN. Brzy vám řeknu, jestli je to dobré nebo ne.

Krok 12: Stáhněte si PDF

PDF

Doporučuje: