Përmbajtje:

STM32 L4 e pabesueshme !: 12 hapa
STM32 L4 e pabesueshme !: 12 hapa

Video: STM32 L4 e pabesueshme !: 12 hapa

Video: STM32 L4 e pabesueshme !: 12 hapa
Video: STM32 L4 - ENVIAR E RECEBER DE DADOS - SEND AND RECEIVE DATA – USART – POLLING – INTERRUPT – RS232 2024, Nëntor
Anonim
Image
Image
Zbulimi STM32F746G
Zbulimi STM32F746G

Dua ta filloj këtë artikull duke shpjeguar se kjo shkronjë L (e L4) do të thotë e ulët (ose, në thelb, Fuqia Ultra e Ulët). Kështu, shpenzon pak energji dhe tregon pse ky STM32 është i pabesueshëm! Ai shpenzon mikroampa dhe ka një sistem brenda që mund të identifikojë shpenzimet e secilës pjesë të çipit. Kjo lejon një menaxhim shumë efikas të energjisë, dhe me performancë të lartë.

Unë tashmë fola për këtë mikrokontrollues në video, "Mënyra më e lehtë për të programuar një mikrokontrollues!" Në video, unë tregova se si të programoj STM32 L4 me MBED. Por ndërsa kërkoja më shumë për të, zbulova diçka që prodhuesi STMicroelectronics nuk e zbulon. Ai zbatoi Cdu Arduino në çip, i cili mundëson programimin përmes Arduino IDE.

Në këtë imazh, ne kemi dy versione të L4. STM32L432KC është identik me Arduino Nano dhe STM32L476RG, të cilët kanë IO ekuivalente me Arduino Uno. Pra, ndërsa punoj me dy versione të këtij mikrokontrolluesi të fuqishëm, do t'ju tregoj se si ta instaloni Arduino Core në familjen STM32. Gjithashtu, unë do të shpjegoj karakteristikat kryesore të Kompleteve STM32.

Hapi 1: Pllaka me Core Arduino

Vendosa këtu një listë për diversitetin. Sidoqoftë, ne do të punojmë me STM32L432KC dhe STM32L476RG.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308Zbulimi

STM32F1

  • BluePill F103C8 (mbështetje bazë, pa USB)
  • MapleMini F103CB (mbështetje bazë, pa USB)
  • Nucleo F103RB
  • STM32VLDISCOVERY

STM32F2

Nucleo F207ZG

STM32F3

  • Nucleo F302R8
  • Nucleo F303K8
  • Nucleo F303RE

STM32F4

  • Nucleo F401RE
  • Nucleo F411RE
  • Nukleo F429ZI
  • Nucleo F446RE
  • STM32F407G-DISC1

STM32F7

STM32F746G-ZBULIMI

STM32L0

  • Nucleo L031K6
  • Nucleo L053R8
  • B-L072Z-LRWAN1

STM32L1

Nucleo L152RE

STM32L4

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

Hapi 2: Zbulimi STM32F746G

Vetëm për ilustrim, unë tregoj detajet e një Zbulimi STM32F746G, të cilin e konsideroj një bishë. Unë e kam porositur tashmë këtë çip, dhe shpresoj të flas për të së shpejti.

Karakteristikat:

Mikrokontrolluesi STM32F746NGH6 me 1 Mbytes memorie Flash dhe 340 Kbytes RAM në një paketë BGA216

  • Në bord ST-LINK / V2-1 që mbështet aftësitë e ri-regjistrimit të USB
  • Mbed-enabled (mbed.org)
  • Funksionet USB: porta virtuale COM, ruajtje masive dhe portë debugimi
  • LCD-TFT me ngjyra 4.3-inç 480x272 me ekran me prekje kapacitiv
  • Lidhës i kamerës
  • Kodek audio SAI
  • Linja audio në folenë e daljes
  • Rezultatet e altoparlantëve stereo
  • Dy mikrofona ST MEMS
  • Lidhësi i hyrjes SPDIF RCA
  • Dy butona (përdoruesi dhe rivendosja)
  • Kujtesë flash 128-Mbit Quad-SPI
  • 128-Mbit SDRAM (64 Mbits i arritshëm)
  • Lidhës për kartën microSD
  • Lidhësi i tastierës RF-EEPROM
  • USB OTG HS me lidhje Micro-AB
  • USB OTG FS me lidhje Micro-AB
  • Lidhës Ethernet në përputhje me IEEE-802.3-2002
  • Pesë opsione të furnizimit me energji:

- ST LINK / V2-1

- Lidhës USB FS

- Lidhës USB HS

- VIN nga lidhësi Arduino

- Jashtë 5 V nga lidhësi

Prodhimi i furnizimit me energji elektrike për aplikimet e jashtme:

- 3.3 V ose 5 V

Lidhëset Arduino Uno V3

Hapi 3: Arduino Due X STM NUCLEO-L476RG

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

Këtu është një krahasim me Arduino Due, i cili është një ARM Cortex-M3. Unë e kam përdorur këtë model në video: Nema 23 Stepper Motor me Driver TB6600 me Arduino Due, dhe SpeedTest: Arduinos - ESP32 / 8266s - STM32, me STM NUCLEO -L476RG, e cila është një ARM Cortex -M4 Ultra Low Power, dhe është në imazhi në anën e djathtë.

Arduino shkak:

Mikrokontrolluesi: AT91SAM3X8E

Tensioni i funksionimit: 3.3V

Tensioni i hyrjes (rekomandohet): 7-12V

Tensioni i hyrjes (kufijtë): 6-16V

Kunjat Dixhital I / O: 54 (nga të cilët 12 ofrojnë dalje PWM)

Kunjat e hyrjes analoge: 12

Kunjat e daljes analoge: 2 (DAC)

Rryma totale e daljes DC në të gjitha linjat I / O: 130 mA

DC aktuale për 3.3V Pin: 800 mA

Rryma DC për pin 5V: 800 mA

Flash Memory: 512 KB të gjitha të disponueshme për aplikacionet e përdoruesit

SRAM: 96 KB (dy banka: 64KB dhe 32KB)

Shpejtësia e orës: 84 MHz

Gjatësia: 101.52 mm

Gjerësia: 53.3 mm

Pesha: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 në paketën LQFP64

CPU ARM®32-bit Cortex®-M4

Përshpejtues përshtatës në kohë reale

(ART Accelerator ™) duke lejuar ekzekutimin e gjendjes me 0 pritje nga Flash memoria

Frekuenca maksimale e CPU 80 MHz

VDD nga 1.71 V në 3.6 V

Flash 1 MB

SRAM 128 KB

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) me aftësi ndërprerjeje të jashtme

Ndjenja kapacitive me 12 kanale

ADC 12-bit (3) me 16 kanale

DAC 12-bit me 2 kanale

FPU ose Njësia e Pikës Floating

* Unë theksoj këtu këto FPU të veçanta të STM NUCLEO-L476RG, që do të thotë se çipi bën llogaritjet trigonometrike me shpejtësi të mahnitshme. Kjo është ndryshe nga Arduino Due, e cila ka nevojë për një procesor gjenetik për ta bërë këtë.

Hapi 4: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone është një program referimi sintetik kompjuterik i zhvilluar në 1984 nga Reinhold P. Weicker, i cili synohet të jetë përfaqësues i programimit të sistemit (numër të plotë). Dhrystone u bë përfaqësues i performancës së përgjithshme të procesorit (CPU). Emri "Dhrystone" është një lojë fjalësh në një algoritëm të ndryshëm standard të quajtur Whetstone. Kjo është një masë e marrë nga disa operacione gjenerike.

Ky program është këtu për të përpiluar diçka brenda këtyre mikrokontrolluesve në Arduino. Dhe rezultati i dy testeve që bëra, një me Dhrystone dhe një tjetër nga video SpeedTest, janë si më poshtë:

Arduino për shkak: 37,00 dollarë amerikanë

Rezultati Dhrystone, Versioni 2.1 (Gjuha: C)

Fillon ekzekutimi, 300,000 kalon nëpër Dhrystone

Ekzekutimi përfundon

Mikrosekonda për një vrapim nëpër Dhrystone: 10.70

Dhrystones për sekondë: 93, 431.43

Vlerësimi VAX MIPS = 53.18 DMIPS

Testi i drejtimit Fernandok

Koha totale: 2, 458 ms

  • Nuk ka FPU
  • Softueri Dhrystone në Arduino

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23,00 dollarë amerikanë

Rezultati Dhrystone, Versioni 2.1 (Gjuha: C)

Fillon ekzekutimi, 300,000 kalon nëpër Dhrystone

Ekzekutimi përfundon

Mikrosekonda për një vrapim nëpër Dhrystone: 9.63

Dhrystones për sekondë: 103, 794.59

Vlerësimi VAX MIPS = 59.07 DMIPS

Testi i drejtimit Fernandok

Koha totale: 869 ms 2.8x më shpejt

  • PI deri në 40Mbit / s, USART 10Mbit / s
  • 2x DMA (14 kanale)
  • Deri në 80 MHz / 100 DMIPS me përshpejtues ART

Hapi 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Tabela e majtë është STM32L432KC, në të cilën STMicroelectronics vendosi pinoutin Arduino Nano identik në figurën në të djathtë.

Hapi 6: STM32L432KC

STM32L432KC
STM32L432KC

Fuqia ultra e ulët Arm® Cortex®-M4 32-bit

MCU + FPU, 100DMIPS, deri në 256KB Flash, 64KB SRAM, USB FS, analoge, audio

Deri në 26 IO më shpejt, më tolerant ndaj 5V

  • RTC me kalendar HW, alarme dhe kalibrim
  • Deri në 3 kanale zbulimi kapacitiv
  • Kohëmatësit 11x: Kontrolli i avancuar i motorit 1x16-bit

1x 32-bit dhe 2x 16-bit për qëllime të përgjithshme, 2x 16-bit bazë, 2x kohëmatës 16-bit me fuqi të ulët (të disponueshme në modalitetin Stop), 2x kujdestarë, kohëmatës SysTick

Kujtesa:

- Deri në 256 KB Flash, mbrojtje pronësore e leximit të kodit

- 64 KB SRAM përfshirë 16 KB me kontroll të barazisë së harduerit

- Ndërfaqja e kujtesës Quad SPI

Periferikësh analogë të pasur (furnizim i pavarur)

- 1x 12-bit ADC 5 Msps, deri në 16 bit me mbivendosje të harduerit, 200 μA / Msps

- 2 kanale me dalje DAC 12-bit, konsum i ulët i energjisë

- 1x amplifikator operacional me PGA të integruar

- 2x në krahasim me ndërfaqet me fuqi ultra të ulët

- 1x UPS (ndërfaqe serike audio)

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

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

- 1x LPUART (Ndalesa 2 zgjohu)

- 2x SPI (dhe 1x SPI Quad)

- MUND (2.0B aktive)

- Master i protokollit me tela të vetëm SWPMI I / F

- IRTIM (ndërfaqe infra të kuqe)

  • Kontrollues DMA me 14 kanale
  • Gjenerator i Numrave të Rastit

Hapi 7: Instaloni Core Arduino për Kartat STM32L4

Instaloni Core Arduino për Kartat STM32L4
Instaloni Core Arduino për Kartat STM32L4
  1. Instaloni programin ST-Link që regjistron
  2. Adresa e Json
  3. Bordet: Menaxher kartash
  4. Bibliotekat: Menaxher i Bibliotekës

Hapi 8: Instaloni ST -Link - Programi që Regjistron

Instaloni ST -Link - Programi që Regjistron
Instaloni ST -Link - Programi që Regjistron

Shkarkoni skedarin në https://www.st.com/en/development-tools/stsw-link0…. Thjesht regjistrohuni, shkarkoni dhe instaloni pajisjen.

Hapi 9: Adresa Json

Adresa Json
Adresa Json

Për pronat, përfshini adresën e mëposhtme:

github.com/stm32duino/BoardManagerFiles/ra…

Hapi 10: Bordet: Menaxher i Bordit

Bordet: Menaxher i Bordit
Bordet: Menaxher i Bordit

Në Menaxherin e Bordit Arduino, instaloni STM32 Core, e cila është rreth 40MB.

Hapi 11: Bibliotekat: Menaxheri i Bibliotekës

Bibliotekat: Menaxher i Bibliotekës
Bibliotekat: Menaxher i Bibliotekës

Së fundi, instaloni bibliotekat.

Mua personalisht më pëlqeu grupi STM32duino.com, i cili ka disa shembuj, disa prej të cilëve i instalova. Kam shkarkuar gjithashtu një FreeRTOS, i cili më pëlqeu shumë. E gjeta të shpejtë dhe të besueshëm. Unë gjithashtu instalova (por ende nuk e kam testuar) LRWAN. Së shpejti do t'ju them nëse është mirë apo jo.

Hapi 12: Shkarkoni PDF

PDF

Recommended: