สารบัญ:
- ขั้นตอนที่ 1: เพลทด้วย Core Arduino
- ขั้นตอนที่ 2: STM32F746G DISCOVERY
- ขั้นตอนที่ 3: Arduino Due X STM NUCLEO-L476RG
- ขั้นตอนที่ 4: Dhrystone
- ขั้นตอนที่ 5: STM32L432KC X Arduino Nano
- ขั้นตอนที่ 6: STM32L432KC
- ขั้นตอนที่ 7: ติดตั้ง Core Arduino สำหรับการ์ด STM32L4
- ขั้นตอนที่ 8: ติดตั้ง ST-Link - โปรแกรมที่บันทึก
- ขั้นตอนที่ 9: ระบุ Json
- ขั้นตอนที่ 10: บอร์ด: ผู้จัดการบอร์ด
- ขั้นตอนที่ 11: ห้องสมุด: ตัวจัดการห้องสมุด
- ขั้นตอนที่ 12: ดาวน์โหลด PDF
วีดีโอ: เหลือเชื่อ STM32 L4!: 12 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ฉันต้องการเริ่มบทความนี้โดยอธิบายว่าตัวอักษร L (ของ L4) นี้หมายถึง Low (หรือโดยทั่วไปคือ Ultra Low Power) ดังนั้นมันจึงใช้พลังงานเพียงเล็กน้อยและแสดงให้เห็นว่าเหตุใด STM32 นี้จึงน่าทึ่ง! ใช้ไมโครแอมป์และมีระบบภายในที่สามารถระบุค่าใช้จ่ายของชิปแต่ละส่วนได้ ซึ่งช่วยให้จัดการพลังงานได้อย่างมีประสิทธิภาพและมีประสิทธิภาพสูง
ฉันได้พูดถึงไมโครคอนโทรลเลอร์ตัวนี้ในวิดีโอแล้ว "วิธีที่ง่ายที่สุดในการเขียนโปรแกรมไมโครคอนโทรลเลอร์!" ในวิดีโอ ฉันแสดงวิธีตั้งโปรแกรม STM32 L4 ด้วย MBED แต่ในขณะที่ค้นคว้าเพิ่มเติมเกี่ยวกับเรื่องนี้ ฉันค้นพบบางสิ่งที่ผู้ผลิต STMicroelectronics ไม่เปิดเผย ได้นำ Core Arduino มาใช้ในชิป ซึ่งช่วยให้สามารถเขียนโปรแกรมผ่าน Arduino IDE ได้
ในภาพนี้ เรามี L4 สองเวอร์ชัน STM32L432KC เหมือนกับ Arduino Nano และ STM32L476RG ซึ่งมี IO เทียบเท่ากับ Arduino Uno ดังนั้น ในขณะที่ทำงานกับไมโครคอนโทรลเลอร์อันทรงพลังสองเวอร์ชันนี้ ฉันจะแสดงวิธีติดตั้ง Arduino Core ในตระกูล STM32 ฉันจะอธิบายคุณสมบัติหลักของชุด STM32 ด้วย
ขั้นตอนที่ 1: เพลทด้วย Core Arduino
ฉันวางรายการเกี่ยวกับความหลากหลายไว้ที่นี่ อย่างไรก็ตาม เราจะทำงานร่วมกับ STM32L432KC และ STM32L476RG
STM32F0
- นิวคลีโอ F030R8
- นิวคลีโอ F091RC
- 32F0308ค้นพบ
STM32F1
- BluePill F103C8 (รองรับพื้นฐาน, ไม่มี USB)
- MapleMini F103CB (รองรับพื้นฐาน ไม่มี USB)
- นิวคลีโอ F103RB
- STM32VLDISCOVERY
STM32F2
นิวคลีโอ F207ZG
STM32F3
- นิวคลีโอ F302R8
- นิวคลีโอ F303K8
- นิวคลีโอ F303RE
STM32F4
- นิวคลีโอ F401RE
- นิวคลีโอ F411RE
- นิวคลีโอ F429ZI
- นิวคลีโอ F446RE
- STM32F407G-DISC1
STM32F7
STM32F746G-DISCOVERY
STM32L0
- นิวคลีโอ L031K6
- นิวคลีโอ L053R8
- B-L072Z-LRWAN1
STM32L1
นิวคลีโอ L152RE
STM32L4
- นิวคลีโอ L432KC
- นิวคลีโอ L476RG
- NUCLEO-L496ZG-P
- NUCLEO-L496ZG-P
- B-L475E-IOT01A
ขั้นตอนที่ 2: STM32F746G DISCOVERY
เพื่อให้เห็นภาพ ฉันแสดงรายละเอียดของ STM32F746G DISCOVERY ซึ่งฉันคิดว่าเป็นสัตว์เดรัจฉาน ฉันได้สั่งซื้อชิปนี้แล้ว และหวังว่าจะได้พูดคุยเรื่องนี้เร็วๆ นี้
ลักษณะเฉพาะ:
ไมโครคอนโทรลเลอร์ STM32F746NGH6 ที่มีหน่วยความจำแฟลช 1 Mbytes และ RAM 340 Kbytes ในแพ็คเกจ BGA216
- ออนบอร์ด ST-LINK / V2-1 รองรับความสามารถในการระบุ USB อีกครั้ง
- เปิดใช้งาน Mbed (mbed.org)
- ฟังก์ชัน USB: พอร์ต COM เสมือน ที่เก็บข้อมูลขนาดใหญ่ และพอร์ตดีบัก
- LCD-TFT สี 4.3 นิ้ว 480x272 พร้อมหน้าจอสัมผัสแบบ capacitive
- ขั้วต่อกล้อง
- ตัวแปลงสัญญาณเสียง SAI
- แจ็คสัญญาณเสียงเข้าและออก
- เอาต์พุตลำโพงสเตอริโอ
- ไมโครโฟน ST MEMS สองตัว
- ขั้วต่ออินพุต SPDIF RCA
- สองปุ่มกด (ผู้ใช้และรีเซ็ต)
- หน่วยความจำแฟลช Quad-SPI 128-Mbit
- SDRAM 128-Mbit (เข้าถึงได้ 64 Mbits)
- ช่องเสียบสำหรับการ์ด microSD
- ขั้วต่อบอร์ดลูกสาว RF-EEPROM
- USB OTG HS พร้อมขั้วต่อ Micro-AB
- USB OTG FS พร้อมขั้วต่อ Micro-AB
- ขั้วต่ออีเทอร์เน็ตที่สอดคล้องกับ IEEE-802.3-2002
- ห้าตัวเลือกแหล่งจ่ายไฟ:
- ลิงค์ ST / V2-1
- ขั้วต่อ USB FS
- ขั้วต่อ USB HS
- VIN จากขั้วต่อ Arduino
- ภายนอก 5 V จากขั้วต่อ
แอพพลิเคชั่นภายนอกของแหล่งจ่ายไฟ:
- 3.3 V หรือ 5 V
ขั้วต่อ Arduino Uno V3
ขั้นตอนที่ 3: Arduino Due X STM NUCLEO-L476RG
นี่คือการเปรียบเทียบกับ Arduino Due ซึ่งเป็น ARM Cortex-M3 ฉันได้ใช้โมเดลนี้ในวิดีโอ: Nema 23 Stepper Motor พร้อมไดรเวอร์ TB6600 พร้อม Arduino Due และ SpeedTest: Arduinos - ESP32 / 8266s - STM32 พร้อม STM NUCLEO-L476RG ซึ่งเป็น ARM Cortex-M4 Ultra Low Power และอยู่ใน ภาพทางด้านขวา
Arduino เนื่องจาก:
ไมโครคอนโทรลเลอร์: AT91SAM3X8E
แรงดันไฟฟ้าที่ใช้งาน: 3.3V
แรงดันไฟฟ้าขาเข้า (แนะนำ): 7-12V
แรงดันไฟฟ้าขาเข้า (ขีดจำกัด): 6-16V
Digital I / O Pins: 54 (ซึ่ง 12 ตัวมีเอาต์พุต PWM)
พินอินพุตแบบอะนาล็อก: 12
พินเอาต์พุตแบบอะนาล็อก: 2 (DAC)
กระแสไฟขาออก DC ทั้งหมดบนสาย I / O ทั้งหมด: 130 mA
กระแสไฟตรงสำหรับขา 3.3V: 800 mA
กระแสไฟตรงสำหรับขา 5V: 800 mA
หน่วยความจำแฟลช: 512 KB ทั้งหมดสำหรับแอปพลิเคชันผู้ใช้
SRAM: 96 KB (สองช่อง: 64KB และ 32KB)
ความเร็วสัญญาณนาฬิกา: 84 MHz
ความยาว: 101.52 mm
ความกว้าง: 53.3 มม.
น้ำหนัก: 36 กรัม
STM นิวคลีโอ-L476RG:
STM32L476RGT6 ในแพ็คเกจ LQFP64
ARM®32-บิตCortex®-M4 CPU
ตัวเร่งความเร็วแบบเรียลไทม์ที่ปรับเปลี่ยนได้
(ART Accelerator ™) อนุญาตให้เรียกใช้สถานะ 0 รอจากหน่วยความจำแฟลช
ความถี่ CPU สูงสุด 80 MHz
VDD จาก 1.71 V ถึง 3.6 V
แฟลช 1 MB
SRAM 128 KB
เอสพีไอ (3)
ไอทูซี (3)
ยูเอสอาร์ท (3)
ยูอาร์ท (2)
แอลพีอาร์ท (1)
GPIO (51) พร้อมความสามารถในการขัดจังหวะภายนอก
เซนเซอร์แบบ Capacitive พร้อมช่องสัญญาณ 12 ช่อง
ADC 12 บิต (3) พร้อม 16 ช่อง
DAC 12 บิตพร้อม 2 ช่องสัญญาณ
FPU หรือหน่วยจุดลอยตัว
* ฉันเน้นที่นี่ FPU แยกกันของ STM NUCLEO-L476RG ซึ่งหมายความว่าชิปทำการคำนวณตรีโกณมิติด้วยความเร็วที่น่าทึ่ง ซึ่งไม่เหมือนกับ Arduino Due ซึ่งต้องการตัวประมวลผลทางพันธุกรรมในการทำเช่นนั้น
ขั้นตอนที่ 4: Dhrystone
Dhrystone เป็นโปรแกรมเบนช์มาร์กคอมพิวเตอร์สังเคราะห์ที่พัฒนาขึ้นในปี 1984 โดย Reinhold P. Weicker ซึ่งมีจุดประสงค์เพื่อเป็นตัวแทนของการเขียนโปรแกรมระบบ (จำนวนเต็ม) Dhrystone กลายเป็นตัวแทนของประสิทธิภาพโปรเซสเซอร์โดยรวม (CPU) ชื่อ "Dhrystone" มาจากอัลกอริธึมมาตรฐานที่เรียกว่า Whetstone นี่เป็นมาตรการที่นำมาจากการดำเนินการทั่วไปบางอย่าง
โปรแกรมนี้มีไว้สำหรับรวบรวมบางสิ่งภายในไมโครคอนโทรลเลอร์เหล่านี้ใน Arduino และผลลัพธ์ของการทดสอบสองครั้งที่ฉันทำ ครั้งแรกกับ Dhrystone และอีกการทดสอบจากวิดีโอ SpeedTest มีดังนี้:
Arduino ครบกำหนด: US $ 37.00
เกณฑ์มาตรฐาน Dhrystone เวอร์ชัน 2.1 (ภาษา: C)
เริ่มดำเนินการ 300,000 วิ่งผ่าน Dhrystone
สิ้นสุดการดำเนินการ
ไมโครวินาทีสำหรับการวิ่งหนึ่งครั้งผ่าน Dhrystone: 10.70
หินแห้งต่อวินาที: 93, 431.43
คะแนน VAX MIPS = 53.18 DMIPS
วิ่งทดสอบ Fernandok
เวลาทั้งหมด: 2, 458 ms
- ไม่มี FPU
- ซอฟต์แวร์ Dhrystone บน Arduino
www.saanlima.com/download/dhry21a.zip
STM NUCLEO-L476RG: 23.00 เหรียญสหรัฐ
เกณฑ์มาตรฐาน Dhrystone เวอร์ชัน 2.1 (ภาษา: C)
เริ่มดำเนินการ 300,000 วิ่งผ่าน Dhrystone
สิ้นสุดการดำเนินการ
ไมโครวินาทีสำหรับการวิ่งหนึ่งครั้งผ่าน Dhrystone: 9.63
หินแห้งต่อวินาที: 103, 794.59
คะแนน VAX MIPS = 59.07 DMIPS
วิ่งทดสอบ Fernandok
เวลาทั้งหมด: 869 ms 2.8x FASTER
- PI สูงสุด 40Mbit / s, USART 10Mbit / s
- 2x DMA (14 ช่อง)
- สูงสุด 80 MHz / 100 DMIPS พร้อม ART Accelerator
ขั้นตอนที่ 5: STM32L432KC X Arduino Nano
บอร์ดด้านซ้ายคือ STM32L432KC ซึ่ง STMicroelectronics วางพินเอาต์ Arduino Nano ที่เหมือนกันไว้ในภาพทางด้านขวา
ขั้นตอนที่ 6: STM32L432KC
Arm® Cortex®-M4 32 บิตที่ใช้พลังงานต่ำเป็นพิเศษ
MCU + FPU, 100DMIPS, แฟลชสูงสุด 256KB, SRAM 64KB, USB FS, อะนาล็อก, เสียง
เร็วกว่าถึง 26 IOs ทนทานกว่าถึง 5V
- RTC พร้อมปฏิทิน HW การเตือน และการสอบเทียบ
- ช่องตรวจจับ capacitive สูงสุด 3 ช่อง
- ตัวจับเวลา 11x: การควบคุมเครื่องยนต์ขั้นสูง 1x16 บิต
วัตถุประสงค์ทั่วไป 1x 32 บิตและ 2x 16 บิต 2x พื้นฐาน 16 บิต 2x ตัวจับเวลา 16 บิตพลังงานต่ำ (มีให้ในโหมดหยุด) สุนัขเฝ้าบ้าน 2x ตัวจับเวลา SysTick
หน่วยความจำ:
- แฟลชสูงสุด 256 KB การป้องกันการอ่านรหัสที่เป็นกรรมสิทธิ์
- SRAM 64 KB รวมถึง 16 KB พร้อมการตรวจสอบความเท่าเทียมกันของฮาร์ดแวร์
- อินเทอร์เฟซหน่วยความจำ Quad SPI
อุปกรณ์ต่อพ่วงอนาล็อกที่หลากหลาย (อุปทานอิสระ)
- 1x ADC 5 Msps 12 บิต สูงสุด 16 บิตพร้อมการสุ่มตัวอย่างฮาร์ดแวร์เกิน 200 μA / Msps
- เอาต์พุต DAC 12 บิต 2 ช่อง ใช้พลังงานต่ำ
- แอมพลิฟายเออร์ปฏิบัติการ 1x พร้อม PGA. ในตัว
- 2x เมื่อเทียบกับอินเทอร์เฟซที่ใช้พลังงานต่ำมาก
- 1x UPS (อินเทอร์เฟซเสียงแบบอนุกรม)
- 2x I2C FM + (1 Mbit / s), SMBus / PMBus
- USART 3x (ISO 7816, LIN, IrDA, โมเด็ม)
- 1x LPUART (หยุด 2 ปลุก)
- 2x SPI (และ 1x SPI Quad)
- สามารถ (ใช้งาน 2.0B)
- โปรโตคอลสายเดี่ยวต้นแบบ SWPMI I / F
- IRTIM (อินเทอร์เฟซอินฟราเรด)
- คอนโทรลเลอร์ DMA 14 ช่อง
- เครื่องกำเนิดตัวเลขสุ่ม
ขั้นตอนที่ 7: ติดตั้ง Core Arduino สำหรับการ์ด STM32L4
- ติดตั้งโปรแกรม ST-Link ที่บันทึก
- Json ที่อยู่
- บอร์ด: ผู้จัดการการ์ด
- ห้องสมุด: ผู้จัดการห้องสมุด
ขั้นตอนที่ 8: ติดตั้ง ST-Link - โปรแกรมที่บันทึก
ดาวน์โหลดไฟล์ได้ที่ https://www.st.com/en/development-tools/stsw-link0…. เพียงลงทะเบียน ดาวน์โหลด และติดตั้งอุปกรณ์
ขั้นตอนที่ 9: ระบุ Json
เกี่ยวกับคุณสมบัติ รวมที่อยู่ต่อไปนี้:
github.com/stm32duino/BoardManagerFiles/ra…
ขั้นตอนที่ 10: บอร์ด: ผู้จัดการบอร์ด
ใน Arduino Board Manager ให้ติดตั้ง STM32 Core ซึ่งมีขนาดประมาณ 40MB
ขั้นตอนที่ 11: ห้องสมุด: ตัวจัดการห้องสมุด
สุดท้าย ติดตั้งไลบรารี
โดยส่วนตัวแล้วฉันชอบกลุ่ม STM32duino.com ซึ่งมีตัวอย่างหลายตัวอย่างซึ่งฉันติดตั้งไว้บางส่วน ฉันยังดาวน์โหลด FreeRTOS ซึ่งฉันชอบมาก ฉันพบว่ามันรวดเร็วและเชื่อถือได้ ฉันยังติดตั้ง (แต่ยังไม่ได้ทดสอบ) LRWAN เดี๋ยวจะมาเล่าให้ฟังว่าดีหรือไม่ดี
ขั้นตอนที่ 12: ดาวน์โหลด PDF
ไฟล์ PDF
แนะนำ:
Digital AC Dimmer อันทรงพลังโดยใช้ STM32: 15 ขั้นตอน (พร้อมรูปภาพ)
Digital AC Dimmer อันทรงพลังโดยใช้ STM32: โดย Hesam Moshiri, [email protected] โหลดสดกับเรา! เพราะมันมีอยู่ทุกหนทุกแห่งรอบตัวเราและอย่างน้อยเครื่องใช้ในบ้านก็มาพร้อมกับแหล่งจ่ายไฟหลัก อุปกรณ์อุตสาหกรรมหลายประเภทยังใช้ไฟฟ้ากระแสสลับแบบเฟสเดียว 220V-AC
STONE Display +STM32 +เครื่องชงกาแฟ: 6 ขั้นตอน
STONE Display +STM32 +เครื่องชงกาแฟ: ฉันเป็นวิศวกรซอฟต์แวร์ของ MCU เพิ่งได้รับโครงการเป็นเครื่องชงกาแฟ ความต้องการของครัวเรือนด้วยการทำงานของหน้าจอสัมผัส ฟังก์ชันดี อยู่เหนือการเลือกหน้าจออาจไม่ดีมาก โชคดีที่โครงการนี้ฉันสามารถ Dec
เริ่มพัฒนา STM32 บน Linux: 4 ขั้นตอน
เริ่มการพัฒนา STM32 บน Linux: ในคำแนะนำนี้ ฉันจะแสดงให้คุณเห็นว่าการเริ่มต้นพัฒนาโปรแกรม STM32 บน Linux นั้นง่ายเพียงใด ฉันเริ่มใช้ Linux เป็นเครื่องหลักเมื่อ 2 ปีที่แล้วและไม่เคยผิดหวัง ทุกอย่างทำงานได้เร็วกว่าและดีกว่า windows แน่นอนคือเล
STM32 "Blue Pill" การเขียนโปรแกรมผ่าน Arduino IDE & USB: 8 ขั้นตอน
การเขียนโปรแกรม STM32 "Blue Pill" ผ่าน Arduino IDE และ USB: การเปรียบเทียบบอร์ดต้นแบบทั่วไปของ STM32F (เช่น Blue Pill) กับส่วนอื่นของ Arduino นั้นง่ายต่อการดูว่ามีทรัพยากรมากขึ้นเพียงใด ซึ่งเปิดโอกาสใหม่ๆ มากมายสำหรับโครงการ IOT ข้อเสียคือขาดการสนับสนุน จริงๆแล้วไม่ใช่เลย
ส่วนที่ 1 ARM Assembly TI RSLK Robotics Learning Curriculum Lab 7 STM32 Nucleo: 16 ขั้นตอน
ส่วนที่ 1 ARM Assembly TI RSLK Robotics Learning Curriculum Lab 7 STM32 Nucleo: จุดเน้นของคำแนะนำนี้คือไมโครคอนโทรลเลอร์ STM32 Nucleo แรงจูงใจในการสร้างโครงการประกอบจากกระดูกเปล่า สิ่งนี้จะช่วยให้เราเจาะลึกและเข้าใจโครงการ MSP432 Launchpad (TI-RSLK) ที่มี