Mündəricat:

İnanılmaz STM32 L4 !: 12 addım
İnanılmaz STM32 L4 !: 12 addım

Video: İnanılmaz STM32 L4 !: 12 addım

Video: İnanılmaz STM32 L4 !: 12 addım
Video: The Internet of Things by James Whittaker of Microsoft 2024, Noyabr
Anonim
Image
Image
STM32F746G Kəşf
STM32F746G Kəşf

Bu L (L4) hərfinin Aşağı (və ya, əsasən, Ultra Aşağı Güc) mənasını verdiyini izah edən məqaləyə başlamaq istəyirəm. Beləliklə, az enerji sərf edir və bu STM32 -nin niyə inanılmaz olduğunu göstərir! Mikroampalar sərf edir və içərisində hər bir çip hissəsinin xərcini təyin edə biləcək bir sistemə malikdir. Bu, enerjinin çox səmərəli idarə olunmasına və yüksək performansa imkan verir.

Videoda bu mikro nəzarətçi haqqında artıq danışdım, "Mikro nəzarətçini proqramlaşdırmağın ən asan yolu!" Videoda STED32 L4 -ün MBED ilə necə proqramlaşdırıldığını göstərdim. Ancaq bu barədə daha çox araşdırma apararkən STMicroelectronics istehsalçısının açıqlamadığı bir şeyi kəşf etdim. Arduino IDE vasitəsilə proqramlaşdırmağa imkan verən çipdə Core Arduino tətbiq etdi.

Bu görüntüdə L4 -ün iki versiyası var. STM32L432KC, Arduino Uno -ya bərabər IOs olan Arduino Nano və STM32L476RG ilə eynidir. Beləliklə, bu güclü mikro nəzarətçinin iki versiyası ilə işləyərkən sizə STM32 ailəsində Arduino Core -un necə qurulacağını göstərəcəyəm. Ayrıca, STM32 Kitlərinin əsas xüsusiyyətlərini izah edəcəyəm.

Addım 1: Core Arduino ilə lövhələr

Bura müxtəliflik haqqında bir siyahı qoydum. Ancaq STM32L432KC və STM32L476RG ilə işləyəcəyik.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308DISCOVERY

STM32F1

  • BluePill F103C8 (Əsas dəstək, USB yoxdur)
  • MapleMini F103CB (Əsas dəstək, USB yoxdur)
  • 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-Kəşf

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

Addım 2: STM32F746G Kəşf

Yalnız göstərmək üçün bir heyvan hesab etdiyim STM32F746G DISCOVERY -nin təfərrüatlarını göstərirəm. Bu çipi artıq sifariş etmişəm və ümid edirəm ki, tezliklə bu barədə danışacağam.

Xüsusiyyətlər:

BGA216 paketində 1 Mbayt Flash yaddaş və 340 Kbayt RAM olan STM32F746NGH6 mikro nəzarətçi

  • Gəmidə ST-LINK / V2-1, USB-nin yenidən sayma imkanlarını dəstəkləyir
  • Mbed aktivdir (mbed.org)
  • USB funksiyaları: virtual COM portu, kütləvi saxlama və debug portu
  • 4.3 düymlük 480x272 rəngli LCD-TFT, tutumlu sensor ekrana malikdir
  • Kamera konnektoru
  • SAI audio codec
  • Səs girişi və çıxışı jakı
  • Stereo dinamik çıxışları
  • İki ST MEMS mikrofonu
  • SPDIF RCA giriş konnektoru
  • İki düymə (istifadəçi və sıfırlama)
  • 128 Mbit Quad-SPI Flash yaddaş
  • 128 Mbit SDRAM (64 Mbit əlçatandır)
  • MicroSD kartı üçün bağlayıcı
  • RF-EEPROM lövhə konnektoru
  • Micro-AB konnektorlu USB OTG HS
  • Micro-AB konnektorlu USB OTG FS
  • IEEE-802.3-2002 ilə uyğun olan Ethernet konnektoru
  • Beş enerji təchizatı variantı:

- ST LINK / V2-1

- USB FS konnektoru

- USB HS konnektoru

- Arduino konnektorundan VIN

- Bağlayıcıdan xarici 5 V

Xarici tətbiqlər üçün enerji təchizatı çıxışı:

- 3,3 V və ya 5 V

Arduino Uno V3 bağlayıcıları

Addım 3: Arduino Due X STM NUCLEO-L476RG

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

Budur, ARM Cortex-M3 olan Arduino Due ilə müqayisə. Bu modeli videolarda istifadə etdim: Arduino Due ilə Sürücü TB6600 ilə Nema 23 Stepper Motoru və SpeedTest: Arduinos - ESP32 / 8266s - STM32, STM NUCLEO -L476RG ilə ARM Cortex -M4 Ultra Aşağı Güc və sağ tərəfdəki şəkil.

Arduino Vaxtı:

Mikro nəzarətçi: AT91SAM3X8E

İşləmə gərginliyi: 3.3V

Giriş gərginliyi (tövsiyə olunur): 7-12V

Giriş gərginliyi (məhdudiyyətlər): 6-16V

Rəqəmsal G / Ç pinləri: 54 (onlardan 12 -si PWM çıxışı təmin edir)

Analog giriş pinləri: 12

Analog Çıxış Pimleri: 2 (DAC)

Bütün I / O xətlərində ümumi DC Çıxış Cərəyanı: 130 mA

3.3V Pin üçün DC cərəyanı: 800 mA

5V Pin üçün DC cərəyanı: 800 mA

Flash Yaddaş: 512 KB hamısı istifadəçi tətbiqləri üçün mövcuddur

SRAM: 96 KB (iki bank: 64KB və 32KB)

Saat Sürəti: 84 MHz

Uzunluq: 101.52 mm

Genişlik: 53.3 mm

Çəkisi: 36 q

STM NUCLEO-L476RG:

LQFP64 paketində STM32L476RGT6

ARM® 32 bit Cortex®-M4 CPU

Uyğunlaşan real vaxt sürətləndiricisi

(ART Accelerator ™), Flash yaddaşından 0 gözləmə vəziyyətini icra etməyə imkan verir

80 MHz maksimum CPU tezliyi

VDD 1,71 V -dan 3,6 V -a qədər

1 MB Flash

128 KB SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

Xarici kəsmə qabiliyyəti olan GPIO (51)

12 kanallı kapasitiv algılama

16 kanallı 12 bitlik ADC (3)

2 kanallı 12 bitlik DAC

FPU və ya üzən nöqtə vahidi

* STM NUCLEO-L476RG-nin ayrı FPU-nu vurğulayıram ki, bu da çipin inanılmaz sürətlə trigonometrik hesablamalar apardığını göstərir. Bunun üçün genetik bir prosessora ehtiyacı olan Arduino Due -dən fərqli olaraq.

Addım 4: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone, 1984 -cü ildə Reinhold P. Weicker tərəfindən hazırlanmış (tam ədəd) sistem proqramlaşdırmasının nümayəndəsi olmaq üçün hazırlanmış sintetik kompüter test proqramıdır. Dhrystone ümumi prosessor performansının (CPU) nümayəndəsi oldu. "Dhrystone" adı, Whetstone adlı fərqli bir etalon alqoritmindəki bir oyundur. Bu, bəzi ümumi əməliyyatlardan götürülmüş bir ölçüdür.

Bu proqram, Arduino'daki bu mikro nəzarətçilərin içərisində bir şey toplamaq üçün buradadır. Biri Dhrystone ilə, digəri SpeedTest videosundan iki testin nəticəsi belədir:

Arduino Müddəti: 37.00 ABŞ dolları

Dhrystone Benchmark, Versiya 2.1 (Dil: C)

İcra başlayır, 3000000 Dhrystone -dan keçir

İcra başa çatır

Dhrystone'dan bir qaçış üçün mikrosaniyələr: 10.70

Saniyədə Drystones: 93, 431.43

VAX MIPS reytinqi = 53.18 DMIPS

Qaçış testi Fernandok

Ümumi vaxt: 2.458 ms

  • FPU yoxdur
  • Arduinoda Dhrystone proqramı

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23.00 ABŞ dolları

Dhrystone Benchmark, Versiya 2.1 (Dil: C)

İcra başlayır, 3000000 Dhrystone -dan keçir

İcra başa çatır

Dhrystone -dan bir dəfə keçmək üçün mikrosaniyələr: 9.63

Saniyədə Drystones: 103, 794.59

VAX MIPS reytinqi = 59.07 DMIPS

Qaçış testi Fernandok

Ümumi Zaman: 869 ms 2.8x FASTER

  • PI 40Mbit / s -ə qədər, USART 10Mbit / s -ə qədər
  • 2x DMA (14 kanal)
  • ART Sürətləndiricisi ilə 80 MHz / 100 DMIPS -ə qədər

Addım 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Sol lövhə, STMicroelectronics'in sağdakı şəkildə eyni Arduino Nano pinoutunu yerləşdirdiyi STM32L432KC -dir.

Addım 6: STM32L432KC

STM32L432KC
STM32L432KC

Ultra aşağı güclü Arm® Cortex®-M4 32 bit

MCU + FPU, 100DMIPS, 256 KB -a qədər Flash, 64 KB SRAM, USB FS, analoq, səs

26 IO -a qədər daha sürətli, 5V -ə daha tolerantdır

  • HW təqvimi, həyəcan siqnalları və kalibrləmə ilə RTC
  • 3 -ə qədər kapasitiv aşkarlama kanalı
  • 11x Taymerlər: 1x16 bit inkişaf etmiş mühərrik idarəetmə sistemi

1x 32 bit və 2 x 16 bit ümumi təyinatlı, 2 x 16 bit əsaslı, 2 x aşağı güclü 16 bitlik taymerlər (Stop rejimində mövcuddur), 2 dəfə gözətçilər, SysTick taymeri

Yaddaş:

- 256 KB -a qədər Flash, mülkiyyət kodunu oxumaqdan qorunma

- Avadanlıq paritet yoxlaması ilə 16 KB daxil olmaqla 64 KB SRAM

- Dörd SPI yaddaş interfeysi

Zəngin analog periferik qurğular (müstəqil təchizat)

- 1x 12 bit ADC 5 Msps, hardware həddindən artıq seçmə ilə 16 bitə qədər, 200 μA / Msps

- 12 bit DAC çıxışı olan 2 kanal, aşağı enerji istehlakı

- Daxili PGA ilə 1x əməliyyat gücləndiricisi

- Ultra aşağı güc interfeysləri ilə müqayisədə 2 dəfə

- 1x UPS (serial audio interfeysi)

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

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

- 1x LPUART (Dur 2 oyan)

- 2x SPI (və 1x SPI Quad)

- CAN (2.0B aktiv)

- Tək telli protokol ustası SWPMI I / F

- IRTIM (infraqırmızı interfeys)

  • 14 kanallı DMA nəzarətçi
  • Təsadüfi Sayı Yaradan

Addım 7: STM32L4 Kartları üçün Core Arduino qurun

STM32L4 Kartları üçün Core Arduino qurun
STM32L4 Kartları üçün Core Arduino qurun
  1. Qeyd edən ST-Link proqramını quraşdırın
  2. Json Ünvan
  3. Şuralar: Kart meneceri
  4. Kitabxanalar: Kitabxana müdiri

Addım 8: ST -Link - Qeyd edən Proqramı Qurun

ST -Link - Qeyd edən Proqramı quraşdırın
ST -Link - Qeyd edən Proqramı quraşdırın

Faylı yükləyin https://www.st.com/en/development-tools/stsw-link0…. Cihazı qeydiyyatdan keçirin, yükləyin və quraşdırın.

Addım 9: Json -a müraciət edin

Ünvan Json
Ünvan Json

Mülkiyyətə aşağıdakı ünvanı daxil edin:

github.com/stm32duino/BoardManagerFiles/ra…

Addım 10: Şuralar: İdarə Heyətinin müdiri

Şuralar: İdarə Heyətinin müdiri
Şuralar: İdarə Heyətinin müdiri

Arduino Board Manager -də təxminən 40MB olan STM32 Core qurun.

Addım 11: Kitabxanalar: Kitabxana müdiri

Kitabxanalar: Kitabxana müdiri
Kitabxanalar: Kitabxana müdiri

Nəhayət, kitabxanaları quraşdırın.

Şəxsən mən bəzilərini quraşdırdığım bir neçə nümunə olan STM32duino.com qrupunu bəyəndim. Çox bəyəndiyim bir FreeRTOS da yüklədim. Tez və etibarlı tapdım. Mən də LRWAN qurdum (amma hələ sınamamışam). Tezliklə bunun yaxşı olub olmadığını söyləyəcəyəm.

Addım 12: PDF yükləyin

PDF

Tövsiyə: