Obsah:

Neuveriteľný STM32 L4!: 12 krokov
Neuveriteľný STM32 L4!: 12 krokov

Video: Neuveriteľný STM32 L4!: 12 krokov

Video: Neuveriteľný STM32 L4!: 12 krokov
Video: STM32. Урок 1. Семейства микроконтроллеров STM32. (исправленный звук по ссылке ниже) 2024, Júl
Anonim
Image
Image
OBJAV STM32F746G
OBJAV STM32F746G

Chcem začať týmto článkom vysvetlením, že toto písmeno L (L4) znamená nízky (alebo v zásade ultra nízky výkon). Míňa preto málo energie a ukazuje, prečo je tento STM32 neuveriteľný! Trávi mikroampéry a vo vnútri má systém, ktorý dokáže identifikovať náklady na každú časť čipu. To umožňuje veľmi efektívne riadenie energie a vysoký výkon.

O tomto mikrokontroléri som už hovoril vo videu „Najľahší spôsob programovania mikrokontroléra!“Vo videu som ukázal, ako sa programuje STM32 L4 s MBED. Ale pri podrobnom skúmaní som zistil niečo, čo výrobca STMicroelectronics nezverejňuje. Implementoval do čipu Core Arduino, ktoré umožňuje programovanie prostredníctvom Arduino IDE.

Na tomto obrázku máme dve verzie L4. STM32L432KC je identický s Arduino Nano a STM32L476RG, ktoré majú ekvivalentné IO ako Arduino Uno. Pri práci s dvoma verziami tohto výkonného mikrokontroléra vám teda ukážem, ako nainštalovať Arduino Core do rodiny STM32. Vysvetlím tiež hlavné charakteristiky súprav STM32.

Krok 1: Dosky s jadrom Arduino

Tu som umiestnil zoznam o rozmanitosti. Budeme však pracovať s modelmi 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
  • Jadro L053R8
  • B-L072Z-LRWAN1

STM32L1

Nucleo L152RE

STM32L4

  • Nucleo L432KC
  • Nucleo L476RG
  • NUCLEO-L496ZG-P
  • NUCLEO-L496ZG-P
  • B-L475E-IOT01A

Krok 2: DISCOVERY STM32F746G

Len pre ilustráciu uvádzam detaily DISCOVERY STM32F746G, ktorú považujem za šelmu. Tento čip som si už objednal a dúfam, že o ňom budem čoskoro hovoriť.

Charakteristika:

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

  • Integrovaný ST-LINK / V2-1 s podporou možnosti prepočítania USB
  • Povolené Mbed (mbed.org)
  • Funkcie USB: virtuálny port COM, veľkokapacitné úložisko a port na ladenie
  • 4,3-palcový 480 x 272 farebný LCD-TFT s kapacitným dotykovým displejom
  • Konektor fotoaparátu
  • Zvukový kodek SAI
  • Zvukový vstupný a výstupný konektor
  • Stereo reproduktorové výstupy
  • Dva mikrofóny ST MEMS
  • Vstupný konektor SPDIF RCA
  • Dve tlačidlá (používateľské a resetovacie)
  • 128-Mbit Quad-SPI Flash pamäť
  • 128-Mbit SDRAM (64 Mbit prístupný)
  • Konektor pre kartu microSD
  • Konektor dcérskej dosky RF-EEPROM
  • USB OTG HS s konektormi Micro-AB
  • USB OTG FS s konektormi Micro-AB
  • Ethernetový konektor kompatibilný s IEEE-802.3-2002
  • Päť možností napájania:

- ST LINK / V2-1

- USB FS konektor

- USB HS konektor

- VIN z konektora Arduino

- Externé 5 V z konektora

Výstup napájania pre externé aplikácie:

- 3,3 V alebo 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

Tu je porovnanie s Arduino Due, čo je ARM Cortex-M3. Tento model som použil vo videách: Krokový motor Nema 23 s ovládačom TB6600 s Arduino Due a SpeedTest: Arduinos - ESP32 / 8266s - STM32, s STM NUCLEO -L476RG, čo je ultra nízky výkon ARM Cortex -M4, a je v obrázok na pravej strane.

Termín Arduino:

Mikrokontrolér: AT91SAM3X8E

Prevádzkové napätie: 3,3V

Vstupné napätie (odporúčané): 7-12V

Vstupné napätie (limity): 6-16V

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

Analógové vstupné piny: 12

Analógové výstupné piny: 2 (DAC)

Celkový DC výstupný prúd na všetkých I / O linkách: 130 mA

Jednosmerný prúd pre pin 3,3 V: 800 mA

Jednosmerný prúd pre 5V kolík: 800 mA

Flash pamäť: 512 KB, dostupných pre všetky užívateľské aplikácie

SRAM: 96 KB (dve banky: 64 kB a 32 kB)

Taktovacia frekvencia: 84 MHz

Dĺžka: 101,52 mm

Šírka: 53,3 mm

Hmotnosť: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 v balení LQFP64

32-bitový procesor ARM® Cortex®-M4

Adaptívny akcelerátor v reálnom čase

(ART Accelerator ™) umožňujúci spustenie stavu bez čakania z pamäte Flash

Maximálna frekvencia CPU 80 MHz

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žnosťou externého prerušenia

Kapacitné snímanie s 12 kanálmi

12-bitový ADC (3) so 16 kanálmi

12-bitový DAC s 2 kanálmi

FPU alebo jednotka s pohyblivou rádovou čiarkou

* Zdôrazňujem tu oddelený FPU STM NUCLEO-L476RG, čo znamená, že čip robí trigonometrické výpočty úžasnou rýchlosťou. To je na rozdiel od Arduino Due, ktoré na to potrebuje genetický procesor.

Krok 4: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone je syntetický počítačový referenčný program vyvinutý v roku 1984 Reinholdom P. Weickerom, ktorý má byť reprezentatívny pre (celočíselné) programovanie systému. Dhrystone sa stal zástupcom celkového výkonu procesora (CPU). Názov „Dhrystone“je slovná hračka podľa iného benchmarkového algoritmu s názvom Whetstone. Toto je opatrenie prevzaté z niektorých generických operácií.

Tento program je tu na to, aby skompiloval niečo vnútri týchto mikrokontrolérov v Arduine. A výsledok dvoch testov, ktoré som urobil, jeden s Dhrystone a druhý z videa SpeedTest, je nasledujúci:

Splatnosť Arduina: 37,00 USD

Dhrystone Benchmark, verzia 2.1 (jazyk: C)

Začína sa poprava, 300 000 000 prechádza Dhrystone

Poprava sa končí

Mikrosekundy na jeden beh cez Dhrystone: 10,70

Kryštály za sekundu: 93, 431,43

Hodnotenie VAX MIPS = 53,18 DMIPS

Bežecký test Fernandok

Celkový čas: 2, 458 ms

  • Nemá FPU
  • Softvér Dhrystone na Arduino

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23,00 USD

Dhrystone Benchmark, verzia 2.1 (jazyk: C)

Začína sa poprava, 300 000 000 prechádza Dhrystone

Poprava končí

Mikrosekundy na jeden beh cez Dhrystone: 9,63

Dhrystones za sekundu: 103, 794,59

Hodnotenie VAX MIPS = 59,07 DMIPS

Bežecký test Fernandok

Celkový čas: 869 ms 2,8x RÝCHLEJŠIE

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

Krok 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Ľavá doska je STM32L432KC, do ktorej STMicroelectronics umiestnil identický pinout Arduino Nano na obrázku vpravo.

Krok 6: STM32L432KC

STM32L432KC
STM32L432KC

32-bitový Arm® Cortex®-M4 s extrémne nízkym výkonom

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

Až o 26 IO rýchlejšie, odolnejšie voči 5V

  • RTC s HW kalendárom, alarmmi a kalibráciou
  • Až 3 kapacitné detekčné kanály
  • 11x časovače: 1x16-bitové pokročilé ovládanie motora

1x 32-bitový a 2x 16-bitový univerzálny účel, 2x 16-bitový základný, 2x 16-bitový časovač s nízkym výkonom (k dispozícii v režime Stop), 2x strážny pes, časovač SysTick

Pamäť:

- Až 256 kB Flash, patentovaná ochrana proti čítaniu kódu

- 64 KB SRAM vrátane 16 KB s kontrolou parity hardvéru

- Rozhranie pamäte Quad SPI

Bohaté analógové periférie (nezávislé napájanie)

- 1x 12-bitový ADC 5 ms, až 16 bitov s hardvérovým prevzorkovaním, 200 μA / ms

- 2 kanály 12-bitového výstupu DAC, nízka spotreba energie

- 1x operačný zosilňovač so vstavaným PGA

- 2x v porovnaní s rozhraniami s extrémne nízkym výkonom

- 1x UPS (sériové zvukové rozhranie)

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

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

- 1x LPUART (prebudenie 2)

- 2x SPI (a 1x SPI Quad)

- CAN (2.0B aktívny)

- Jednodrátový protokol master SWPMI I / F

- IRTIM (infračervené rozhranie)

  • 14-kanálový DMA ovládač
  • Generátor náhodných čísel

Krok 7: Nainštalujte Core Arduino pre karty STM32L4

Nainštalujte Core Arduino pre karty STM32L4
Nainštalujte Core Arduino pre karty STM32L4
  1. Nainštalujte program ST-Link, ktorý zaznamenáva
  2. Adresa JSON
  3. Dosky: Správca kariet
  4. Knižnice: Správca knižnice

Krok 8: Nainštalujte ST -Link - program, ktorý zaznamenáva

Nainštalujte si ST -Link - program, ktorý zaznamenáva
Nainštalujte si ST -Link - program, ktorý zaznamenáva

Stiahnite si súbor na https://www.st.com/en/development-tools/stsw-link0…. Stačí sa zaregistrovať, stiahnuť a nainštalovať zariadenie.

Krok 9: Adresa Json

Adresa Json
Adresa Json

K nehnuteľnostiam zadajte nasledujúcu adresu:

github.com/stm32duino/BoardManagerFiles/ra…

Krok 10: Predstavenstvo: správca rady

Predstavenstvo: vedúci predstavenstva
Predstavenstvo: vedúci predstavenstva

Do správcu Arduino Board Manager nainštalujte STM32 Core, čo je asi 40 MB.

Krok 11: Knižnice: Správca knižníc

Knižnice: Správca knižnice
Knižnice: Správca knižnice

Nakoniec nainštalujte knižnice.

Osobne sa mi páčila skupina STM32duino.com, ktorá má niekoľko príkladov, z ktorých niektoré som nainštaloval. Tiež som si stiahol FreeRTOS, ktorý sa mi veľmi páčil. Našiel som to rýchlo a spoľahlivo. Tiež som nainštaloval (ale ešte som netestoval) LRWAN. Čoskoro vám poviem, či je to dobré alebo nie.

Krok 12: Stiahnite si PDF

PDF

Odporúča: