Kazalo:

Neverjetni STM32 L4!: 12 korakov
Neverjetni STM32 L4!: 12 korakov

Video: Neverjetni STM32 L4!: 12 korakov

Video: Neverjetni STM32 L4!: 12 korakov
Video: 16.11. 2019 SACRED REICH, NIGHT DEMON - Orto bar, Ljubljana 2024, November
Anonim
Image
Image
STM32F746G ODKRITJE
STM32F746G ODKRITJE

Ta članek želim začeti z razlago, da ta črka L (L4) pomeni nizko (ali v bistvu ultra nizko porabo energije). Tako porabi malo energije in pokaže, zakaj je ta STM32 neverjeten! Porabi mikroampere in ima v notranjosti sistem, ki lahko identificira stroške vsakega dela čipa. To omogoča zelo učinkovito upravljanje energije in visoko zmogljivost.

O tem mikrokrmilniku sem že govoril v videu: "Najlažji način za programiranje mikrokrmilnika!" V videu sem pokazal, kako programirati STM32 L4 z MBED. Toda med raziskovanjem o tem sem odkril nekaj, česar proizvajalec STMicroelectronics ne razkrije. V čip je implementiral Core Arduino, ki omogoča programiranje prek Arduino IDE.

Na tej sliki imamo dve različici L4. STM32L432KC je enak Arduino Nano in STM32L476RG, ki imata enakovredne IO kot Arduino Uno. Tako vam bom med delom z dvema različicama tega zmogljivega mikrokrmilnika pokazal, kako namestiti Arduino Core v družino STM32. Pojasnil bom tudi glavne značilnosti kompletov STM32.

Korak: Plošče z jedrom Arduino

Tu sem dal seznam raznolikosti. Vendar bomo delali s STM32L432KC in STM32L476RG.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308 ODKRIVANJE

STM32F1

  • BluePill F103C8 (osnovna podpora, brez USB -ja)
  • MapleMini F103CB (osnovna podpora, brez USB -ja)
  • 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-ODKRIVANJE

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. korak: STM32F746G ODKRITJE

Za ponazoritev pokažem podrobnosti odkritja STM32F746G, ki ga imam za zver. Ta čip sem že naročil in upam, da bom kmalu govoril o tem.

Značilnosti:

Mikrokrmilnik STM32F746NGH6 z 1 MB pomnilnika Flash in 340 KB pomnilnika RAM v paketu BGA216

  • Vgrajen ST-LINK / V2-1, ki podpira zmožnosti ponovnega naštevanja USB
  • Omogočeno Mbed (mbed.org)
  • Funkcije USB: navidezna vrata COM, množična shramba in vrata za odpravljanje napak
  • 4,3-palčni barvni LCD-TFT 480x272 s kapacitivnim zaslonom na dotik
  • Priključek za kamero
  • Avdio kodek SAI
  • Priključek za vhod in izhod zvoka
  • Izhodi za stereo zvočnike
  • Dva mikrofona ST MEMS
  • SPDIF RCA vhodni priključek
  • Dva gumba (uporabniški in ponastavitev)
  • 128-Mbit Quad-SPI Flash pomnilnik
  • 128-Mbit SDRAM (dostopno 64 Mbit)
  • Priključek za kartico microSD
  • Priključek za matično ploščo RF-EEPROM
  • USB OTG HS s priključki Micro-AB
  • USB OTG FS s priključki Micro-AB
  • Ethernetni priključek v skladu z IEEE-802.3-2002
  • Pet možnosti napajanja:

- ST LINK / V2-1

- USB FS priključek

- USB HS priključek

- VIN iz priključka Arduino

- Zunanji 5 V iz priključka

Izhodna moč za zunanje aplikacije:

- 3,3 V ali 5 V

Konektorji Arduino Uno V3

3. korak: Arduino Due X STM NUCLEO-L476RG

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

Tukaj je primerjava z Arduino Due, ki je ARM Cortex-M3. Ta model sem uporabil v videoposnetkih: Nema 23 koračni motor z gonilnikom TB6600 z Arduino Due in SpeedTest: Arduinos - ESP32 / 8266s - STM32, s STM NUCLEO -L476RG, ki je ARM Cortex -M4 Ultra Low Power in je v slika na desni strani.

Arduino Due:

Mikrokrmilnik: AT91SAM3X8E

Delovna napetost: 3.3V

Vhodna napetost (priporočeno): 7-12V

Vhodna napetost (omejitve): 6-16V

Digitalni V / I zatiči: 54 (od tega 12 za PWM izhod)

Analogni vhodni zatiči: 12

Analogni izhodni zatiči: 2 (DAC)

Skupni enosmerni izhodni tok na vseh V / I vodih: 130 mA

DC tok za 3.3V Pin: 800 mA

DC tok za 5V pin: 800 mA

Flash pomnilnik: 512 KB vse na voljo za uporabniške aplikacije

SRAM: 96 KB (dve banki: 64 KB in 32 KB)

Taktna hitrost: 84 MHz

Dolžina: 101,52 mm

Širina: 53,3 mm

Teža: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 v paketu LQFP64

ARM® 32-bitni CPE Cortex®-M4

Prilagodljiv pospeševalnik v realnem času

(ART Accelerator ™), ki omogoča izvajanje stanja 0 čakanja iz pomnilnika Flash

Največja frekvenca procesorja 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) z možnostjo zunanjih prekinitev

Kapacitivno zaznavanje z 12 kanali

12-bitni ADC (3) s 16 kanali

12-bitni DAC z 2 kanaloma

FPU ali enota s plavajočo vejico

* Tu izpostavljam te ločene FPU STM NUCLEO-L476RG, kar pomeni, da čip z neverjetno hitrostjo izvaja trigonometrične izračune. To je za razliko od Arduino Due, ki za to potrebuje genetski procesor.

4. korak: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone je sintetični računalniški primerjalni program, ki ga je leta 1984 razvil Reinhold P. Weicker, ki naj bi bil reprezentativen za (celoštevilsko) sistemsko programiranje. Dhrystone je postal predstavnik celotne zmogljivosti procesorja (CPU). Ime "Dhrystone" je beseda na drugem primerjalnem algoritmu, imenovanem Whetstone. To je ukrep iz nekaterih generičnih operacij.

Ta program je namenjen prevajanju nekaj v teh mikrokrmilnikih v Arduinu. In rezultat dveh testov, ki sem jih opravil, enega z Dhrystoneom in drugega iz videa SpeedTest, sta naslednja:

Arduino Due: 37,00 USD

Dhrystone Benchmark, različica 2.1 (jezik: C)

Izvajanje se začne, 300.000 teče skozi Dhrystone

Izvedba se konča

Mikrosekunde za en tek skozi Dhrystone: 10,70

Dhrystones na sekundo: 93, 431,43

Ocena VAX MIPS = 53,18 DMIPS

Tekaški preizkus Fernandok

Skupni čas: 2, 458 ms

  • Nima FPU
  • Programska oprema Dhrystone na Arduinu

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23,00 US $

Dhrystone Benchmark, različica 2.1 (jezik: C)

Izvajanje se začne, 300.000 teče skozi Dhrystone

Izvedba se konča

Mikrosekunde za en tek skozi Dhrystone: 9,63

Dhrystones na sekundo: 103, 794,59

Ocena VAX MIPS = 59,07 DMIPS

Tekaški preizkus Fernandok

Skupni čas: 869 ms 2,8x hitreje

  • PI do 40Mbit / s, USART 10Mbit / s
  • 2x DMA (14 kanalov)
  • Do 80 MHz / 100 DMIPS s ART pospeševalnikom

5. korak: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Leva plošča je STM32L432KC, v kateri je STMicroelectronics na sliki na desni postavila enak izhod Arduino Nano.

6. korak: STM32L432KC

STM32L432KC
STM32L432KC

32-bitni Arm® Cortex®-M4 ultra nizke porabe energije

MCU + FPU, 100DMIPS, do 256 KB Flash, 64 KB SRAM, USB FS, analogni, avdio

Do 26 IO hitrejši, bolj tolerantni na 5V

  • RTC s koledarjem HW, alarmi in umerjanjem
  • Do 3 kapacitivnih kanalov za zaznavanje
  • 11x časovniki: 1x16-bitno napredno krmiljenje motorja

1x 32-bitni in 2x 16-bitni splošni namen, 2x 16-bitni osnovni, 2x 16-bitni časovniki z nizko porabo energije (na voljo v načinu Stop), 2x nadzorniki, časovnik SysTick

Spomin:

- do 256 KB Flash, zaščita lastniškega branja kod

- 64 KB SRAM, vključno s 16 KB s preverjanjem parnosti strojne opreme

- Quad SPI pomnilniški vmesnik

Bogata analogna zunanja naprava (neodvisno napajanje)

- 1x 12-bitni ADC 5 Msps, do 16 bitov s strojno prezasemenjevanjem, 200 μA / Msps

- 2 kanala 12-bitnega DAC izhoda, nizka poraba energije

- 1x operacijski ojačevalnik z vgrajenim PGA

- 2x v primerjavi z vmesniki z zelo nizko porabo energije

- 1x UPS (serijski zvočni vmesnik)

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

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

- 1x LPUART (Stop 2 prebujanje)

- 2x SPI (in 1x SPI Quad)

- CAN (aktivno 2,0B)

- Enožični glavni protokol SWPMI I / F

- IRTIM (infrardeči vmesnik)

  • 14-kanalni krmilnik DMA
  • Generator naključnih števil

7. korak: Namestite Core Arduino za kartice STM32L4

Namestite Core Arduino za kartice STM32L4
Namestite Core Arduino za kartice STM32L4
  1. Namestite program ST-Link, ki snema
  2. Naslov Json
  3. Odbori: Upravitelj kartic
  4. Knjižnice: vodja knjižnice

8. korak: Namestite ST -Link - program, ki snema

Namestite ST -Link - program, ki snema
Namestite ST -Link - program, ki snema

Prenesite datoteko na naslovu https://www.st.com/en/development-tools/stsw-link0…. Samo registrirajte, naložite in namestite napravo.

9. korak: Naslov Json

Naslov Json
Naslov Json

V zvezi z lastnostmi vključite naslednji naslov:

github.com/stm32duino/BoardManagerFiles/ra…

10. korak: Odbori: Upravni odbor

Odbori: Upravni odbor
Odbori: Upravni odbor

V upravitelju plošč Arduino namestite jedro STM32, ki znaša približno 40 MB.

11. korak: Knjižnice: Upravitelj knjižnice

Knjižnice: vodja knjižnice
Knjižnice: vodja knjižnice

Na koncu namestite knjižnice.

Osebno mi je bila všeč skupina STM32duino.com, ki ima več primerov, nekatere sem tudi namestil. Prenesel sem tudi FreeRTOS, ki mi je bil zelo všeč. Zdelo se mi je hitro in zanesljivo. Prav tako sem namestil (vendar še nisem preizkusil) LRWAN. Kmalu vam povem, ali je dobro ali ne.

Korak: Prenesite PDF

PDF

Priporočena: