Съдържание:
- Стъпка 1: Плочи с Core Arduino
- Стъпка 2: STM32F746G ОТКРИТИЕ
- Стъпка 3: Arduino Due X STM NUCLEO-L476RG
- Стъпка 4: Dhrystone
- Стъпка 5: STM32L432KC X Arduino Nano
- Стъпка 6: STM32L432KC
- Стъпка 7: Инсталирайте Core Arduino за карти STM32L4
- Стъпка 8: Инсталирайте ST -Link - Програма, която записва
- Стъпка 9: Адрес Json
- Стъпка 10: Табла: Управител на борда
- Стъпка 11: Библиотеки: Библиотечен мениджър
- Стъпка 12: Изтеглете PDF
Видео: Невероятният STM32 L4!: 12 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Искам да започна тази статия, като обясня, че тази буква L (от L4) означава ниска (или по принцип ултра ниска мощност). По този начин той изразходва малко енергия и показва защо този STM32 е невероятен! Той изразходва микроампери и има вътрешна система, която може да идентифицира разходите за всяка част от чипа. Това позволява много ефективно управление на енергията и с висока производителност.
Вече говорих за този микроконтролер във видеото „Най -лесният начин да програмирате микроконтролер!“Във видеото показах как да програмирате STM32 L4 с MBED. Но докато изследвах повече за това, открих нещо, което производителят STMicroelectronics не разкрива. Той внедри Core Arduino в чипа, който позволява програмиране чрез Arduino IDE.
В това изображение имаме две версии на L4. STM32L432KC е идентичен с Arduino Nano и STM32L476RG, които имат еквивалентни IO на Arduino Uno. Така че, докато работите с две версии на този мощен микроконтролер, ще ви покажа как да инсталирате Arduino Core в семейството на STM32. Също така ще обясня основните характеристики на комплектите STM32.
Стъпка 1: Плочи с Core Arduino
Поставих тук списък за разнообразието. Все пак ще работим със STM32L432KC и STM32L476RG.
STM32F0
- Nucleo F030R8
- Nucleo F091RC
- 32F0308 ОТКРИТИЕ
STM32F1
- BluePill F103C8 (Основна поддръжка, без USB)
- MapleMini F103CB (Основна поддръжка, без 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-ОТКРИТИЕ
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
Стъпка 2: STM32F746G ОТКРИТИЕ
Само за илюстрация показвам детайлите на STM32F746G ОТКРИТИЕ, което смятам за звяр. Вече поръчах този чип и се надявам скоро да поговорим за него.
Характеристики:
STM32F746NGH6 микроконтролер с 1 Mbytes флаш памет и 340 Kbytes RAM в пакет BGA216
- Вграден ST-LINK / V2-1, поддържащ USB възможности за преброяване
- Mbed-enabled (mbed.org)
- USB функции: виртуален COM порт, масово съхранение и порт за отстраняване на грешки
- 4.3-инчов 480x272 цветен LCD-TFT с капацитивен сензорен екран
- Съединител за камера
- Аудио кодек SAI
- Аудио вход и линеен изход
- Стерео изходи за високоговорители
- Два ST MEMS микрофона
- SPDIF RCA входен конектор
- Два бутона (потребителски и нулиране)
- 128-Mbit Quad-SPI флаш памет
- 128-Mbit SDRAM (64 Mbit достъпни)
- Конектор за microSD карта
- Конектор за дънна платка RF-EEPROM
- USB OTG HS с конектори Micro-AB
- USB OTG FS с конектори Micro-AB
- Ethernet конектор съвместим с IEEE-802.3-2002
- Пет опции за захранване:
- ST LINK / V2-1
- USB FS конектор
- USB HS конектор
- VIN от конектора на Arduino
- Външни 5 V от конектора
Изход за захранване на външни приложения:
- 3.3 V или 5 V
Arduino Uno V3 конектори
Стъпка 3: Arduino Due X STM NUCLEO-L476RG
Ето сравнение с Arduino Due, който е ARM Cortex-M3. Използвал съм този модел във видеоклипове: Стъпков двигател Nema 23 с драйвер TB6600 с Arduino Due и SpeedTest: Arduinos - ESP32 / 8266s - STM32, със STM NUCLEO -L476RG, който е ARM Cortex -M4 Ultra Low Power и е в изображението от дясната страна.
Arduino дължи:
Микроконтролер: AT91SAM3X8E
Работно напрежение: 3.3V
Входно напрежение (препоръчително): 7-12V
Входно напрежение (граници): 6-16V
Цифрови входно -изходни щифтове: 54 (от които 12 осигуряват ШИМ изход)
Пинове за аналогов вход: 12
Изводи за аналогов изход: 2 (DAC)
Общ DC изходен ток на всички входно / изходни линии: 130 mA
DC ток за 3.3V Pin: 800 mA
DC ток за 5V Pin: 800 mA
Флаш памет: 512 KB всички налични за потребителските приложения
SRAM: 96 KB (две банки: 64KB и 32KB)
Тактова честота: 84 MHz
Дължина: 101,52 мм
Ширина: 53,3 мм
Тегло: 36 g
STM NUCLEO-L476RG:
STM32L476RGT6 в пакет LQFP64
ARM® 32-битов процесор Cortex®-M4
Адаптивен ускорител в реално време
(ART Accelerator ™) позволява изпълнение на състояние с 0 изчаквания от Flash памет
80 MHz максимална честота на процесора
VDD от 1,71 V до 3,6 V
1 MB флаш
128 KB SRAM
SPI (3)
I2C (3)
USART (3)
UART (2)
LPUART (1)
GPIO (51) с възможност за външно прекъсване
Капацитивно измерване с 12 канала
12-битов ADC (3) с 16 канала
12-битов DAC с 2 канала
FPU или единица с плаваща запетая
* Подчертавам тук тези отделни FPU на STM NUCLEO-L476RG, което означава, че чипът прави тригонометрични изчисления с невероятна скорост. Това е различно от Arduino Due, който се нуждае от генетичен процесор, за да направи това.
Стъпка 4: Dhrystone
Dhrystone е синтетична компютърна бенчмарк програма, разработена през 1984 г. от Reinhold P. Weicker, която е предназначена да представи представители на (цяло число) системно програмиране. Dhrystone стана представител на цялостната производителност на процесора (CPU). Името "Dhrystone" е каламбур по различен бенчмарк алгоритъм, наречен Whetstone. Това е мярка, взета от някои общи операции.
Тази програма е тук, за да компилира нещо в тези микроконтролери в Arduino. И резултатът от два теста, които направих, един с Dhrystone и друг от видеото SpeedTest, са следните:
Arduino дължи: US $ 37.00
Dhrystone Benchmark, версия 2.1 (Език: C)
Изпълнението започва, 300 000 преминава през Dhrystone
Изпълнението приключва
Микросекунди за едно движение през Dhrystone: 10.70
Дристони в секунда: 93, 431.43
VAX MIPS рейтинг = 53,18 DMIPS
Бягащ тест Fernandok
Общо време: 2, 458 ms
- Няма FPU
- Софтуер Dhrystone на Arduino
www.saanlima.com/download/dhry21a.zip
STM NUCLEO-L476RG: 23,00 щ.д.
Dhrystone Benchmark, версия 2.1 (Език: C)
Изпълнението започва, 300 000 преминава през Dhrystone
Изпълнението приключва
Микросекунди за едно движение през Dhrystone: 9.63
Дристони в секунда: 103, 794.59
VAX MIPS рейтинг = 59.07 DMIPS
Бягащ тест Fernandok
Общо време: 869 ms 2.8x БЪРЗО
- PI до 40Mbit / s, USART 10Mbit / s
- 2x DMA (14 канала)
- До 80 MHz / 100 DMIPS с ART Accelerator
Стъпка 5: STM32L432KC X Arduino Nano
Лявата платка е STM32L432KC, в която STMicroelectronics постави идентичния извод Arduino Nano на снимката вдясно.
Стъпка 6: STM32L432KC
Изключително ниска мощност Arm® Cortex®-M4 32-битова
MCU + FPU, 100DMIPS, до 256KB Flash, 64KB SRAM, USB FS, аналогов, аудио
До 26 IO по -бързи, по -толерантни към 5V
- RTC с HW календар, аларми и калибриране
- До 3 капацитивни канала за откриване
- 11x таймери: 1x16-битово усъвършенствано управление на двигателя
1x 32-битови и 2x 16-битови с общо предназначение, 2x 16-битови основни, 2x 16-битови таймери с ниска мощност (налични в режим Stop), 2x наблюдатели, таймер SysTick
Памет:
- До 256 KB Flash, патентована защита при четене на код
- 64 KB SRAM, включително 16 KB с проверка на хардуерния паритет
- Quad SPI интерфейс за памет
Богата аналогова периферия (независимо захранване)
- 1x 12-битов ADC 5 Msps, до 16 бита с хардуерно свръхдискретизиране, 200 μA / Msps
- 2 канала с 12-битов DAC изход, ниска консумация на енергия
- 1x операционен усилвател с вграден PGA
- 2x в сравнение с интерфейсите с ултра ниска мощност
- 1x UPS (сериен аудио интерфейс)
- 2x I2C FM + (1 Mbit / s), SMBus / PMBus
- 3x USART (ISO 7816, LIN, IrDA, модем)
- 1x LPUART (Stop 2 събуждане)
- 2x SPI (и 1x SPI Quad)
- CAN (2.0B активен)
- Едножичен главен протокол SWPMI I / F
- IRTIM (инфрачервен интерфейс)
- 14-канален DMA контролер
- Генератор на случайни числа
Стъпка 7: Инсталирайте Core Arduino за карти STM32L4
- Инсталирайте програма ST-Link, която записва
- Адрес на Json
- Табла: Мениджър на карти
- Библиотеки: Библиотечен мениджър
Стъпка 8: Инсталирайте ST -Link - Програма, която записва
Изтеглете файла на https://www.st.com/en/development-tools/stsw-link0…. Просто регистрирайте, изтеглете и инсталирайте устройството.
Стъпка 9: Адрес Json
В имотите включете следния адрес:
github.com/stm32duino/BoardManagerFiles/ra…
Стъпка 10: Табла: Управител на борда
В Arduino Board Manager инсталирайте STM32 Core, което е около 40MB.
Стъпка 11: Библиотеки: Библиотечен мениджър
Накрая инсталирайте библиотеките.
Аз лично харесах групата STM32duino.com, която има няколко примера, някои от които инсталирах. Изтеглих и FreeRTOS, който много ми хареса. Намерих го бърз и надежден. Също така инсталирах (но все още не съм тествал) LRWAN. Скоро ще ви кажа дали е добре или не.
Стъпка 12: Изтеглете PDF
Препоръчано:
Мощен цифров променлив димер с помощта на STM32: 15 стъпки (със снимки)
Мощен цифров димер за променлив ток, използващ STM32: От Hesam Moshiri, [email protected] AC натоварванията живеят с нас! Защото те са навсякъде около нас и поне домакинските уреди се захранват от електрическата мрежа. Много видове промишлено оборудване също се захранват с еднофазен 220V-AC
STONE Дисплей +STM32 +Кафемашина: 6 стъпки
STONE Display +STM32 +Coffee Maker: Аз съм софтуерен инженер на MCU, наскоро получих проект да бъде кафемашина, битови изисквания с работа със сензорен екран, функцията е добра, над екрана изборът може да не е много добър, за щастие този проект мога да отхвърля
Започнете разработването на STM32 в Linux: 4 стъпки
Започнете да разработвате STM32 на Linux: В тази инструкция ще ви покажа колко лесно е да започнете да разработвате STM32 програми на Linux. Започнах да използвам Linux като основна машина преди 2 години и не бях разочарован. Всичко работи по -бързо и по -добре от прозорците. Разбира се, че е
Първи стъпки със Stm32 с помощта на Arduino IDE: 3 стъпки
Първи стъпки със Stm32 Използване на Arduino IDE: STM32 е доста мощна и популярна платка, поддържана от Arduino IDE. Но за да я използвате, трябва да инсталирате дъските за stm32 в Arduino IDE, така че в тази инструкция ще ви кажа как да инсталирам stm32 дъски и как да го програмирате
Невероятният грешник на ESP32 от Espressif: 8 стъпки
Невероятният ESP32 Wrover от Espressif: Днес ще ви запозная с ESP32 Wrover Kit, който е модел, който е различен от ESP32, който обикновено използвам (Wroom). Wrover е дъска за разработка, която има много функции и е доста периферна. Ще ви покажа пример за програма