Turinys:

Neįtikėtinas STM32 L4 !: 12 žingsnių
Neįtikėtinas STM32 L4 !: 12 žingsnių

Video: Neįtikėtinas STM32 L4 !: 12 žingsnių

Video: Neįtikėtinas STM32 L4 !: 12 žingsnių
Video: Neįtikėtinas vaizdas: nufilmuota, kaip specialiųjų pajėgų komanda atakuoja vilkiką 2024, Liepa
Anonim
Image
Image
STM32F746G ATRADIMAS
STM32F746G ATRADIMAS

Noriu pradėti šį straipsnį ir paaiškinti, kad ši L raidė (iš L4) reiškia mažą (arba iš esmės itin mažą galią). Taigi, jis išleidžia mažai energijos ir parodo, kodėl šis STM32 yra neįtikėtinas! Jis išleidžia mikroampes ir turi sistemą, kuri gali nustatyti kiekvienos mikroschemos dalies išlaidas. Tai leidžia labai efektyviai valdyti energiją ir užtikrinti aukštą našumą.

Aš jau kalbėjau apie šį mikrovaldiklį vaizdo įraše: „Lengviausias būdas užprogramuoti mikrovaldiklį! Vaizdo įraše parodžiau, kaip programuoti STM32 L4 naudojant MBED. Tačiau daugiau apie tai tyrinėdamas atradau tai, ko gamintojas STMicroelectronics neatskleidžia. Jis įdiegė „Core Arduino“lustą, kuris leidžia programuoti naudojant „Arduino IDE“.

Šiame paveikslėlyje turime dvi L4 versijas. STM32L432KC yra identiškas „Arduino Nano“ir STM32L476RG, kurių IO yra lygiaverčiai „Arduino Uno“. Taigi, dirbdamas su dviem šio galingo mikrovaldiklio versijomis, parodysiu, kaip įdiegti „Arduino Core“STM32 šeimoje. Taip pat paaiškinsiu pagrindines STM32 rinkinių savybes.

1 žingsnis: plokštės su „Core Arduino“

Pateikiau sąrašą apie įvairovę. Tačiau mes ketiname dirbti su STM32L432KC ir STM32L476RG.

STM32F0

  • „Nucleo F030R8“
  • „Nucleo F091RC“
  • 32F0308Atradimas

STM32F1

  • „BluePill F103C8“(pagrindinis palaikymas, nėra USB)
  • „MapleMini F103CB“(pagrindinis palaikymas, be 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 žingsnis: STM32F746G ATRADIMAS

Tiesiog iliustruodamas parodau detales apie STM32F746G DISCOVERY, kurį laikau žvėrimi. Aš jau užsisakiau šį lustą ir tikiuosi greitai apie tai pakalbėti.

Savybės:

STM32F746NGH6 mikrovaldiklis, turintis 1 MB „Flash“atmintį ir 340 Kb RAM BGA216 pakuotėje

  • Borto ST-LINK / V2-1, palaikantis USB perrašymo galimybes
  • Įjungta „Mbed“(mbed.org)
  • USB funkcijos: virtualus COM prievadas, masinė atmintis ir derinimo prievadas
  • 4,3 colio 480x272 spalvų LCD-TFT su talpiniu jutikliniu ekranu
  • Fotoaparato jungtis
  • SAI garso kodekas
  • Garso linijos įvesties ir išvesties lizdas
  • Stereo garsiakalbių išėjimai
  • Du ST MEMS mikrofonai
  • SPDIF RCA įvesties jungtis
  • Du mygtukai (naudotojas ir iš naujo nustatyti)
  • 128 Mbit Quad-SPI „Flash“atmintis
  • 128 Mbit SDRAM (prieinama 64 Mbits)
  • „MicroSD“kortelės jungtis
  • RF-EEPROM dukterinės plokštės jungtis
  • USB OTG HS su „Micro-AB“jungtimis
  • USB OTG FS su „Micro-AB“jungtimis
  • Ethernet jungtis, atitinkanti IEEE-802.3-2002
  • Penkios maitinimo galimybės:

- ST LINK / V2-1

- USB FS jungtis

- USB HS jungtis

- VIN iš „Arduino“jungties

- Išorinis 5 V iš jungties

Maitinimo šaltinio išvesties išorinės programos:

- 3,3 V arba 5 V

„Arduino Uno V3“jungtys

3 žingsnis: „Arduino Due X STM NUCLEO-L476RG“

„Arduino Due X STM NUCLEO-L476RG“
„Arduino Due X STM NUCLEO-L476RG“

Čia yra palyginimas su „Arduino Due“, kuris yra „ARM Cortex-M3“. Šį modelį naudojau vaizdo įrašuose: „Nema 23“žingsninis variklis su tvarkykle TB6600 su „Arduino Due“ir „SpeedTest“: „Arduinos“- ESP32 / 8266s - STM32, su STM NUCLEO -L476RG, kuris yra „ARM Cortex -M4 Ultra Low Power“ir yra vaizdas dešinėje pusėje.

„Arduino“terminas:

Mikrovaldiklis: AT91SAM3X8E

Darbinė įtampa: 3.3V

Įėjimo įtampa (rekomenduojama): 7-12V

Įėjimo įtampa (ribos): 6-16V

Skaitmeniniai įvesties / išvesties kaiščiai: 54 (iš kurių 12 užtikrina PWM išvestį)

Analoginės įvesties kaiščiai: 12

Analoginiai išvesties kaiščiai: 2 (DAC)

Bendra nuolatinės srovės išėjimo srovė visose įvesties / išvesties linijose: 130 mA

DC srovė 3,3 V kaiščiui: 800 mA

DC srovė 5V kaiščiui: 800 mA

„Flash“atmintis: 512 KB - viskas prieinama vartotojo programoms

SRAM: 96 KB (du bankai: 64 KB ir 32 KB)

Laikrodžio greitis: 84 MHz

Ilgis: 101,52 mm

Plotis: 53,3 mm

Svoris: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 LQFP64 pakuotėje

ARM® 32 bitų „Cortex®-M4“procesorius

Prisitaikantis realaus laiko greitintuvas

(ART Accelerator ™), leidžianti vykdyti „0“laukimo būseną iš „Flash“atminties

Maksimalus 80 MHz procesoriaus dažnis

VDD nuo 1,71 V iki 3,6 V

1 MB „Flash“

128 KB SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) su išorine pertraukimo galimybe

Talpinis jutimas su 12 kanalų

12 bitų ADC (3) su 16 kanalų

12 bitų DAC su 2 kanalais

FPU arba slankiojo kablelio vienetas

* Čia pabrėžiu šiuos atskirus STP NUCLEO-L476RG FPU, o tai reiškia, kad lustas daro trigonometrinius skaičiavimus nuostabiu greičiu. Tai nepanašu į „Arduino Due“, kuriam reikia genetinio procesoriaus.

4 žingsnis: „Dhrystone“

Dhrystone
Dhrystone
Dhrystone
Dhrystone

„Dhrystone“yra sintetinė kompiuterinė etaloninė programa, kurią 1984 m. Sukūrė Reinholdas P. Weickeris. Ji skirta reprezentuoti (sveikųjų skaičių) sistemos programavimą. „Dhrystone“tapo bendro procesoriaus našumo (CPU) atstovu. Pavadinimas „Dhrystone“yra žodis iš kito etaloninio algoritmo, vadinamo „Whetstone“. Tai yra priemonė, paimta iš kai kurių bendrų operacijų.

Ši programa yra skirta tam, kad surinktumėte ką nors šių „Arduino“mikrovaldiklių viduje. Ir dviejų mano atliktų testų, kurių vienas buvo su „Dhrystone“, o kito iš „SpeedTest“vaizdo įrašo, rezultatas yra toks:

„Arduino“terminas: 37,00 USD

„Dhrystone Benchmark“, 2.1 versija (kalba: C)

Vykdymas prasideda, 300 000 eina per „Dhrystone“

Išsiuntimas baigiasi

Mikrosekundės vienam važiavimui per „Dhrystone“: 10,70

Drystonai per sekundę: 93, 431,43

VAX MIPS įvertinimas = 53.18 DMIPS

Bėgimo testas Fernandokas

Bendras laikas: 2, 458 ms

  • Neturi FPU
  • „Dhrystone“programinė įranga „Arduino“

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23,00 USD

„Dhrystone Benchmark“, 2.1 versija (kalba: C)

Vykdymas prasideda, 300 000 eina per „Dhrystone“

Vykdymas baigiasi

Mikrosekundės vienam važiavimui per „Dhrystone“: 9.63

Drystonų per sekundę: 103, 794,59

VAX MIPS įvertinimas = 59.07 DMIPS

Bėgimo testas Fernandokas

Bendras laikas: 869 ms 2.8x GREIČIAU

  • PI iki 40 Mbit / s, USART 10 Mbit / s
  • 2x DMA (14 kanalų)
  • Iki 80 MHz / 100 DMIPS su „ART Accelerator“

5 žingsnis: STM32L432KC X „Arduino Nano“

STM32L432KC X „Arduino Nano“
STM32L432KC X „Arduino Nano“

Kairioji plokštė yra STM32L432KC, kurioje STMicroelectronics įdėjo identišką „Arduino Nano“kištuką į paveikslėlį dešinėje.

6 žingsnis: STM32L432KC

STM32L432KC
STM32L432KC

Itin mažos galios „Arm® Cortex®-M4“32 bitų

MCU + FPU, 100DMIPS, iki 256 KB „Flash“, 64 KB SRAM, USB FS, analogas, garsas

Iki 26 IO greičiau, tolerantiškesnis 5 V įtampai

  • RTC su karšto vandens kalendoriumi, aliarmais ir kalibravimu
  • Iki 3 talpinių aptikimo kanalų
  • 11x laikmačiai: 1x16 bitų pažangus variklio valdymas

1x 32 bitų ir 2x 16 bitų bendrosios paskirties, 2x 16 bitų pagrindiniai, 2x mažos galios 16 bitų laikmačiai (galima sustabdymo režimu), 2x stebėtojai, „SysTick“laikmatis

Atmintis:

- Iki 256 KB „Flash“, patentuota kodo skaitymo apsauga

- 64 KB SRAM, įskaitant 16 KB su aparatūros pariteto tikrinimu

- Keturių SPI atminties sąsaja

Turtingi analoginiai išoriniai įrenginiai (nepriklausomas maitinimas)

- 1 x 12 bitų ADC 5 Msps, iki 16 bitų su aparatinės įrangos atranka, 200 μA / Msps

- 2 kanalai 12 bitų DAC išvesties, mažos energijos sąnaudos

- 1x operacinis stiprintuvas su įmontuotu PGA

- 2x, palyginti su itin mažos galios sąsajomis

- 1x UPS (serijinė garso sąsaja)

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

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

- 1x LPUART (sustabdyti 2 pabudimą)

- 2x SPI (ir 1x SPI Quad)

- CAN (2.0B aktyvus)

- Vieno laido protokolo pagrindinis SWPMI I / F

- IRTIM (infraraudonųjų spindulių sąsaja)

  • 14 kanalų DMA valdiklis
  • Atsitiktinių skaičių generatorius

7 veiksmas: įdiekite „Core Arduino“, skirtą STM32L4 kortelėms

Įdiekite „Core Arduino“, skirtą STM32L4 kortelėms
Įdiekite „Core Arduino“, skirtą STM32L4 kortelėms
  1. Įdiekite ST-Link programą, kuri įrašo
  2. Json adresas
  3. Lentos: kortelių tvarkyklė
  4. Bibliotekos: bibliotekos vadovas

8 veiksmas: įdiekite „ST -Link“- programą, kuri įrašo

Įdiekite „ST -Link“- programą, kuri įrašo
Įdiekite „ST -Link“- programą, kuri įrašo

Atsisiųskite failą adresu https://www.st.com/en/development-tools/stsw-link0…. Tiesiog užregistruokite, atsisiųskite ir įdiekite įrenginį.

9 veiksmas: kreipkitės į Json

Adresas Json
Adresas Json

Į nuosavybes įtraukite šį adresą:

github.com/stm32duino/BoardManagerFiles/ra…

10 žingsnis: valdybos: valdybos vadovas

Valdybos nariai: valdybos vadovas
Valdybos nariai: valdybos vadovas

Į „Arduino Board Manager“įdiekite „STM32 Core“, kuris yra apie 40 MB.

11 veiksmas: bibliotekos: bibliotekos valdytojas

Bibliotekos: bibliotekos vadovas
Bibliotekos: bibliotekos vadovas

Galiausiai įdiekite bibliotekas.

Man asmeniškai patiko grupė STM32duino.com, kurioje yra keli pavyzdžiai, kai kuriuos iš jų įdiegiau. Taip pat atsisiunčiau „FreeRTOS“, kuris man labai patiko. Radau greitai ir patikimai. Aš taip pat įdiegiau (bet dar neišbandžiau) LRWAN. Netrukus pasakysiu, ar tai gerai, ar ne.

12 veiksmas: atsisiųskite PDF

PDF

Rekomenduojamas: