Cuprins:
- Pasul 1: Plăci cu Core Arduino
- Pasul 2: DESCOPERIRE STM32F746G
- Pasul 3: Arduino Due X STM NUCLEO-L476RG
- Pasul 4: Dhrystone
- Pasul 5: STM32L432KC X Arduino Nano
- Pasul 6: STM32L432KC
- Pasul 7: Instalați Core Arduino pentru carduri STM32L4
- Pasul 8: Instalați ST-Link - Program care înregistrează
- Pasul 9: Adresați-vă lui Json
- Pasul 10: Consilii: Director de consiliu
- Pasul 11: Biblioteci: Manager bibliotecă
- Pasul 12: Descărcați PDF
Video: Incredibilul STM32 L4 !: 12 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Vreau să încep acest articol explicând că această literă L (a L4) înseamnă Low (sau, practic, Ultra Low Power). Astfel, cheltuie puțină energie și arată de ce acest STM32 este incredibil! Cheltuie microamperi și are un sistem în interior care poate identifica cheltuielile fiecărei piese de cip. Acest lucru permite un management foarte eficient al energiei și cu performanțe ridicate.
Am vorbit deja despre acest microcontroler în videoclip, „Cel mai simplu mod de a programa un microcontroler!” În videoclip, am arătat cum să programez STM32 L4 cu MBED. Dar, în timp ce cercetam mai multe despre asta, am descoperit ceva ce producătorul STMicroelectronics nu dezvăluie. A implementat Core Arduino în cip, care permite programarea prin Arduino IDE.
În această imagine, avem două versiuni ale L4. STM32L432KC este identic cu Arduino Nano și STM32L476RG, care au IO-uri echivalente cu Arduino Uno. Deci, în timp ce lucrez cu două versiuni ale acestui microcontroler puternic, vă voi arăta cum să instalați Arduino Core în familia STM32. De asemenea, voi explica principalele caracteristici ale kiturilor STM32.
Pasul 1: Plăci cu Core Arduino
Am plasat aici o listă despre diversitate. Cu toate acestea, vom lucra cu STM32L432KC și STM32L476RG.
STM32F0
- Nucleo F030R8
- Nucleo F091RC
- 32F0308DESCOPERIRE
STM32F1
- BluePill F103C8 (suport de bază, fără USB)
- MapleMini F103CB (suport de bază, fără 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
Pasul 2: DESCOPERIRE STM32F746G
Doar pentru a ilustra, arăt detaliile unei STM32F746G DISCOVERY, pe care o consider o bestie. Am comandat deja acest cip și sper să vorbesc despre el în curând.
Caracteristici:
Microcontroler STM32F746NGH6 cu 1 Mbyte de memorie Flash și 340 Kbyte de RAM într-un pachet BGA216
- ST-LINK / V2-1 la bord care acceptă capacități de reenumerare USB
- Activat Mbed (mbed.org)
- Funcții USB: port COM virtual, stocare în masă și port de depanare
- LCD-TFT color de 4,3 inci 480x272 cu ecran tactil capacitiv
- Conector cameră
- Codec audio SAI
- Mufă de intrare și ieșire audio
- Iesiri difuzoare stereo
- Două microfoane ST MEMS
- Conector de intrare SPDIF RCA
- Două butoane (utilizator și resetare)
- Memorie Flash 128-Mbit Quad-SPI
- SDRAM 128-Mbit (64 Mbits accesibil)
- Conector pentru card microSD
- Conector placa de bază RF-EEPROM
- USB OTG HS cu conectori Micro-AB
- USB OTG FS cu conectori Micro-AB
- Conector Ethernet compatibil cu IEEE-802.3-2002
- Cinci opțiuni de alimentare:
- ST LINK / V2-1
- Conector USB FS
- Conector USB HS
- VIN de la conectorul Arduino
- 5 V extern de la conector
Ieșire sursă de alimentare pentru aplicații externe:
- 3,3 V sau 5 V
Conectori Arduino Uno V3
Pasul 3: Arduino Due X STM NUCLEO-L476RG
Iată o comparație cu Arduino Due, care este un ARM Cortex-M3. Am folosit acest model în videoclipuri: Motor pas cu pas Nema 23 cu driver TB6600 cu Arduino Due și SpeedTest: Arduinos - ESP32 / 8266s - STM32, cu STM NUCLEO-L476RG, care este un ARM Cortex-M4 Ultra Low Power, și este în imaginea din partea dreaptă.
Arduino datorat:
Microcontroler: AT91SAM3X8E
Tensiune de operare: 3.3V
Tensiunea de intrare (recomandată): 7-12V
Tensiunea de intrare (limite): 6-16V
Pin I / O digitale: 54 (din care 12 furnizează ieșire PWM)
Pinii de intrare analogici: 12
Pinii de ieșire analogici: 2 (DAC)
Curent total de ieșire DC pe toate liniile I / O: 130 mA
Curent continuu pentru pin 3.3V: 800 mA
Curent continuu pentru pin 5V: 800 mA
Memorie Flash: 512 KB, toate disponibile pentru aplicațiile utilizatorului
SRAM: 96 KB (două bănci: 64 KB și 32 KB)
Viteza de ceas: 84 MHz
Lungime: 101,52 mm
Lățime: 53,3 mm
Greutate: 36 g
STM NUCLEO-L476RG:
STM32L476RGT6 în pachetul LQFP64
CPU ARM®32-bit Cortex®-M4
Accelerator adaptiv în timp real
(ART Accelerator ™) care permite executarea stării 0-așteptare din memoria Flash
Frecvența procesorului maxim 80 MHz
VDD de la 1,71 V la 3,6 V
1 MB Flash
128 KB SRAM
SPI (3)
I2C (3)
USART (3)
UART (2)
LPUART (1)
GPIO (51) cu capacitate de întrerupere externă
Detecție capacitivă cu 12 canale
ADC pe 12 biți (3) cu 16 canale
DAC pe 12 biți cu 2 canale
FPU sau unitate cu virgulă mobilă
* Pun în evidență aici FPU-ul separat al STM NUCLEO-L476RG, ceea ce înseamnă că cipul face calcule trigonometrice cu o viteză uimitoare. Acest lucru este diferit de Arduino Due, care are nevoie de un procesor genetic pentru a face acest lucru.
Pasul 4: Dhrystone
Dhrystone este un program de referință pentru calculatoare sintetice dezvoltat în 1984 de Reinhold P. Weicker, care este destinat să fie reprezentativ pentru programarea sistemului (întreg). Dhrystone a devenit un reprezentant al performanței generale a procesorului (CPU). Numele „Dhrystone” este un joc de cuvinte pe un alt algoritm de referință numit Whetstone. Aceasta este o măsură luată din unele operații generice.
Acest program este aici pentru a compila ceva în aceste microcontrolere în Arduino. Iar rezultatul a două teste pe care le-am făcut, unul cu Dhrystone și altul din videoclipul SpeedTest, sunt după cum urmează:
Arduino Due: 37,00 USD
Dhrystone Benchmark, versiunea 2.1 (limbă: C)
Începe execuția, 300.000 trec prin Dhrystone
Execuția se termină
Microsecunde pentru o singură trecere prin Dhrystone: 10.70
Pietre pe secundă: 93, 431,43
Evaluarea VAX MIPS = 53,18 DMIPS
Test de alergare Fernandok
Timp total: 2, 458 ms
- Nu are FPU
- Software Dhrystone pe Arduino
www.saanlima.com/download/dhry21a.zip
STM NUCLEO-L476RG: 23,00 USD
Dhrystone Benchmark, versiunea 2.1 (limbă: C)
Începe execuția, 300.000 trec prin Dhrystone
Execuția se încheie
Microsecunde pentru o singură trecere prin Dhrystone: 9,63
Pietre pe secundă: 103, 794,59
Evaluarea VAX MIPS = 59,07 DMIPS
Test de alergare Fernandok
Timp total: 869 ms 2,8x MAI RAPID
- PI până la 40Mbit / s, USART 10Mbit / s
- 2x DMA (14 canale)
- Până la 80 MHz / 100 DMIPS cu accelerator ART
Pasul 5: STM32L432KC X Arduino Nano
Placa din stânga este STM32L432KC, în care STMicroelectronics a plasat pinout-ul identic Arduino Nano în imaginea din dreapta.
Pasul 6: STM32L432KC
Arm® Cortex®-M4 pe 32 de biți cu putere foarte redusă
MCU + FPU, 100DMIPS, până la 256KB Flash, 64KB SRAM, USB FS, analogic, audio
Până la 26 IO-uri mai rapide, mai tolerante la 5V
- RTC cu calendar HW, alarme și calibrare
- Până la 3 canale de detectare capacitive
- 11x Cronometre: 1x16 biți control avansat al motorului
1x 32 de biți și 2x 16 biți de uz general, 2x 16 biți de bază, 2x temporizatoare de 16 biți cu putere redusă (disponibile în modul Stop), 2x câini de pază, temporizator SysTick
Memorie:
- Până la 256 KB Flash, protecție proprietară pentru citirea codului
- 64 KB SRAM inclusiv 16 KB cu verificare paritate hardware
- Interfață de memorie Quad SPI
Periferice analogice bogate (alimentare independentă)
- 1x ADC pe 12 biți 5 Msps, până la 16 biți cu supra-eșantionare hardware, 200 μA / Msps
- 2 canale de ieșire DAC pe 12 biți, consum redus de energie
- 1x amplificator operațional cu PGA încorporat
- 2x comparativ cu interfețele de putere ultra-redusă
- 1x UPS (interfață audio serial)
- 2x I2C FM + (1 Mbit / s), SMBus / PMBus
- 3x USART (ISO 7816, LIN, IrDA, modem)
- 1x LPUART (Stop 2 trezire)
- 2x SPI (și 1x SPI Quad)
- CAN (2.0B activ)
- Master SWPMI I / F de protocol cu un singur fir
- IRTIM (interfață cu infraroșu)
- Controler DMA cu 14 canale
- Generator de numere aleatorii
Pasul 7: Instalați Core Arduino pentru carduri STM32L4
- Instalați programul ST-Link care înregistrează
- Adresa Json
- Panouri: Manager card
- Biblioteci: Manager bibliotecă
Pasul 8: Instalați ST-Link - Program care înregistrează
Descărcați fișierul de la https://www.st.com/en/development-tools/stsw-link0…. Doar înregistrați-vă, descărcați și instalați dispozitivul.
Pasul 9: Adresați-vă lui Json
În proprietăți, includeți următoarea adresă:
github.com/stm32duino/BoardManagerFiles/ra…
Pasul 10: Consilii: Director de consiliu
În Arduino Board Manager, instalați STM32 Core, care este de aproximativ 40 MB.
Pasul 11: Biblioteci: Manager bibliotecă
În cele din urmă, instalați bibliotecile.
Mi-a plăcut personal grupul STM32duino.com, care are mai multe exemple, dintre care unele le-am instalat. Am descărcat și un FreeRTOS, care mi-a plăcut mult. Mi s-a părut rapid și de încredere. De asemenea, am instalat (dar nu am testat încă) LRWAN. În curând îți voi spune dacă este bine sau nu.
Pasul 12: Descărcați PDF
Recomandat:
Dimmer digital AC puternic folosind STM32: 15 pași (cu imagini)
Dimmer digital puternic de curent alternativ care utilizează STM32: De Hesam Moshiri, [email protected] încărcări de AC trăiesc cu noi! Pentru că sunt peste tot în jurul nostru și cel puțin aparatele electrocasnice sunt alimentate cu curent. Multe tipuri de echipamente industriale sunt, de asemenea, alimentate cu monofazat de 220V-AC
Afișaj STONE + STM32 + Cafetieră: 6 pași
Afișare STONE + STM32 + Cafetieră: Sunt inginer software MCU, am primit recent un proiect este să fie o mașină de cafea, cerințele casnice cu funcționare pe ecran tactil, funcția este bună, este deasupra selecției ecranului poate să nu fie foarte bună, din fericire, acest proiect îl pot decide
Începeți să dezvoltați STM32 pe Linux: 4 pași
Începeți să dezvoltați STM32 pe Linux: În acest instructable, vă voi arăta cât de ușor este să începeți să dezvoltați programe STM32 pe Linux. Am început să folosesc Linux ca mașină principală acum 2 ani și nu am fost dezamăgit. Totul funcționează mai repede și mai bine decât ferestrele. Desigur este le
STM32 "Blue Pill" Progmaming Via Arduino IDE & USB: 8 pași
STM32 "Blue Pill" Progmaming prin Arduino IDE și USB: Comparând placa prototip generică STM32F (adică Blue Pill) cu contrapartida sa Arduino este ușor de văzut cu cât mai multe resurse are, ceea ce deschide o mulțime de noi oportunități pentru proiectele IOT. dezavantaje sunt lipsa de sprijin pentru aceasta. De fapt nu chiar eu
Incredibilul ESP32 Wrover de la Espressif: 8 pași
Incredibilul ESP32 Wrover de la Espressif: Astăzi, vă voi prezenta kitul ESP32 Wrover, care este un model diferit de ESP32 pe care îl folosesc de obicei (Wroom). Wrover este o placă de dezvoltare care are multe caracteristici și este destul de periferică. Vă voi arăta un exemplu de program