Satura rādītājs:

Neticamais STM32 L4 !: 12 soļi
Neticamais STM32 L4 !: 12 soļi

Video: Neticamais STM32 L4 !: 12 soļi

Video: Neticamais STM32 L4 !: 12 soļi
Video: STM32L4 workshop: 3.2 Operating modes - part 2 2024, Jūlijs
Anonim
Image
Image
STM32F746G ATKLĀŠANA
STM32F746G ATKLĀŠANA

Es vēlos sākt šo rakstu, paskaidrojot, ka šis burts L (no L4) nozīmē zemu (vai būtībā īpaši mazu jaudu). Tādējādi tas tērē maz enerģijas un parāda, kāpēc šis STM32 ir neticams! Tas tērē mikroampus, un tā iekšpusē ir sistēma, kas var noteikt katras mikroshēmas daļas izdevumus. Tas ļauj ļoti efektīvi pārvaldīt enerģiju un nodrošināt augstu veiktspēju.

Es jau runāju par šo mikrokontrolleri videoklipā “Vienkāršākais veids, kā ieprogrammēt mikrokontrolleru!” Videoklipā es parādīju, kā programmēt STM32 L4 ar MBED. Bet, vairāk par to pētot, es atklāju kaut ko tādu, ko ražotājs STMicroelectronics neatklāj. Tā mikroshēmā ieviesa Core Arduino, kas ļauj programmēt, izmantojot Arduino IDE.

Šajā attēlā mums ir divas L4 versijas. STM32L432KC ir identisks Arduino Nano un STM32L476RG, kuriem ir līdzvērtīgi IO kā Arduino Uno. Tātad, strādājot ar divām šī jaudīgā mikrokontrollera versijām, es jums parādīšu, kā instalēt Arduino Core STM32 saimē. Es arī izskaidrošu STM32 komplektu galvenās īpašības.

1. solis: plāksnes ar Core Arduino

Es ievietoju šeit sarakstu ar daudzveidību. Tomēr mēs strādāsim ar STM32L432KC un STM32L476RG.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308Atklāšana

STM32F1

  • BluePill F103C8 (pamata atbalsts, bez USB)
  • MapleMini F103CB (pamata atbalsts, 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

2. darbība: STM32F746G ATKLĀŠANA

Lai ilustrētu, es parādīju informāciju par STM32F746G ATKLĀŠANU, ko es uzskatu par zvēru. Es jau esmu pasūtījis šo mikroshēmu, un es ceru, ka drīz par to pastāstīšu.

Raksturojums:

STM32F746NGH6 mikrokontrolleris ar 1 MB zibatmiņu un 340 KB RAM BGA216 iepakojumā

  • Iebūvētais ST-LINK / V2-1 atbalsta USB atkārtotas uzskaites iespējas
  • Mbed iespējots (mbed.org)
  • USB funkcijas: virtuālais COM ports, lielapjoma atmiņa un atkļūdošanas ports
  • 4,3 collu 480x272 krāsu LCD-TFT ar ietilpīgu skārienekrānu
  • Kameras savienotājs
  • SAI audio kodeku
  • Audio ieejas un līnijas izejas ligzda
  • Stereo skaļruņu izejas
  • Divi ST MEMS mikrofoni
  • SPDIF RCA ieejas savienotājs
  • Divas pogas (lietotājs un atiestatīšana)
  • 128 Mbit Quad-SPI zibatmiņa
  • 128 Mbit SDRAM (pieejams 64 Mbits)
  • Savienotājs microSD kartei
  • RF-EEPROM meitas plates savienotājs
  • USB OTG HS ar Micro-AB savienotājiem
  • USB OTG FS ar Micro-AB savienotājiem
  • Ethernet savienotājs atbilst IEEE-802.3-2002
  • Piecas barošanas iespējas:

- ST LINK / V2-1

- USB FS savienotājs

- USB HS savienotājs

- VIN no Arduino savienotāja

- Ārējais 5 V no savienotāja

Barošanas avota izejas ārējās lietojumprogrammās:

- 3,3 V vai 5 V

Arduino Uno V3 savienotāji

3. darbība: Arduino Due X STM NUCLEO-L476RG

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

Šeit ir salīdzinājums ar Arduino Due, kas ir ARM Cortex-M3. Šo modeli esmu izmantojis videoklipos: Nema 23 pakāpju motors ar draiveri TB6600 ar Arduino Due un SpeedTest: Arduinos - ESP32 / 8266s - STM32, ar STM NUCLEO -L476RG, kas ir ARM Cortex -M4 Ultra Low Power, un ir attēls labajā pusē.

Arduino termiņš:

Mikrokontrolleris: AT91SAM3X8E

Darba spriegums: 3.3V

Ieejas spriegums (ieteicams): 7-12V

Ieejas spriegums (robežas): 6-16V

Digitālās I / O tapas: 54 (no kurām 12 nodrošina PWM izeju)

Analogās ieejas tapas: 12

Analogās izejas tapas: 2 (DAC)

Kopējā līdzstrāvas izejas strāva visās I / O līnijās: 130 mA

Līdzstrāvas stiprums 3,3 V tapai: 800 mA

Līdzstrāvas strāva 5V tapai: 800 mA

Zibatmiņa: 512 KB, kas ir pieejams lietotāju lietojumprogrammām

SRAM: 96 KB (divas bankas: 64 KB un 32 KB)

Pulksteņa ātrums: 84 MHz

Garums: 101,52 mm

Platums: 53,3 mm

Svars: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 LQFP64 iepakojumā

ARM® 32 bitu Cortex®-M4 centrālais procesors

Adaptīvs reāllaika paātrinātājs

(ART Accelerator ™), kas nodrošina 0 gaidīšanas stāvokļa izpildi no zibatmiņas

Maksimālā procesora frekvence ir 80 MHz

VDD no 1,71 V līdz 3,6 V

1 MB zibspuldze

128 KB SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) ar ārēju pārtraukuma iespēju

Kapacitīva uztveršana ar 12 kanāliem

12 bitu ADC (3) ar 16 kanāliem

12 bitu DAC ar 2 kanāliem

FPU vai peldošā komata vienība

* Šeit es izcēlu šos STM NUCLEO-L476RG atsevišķos FPU, kas nozīmē, ka mikroshēma veic trigonometriskus aprēķinus ar pārsteidzošu ātrumu. Tas ir atšķirībā no Arduino Due, kuram ir nepieciešams ģenētiskais procesors.

4. solis: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone ir sintētiska datora etalonprogramma, kuru 1984. gadā izstrādāja Reinholds P. Veikers, un kuras mērķis ir reprezentēt (veselu skaitļu) sistēmas programmēšanu. Dhrystone kļuva par procesora vispārējās veiktspējas (CPU) pārstāvi. Nosaukums "Dhrystone" ir vārdu spēle uz cita etalona algoritma, ko sauc par Whetstone. Šis ir pasākums, kas ņemts no dažām vispārīgām operācijām.

Šī programma ir paredzēta, lai apkopotu kaut ko šajos Arduino mikrokontrolleros. Un divu manu veikto testu, viena ar Dhrystone un otra no SpeedTest video, rezultāts ir šāds:

Arduino termiņš: 37,00 ASV dolāri

Dhrystone Benchmark, versija 2.1 (valoda: C)

Sākas izpilde, 300 000 skrien caur Dhrystone

Izspiešana beidzas

Mikrosekundes vienam skrējienam caur Dhrystone: 10,70

Drusti sekundē: 93, 431,43

VAX MIPS vērtējums = 53,18 DMIPS

Skriešanas tests Fernandoks

Kopējais laiks: 2, 458 ms

  • Nav FPU
  • Dhrystone programmatūra Arduino

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23,00 ASV dolāri

Dhrystone Benchmark, versija 2.1 (valoda: C)

Sākas izpilde, 300 000 skrien caur Dhrystone

Izpilde beidzas

Mikrosekundes vienam skrējienam caur Dhrystone: 9.63

Drusti sekundē: 103, 794,59

VAX MIPS vērtējums = 59.07 DMIPS

Skriešanas tests Fernandoks

Kopējais laiks: 869 ms 2.8x ĀTRĀK

  • PI līdz 40Mbit / s, USART 10Mbit / s
  • 2x DMA (14 kanāli)
  • Līdz 80 MHz / 100 DMIPS ar ART paātrinātāju

5. darbība: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Kreisā tāfele ir STM32L432KC, kurā STMicroelectronics ievietoja identisko Arduino Nano pinout attēlā pa labi.

6. darbība: STM32L432KC

STM32L432KC
STM32L432KC

Īpaši mazjaudas Arm® Cortex®-M4 32 bitu

MCU + FPU, 100DMIPS, līdz 256 KB zibspuldze, 64 KB SRAM, USB FS, analogs, audio

Līdz 26 IO ātrāk, izturīgāks pret 5V

  • RTC ar HW kalendāru, trauksmēm un kalibrēšanu
  • Līdz 3 kapacitatīviem noteikšanas kanāliem
  • 11x taimeri: 1x16 bitu uzlabota dzinēja vadība

1x 32 bitu un 2x 16 bitu vispārējs lietojums, 2x 16 bitu pamata, 2x mazjaudas 16 bitu taimeri (pieejams apturēšanas režīmā), 2x sargsuņi, SysTick taimeris

Atmiņa:

- Līdz 256 KB Flash, patentēta koda lasīšanas aizsardzība

- 64 KB SRAM, ieskaitot 16 KB ar aparatūras paritātes pārbaudi

- Quad SPI atmiņas interfeiss

Bagātīgas analogās perifērijas ierīces (neatkarīga barošana)

- 1x 12 bitu ADC 5 Msps, līdz 16 bitiem ar aparatūras pārmērīgu paraugu ņemšanu, 200 μA / Msps

- 2 kanāli ar 12 bitu DAC izeju, zems enerģijas patēriņš

- 1x darbības pastiprinātājs ar iebūvētu PGA

- 2x salīdzinājumā ar īpaši mazjaudas saskarnēm

- 1x UPS (sērijas audio interfeiss)

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

- 3x USARTs (ISO 7816, LIN, IrDA, modems)

- 1x LPUART (pārtraukt 2 pamošanos)

- 2x SPI (un 1x SPI Quad)

- CAN (2,0B aktīvs)

- Viena stieples protokola meistars SWPMI I / F

- IRTIM (infrasarkanais interfeiss)

  • 14 kanālu DMA kontrolieris
  • Nejaušu skaitļu ģenerators

7. darbība: instalējiet Core Arduino STM32L4 kartēm

Instalējiet Core Arduino STM32L4 kartēm
Instalējiet Core Arduino STM32L4 kartēm
  1. Instalējiet ierakstīšanas programmu ST-Link
  2. Json Adrese
  3. Valdes: karšu pārvaldnieks
  4. Bibliotēkas: bibliotēkas vadītājs

8. darbība: instalējiet ST -Link - programma, kas ieraksta

Instalējiet ST -Link - programma, kas ieraksta
Instalējiet ST -Link - programma, kas ieraksta

Lejupielādējiet failu vietnē https://www.st.com/en/development-tools/stsw-link0…. Vienkārši reģistrējiet, lejupielādējiet un instalējiet ierīci.

9. darbība: adresējiet Json

Adrese Json
Adrese Json

Īpašumos iekļaujiet šādu adresi:

github.com/stm32duino/BoardManagerFiles/ra…

10. solis: valdes: valdes vadītājs

Valdes: valdes vadītājs
Valdes: valdes vadītājs

Programmā Arduino Board Manager instalējiet STM32 Core, kas ir aptuveni 40 MB.

11. darbība: bibliotēkas: bibliotēkas pārvaldnieks

Bibliotēkas: bibliotēkas vadītājs
Bibliotēkas: bibliotēkas vadītājs

Visbeidzot, instalējiet bibliotēkas.

Man personīgi patika grupa STM32duino.com, kurā ir vairāki piemēri, no kuriem dažus es instalēju. Es arī lejupielādēju FreeRTOS, kas man ļoti patika. Es atklāju to ātri un uzticami. Es arī instalēju (bet vēl neesmu pārbaudījis) LRWAN. Drīz es jums pastāstīšu, vai tas ir labi vai nē.

12. darbība: lejupielādējiet PDF failu

PDF

Ieteicams: