Spisu treści:
- Krok 1: Płytki z rdzeniem Arduino
- Krok 2: ODKRYCIE STM32F746G
- Krok 3: Arduino Due X STM NUCLEO-L476RG
- Krok 4: Drystone
- Krok 5: STM32L432KC X Arduino Nano
- Krok 6: STM32L432KC
- Krok 7: Zainstaluj Core Arduino dla kart STM32L4
- Krok 8: Zainstaluj ST-Link - program, który nagrywa
- Krok 9: Adres Json
- Krok 10: Tablice: Menedżer zarządu
- Krok 11: Biblioteki: Menedżer biblioteki
- Krok 12: Pobierz PDF
Wideo: Niesamowity STM32 L4!: 12 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
Chcę rozpocząć ten artykuł od wyjaśnienia, że ta litera L (z L4) oznacza niski (lub, w zasadzie, bardzo niski pobór mocy). W ten sposób zużywa mało energii i pokazuje, dlaczego ten STM32 jest niesamowity! Zużywa mikroampery i ma wewnątrz system, który może zidentyfikować koszt każdej części chipa. Pozwala to na bardzo efektywne zarządzanie energią, a przy tym wysoką wydajność.
Mówiłem już o tym mikrokontrolerze w filmie „Najprostszy sposób na zaprogramowanie mikrokontrolera!” Na filmie pokazałem jak programować STM32 L4 za pomocą MBED. Ale badając więcej na ten temat, odkryłem coś, czego producent STMicroelectronics nie ujawnia. Zaimplementował w chipie Core Arduino, który umożliwia programowanie przez Arduino IDE.
Na tym obrazku mamy dwie wersje L4. STM32L432KC jest identyczny z Arduino Nano i STM32L476RG, które mają równoważne IO do Arduino Uno. Tak więc podczas pracy z dwiema wersjami tego potężnego mikrokontrolera pokażę, jak zainstalować Arduino Core w rodzinie STM32. Wyjaśnię również główne cechy zestawów STM32.
Krok 1: Płytki z rdzeniem Arduino
Umieściłem tutaj listę o różnorodności. Jednak będziemy pracować z STM32L432KC i STM32L476RG.
STM32F0
- Nucleo F030R8
- Nucleo F091RC
- 32F0308ODKRYCIE
STM32F1
- BluePill F103C8 (podstawowa obsługa, bez USB)
- MapleMini F103CB (podstawowa obsługa, bez USB)
- Nucleo F103RB
- STM32VLODKRYWANIE
STM32F2
Nucleo F207ZG
STM32F3
- Nucleo F302R8
- Nucleo F303K8
- Nucleo F303RE
STM32F4
- Nucleo F401RE
- Nucleo F411RE
- Nucleo F429ZI
- Nucleo F446RE
- STM32F407G-DYSK1
STM32F7
STM32F746G-ODKRYCIE
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
Krok 2: ODKRYCIE STM32F746G
Dla zilustrowania przedstawiam szczegóły STM32F746G DISCOVERY, które uważam za bestię. Zamówiłem już ten chip i mam nadzieję, że wkrótce o tym porozmawiam.
Charakterystyka:
Mikrokontroler STM32F746NGH6 z 1 MB pamięci Flash i 340 KB pamięci RAM w obudowie BGA216
- Wbudowany ST-LINK / V2-1 obsługujący możliwości reenumeracji USB
- Obsługa Mbed (mbed.org)
- Funkcje USB: wirtualny port COM, pamięć masowa i port debugowania
- 4,3-calowy 480x272 kolorowy LCD-TFT z pojemnościowym ekranem dotykowym
- Złącze kamery
- Kodek audio SAI
- Gniazdo wejścia i wyjścia liniowego audio
- Wyjścia głośnikowe stereo
- Dwa mikrofony ST MEMS
- Złącze wejściowe SPDIF RCA
- Dwa przyciski (użytkownik i reset)
- 128-Mbitowa pamięć Flash Quad-SPI
- 128-Mbit SDRAM (dostępne 64 Mbit)
- Złącze na kartę microSD
- Złącze płyty głównej RF-EEPROM
- USB OTG HS ze złączami Micro-AB
- USB OTG FS ze złączami Micro-AB
- Złącze Ethernet zgodne z IEEE-802.3-2002
- Pięć opcji zasilania:
- ST LINK / V2-1
- Złącze USB FS
- złącze USB HS
- VIN ze złącza Arduino
- Zewnętrzne 5 V ze złącza
Wyjście zasilania do zastosowań zewnętrznych:
- 3,3 V lub 5 V
Złącza Arduino Uno V3
Krok 3: Arduino Due X STM NUCLEO-L476RG
Oto porównanie z Arduino Due, który jest ARM Cortex-M3. Użyłem tego modelu w filmach: Nema 23 Stepper Motor ze sterownikiem TB6600 z Arduino Due i SpeedTest: Arduinos - ESP32 / 8266s - STM32, z STM NUCLEO-L476RG, który jest ARM Cortex-M4 Ultra Low Power i jest w obraz po prawej stronie.
Z powodu Arduino:
Mikrokontroler: AT91SAM3X8E
Napięcie robocze: 3,3 V
Napięcie wejściowe (zalecane): 7-12 V
Napięcie wejściowe (limity): 6-16V
Cyfrowe piny we/wy: 54 (z czego 12 zapewnia wyjście PWM)
Piny wejścia analogowego: 12
Piny wyjścia analogowego: 2 (DAC)
Całkowity prąd wyjściowy DC na wszystkich liniach we/wy: 130 mA
Prąd DC dla pinu 3,3 V: 800 mA
Prąd DC dla pinu 5 V: 800 mA
Pamięć Flash: 512 KB dostępna dla aplikacji użytkownika
SRAM: 96 KB (dwa banki: 64 KB i 32 KB)
Szybkość zegara: 84 MHz
Długość: 101,52 mm
Szerokość: 53,3 mm
Waga: 36g
STM NUCLEO-L476RG:
STM32L476RGT6 w pakiecie LQFP64
ARM®32-bitowy procesor Cortex®-M4
Adaptacyjny akcelerator czasu rzeczywistego
(ART Accelerator™) umożliwiający wykonanie stanu 0-wait z pamięci Flash
Maksymalna częstotliwość procesora 80 MHz
VDD od 1,71 V do 3,6 V
1 MB Flash
128 KB pamięci SRAM
SPI (3)
I2C (3)
USART (3)
UART (2)
LPUART (1)
GPIO (51) z możliwością przerwania zewnętrznego
Detekcja pojemnościowa z 12 kanałami
12-bitowy ADC (3) z 16 kanałami
12-bitowy przetwornik cyfrowo-analogowy z 2 kanałami
FPU lub jednostka zmiennoprzecinkowa
* Podkreślam tutaj osobny FPU STM NUCLEO-L476RG, co oznacza, że chip wykonuje obliczenia trygonometryczne z niesamowitą szybkością. W przeciwieństwie do Arduino Due, który potrzebuje do tego procesora genetycznego.
Krok 4: Drystone
Dhrystone to syntetyczny program komputerowy do testów porównawczych opracowany w 1984 roku przez Reinholda P. Weickera, który ma być reprezentatywny dla programowania systemowego (całkowitego). Dhrystone stał się przedstawicielem ogólnej wydajności procesora (CPU). Nazwa „Dhrystone” to gra słów na temat innego algorytmu porównawczego o nazwie Whetstone. Jest to miara zaczerpnięta z niektórych ogólnych operacji.
Ten program jest tutaj, aby skompilować coś wewnątrz tych mikrokontrolerów w Arduino. A wyniki dwóch testów, które wykonałem, jednego z Dhrystone i drugiego z filmu SpeedTest, są następujące:
Arduino Due: 37,00 USD
Benchmark Dhrystone, wersja 2.1 (język: C)
Rozpoczyna się egzekucja, 300 000 przebiegów przez Dhrystone
Egzekucja się kończy
Mikrosekundy na jeden przebieg przez Dhrystone: 10,70
Dhrystones na sekundę: 93, 431,43
Ocena MIPS VAX = 53,18 DMIPS
Uruchamianie testu Fernandok
Całkowity czas: 2 458 ms
- Nie ma FPU
- Oprogramowanie Dhrystone na Arduino
www.saanlima.com/download/dhry21a.zip
STM NUCLEO-L476RG: 23.00 USD
Benchmark Dhrystone, wersja 2.1 (język: C)
Rozpoczyna się egzekucja, 300 000 przebiegów przez Dhrystone
Egzekucja się kończy
Mikrosekundy na jeden przebieg przez Dhrystone: 9,63
Dhrystones na sekundę: 103, 794,59
Ocena MIPS VAX = 59,07 DMIPS
Uruchamianie testu Fernandok
Całkowity czas: 869 ms 2,8x SZYBCIEJ
- PI do 40Mbit/s, USART 10Mbit/s
- 2x DMA (14 kanałów)
- Do 80 MHz / 100 DMIPS z akceleratorem ART
Krok 5: STM32L432KC X Arduino Nano
Lewa płytka to STM32L432KC, w której STMicroelectronics umieścił identyczne wyprowadzenia Arduino Nano na zdjęciu po prawej.
Krok 6: STM32L432KC
Ultra-low power Arm® Cortex®-M4 32-bitowy
MCU + FPU, 100DMIPS, do 256KB Flash, 64KB SRAM, USB FS, analogowe, audio
Do 26 IO szybciej, bardziej tolerancyjny do 5V
- RTC z kalendarzem sprzętowym, alarmami i kalibracją
- Do 3 pojemnościowych kanałów detekcji
- 11x Timery: 1x16-bitowa zaawansowana kontrola silnika
1x 32-bitowe i 2x 16-bitowe ogólnego przeznaczenia, 2x 16-bitowe podstawowe, 2x 16-bitowe timery o niskim poborze mocy (dostępne w trybie Stop), 2x watchdogs, timer SysTick
Pamięć:
-Do 256 KB Flash, zastrzeżona ochrona odczytu kodu
- 64 KB SRAM, w tym 16 KB ze sprzętową kontrolą parzystości
- Interfejs pamięci Quad SPI
Bogate analogowe urządzenia peryferyjne (niezależne zasilanie)
- 1x 12-bit ADC 5 Msps, do 16 bitów ze sprzętowym oversamplingiem, 200 μA / Msps
- 2 kanały 12-bitowego wyjścia DAC, niskie zużycie energii
- 1x wzmacniacz operacyjny z wbudowanym PGA
-2x w porównaniu do interfejsów o bardzo niskim poborze mocy
- 1x UPS (szeregowy interfejs audio)
- 2x I2C FM+ (1 Mbit/s), SMBus/PMBus
- 3x USART (ISO 7816, LIN, IrDA, modem)
- 1x LPUART (zatrzymaj 2 wybudzanie)
- 2x SPI (i 1x SPI Quad)
- CAN (aktywny 2.0B)
- Jednoprzewodowy master protokołu SWPMI I / F
- IRTIM (interfejs na podczerwień)
- 14-kanałowy kontroler DMA
- Generator liczb losowych
Krok 7: Zainstaluj Core Arduino dla kart STM32L4
- Zainstaluj program ST-Link, który nagrywa
- Adres Jsona
- Tablice: Menedżer kart
- Biblioteki: Kierownik Biblioteki
Krok 8: Zainstaluj ST-Link - program, który nagrywa
Pobierz plik ze strony https://www.st.com/en/development-tools/stsw-link0…. Wystarczy zarejestrować się, pobrać i zainstalować urządzenie.
Krok 9: Adres Json
Na nieruchomościach podaj następujący adres:
github.com/stm32duino/BoardManagerFiles/ra…
Krok 10: Tablice: Menedżer zarządu
W Arduino Board Manager zainstaluj STM32 Core, który ma około 40 MB.
Krok 11: Biblioteki: Menedżer biblioteki
Na koniec zainstaluj biblioteki.
Osobiście spodobała mi się grupa STM32duino.com, która ma kilka przykładów, z których część zainstalowałem. Pobrałem też FreeRTOS, który bardzo mi się podobał. Znalazłem to szybkie i niezawodne. Zainstalowałem też (ale jeszcze nie testowałem) LRWAN. Wkrótce powiem ci, czy to dobrze, czy nie.
Krok 12: Pobierz PDF
Zalecana:
Niesamowity pokaz świetlny Halloween z muzyką !: 5 kroków
Awesome Halloween Light Show With Music!: W tym projekcie stworzyłem Halloweenowy wyświetlacz świetlny z kilkoma specjalnymi światłami zwanymi pikselami RGB, które są zsynchronizowane z 4 piosenkami Halloween. Jeśli chcesz zobaczyć te pokazy świetlne i przyszłe, zajrzyj tutaj. Ten pokaz świetlny może być trudny do zbudowania
Niesamowity analogowy syntezator/organ wykorzystujący wyłącznie dyskretne komponenty: 10 kroków (ze zdjęciami)
Niesamowity analogowy syntezator/organ wykorzystujący wyłącznie dyskretne komponenty: Syntezatory analogowe są bardzo fajne, ale też dość trudne do wykonania. Chciałem więc stworzyć jeden tak prosty, jak to tylko możliwe, aby jego działanie było łatwe do zrozumienia. Potrzebuję kilku podstawowych obwodów podrzędnych: Prosty oscylator z rezystancją
Niesamowity szkolny gadżet szpiegowski! Invisible Ink Pen Hack: 6 kroków
Niesamowity szkolny gadżet szpiegowski! Invisible Ink Pen Hack: Dzięki temu niesamowitemu hackowi możesz wysyłać komuś tajne wiadomości, a nawet oszukiwać w testach klasowych
Niesamowity projekt z zegarem ściennym: 11 kroków
Niesamowity projekt z zegarem ściennym: Cześć Przyjacielu, ten blog będzie niesamowity, ponieważ w tym blogu zrobię niesamowity obwód z efektem LED za pomocą starego zegara ściennego. Zacznijmy
Jak zrobić niesamowity projekt generatora dźwięku z diodą LED RGB: 7 kroków
Jak zrobić niesamowity projekt generatora dźwięku z diodą LED RGB: Cześć przyjacielu, dzisiaj zamierzam stworzyć niesamowity obwód generatora dźwięku za pomocą diody LED RGB i tranzystora BC547. Ten obwód daje dźwięk jak klakson rowerowy. Zacznijmy