Inhoudsopgave:
- Stap 1: platen met Core Arduino
- Stap 2: STM32F746G ONTDEKKING
- Stap 3: Arduino Due X STM NUCLEO-L476RG
- Stap 4: Drystone
- Stap 5: STM32L432KC X Arduino Nano
- Stap 6: STM32L432KC
- Stap 7: Core Arduino installeren voor STM32L4-kaarten
- Stap 8: Installeer ST-Link - Programma dat registreert
- Stap 9: Adres Json
- Stap 10: Borden: Bestuursmanager
- Stap 11: Bibliotheken: Bibliotheekbeheer
- Stap 12: PDF downloaden
Video: De ongelooflijke STM32 L4!: 12 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Ik wil dit artikel beginnen met uit te leggen dat deze letter L (van de L4) Laag (of eigenlijk Ultra Low Power) betekent. Het kost dus weinig energie en laat zien waarom deze STM32 ongelooflijk is! Het besteedt microampères en heeft een systeem binnenin dat de kosten van elk chiponderdeel kan identificeren. Dit zorgt voor een zeer efficiënt energiebeheer en met hoge prestaties.
Ik had het al over deze microcontroller in de video, "De eenvoudigste manier om een microcontroller te programmeren!" In de video liet ik zien hoe je de STM32 L4 programmeert met MBED. Maar terwijl ik er meer over zocht, ontdekte ik iets dat de fabrikant STMicroelectronics niet onthult. Het implementeerde de Core Arduino in de chip, die programmeren via de Arduino IDE mogelijk maakt.
In deze afbeelding hebben we twee versies van L4. De STM32L432KC is identiek aan de Arduino Nano en de STM32L476RG, die gelijkwaardige IO's hebben als de Arduino Uno. Dus, terwijl ik met twee versies van deze krachtige microcontroller werk, laat ik je zien hoe je de Arduino Core in de STM32-familie installeert. Ook zal ik de belangrijkste kenmerken van de STM32-kits uitleggen.
Stap 1: platen met Core Arduino
Ik heb hier een lijst geplaatst over de diversiteit. We gaan echter aan de slag met de STM32L432KC en de STM32L476RG.
STM32F0
- Nucleo F030R8
- Nucleo F091RC
- 32F0308ONTDEKKING
STM32F1
- BluePill F103C8 (basisondersteuning, geen USB)
- MapleMini F103CB (basisondersteuning, geen USB)
- Nucleo F103RB
- STM32VLONTDEKKING
STM32F2
Nucleo F207ZG
STM32F3
- Nucleo F302R8
- Nucleo F303K8
- Nucleo F303RE
STM32F4
- Nucleo F401RE
- Nucleo F411RE
- Nucleo F429ZI
- Nucleo F446RE
- STM32F407G-SCHIJF1
STM32F7
STM32F746G-ONTDEKKING:
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:
Stap 2: STM32F746G ONTDEKKING
Ter illustratie laat ik de details zien van een STM32F746G DISCOVERY, die ik als een beest beschouw. Ik heb deze chip al besteld en ik hoop er binnenkort over te praten.
Kenmerken:
STM32F746NGH6-microcontroller met 1 Mbyte Flash-geheugen en 340 Kbyte RAM in een BGA216-pakket
- Ingebouwde ST-LINK / V2-1 met ondersteuning voor USB-hertellingsfuncties
- Mbed-enabled (mbed.org)
- USB-functies: virtuele COM-poort, massaopslag en debug-poort
- 4,3-inch 480x272 kleuren LCD-TFT met capacitief touchscreen
- Camera-aansluiting
- SAI audiocodec
- Audio line in en line out jack
- Stereo luidsprekeruitgangen
- Twee ST MEMS-microfoons
- SPDIF RCA-ingangsconnector
- Twee drukknoppen (gebruiker en reset)
- 128-Mbit Quad-SPI Flash-geheugen
- 128-Mbit SDRAM (64 Mbit toegankelijk)
- Connector voor microSD-kaart
- RF-EEPROM-dochterkaartconnector
- USB OTG HS met Micro-AB-connectoren
- USB OTG FS met Micro-AB-connectoren
- Ethernet-connector compatibel met IEEE-802.3-2002
- Vijf voedingsopties:
- ST LINK / V2-1
- USB FS-connector
- USB HS-connector
- VIN van Arduino-connector
- Externe 5 V van connector
Voedingsuitgang voor externe toepassingen:
- 3,3 V of 5 V
Arduino Uno V3-connectoren
Stap 3: Arduino Due X STM NUCLEO-L476RG
Hier is een vergelijking met de Arduino Due, een ARM Cortex-M3. Ik heb dit model in video's gebruikt: Nema 23 stappenmotor met stuurprogramma TB6600 met Arduino Due en SpeedTest: Arduinos - ESP32 / 8266s - STM32, met STM NUCLEO-L476RG, wat een ARM Cortex-M4 Ultra Low Power is, en is in de afbeelding aan de rechterkant.
Arduino vanwege:
Microcontroller: AT91SAM3X8E
Bedrijfsspanning: 3.3V
Ingangsspanning (aanbevolen): 7-12V
Ingangsspanning (limieten): 6-16V
Digitale I/O-pinnen: 54 (waarvan 12 met PWM-uitgang)
Analoge ingangspennen: 12
Analoge uitgangspinnen: 2 (DAC)
Totale DC-uitgangsstroom op alle I/O-lijnen: 130 mA
Gelijkstroom voor 3.3V Pin: 800 mA
Gelijkstroom voor 5V-pin: 800 mA
Flash-geheugen: 512 KB allemaal beschikbaar voor de gebruikerstoepassingen
SRAM: 96 KB (twee banken: 64 KB en 32 KB)
Kloksnelheid: 84 MHz
Lengte: 101,52 mm
Breedte: 53,3 mm
Gewicht: 36 gram
STM NUCLEO-L476RG:
STM32L476RGT6 in LQFP64-pakket
ARM®32-bit Cortex®-M4 CPU
Adaptieve realtime versneller
(ART Accelerator ™) waardoor 0-wachtstatus wordt uitgevoerd vanuit Flash-geheugen
80 MHz maximale CPU-frequentie
VDD van 1,71 V tot 3,6 V
1 MB flitser
128 KB SRAM
SPI (3)
I2C (3)
USART (3)
UART (2)
LPUART (1)
GPIO (51) met externe interruptmogelijkheid
Capacitieve detectie met 12 kanalen
12-bits ADC (3) met 16 kanalen
12-bits DAC met 2 kanalen
FPU of drijvende-komma-eenheid
* Ik benadruk hier de afzonderlijke FPU van STM NUCLEO-L476RG, wat betekent dat de chip met verbazingwekkende snelheid trigonometrische berekeningen maakt. Dit in tegenstelling tot de Arduino Due, die daarvoor een genetische processor nodig heeft.
Stap 4: Drystone
Dhrystone is een synthetisch computerbenchmarkprogramma dat in 1984 is ontwikkeld door Reinhold P. Weicker en bedoeld is om representatief te zijn voor (integer) systeemprogrammering. Dhrystone werd een vertegenwoordiger van de algehele processorprestaties (CPU). De naam "Dhrystone" is een woordspeling op een ander benchmark-algoritme genaamd Whetstone. Dit is een maatregel die is afgeleid van enkele generieke bewerkingen.
Dit programma is hier om iets in deze microcontrollers in Arduino te compileren. En het resultaat van twee tests die ik deed, een met Dhrystone en een andere uit de SpeedTest-video, is als volgt:
Arduino verschuldigd: US $ 37,00
Dhrystone Benchmark, versie 2.1 (taal: C)
Uitvoering begint, 300.000 loopt door Dhrystone
Uitvoering eindigt
Microseconden voor één run door Dhrystone: 10,70
Dhrystones per seconde: 93, 431,43
VAX MIPS-classificatie = 53,18 DMIPS
Hardlooptest Fernandok
Totale tijd: 2,458 ms
- Heeft geen FPU
- Dhrystone-software op Arduino
www.saanlima.com/download/dhry21a.zip
STM NUCLEO-L476RG: US $ 23,00
Dhrystone Benchmark, versie 2.1 (taal: C)
Uitvoering begint, 300.000 loopt door Dhrystone
Uitvoering eindigt
Microseconden voor één run door Dhrystone: 9,63
Dhrystones per seconde: 103, 794,59
VAX MIPS-classificatie = 59,07 DMIPS
Hardlooptest Fernandok
Totale tijd: 869 ms 2,8x SNELLER
- PI tot 40Mbit/s, USART 10Mbit/s
- 2x DMA (14 kanalen)
- Tot 80 MHz / 100 DMIPS met ART Accelerator
Stap 5: STM32L432KC X Arduino Nano
Het linkerbord is de STM32L432KC, waarin STMicroelectronics de identieke Arduino Nano-pinout in de afbeelding rechts heeft geplaatst.
Stap 6: STM32L432KC
Ultra-low-power Arm® Cortex®-M4 32-bit
MCU + FPU, 100DMIPS, tot 256KB Flash, 64KB SRAM, USB FS, analoog, audio
Tot 26 IO's sneller, toleranter voor 5V
- RTC met HW-kalender, alarmen en kalibratie
- Tot 3 capacitieve detectiekanalen
- 11x Timers: 1x16-bits geavanceerde motorregeling
1x 32-bit en 2x 16-bit voor algemeen gebruik, 2x 16-bit basic, 2x low-power 16-bit timers (beschikbaar in stopmodus), 2x watchdogs, SysTick-timer
Geheugen:
- Tot 256 KB Flash, eigen bescherming tegen het lezen van codes
- 64 KB SRAM inclusief 16 KB met hardware pariteitscontrole
- Quad SPI-geheugeninterface
Rijke analoge randapparatuur (onafhankelijke voeding)
- 1x 12-bit ADC 5 Msps, tot 16 bits met hardware-oversampling, 200 μA / Msps
- 2 kanalen met 12-bits DAC-uitgang, laag stroomverbruik
- 1x operationele versterker met ingebouwde PGA
- 2x vergeleken met ultra-low power interfaces
- 1x UPS (seriële audio-interface)
- 2x I2C FM+ (1 Mbit/s), SMBus/PMBus
- 3x USART's (ISO 7816, LIN, IrDA, modem)
- 1x LPUART (stop 2 wakker worden)
- 2x SPI (en 1x SPI Quad)
- KAN (2.0B actief)
- Single wire protocol master SWPMI I / F
- IRIM (infraroodinterface)
- 14-kanaals DMA-controller
- Willekeurig nummer generator
Stap 7: Core Arduino installeren voor STM32L4-kaarten
- Installeer ST-Link-programma dat opneemt
- Json-adres
- Borden: Kaartmanager
- Bibliotheken: Bibliotheekmanager
Stap 8: Installeer ST-Link - Programma dat registreert
Download het bestand op https://www.st.com/en/development-tools/stsw-link0…. Registreer, download en installeer het apparaat gewoon.
Stap 9: Adres Json
Neem bij eigenschappen het volgende adres op:
github.com/stm32duino/BoardManagerFiles/ra…
Stap 10: Borden: Bestuursmanager
Installeer in de Arduino Board Manager de STM32 Core, die ongeveer 40 MB groot is.
Stap 11: Bibliotheken: Bibliotheekbeheer
Installeer ten slotte de bibliotheken.
Ik vond persoonlijk de groep STM32duino.com leuk, die verschillende voorbeelden heeft, waarvan ik er enkele heb geïnstalleerd. Ik heb ook een FreeRTOS gedownload, wat ik erg leuk vond. Ik vond het snel en betrouwbaar. Ik heb ook LRWAN geïnstalleerd (maar nog niet getest). Ik zal je snel vertellen of het goed is of niet.
Stap 12: PDF downloaden
Aanbevolen:
Begin met het ontwikkelen van STM32 op Linux: 4 stappen
Begin met het ontwikkelen van STM32 op Linux: in deze Instructable ga ik je laten zien hoe gemakkelijk het is om STM32-programma's op Linux te ontwikkelen. Ik begon Linux 2 jaar geleden als mijn hoofdmachine te gebruiken en ben niet in de steek gelaten. Alles werkt sneller en beter dan Windows. Natuurlijk is les
Gegevens ontvangen van op STM32 gebaseerde microcontroller naar pc: 5 stappen
Gegevens ontvangen van op STM32 gebaseerde microcontroller naar pc: Hier in deze tutorial hebben we gegevens van microcontroller naar pc verzonden met behulp van een van de UART of STM32l100 mcu
Een STM32 gebruiken als een Arduino-zelfstudie - STM32F103C8: 5 stappen:
Een STM32 gebruiken als een Arduino-zelfstudie | STM32F103C8: Hé, wat is er, jongens! Akarsh hier van CETech. In de volgende tutorial zullen we kijken naar de verschillende microcontrollers die door STM worden aangeboden, zoals de STM32F103C8, STM32F030F4 en STM8S103F3. We zullen deze micro's met elkaar vergelijken, samen met
STM32 CAN-interface: 7 stappen
STM32 CAN-interface: de Controller Area Network-bus, of CAN-bus, is een zeer effectief communicatieprotocol dankzij de hoge snelheidscapaciteiten, de lange afstandsbetrouwbaarheid en de ruisimmuniteit. Om deze redenen is CAN-communicatie de standaard geworden in de autotechniek
De ongelooflijke ESP32 Wrover van Espressif - Ajarnpa
De ongelooflijke ESP32 Wrover van Espressif: Vandaag ga ik je kennis laten maken met de ESP32 Wrover Kit, een model dat anders is dan de ESP32 die ik gewoonlijk gebruik (de Wroom). Wrover is een ontwikkelbord dat veel functies heeft en vrij perifeer is. Ik zal je een voorbeeld laten zien van een prog