Daftar Isi:

STM32 L4 yang Luar Biasa!: 12 Langkah
STM32 L4 yang Luar Biasa!: 12 Langkah

Video: STM32 L4 yang Luar Biasa!: 12 Langkah

Video: STM32 L4 yang Luar Biasa!: 12 Langkah
Video: Temukan Pengalaman Luar Biasa dengan Polytron SCN 237 L4 2024, November
Anonim
Image
Image
PENEMUAN STM32F746G
PENEMUAN STM32F746G

Saya ingin memulai artikel ini menjelaskan bahwa huruf L (dari L4) ini berarti Rendah (atau, pada dasarnya, Daya Ultra Rendah). Dengan demikian, ia menghabiskan sedikit energi dan menunjukkan mengapa STM32 ini luar biasa! Ini menghabiskan microamps dan memiliki sistem di dalamnya yang dapat mengidentifikasi biaya setiap bagian chip. Hal ini memungkinkan pengelolaan energi yang sangat efisien, dan dengan kinerja tinggi.

Saya sudah berbicara tentang mikrokontroler ini di video, "Cara termudah untuk memprogram mikrokontroler!" Dalam video, saya menunjukkan cara memprogram STM32 L4 dengan MBED. Tetapi ketika meneliti lebih lanjut tentang itu, saya menemukan sesuatu yang tidak diungkapkan oleh pabrikan STMicroelectronics. Ini mengimplementasikan Core Arduino dalam chip, yang memungkinkan pemrograman melalui Arduino IDE.

Dalam gambar ini, kami memiliki dua versi L4. STM32L432KC identik dengan Arduino Nano dan STM32L476RG, yang memiliki IO setara dengan Arduino Uno. Jadi, saat bekerja dengan dua versi mikrokontroler yang kuat ini, saya akan menunjukkan cara memasang Arduino Core di keluarga STM32. Juga, saya akan menjelaskan karakteristik utama dari Kit STM32.

Langkah 1: Piring Dengan Core Arduino

Saya menempatkan di sini daftar tentang keragaman. Namun, kami akan bekerja dengan STM32L432KC dan STM32L476RG.

STM32F0

  • Inti F030R8
  • Inti F091RC
  • PENEMUAN 32F0308

STM32F1

  • BluePill F103C8 (Dukungan dasar, tanpa USB)
  • MapleMini F103CB (Dukungan dasar, tanpa USB)
  • Inti F103RB
  • PENEMUAN STM32VL

STM32F2

Inti F207ZG

STM32F3

  • Inti F302R8
  • Inti F303K8
  • Inti F303RE

STM32F4

  • Inti F401RE
  • Inti F411RE
  • Inti F429ZI
  • Inti F446RE
  • STM32F407G-DISC1

STM32F7

STM32F746G-DISCOVERY

STM32L0

  • Inti L031K6
  • Inti L053R8
  • B-L072Z-LRWAN1

STM32L1

Inti L152RE

STM32L4

  • Inti L432KC
  • Inti L476RG
  • NUCLEO-L496ZG-P
  • NUCLEO-L496ZG-P
  • B-L475E-IOT01A

Langkah 2: PENEMUAN STM32F746G

Sebagai ilustrasi, saya menunjukkan detail STM32F746G DISCOVERY, yang saya anggap sebagai binatang buas. Saya sudah memesan chip ini, dan saya berharap untuk segera membicarakannya.

Karakteristik:

Mikrokontroler STM32F746NGH6 menampilkan 1 Mbytes memori Flash dan 340 Kbytes RAM dalam paket BGA216

  • ST-LINK / V2-1 on-board yang mendukung kemampuan enumerasi ulang USB
  • Mbed-enabled (mbed.org)
  • Fungsi USB: port COM virtual, penyimpanan massal, dan port debug
  • LCD-TFT 480x272 warna 4,3 inci dengan layar sentuh kapasitif
  • Konektor kamera
  • Kodek audio SAI
  • Jack saluran masuk dan keluar audio
  • Keluaran speaker stereo
  • Dua mikrofon ST MEMS
  • Konektor input SPDIF RCA
  • Dua tombol (pengguna dan reset)
  • Memori Flash Quad-SPI 128-Mbit
  • SDRAM 128-Mbit (dapat diakses 64 Mbit)
  • Konektor untuk kartu microSD
  • Konektor papan putri RF-EEPROM
  • USB OTG HS dengan konektor Micro-AB
  • USB OTG FS dengan konektor Micro-AB
  • Konektor Ethernet sesuai dengan IEEE-802.3-2002
  • Lima opsi catu daya:

- ST LINK / V2-1

- Konektor USB FS

- Konektor USB HS

- VIN dari konektor Arduino

- Eksternal 5 V dari konektor

Aplikasi eksternal keluaran catu daya:

- 3,3 V atau 5 V

Konektor Arduino Uno V3

Langkah 3: Arduino Due X STM NUCLEO-L476RG

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

Berikut perbandingan dengan Arduino Due yang merupakan ARM Cortex-M3. Saya telah menggunakan model ini dalam video: Nema 23 Stepper Motor dengan Driver TB6600 dengan Arduino Due, dan SpeedTest: Arduinos - ESP32 / 8266s - STM32, dengan STM NUCLEO-L476RG, yang merupakan ARM Cortex-M4 Ultra Low Power, dan dalam gambar di sisi kanan.

Arduino Karena:

Mikrokontroler: AT91SAM3X8E

Tegangan Operasi: 3.3V

Tegangan Input (disarankan): 7-12V

Tegangan Input (batas): 6-16V

Pin I/O Digital: 54 (12 di antaranya menyediakan output PWM)

Pin Input Analog: 12

Pin Output Analog: 2 (DAC)

Total Arus Output DC pada semua jalur I/O: 130 mA

Arus DC untuk Pin 3.3V: 800 mA

Arus DC untuk Pin 5V: 800 mA

Memori Flash: 512 KB semua tersedia untuk aplikasi pengguna

SRAM: 96 KB (dua bank: 64KB dan 32KB)

Kecepatan Jam: 84 MHz

Panjang: 101,52 mm

Lebar: 53,3 mm

Berat: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 dalam paket LQFP64

ARM®32-bit Cortex®-M4 CPU

Akselerator real-time adaptif

(ART Accelerator ™) memungkinkan eksekusi status 0-tunggu dari memori Flash

Frekuensi CPU maks 80 MHz

VDD dari 1,71 V hingga 3,6 V

1 MB Flash

128 KB SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) dengan kemampuan interupsi eksternal

Penginderaan kapasitif dengan 12 saluran

ADC 12-bit (3) dengan 16 saluran

DAC 12-bit dengan 2 saluran

Unit FPU atau Floating Point

* Saya sorot di sini FPU terpisah dari STM NUCLEO-L476RG, yang berarti bahwa chip membuat perhitungan trigonometri dengan kecepatan luar biasa. Ini tidak seperti Arduino Due, yang membutuhkan prosesor genetik untuk melakukan itu.

Langkah 4: Batu kering

Batu kering
Batu kering
Batu kering
Batu kering

Dhrystone adalah program benchmark komputer sintetis yang dikembangkan pada tahun 1984 oleh Reinhold P. Weicker, yang dimaksudkan untuk mewakili pemrograman sistem (bilangan bulat). Dhrystone menjadi wakil dari keseluruhan kinerja prosesor (CPU). Nama "Dhrystone" adalah plesetan dari algoritma benchmark berbeda yang disebut Whetstone. Ini adalah ukuran yang diambil dari beberapa operasi generik.

Program ini di sini untuk mengkompilasi sesuatu di dalam mikrokontroler ini di Arduino. Dan hasil dari dua tes yang saya lakukan, satu dengan Dhrystone dan satu lagi dari video SpeedTest, adalah sebagai berikut:

Arduino Jatuh Tempo: US $ 37,00

Tolok Ukur Dhrystone, Versi 2.1 (Bahasa: C)

Eksekusi dimulai, 300.000 berjalan melalui Dhrystone

Eksekusi berakhir

Mikrodetik untuk satu putaran melalui Dhrystone: 10,70

Batu Kering per Detik: 93, 431,43

Peringkat VAX MIPS = 53,18 DMIPS

Tes lari Fernandok

Total waktu: 2, 458 mdtk

  • Tidak memiliki FPU
  • Perangkat lunak Drystone di Arduino

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: US $23.00

Tolok Ukur Dhrystone, Versi 2.1 (Bahasa: C)

Eksekusi dimulai, 300.000 berjalan melalui Dhrystone

Eksekusi berakhir

Mikrodetik untuk satu putaran melalui Dhrystone: 9,63

Batu Kering per Detik: 103, 794,59

Peringkat VAX MIPS = 59,07 DMIPS

Tes lari Fernandok

Total Waktu: 869 md 2,8x LEBIH CEPAT

  • PI hingga 40Mbit / dtk, USART 10Mbit / dtk
  • 2x DMA (14 saluran)
  • Hingga 80 MHz / 100 DMIPS dengan ART Accelerator

Langkah 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Papan kiri adalah STM32L432KC, di mana STMicroelectronics menempatkan pinout Arduino Nano yang identik pada gambar di sebelah kanan.

Langkah 6: STM32L432KC

STM32L432KC
STM32L432KC

Arm® Cortex®-M4 32-bit berdaya sangat rendah

MCU + FPU, 100DMIPS, Flash hingga 256KB, SRAM 64KB, USB FS, analog, audio

Hingga 26 IO lebih cepat, lebih toleran terhadap 5V

  • RTC dengan kalender, alarm, dan kalibrasi HW
  • Hingga 3 saluran deteksi kapasitif
  • 11x Timer: Kontrol mesin canggih 1x16-bit

1x 32-bit dan 2x 16-bit tujuan umum, 2x 16-bit dasar, 2x timer 16-bit berdaya rendah (tersedia dalam mode Stop), 2x pengawas, timer SysTick

Penyimpanan:

- Hingga 256 KB Flash, perlindungan pembacaan kode berpemilik

- 64 KB SRAM termasuk 16 KB dengan pemeriksaan paritas perangkat keras

- Antarmuka memori Quad SPI

Periferal analog yang kaya (pasokan independen)

- 1x 12-bit ADC 5 Msps, hingga 16 bit dengan oversampling perangkat keras, 200 A / Msps

- 2 saluran output DAC 12-bit, konsumsi daya rendah

- Penguat operasional 1x dengan PGA bawaan

- 2x dibandingkan dengan antarmuka daya ultra-rendah

- 1x UPS (antarmuka audio serial)

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

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

- 1x LPUART (Berhenti 2 bangun)

- 2x SPI (dan 1x SPI Quad)

- BISA (2.0B aktif)

- Master protokol kabel tunggal SWPMI I / F

- IRTIM (antarmuka inframerah)

  • Pengontrol DMA 14 saluran
  • Generator Angka Acak

Langkah 7: Instal Core Arduino untuk Kartu STM32L4

Instal Core Arduino untuk Kartu STM32L4
Instal Core Arduino untuk Kartu STM32L4
  1. Instal program ST-Link yang merekam
  2. Alamat Json
  3. Papan: Manajer Kartu
  4. Perpustakaan: Manajer Perpustakaan

Langkah 8: Instal ST-Link - Program yang Merekam

Instal ST-Link - Program yang Merekam
Instal ST-Link - Program yang Merekam

Unduh file di https://www.st.com/en/development-tools/stsw-link0…. Cukup daftar, unduh, dan instal perangkat.

Langkah 9: Alamat Json

Alamat Json
Alamat Json

Pada properti, sertakan alamat berikut:

github.com/stm32duino/BoardManagerFiles/ra…

Langkah 10: Papan: Manajer Dewan

Dewan: Manajer Dewan
Dewan: Manajer Dewan

Di Arduino Board Manager, instal STM32 Core, yaitu sekitar 40MB.

Langkah 11: Perpustakaan: Manajer Perpustakaan

Perpustakaan: Manajer Perpustakaan
Perpustakaan: Manajer Perpustakaan

Terakhir, instal perpustakaan.

Saya pribadi menyukai grup STM32duino.com, yang memiliki beberapa contoh, beberapa di antaranya saya instal. Saya juga mengunduh FreeRTOS, yang sangat saya sukai. Saya menemukannya cepat dan dapat diandalkan. Saya juga menginstal (tetapi belum menguji) LRWAN. Saya akan segera memberitahu Anda apakah itu baik atau tidak.

Langkah 12: Unduh PDF

PDF

Direkomendasikan: