فهرست مطالب:

شگفت انگیز STM32 L4 !: 12 مرحله
شگفت انگیز STM32 L4 !: 12 مرحله

تصویری: شگفت انگیز STM32 L4 !: 12 مرحله

تصویری: شگفت انگیز STM32 L4 !: 12 مرحله
تصویری: The Internet of Things by James Whittaker of Microsoft 2024, جولای
Anonim
Image
Image
کشف STM32F746G
کشف STM32F746G

من می خواهم این مقاله را با این توضیح شروع کنم که این حرف L (از L4) به معنای کم (یا اصولاً قدرت فوق العاده کم) است. بنابراین ، انرژی کمی صرف می کند و نشان می دهد که چرا این STM32 باور نکردنی است! میکرو آمپر را خرج می کند و سیستمی در داخل دارد که می تواند هزینه هر قسمت تراشه را مشخص کند. این امکان مدیریت بسیار کارآمد انرژی و عملکرد بالا را فراهم می آورد.

من قبلاً در مورد این میکروکنترلر در ویدیو صحبت کردم ، "ساده ترین راه برای برنامه ریزی میکروکنترلر!" در ویدیو ، نحوه برنامه ریزی STM32 L4 با MBED را نشان دادم. اما هنگام تحقیق بیشتر در مورد آن ، چیزی را کشف کردم که سازنده STMicroelectronics فاش نمی کند. این نرم افزار Core Arduino را در تراشه پیاده سازی کرد که امکان برنامه نویسی از طریق Arduino IDE را فراهم می کند.

در این تصویر ، ما دو نسخه از L4 داریم. STM32L432KC مشابه Arduino Nano و STM32L476RG است که دارای IO معادل Arduino Uno هستند. بنابراین ، هنگام کار با دو نسخه از این میکروکنترلر قدرتمند ، نحوه نصب Arduino Core در خانواده STM32 را به شما نشان خواهم داد. همچنین ، ویژگی های اصلی کیت STM32 را توضیح خواهم داد.

مرحله 1: صفحات با هسته آردوینو

در اینجا لیستی از تنوع را قرار دادم. با این حال ، ما قصد داریم با STM32L432KC و STM32L476RG کار کنیم.

STM32F0

  • Nucleo F030R8
  • Nucleo F091RC
  • 32F0308DISCOVERY

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-DISCOVERY

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 DISCOVERY

فقط برای توضیح ، من جزئیات یک STM32F746G DISCOVERY را نشان می دهم ، که من آن را یک جانور می دانم. من قبلاً این تراشه را سفارش داده ام و امیدوارم به زودی در مورد آن صحبت کنم.

مشخصات:

میکروکنترلر STM32F746NGH6 با 1 مگابایت حافظه فلش و 340 کیلوبایت RAM در بسته BGA216

  • روی صفحه ST-LINK / V2-1 از قابلیت های شمارش مجدد USB پشتیبانی می کند
  • Mbed-enabled (mbed.org)
  • عملکردهای USB: پورت COM مجازی ، ذخیره سازی انبوه و پورت اشکال زدایی
  • 4.3 اینچ LCD-TFT رنگی 480x272 با صفحه نمایش لمسی خازنی
  • کانکتور دوربین
  • کدک صوتی SAI
  • خط صوتی داخل و خروجی جک
  • خروجی بلندگوی استریو
  • دو میکروفون ST MEMS
  • کانکتور ورودی SPDIF RCA
  • دو دکمه (کاربر و تنظیم مجدد)
  • حافظه فلش 128 مگابیت Quad-SPI
  • 128 مگابیت SDRAM (64 مگابیت قابل دسترسی)
  • اتصال دهنده برای کارت microSD
  • کانکتور دخترانه RF-EEPROM
  • USB OTG HS با اتصالات Micro-AB
  • USB OTG FS با اتصالات Micro-AB
  • اتصال اترنت سازگار با IEEE-802.3-2002
  • پنج گزینه منبع تغذیه:

- ST LINK / V2-1

- اتصال USB FS

- اتصال USB HS

- VIN از اتصال Arduino

- خارجی 5 ولت از کانکتور

منبع تغذیه خروجی برنامه های خارجی:

- 3.3 ولت یا 5 ولت

اتصالات Arduino Uno V3

مرحله 3: Arduino Due X STM NUCLEO-L476RG

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

در اینجا مقایسه ای با Arduino Due وجود دارد که ARM Cortex-M3 است. من از این مدل در فیلم ها استفاده کرده ام: Nema 23 Stepper Motor with Driver TB6600 with Arduino Due و SpeedTest: Arduinos - ESP32 / 8266s - STM32 ، با STM NUCLEO -L476RG ، که ARM Cortex -M4 Ultra Low Power است و در تصویر در سمت راست

آردوینو به دلیل:

میکروکنترلر: AT91SAM3X8E

ولتاژ کار: 3.3 ولت

ولتاژ ورودی (توصیه می شود): 7-12 ولت

ولتاژ ورودی (محدودیت): 6-16 ولت

پین های ورودی / خروجی دیجیتال: 54 (از این تعداد 12 عدد خروجی PWM را ارائه می دهد)

پین های ورودی آنالوگ: 12

پین خروجی آنالوگ: 2 (DAC)

مجموع جریان خروجی DC در تمام خطوط ورودی / خروجی: 130 میلی آمپر

جریان DC برای پین 3.3V: 800 میلی آمپر

جریان DC برای پین 5 ولت: 800 میلی آمپر

حافظه فلش: 512 کیلوبایت همه برای برنامه های کاربردی کاربر در دسترس است

SRAM: 96 کیلوبایت (دو بانک: 64 کیلوبایت و 32 کیلوبایت)

سرعت ساعت: 84 مگاهرتز

طول: 101.52 میلی متر

عرض: 53.3 میلی متر

وزن: 36 گرم

STM NUCLEO-L476RG:

STM32L476RGT6 در بسته LQFP64

پردازنده ARM®32-bit Cortex®-M4

شتاب دهنده سازگار با زمان واقعی

(ART Accelerator ™) اجازه می دهد تا حالت صبر صفر از حافظه فلش اجرا شود

حداکثر فرکانس پردازنده 80 مگاهرتز

VDD از 1.71 V تا 3.6 V

فلش 1 مگابایت

SRAM 128 کیلوبایت

SPI (3)

I2C (3)

USART (3)

UART (2)

LPUART (1)

GPIO (51) با قابلیت قطع خارجی

سنجش خازنی با 12 کانال

ADC 12 بیتی (3) با 16 کانال

DAC 12 بیتی با 2 کانال

FPU یا واحد نقطه شناور

* در اینجا این FPU متفاوت STM NUCLEO-L476RG را مشخص می کنم ، به این معنی که تراشه محاسبات مثلثاتی را با سرعت شگفت انگیز انجام می دهد. این برخلاف Arduino Due است که برای انجام این کار به پردازنده ژنتیکی نیاز دارد.

مرحله 4: Dhrystone

Dhrystone
Dhrystone
Dhrystone
Dhrystone

Dhrystone یک برنامه معیار رایانه ای مصنوعی است که در سال 1984 توسط Reinhold P. Weicker توسعه داده شد ، و قصد دارد نماینده برنامه نویسی سیستم (صحیح) باشد. Dhrystone نماینده عملکرد کلی پردازنده (CPU) شد. نام "Dhrystone" یک جمله در الگوریتم معیار متفاوتی به نام Whetstone است. این اقدامی است که از برخی از عملیات عمومی گرفته شده است.

این برنامه برای جمع آوری چیزی در داخل این میکروکنترلرها در آردوینو است. و نتیجه دو آزمایش که انجام دادم ، یکی با Dhrystone و دیگری از ویدیوی SpeedTest ، به شرح زیر است:

هزینه آردوینو: 37.00 دلار آمریکا

معیار Dhrystone ، نسخه 2.1 (زبان: C)

اجرا شروع می شود ، 300،000 از طریق Dhrystone اجرا می شود

اعدام به پایان می رسد

میکروثانیه برای یک بار اجرا از طریق Dhrystone: 10.70

Dhrystones در ثانیه: 93 ، 431.43

امتیاز VAX MIPS = 53.18 DMIPS

تست در حال اجرا فرناندوک

زمان کل: 2 ، 458 ثانیه

  • FPU ندارد
  • نرم افزار Dhrystone در آردوینو

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23 دلار آمریکا

معیار Dhrystone ، نسخه 2.1 (زبان: C)

اجرا شروع می شود ، 300،000 از طریق Dhrystone اجرا می شود

اعدام به پایان می رسد

میکروثانیه برای یک بار اجرا از طریق Dhrystone: 9.63

Dhrystones در ثانیه: 103 ، 794.59

امتیاز VAX MIPS = 59.07 DMIPS

تست در حال اجرا فرناندوک

زمان کل: 869 میلی ثانیه 2.8 برابر سریعتر

  • PI تا 40 مگابیت بر ثانیه ، USART 10 مگابیت بر ثانیه
  • 2 برابر DMA (14 کانال)
  • حداکثر 80 مگاهرتز / 100 DMIPS با ART Accelerator

مرحله 5: STM32L432KC X Arduino Nano

STM32L432KC X آردوینو نانو
STM32L432KC X آردوینو نانو

صفحه سمت چپ STM32L432KC است ، که در آن STMicroelectronics پینوت Arduino Nano یکسان را در تصویر سمت راست قرار داده است.

مرحله 6: STM32L432KC

STM32L432KC
STM32L432KC

Arm® Cortex®-M4 بسیار کم مصرف 32 بیتی

MCU + FPU ، 100DMIPS ، تا 256 کیلوبایت فلش ، 64 کیلوبایت SRAM ، USB FS ، آنالوگ ، صدا

تا 26 IO سریعتر ، تحمل بیشتری نسبت به 5V

  • RTC با تقویم HW ، زنگ هشدار و کالیبراسیون
  • حداکثر 3 کانال تشخیص خازنی
  • تایمر 11x: کنترل پیشرفته موتور 1x16-bit

1x 32 بیتی و 2 برابر 16 بیتی کاربرد عمومی ، 2 برابر 16 بیتی پایه ، 2 برابر تایمر 16 بیتی کم مصرف (در حالت توقف موجود است) ، 2 برابر نگهبان ، تایمر SysTick

حافظه:

- حداکثر 256 کیلوبایت فلش ، حفاظت اختصاصی از خواندن کد

- 64 کیلوبایت SRAM شامل 16 کیلوبایت با برابری سخت افزار

- رابط حافظه Quad SPI

لوازم جانبی غنی آنالوگ (عرضه مستقل)

- 1x 12 بیتی ADC 5 Msps ، تا 16 بیت با نمونه گیری سخت افزاری ، 200 μA / Msps

- 2 کانال خروجی DAC 12 بیتی ، مصرف برق کم

- تقویت کننده عملیاتی 1 برابر با PGA داخلی

- 2 برابر در مقایسه با رابط های قدرت بسیار کم

- 1x UPS (رابط صوتی سریال)

- 2 برابر I2C FM + (1 مگابیت بر ثانیه) ، SMBus / PMBus

- 3x USART (ISO 7816 ، LIN ، IrDA ، مودم)

- 1x LPUART (توقف 2 بیدار شدن)

- 2x SPI (و 1x SPI Quad)

- CAN (2.0B فعال)

- پروتکل تک سیم SWPMI I / F

- IRTIM (رابط مادون قرمز)

  • کنترلر DMA 14 کاناله
  • ژنراتور شماره تصادفی

مرحله 7: Core Arduino را برای کارت های STM32L4 نصب کنید

Core Arduino را برای کارتهای STM32L4 نصب کنید
Core Arduino را برای کارتهای STM32L4 نصب کنید
  1. برنامه ST-Link را که ضبط می کند نصب کنید
  2. آدرس جسون
  3. تابلوها: مدیر کارت
  4. کتابخانه ها: مدیر کتابخانه

مرحله 8: ST -Link - Program That Records را نصب کنید

ST -Link را نصب کنید - برنامه ای که ضبط می شود
ST -Link را نصب کنید - برنامه ای که ضبط می شود

فایل را در https://www.st.com/fa/development-tools/stsw-link0… بارگیری کنید. فقط دستگاه را ثبت ، بارگیری و نصب کنید.

مرحله 9: آدرس Json

آدرس Json
آدرس Json

در مورد ویژگی ها ، آدرس زیر را وارد کنید:

github.com/stm32duino/BoardManagerFiles/ra…

مرحله 10: هیئت مدیره: مدیر هیئت مدیره

هیئت ها: مدیر هیئت مدیره
هیئت ها: مدیر هیئت مدیره

در Arduino Board Manager ، STM32 Core را نصب کنید که حدود 40 مگابایت است.

مرحله 11: کتابخانه ها: مدیر کتابخانه

کتابخانه ها: مدیر کتابخانه
کتابخانه ها: مدیر کتابخانه

در نهایت ، کتابخانه ها را نصب کنید.

من شخصاً گروه STM32duino.com را دوست داشتم ، که چندین مثال دارد ، که برخی از آنها را نصب کردم. من همچنین یک FreeRTOS را بارگیری کردم ، که بسیار دوست داشتم. من آن را سریع و قابل اعتماد یافتم. من همچنین LRWAN را نصب کردم (اما هنوز آزمایش نکرده ام). به زودی خواهم گفت که خوب است یا نه.

مرحله 12: PDF را بارگیری کنید

PDF

توصیه شده: