Mục lục:

STM32 L4 đáng kinh ngạc !: 12 bước
STM32 L4 đáng kinh ngạc !: 12 bước

Video: STM32 L4 đáng kinh ngạc !: 12 bước

Video: STM32 L4 đáng kinh ngạc !: 12 bước
Video: Lạ lắm cách xăm mình ngầu lòi #shorts #thúvị 2024, Tháng mười một
Anonim
Image
Image
GIẢI PHÓNG STM32F746G
GIẢI PHÓNG STM32F746G

Tôi muốn bắt đầu bài viết này giải thích rằng chữ cái L (của L4) có nghĩa là Thấp (hoặc, về cơ bản, Công suất cực thấp). Do đó, nó tiêu tốn rất ít năng lượng và cho thấy lý do tại sao STM32 này là đáng kinh ngạc! Nó sử dụng các vi mạch và có một hệ thống bên trong có thể xác định chi phí của từng bộ phận chip. Điều này cho phép quản lý năng lượng rất hiệu quả và với hiệu suất cao.

Tôi đã nói về bộ vi điều khiển này trong video, "Cách dễ nhất để lập trình một bộ vi điều khiển!" Trong video, tôi đã hướng dẫn cách lập trình STM32 L4 với MBED. Nhưng trong khi nghiên cứu thêm về nó, tôi phát hiện ra một điều mà nhà sản xuất STMicroelectronics không tiết lộ. Nó đã triển khai Core Arduino trong chip, cho phép lập trình thông qua Arduino IDE.

Trong hình ảnh này, chúng ta có hai phiên bản của L4. STM32L432KC giống với Arduino Nano và STM32L476RG, có IO tương đương với Arduino Uno. Vì vậy, trong khi làm việc với hai phiên bản của bộ vi điều khiển mạnh mẽ này, tôi sẽ hướng dẫn bạn cách cài đặt Arduino Core trong họ STM32. Ngoài ra, tôi sẽ giải thích các đặc điểm chính của Bộ dụng cụ STM32.

Bước 1: Tấm với Core Arduino

Tôi đã đặt ở đây một danh sách về sự đa dạng. Tuy nhiên, chúng tôi sẽ làm việc với STM32L432KC và STM32L476RG.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308

STM32F1

  • BluePill F103C8 (Hỗ trợ cơ bản, không có USB)
  • MapleMini F103CB (Hỗ trợ cơ bản, không có 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-KHAI THÁC

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

Bước 2: KHÁM PHÁ STM32F746G

Để minh họa, tôi đưa ra các chi tiết của một BỘ PHÂN BIỆT STM32F746G, mà tôi coi là một con quái vật. Tôi đã đặt hàng con chip này và tôi hy vọng sẽ sớm nói về nó.

Đặc trưng:

Bộ vi điều khiển STM32F746NGH6 có 1 Mbyte bộ nhớ Flash và 340 Kbyte RAM trong một gói BGA216

  • Tích hợp ST-LINK / V2-1 hỗ trợ khả năng thống kê lại USB
  • Đã bật Mbed (mbed.org)
  • Chức năng USB: cổng COM ảo, bộ nhớ chung và cổng gỡ lỗi
  • LCD-TFT 4,3 inch 480x272 màu với màn hình cảm ứng điện dung
  • Đầu nối máy ảnh
  • Codec âm thanh SAI
  • Giắc cắm đầu vào và đầu ra âm thanh
  • Đầu ra loa âm thanh nổi
  • Hai micrô ST MEMS
  • Đầu nối đầu vào SPDIF RCA
  • Hai nút bấm (người dùng và đặt lại)
  • Bộ nhớ Flash 128-Mbit Quad-SPI
  • 128-Mbit SDRAM (có thể truy cập 64 Mbit)
  • Đầu nối cho thẻ nhớ microSD
  • Đầu nối bảng con RF-EEPROM
  • USB OTG HS với đầu nối Micro-AB
  • USB OTG FS với đầu nối Micro-AB
  • Đầu nối Ethernet tuân thủ IEEE-802.3-2002
  • Năm tùy chọn cung cấp điện:

- ST LINK / V2-1

- Đầu nối USB FS

- Đầu nối USB HS

- VIN từ đầu nối Arduino

- Bên ngoài 5 V từ đầu nối

Các ứng dụng ngoại hối đầu ra cung cấp điện:

- 3,3 V hoặc 5 V

Đầu nối Arduino Uno V3

Bước 3: Arduino Due X STM NUCLEO-L476RG

Arduino Do X STM NUCLEO-L476RG
Arduino Do X STM NUCLEO-L476RG

Dưới đây là so sánh với Arduino Due, là ARM Cortex-M3. Tôi đã sử dụng mô hình này trong video: Nema 23 Stepper Motor với Driver TB6600 với Arduino Due và SpeedTest: Arduinos - ESP32 / 8266s - STM32, với STM NUCLEO-L476RG, là ARM Cortex-M4 Ultra Low Power và hình ảnh ở phía bên phải.

Arduino Đến hạn:

Bộ vi điều khiển: AT91SAM3X8E

Điện áp hoạt động: 3.3V

Điện áp đầu vào (khuyến nghị): 7-12V

Điện áp đầu vào (giới hạn): 6-16V

Chân I / O kỹ thuật số: 54 (trong đó 12 chân cung cấp đầu ra PWM)

Chân đầu vào tương tự: 12

Chân đầu ra tương tự: 2 (DAC)

Tổng dòng điện đầu ra DC trên tất cả các đường I / O: 130 mA

Dòng điện một chiều cho chân 3,3V: 800 mA

Dòng điện một chiều cho chân 5V: 800 mA

Bộ nhớ Flash: 512 KB tất cả đều có sẵn cho các ứng dụng người dùng

SRAM: 96 KB (hai ngân hàng: 64KB và 32KB)

Tốc độ đồng hồ: 84 MHz

Chiều dài: 101,52 mm

Chiều rộng: 53,3 mm

Trọng lượng: 36 g

STM NUCLEO-L476RG:

STM32L476RGT6 trong gói LQFP64

CPU ARM®32-bit Cortex®-M4

Bộ tăng tốc thời gian thực thích ứng

(ART Accelerator ™) cho phép thực thi trạng thái chờ 0 từ bộ nhớ Flash

Tần số CPU tối đa 80 MHz

VDD từ 1,71 V đến 3,6 V

1 MB Flash

128 KB SRAM

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) với khả năng ngắt bên ngoài

Cảm biến điện dung với 12 kênh

12-bit ADC (3) với 16 kênh

DAC 12-bit với 2 kênh

FPU hoặc Đơn vị dấu chấm động

* Tôi nhấn mạnh ở đây FPU riêng biệt này của STM NUCLEO-L476RG, có nghĩa là con chip thực hiện các phép tính lượng giác với tốc độ đáng kinh ngạc. Điều này không giống như Arduino Due, cần một bộ xử lý di truyền để làm điều đó.

Bước 4: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone là một chương trình điểm chuẩn máy tính tổng hợp được phát triển vào năm 1984 bởi Reinhold P. Weicker, được thiết kế để đại diện cho lập trình hệ thống (số nguyên). Dhrystone trở thành đại diện tiêu biểu cho hiệu suất tổng thể của bộ xử lý (CPU). Tên "Dhrystone" là một cách chơi chữ của một thuật toán điểm chuẩn khác có tên là Whetstone. Đây là một biện pháp được thực hiện từ một số hoạt động chung.

Chương trình này ở đây để biên dịch một cái gì đó bên trong các vi điều khiển này trong Arduino. Và kết quả của hai bài kiểm tra tôi đã thực hiện, một với Dhrystone và một từ video SpeedTest, như sau:

Arduino Đến hạn: US $ 37,00

Dhrystone Benchmark, Phiên bản 2.1 (Ngôn ngữ: C)

Bắt đầu thực thi, 300, 000 chạy qua Dhrystone

Execuion kết thúc

Microseconds cho một lần chạy qua Dhrystone: 10,70

Đá hạt mỗi giây: 93, 431,43

Xếp hạng VAX MIPS = 53,18 DMIPS

Chạy thử nghiệm Fernandok

Tổng thời gian: 2, 458 ms

  • Không có FPU
  • Phần mềm Dhrystone trên Arduino

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: US $ 23,00

Dhrystone Benchmark, Phiên bản 2.1 (Ngôn ngữ: C)

Bắt đầu thực thi, 300, 000 chạy qua Dhrystone

Thực thi kết thúc

Microseconds cho một lần chạy qua Dhrystone: 9,63

Đá hạt mỗi giây: 103, 794,59

Xếp hạng VAX MIPS = 59,07 DMIPS

Chạy thử nghiệm Fernandok

Tổng thời gian: 869 ms 2,8x NHANH HƠN

  • PI lên đến 40Mbit / s, USART 10Mbit / s
  • 2x DMA (14 kênh)
  • Lên đến 80 MHz / 100 DMIPS với Bộ tăng tốc ART

Bước 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

Bo mạch bên trái là STM32L432KC, trong đó STMicroelectronics đã đặt sơ đồ chân của Arduino Nano giống hệt trong hình bên phải.

Bước 6: STM32L432KC

STM32L432KC
STM32L432KC

Công suất cực thấp Arm® Cortex®-M4 32-bit

MCU + FPU, 100DMIPS, tối đa 256KB Flash, 64KB SRAM, USB FS, tương tự, âm thanh

Nhanh hơn lên đến 26 IO, chịu được 5V hơn

  • RTC với lịch HW, báo thức và hiệu chuẩn
  • Lên đến 3 kênh phát hiện điện dung
  • Bộ hẹn giờ 11x: Điều khiển động cơ nâng cao 1x16-bit

1x 32-bit và 2x 16-bit mục đích chung, 2x 16-bit cơ bản, 2x bộ định thời 16-bit công suất thấp (khả dụng ở chế độ Dừng), 2x cơ quan giám sát, bộ đếm thời gian SysTick

Kỉ niệm:

- Lên đến 256 KB Flash, bảo vệ đọc mã độc quyền

- 64 KB SRAM bao gồm 16 KB với kiểm tra chẵn lẻ phần cứng

- Giao diện bộ nhớ Quad SPI

Thiết bị ngoại vi tương tự phong phú (nguồn cung cấp độc lập)

- 1x 12-bit ADC 5 Msp, tối đa 16 bit với phần cứng lấy mẫu quá mức, 200 μA / Msps

- 2 kênh đầu ra DAC 12-bit, tiêu thụ điện năng thấp

- Bộ khuếch đại hoạt động 1x với PGA tích hợp

- 2 lần so với giao diện năng lượng cực thấp

- 1x UPS (giao diện âm thanh nối tiếp)

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

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

- 1x LPUART (Dừng 2 lần đánh thức)

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

- CÓ THỂ (2.0B hoạt động)

- Giao thức một dây chính SWPMI I / F

- IRTIM (giao diện hồng ngoại)

  • Bộ điều khiển DMA 14 kênh
  • Trình tạo số ngẫu nhiên

Bước 7: Cài đặt Core Arduino cho thẻ STM32L4

Cài đặt Core Arduino cho thẻ STM32L4
Cài đặt Core Arduino cho thẻ STM32L4
  1. Cài đặt chương trình ST-Link ghi lại
  2. Địa chỉ Json
  3. Ban: Quản lý thẻ
  4. Libraries: Người quản lý thư viện

Bước 8: Cài đặt ST-Link - Chương trình ghi lại

Cài đặt ST-Link - Chương trình ghi lại
Cài đặt ST-Link - Chương trình ghi lại

Tải xuống tệp tại https://www.st.com/en/development-tools/stsw-link0…. Chỉ cần đăng ký, tải xuống và cài đặt thiết bị.

Bước 9: Địa chỉ Json

Địa chỉ Json
Địa chỉ Json

Trên thuộc tính, hãy bao gồm địa chỉ sau:

github.com/stm32duino/BoardManagerFiles/ra…

Bước 10: Hội đồng quản trị: Giám đốc Hội đồng quản trị

Hội đồng quản trị: Giám đốc hội đồng quản trị
Hội đồng quản trị: Giám đốc hội đồng quản trị

Trong Trình quản lý bảng Arduino, hãy cài đặt STM32 Core, dung lượng khoảng 40MB.

Bước 11: Thư viện: Quản lý thư viện

Libraries: Người quản lý thư viện
Libraries: Người quản lý thư viện

Cuối cùng, cài đặt các thư viện.

Cá nhân tôi thích nhóm STM32duino.com, có một số ví dụ, một số trong số đó tôi đã cài đặt. Tôi cũng đã tải xuống một FreeRTOS, mà tôi rất thích. Tôi thấy nó nhanh chóng và đáng tin cậy. Tôi cũng đã cài đặt (nhưng chưa thử nghiệm) LRWAN. Tôi sẽ sớm cho bạn biết nó tốt hay không.

Bước 12: Tải xuống PDF

PDF

Đề xuất: