Innehållsförteckning:

The Incredible STM32 L4 !: 12 steg
The Incredible STM32 L4 !: 12 steg

Video: The Incredible STM32 L4 !: 12 steg

Video: The Incredible STM32 L4 !: 12 steg
Video: «Интернет вещей», Джеймс Уиттакер из Microsoft 2024, November
Anonim
Image
Image
STM32F746G UPPDATERING
STM32F746G UPPDATERING

Jag vill börja den här artikeln med att förklara att den här bokstaven L (i L4) betyder Low (eller i grunden Ultra Low Power). Således spenderar den lite energi och visar varför denna STM32 är otrolig! Den spenderar mikroamprar och har ett system inuti som kan identifiera kostnaden för varje chipdel. Detta möjliggör en mycket effektiv energihantering och med hög prestanda.

Jag talade redan om denna mikrokontroller i videon, "Det enklaste sättet att programmera en mikrokontroller!" I videon visade jag hur man programmerar STM32 L4 med MBED. Men medan jag forskade mer om det upptäckte jag något som tillverkaren STMicroelectronics inte avslöjar. Det implementerade Core Arduino i chipet, vilket möjliggör programmering via Arduino IDE.

I den här bilden har vi två versioner av L4. STM32L432KC är identisk med Arduino Nano och STM32L476RG, som har likvärdiga IO: er med Arduino Uno. Så, medan du arbetar med två versioner av denna kraftfulla mikrokontroller, visar jag dig hur du installerar Arduino Core i STM32 -familjen. Jag kommer också att förklara de viktigaste egenskaperna hos STM32 -satserna.

Steg 1: Tallrikar med Core Arduino

Jag lade här en lista om mångfalden. Vi kommer dock att arbeta med STM32L432KC och STM32L476RG.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308DISCOVERY

STM32F1

  • BluePill F103C8 (grundstöd, ingen USB)
  • MapleMini F103CB (grundläggande stöd, ingen 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

Steg 2: STM32F746G DISCOVERY

Bara för att illustrera visar jag detaljerna i en STM32F746G UPPDATERING, som jag anser vara ett odjur. Jag har redan beställt detta chip, och jag hoppas kunna prata om det snart.

Egenskaper:

STM32F746NGH6 mikrokontroller med 1 Mbyte Flash -minne och 340 Kbyte RAM i ett BGA216 -paket

  • Inbyggd ST-LINK / V2-1 som stöder USB-räknemöjligheter
  • Mbed-aktiverad (mbed.org)
  • USB -funktioner: virtuell COM -port, masslagring och felsökningsport
  • 4,3-tums 480x272 färg LCD-TFT med kapacitiv pekskärm
  • Kamerakontakt
  • SAI ljud codec
  • Ljuduttag för linje in och ut
  • Stereohögtalarutgångar
  • Två ST MEMS -mikrofoner
  • SPDIF RCA -ingångskontakt
  • Två tryckknappar (användare och återställning)
  • 128-Mbit Quad-SPI Flash-minne
  • 128-Mbit SDRAM (64 Mbits tillgängligt)
  • Anslutning för microSD -kort
  • RF-EEPROM dotterkortskontakt
  • USB OTG HS med Micro-AB-kontakter
  • USB OTG FS med Micro-AB-kontakter
  • Ethernet-kontakt kompatibel med IEEE-802.3-2002
  • Fem alternativ för strömförsörjning:

- ST LINK / V2-1

- USB FS -kontakt

- USB HS -kontakt

- VIN från Arduino -kontakt

- Extern 5 V från kontakt

Strömförsörjningsutgång för externa applikationer:

- 3,3 V eller 5 V

Arduino Uno V3 -kontakter

Steg 3: Arduino Due X STM NUCLEO-L476RG

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

Här är en jämförelse med Arduino Due, som är en ARM Cortex-M3. Jag har använt den här modellen i videor: Nema 23 Stepmotor med förare TB6600 med Arduino Due och SpeedTest: Arduinos - ESP32 / 8266s - STM32, med STM NUCLEO -L476RG, som är en ARM Cortex -M4 Ultra Low Power, och är i bilden till höger.

Arduino Due:

Mikrokontroller: AT91SAM3X8E

Driftspänning: 3,3V

Ingångsspänning (rekommenderas): 7-12V

Ingångsspänning (gränser): 6-16V

Digitala I / O -stift: 54 (varav 12 ger PWM -utgång)

Analoga ingångsstift: 12

Analoga utgångsstift: 2 (DAC)

Total DC -utström på alla I / O -ledningar: 130 mA

Likström för 3,3V stift: 800 mA

Likström för 5V Pin: 800 mA

Flashminne: 512 KB alla tillgängliga för användarprogrammen

SRAM: 96 KB (två banker: 64KB och 32KB)

Klockhastighet: 84 MHz

Längd: 101,52 mm

Bredd: 53,3 mm

Vikt: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 i LQFP64 -paket

ARM®32-bitars Cortex®-M4 CPU

Adaptiv realtidsaccelerator

(ART Accelerator ™) som möjliggör körning av 0-väntetid från Flash-minne

80 MHz max CPU -frekvens

VDD från 1,71 V till 3,6 V

1 MB blixt

128 KB SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) med extern avbrottsfunktion

Kapacitiv avkänning med 12 kanaler

12-bitars ADC (3) med 16 kanaler

12-bitars DAC med 2 kanaler

FPU eller Floating Point Unit

* Jag markerar här den separata FPU för STM NUCLEO-L476RG, vilket innebär att chipet gör trigonometriska beräkningar med fantastisk hastighet. Detta är till skillnad från Arduino Due, som behöver en genetisk processor för att göra det.

Steg 4: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone är ett syntetiskt datorriktmärke -program utvecklat 1984 av Reinhold P. Weicker, som är avsett att vara representativ för (heltal) systemprogrammering. Dhrystone blev en representant för den totala processorprestandan (CPU). Namnet "Dhrystone" är en ordlek på en annan benchmark -algoritm som heter Whetstone. Detta är en åtgärd som tagits från vissa generiska operationer.

Detta program är här för att sammanställa något inuti dessa mikrokontroller i Arduino. Och resultatet av två tester jag gjorde, ett med Dhrystone och ett annat från SpeedTest -videon, är följande:

Arduino Due: 37,00 US $

Dhrystone Benchmark, Version 2.1 (Språk: C)

Utförandet startar, 300 000 körningar genom Dhrystone

Avrättningen tar slut

Mikrosekunder för en körning genom Dhrystone: 10.70

Dhrystones per Second: 93, 431,43

VAX MIPS -betyg = 53,18 DMIPS

Löpningstest Fernandok

Total tid: 2, 458 ms

  • Har inte FPU
  • Dhrystone -programvara på Arduino

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23,00 US $

Dhrystone Benchmark, Version 2.1 (Språk: C)

Utförandet startar, 300 000 körningar genom Dhrystone

Utförandet avslutas

Mikrosekunder för en körning genom Dhrystone: 9.63

Dhrystones per Second: 103, 794,59

VAX MIPS -betyg = 59,07 DMIPS

Löpningstest Fernandok

Total tid: 869 ms 2,8x SNABBARE

  • PI upp till 40 Mbit / s, USART 10 Mbit / s
  • 2x DMA (14 kanaler)
  • Upp till 80 MHz / 100 DMIPS med ART Accelerator

Steg 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Det vänstra kortet är STM32L432KC, där STMicroelectronics placerade identiska Arduino Nano pinout på bilden till höger.

Steg 6: STM32L432KC

STM32L432KC
STM32L432KC

Ultra-low-power Arm® Cortex®-M4 32-bitars

MCU + FPU, 100DMIPS, upp till 256KB blixt, 64KB SRAM, USB FS, analog, ljud

Upp till 26 IOs snabbare, mer toleranta mot 5V

  • RTC med VV -kalender, larm och kalibrering
  • Upp till 3 kapacitiva detekteringskanaler
  • 11x timer: 1x16-bitars avancerad motorstyrning

1x 32-bitars och 2x 16-bitars allmänt bruk, 2x 16-bitars grundläggande, 2x lågeffekts 16-bitars timers (finns i stoppläge), 2x vakthundar, SysTick-timer

Minne:

- Upp till 256 KB Flash, proprietärt kodläsningsskydd

- 64 KB SRAM inklusive 16 KB med hårdvarukontroll

- Quad SPI -minnesgränssnitt

Rika analoga kringutrustning (oberoende leverans)

- 1x 12-bitars ADC 5 Msps, upp till 16 bitar med hårdvaruöversampling, 200 μA / Msps

- 2 kanaler med 12-bitars DAC-utgång, låg strömförbrukning

- 1x operationsförstärkare med inbyggd PGA

- 2x jämfört med extremt låga effektgränssnitt

- 1x UPS (seriellt ljudgränssnitt)

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

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

- 1x LPUART (Stopp 2 vakna)

- 2x SPI (och 1x SPI Quad)

- CAN (2.0B aktiv)

- Single wire protocol master SWPMI I / F

- IRTIM (infrarött gränssnitt)

  • 14-kanals DMA-styrenhet
  • Slumpmässig nummergenerator

Steg 7: Installera Core Arduino för STM32L4 -kort

Installera Core Arduino för STM32L4 -kort
Installera Core Arduino för STM32L4 -kort
  1. Installera ST-Link-program som spelar in
  2. Json -adress
  3. Styrelser: Kortchef
  4. Bibliotek: Library Manager

Steg 8: Installera ST -Link - Program som spelar in

Installera ST -Link - Program som spelar in
Installera ST -Link - Program som spelar in

Ladda ner filen på https://www.st.com/en/development-tools/stsw-link0…. Registrera, ladda ner och installera enheten.

Steg 9: Adressera Json

Adress Json
Adress Json

Inkludera följande adress på egenskaper:

github.com/stm32duino/BoardManagerFiles/ra…

Steg 10: Styrelser: Styrelsechef

Styrelser: Styrelsechef
Styrelser: Styrelsechef

I Arduino Board Manager installerar du STM32 Core, som är cirka 40 MB.

Steg 11: Bibliotek: Library Manager

Bibliotek: Library Manager
Bibliotek: Library Manager

Slutligen installerar du biblioteken.

Jag gillade personligen gruppen STM32duino.com, som har flera exempel, varav några installerade jag. Jag laddade också ner en FreeRTOS, som jag gillade mycket. Jag tyckte att det var snabbt och pålitligt. Jag har också installerat (men har ännu inte testat) LRWAN. Jag ska snart berätta om det är bra eller inte.

Steg 12: Ladda ner PDF

PDF

Rekommenderad: