תוכן עניינים:

ה- 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) פירושה Low (או, בעצם, Ultra Low Power). לפיכך, הוא מוציא מעט אנרגיה ומראה מדוע STM32 זה מדהים! הוא מבלה מיקרו -אמפר ויש לו מערכת בפנים שיכולה לזהות את עלות כל חלק שבב. זה מאפשר ניהול יעיל מאוד של אנרגיה, ועם ביצועים גבוהים.

כבר דיברתי על המיקרו -בקר הזה בסרטון, "הדרך הקלה ביותר לתכנת מיקרו -בקר!" בסרטון הראיתי כיצד לתכנת את STM32 L4 עם MBED. אך תוך כדי מחקר בנושא, גיליתי משהו שהיצרן STMicroelectronics אינו חושף. היא יישמה את Core Arduino בשבב, המאפשר תכנות באמצעות Arduino IDE.

בתמונה זו, יש לנו שתי גרסאות של L4. STM32L432KC זהה ל- Arduino Nano ו- STM32L476RG, שיש להם IOs מקבילים ל- Arduino Uno. אז, תוך כדי עבודה עם שתי גרסאות של המיקרו -בקר החזק הזה, אראה לך כיצד להתקין את Core Arduino במשפחת STM32. כמו כן, אסביר את המאפיינים העיקריים של ערכות STM32.

שלב 1: צלחות עם ליבה ארדואינו

שמתי כאן רשימה על המגוון. עם זאת, אנו הולכים לעבוד עם 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 מגה -בייט של זיכרון פלאש ו -340 קילו -בייט זיכרון RAM בחבילה מסוג BGA216

  • מובנה ST-LINK / V2-1 התומך ביכולות ספירה מחדש של USB
  • מופעל באמצעות Mbed (mbed.org)
  • פונקציות USB: יציאת COM וירטואלית, אחסון המוני ויציאת ניפוי באגים
  • 4.3 אינץ '480x272 צבעוני LCD-TFT עם מסך מגע קיבולי
  • מחבר מצלמה
  • רכיב רכיב שמע של SAI
  • שקע קו כניסה ויציאה
  • יציאות רמקולים סטריאו
  • שני מיקרופוני ST MEMS
  • מחבר קלט RCA SPDIF
  • שני לחצנים (משתמש ואיפוס)
  • זיכרון פלאש מסוג 128 Mbit Quad-SPI
  • 128 Mbit SDRAM (64 Mbits נגיש)
  • מחבר לכרטיס microSD
  • מחבר לוח בת RF-EEPROM
  • USB OTG HS עם מחברי Micro-AB
  • USB OTG FS עם מחברי Micro-AB
  • מחבר Ethernet תואם ל- IEEE-802.3-2002
  • חמש אפשרויות אספקת חשמל:

- ST LINK / V2-1

- מחבר FS FS

- מחבר USB HS

- VIN ממחבר Arduino

- חיצוני 5 V מהמחבר

פלט אספקת חשמל ליישומים חיצוניים:

- 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 עם נהג TB6600 עם Arduino Due, ו- SpeedTest: Arduinos - ESP32 / 8266s - STM32, עם STM NUCLEO -L476RG, שהוא ARM Cortex -M4 Ultra Low Power, והוא נמצא ב- התמונה בצד ימין.

Arduino Due:

מיקרו -בקר: AT91SAM3X8E

מתח הפעלה: 3.3V

מתח כניסה (מומלץ): 7-12V

מתח כניסה (גבולות): 6-16V

סיכות קלט / פלט דיגיטליות: 54 (מתוכן 12 מספקות פלט PWM)

סיכות קלט אנלוגיות: 12

סיכות פלט אנלוגיות: 2 (DAC)

סה כ פלט DC בכל קווי הקלט / פלט: 130 mA

זרם DC עבור פין 3.3V: 800 mA

זרם DC לפין 5V: 800 mA

זיכרון פלאש: 512 KB הכל זמין עבור יישומי המשתמש

SRAM: 96 KB (שני בנקים: 64KB ו- 32KB)

מהירות השעון: 84 מגה -הרץ

אורך: 101.52 מ מ

רוחב: 53.3 מ מ

משקל: 36 גרם

STM NUCLEO-L476RG:

STM32L476RGT6 באריזה LQFP64

מעבד מעבד Cortex®-M4 ARM® 32 סיביות

מאיץ בזמן אמת

(ART Accelerator ™) המאפשר ביצוע מצב של 0 המתנה מזיכרון Flash

תדר מעבד מרבי של 80 מגהרץ

VDD מ 1.71 V עד 3.6 V

1 מגה פלאש

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. זהו מדד שנלקח מכמה פעולות גנריות.

תוכנית זו כאן כדי לאסוף משהו בתוך המיקרו -בקרים האלה בארדואינו. והתוצאה של שתי בדיקות שעשיתי, אחת עם Dhrystone ואחת מהסרטון SpeedTest, הן כדלקמן:

Arduino Due: 37.00 דולר ארה ב

Dhrystone Benchmark, גרסה 2.1 (שפה: C)

ההוצאה להורג מתחילה, 300 אלף ריצות דרך Dhrystone

ההוצאה להורג מסתיימת

מיקרו שניות לריצה אחת דרך Dhrystone: 10.70

Dhrystones לשנייה: 93, 431.43

דירוג VAX MIPS = 53.18 DMIPS

מבחן ריצה פרננדוק

זמן כולל: 2, 458 אלפיות השנייה

  • אין FPU
  • תוכנת Dhrystone ב- Arduino

www.saanlima.com/download/dhry21a.zip

STM NUCLEO-L476RG: 23.00 דולר ארה ב

Dhrystone Benchmark, גרסה 2.1 (שפה: C)

ההוצאה להורג מתחילה, 300 אלף ריצות דרך Dhrystone

ההוצאה לפועל מסתיימת

מיקרו שניות לריצה אחת דרך Dhrystone: 9.63

Dhrystones לשנייה: 103, 794.59

דירוג VAX MIPS = 59.07 DMIPS

מבחן ריצה פרננדוק

זמן כולל: 869 ms 2.8x מהיר יותר

  • PI עד 40Mbit / s, USART 10Mbit / s
  • 2x DMA (14 ערוצים)
  • עד 80 מגהרץ / 100 DMIPS עם מאיץ ART

שלב 5: STM32L432KC X Arduino Nano

STM32L432KC X Arduino Nano
STM32L432KC X Arduino Nano

הלוח השמאלי הוא STM32L432KC, שבו STMicroelectronics הציב את ה- pinout הזהה של Arduino Nano בתמונה מימין.

שלב 6: STM32L432KC

STM32L432KC
STM32L432KC

כוח נמוך במיוחד Arm® Cortex®-M4 32 סיביות

MCU + FPU, 100DMIPS, עד 256KB פלאש, 64KB SRAM, USB FS, אנלוגי, אודיו

עד 26 IO מהיר יותר, סובלני יותר ל- 5V

  • RTC עם לוח שנה HW, אזעקות וכיול
  • עד 3 ערוצי איתור קיבולי
  • 11x טיימרים: בקרת מנוע מתקדמת 1x16 סיביות

1x 32-bit ו- 2x 16-bit למטרות כלליות, 2x 16-bit בסיסי, 2x טיימרים 16-bit בעלי הספק נמוך (זמין במצב עצירה), 2x כלבי שמירה, טיימר SysTick

זיכרון:

- עד 256 KB פלאש, הגנה על קניית קוד קניינית

- 64 KB SRAM כולל 16 KB עם בדיקת שוויון חומרה

- ממשק זיכרון Quad SPI

ציוד היקפי אנלוגי עשיר (אספקה עצמאית)

- 1x 12-bit ADC 5 Msps, עד 16 סיביות עם דגימת יתר של חומרה, 200 μA / Msps

- 2 ערוצים של פלט DAC של 12 סיביות, צריכת חשמל נמוכה

- מגבר תפעולי 1x עם PGA מובנה

- 2x בהשוואה לממשקי הספק נמוכים במיוחד

- UPS אחת (ממשק שמע טורי)

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

- 3x USARTs (ISO 7816, LIN, IrDA, מודם)

- 1x LPUART (עצור 2 להתעורר)

- 2x SPI (ו- 1x SPI Quad)

- יכול (2.0B פעיל)

- מאסטר פרוטוקול חוט יחיד SWPMI I / F

- IRTIM (ממשק אינפרא אדום)

  • בקר DMA בעל 14 ערוצים
  • מחולל מספר אקראי

שלב 7: התקן את Core Arduino עבור כרטיסי STM32L4

התקן את Core Arduino עבור כרטיסי STM32L4
התקן את Core Arduino עבור כרטיסי STM32L4
  1. התקן את תוכנית ST-Link המתעדת
  2. כתובת Json
  3. לוחות: מנהל כרטיסים
  4. ספריות: מנהל ספריות

שלב 8: התקן את ST -Link - תוכנית המתעדת

התקן ST -Link - תוכנית שמקליטה
התקן ST -Link - תוכנית שמקליטה

הורד את הקובץ בכתובת https://www.st.com/en/development-tools/stsw-link0…. פשוט רשום, הורד והתקן את המכשיר.

שלב 9: כתובת Json

כתובת Json
כתובת Json

בנכסים, כלול את הכתובת הבאה:

github.com/stm32duino/BoardManagerFiles/ra…

שלב 10: לוחות: מנהל דירקטוריון

לוחות: מנהל דירקטוריון
לוחות: מנהל דירקטוריון

במנהל הלוח של Arduino, התקן את Core STM32, שהוא בערך 40MB.

שלב 11: ספריות: מנהל ספריות

ספריות: מנהל ספריות
ספריות: מנהל ספריות

לבסוף, התקן את הספריות.

אני אישית אהבתי את הקבוצה STM32duino.com, שיש לה כמה דוגמאות, שאת חלקן התקנתי. הורדתי גם FreeRTOS, שאהבתי מאוד. מצאתי את זה מהיר ואמין. התקנתי גם (אך עדיין לא בדקתי) LRWAN. בקרוב אגיד לך אם זה טוב או לא.

שלב 12: הורדת PDF

PDF

מוּמלָץ: