สารบัญ:

ทางเลือกแทน STM32F103C8T6 โดย GigaDevice: 5 ขั้นตอน
ทางเลือกแทน STM32F103C8T6 โดย GigaDevice: 5 ขั้นตอน

วีดีโอ: ทางเลือกแทน STM32F103C8T6 โดย GigaDevice: 5 ขั้นตอน

วีดีโอ: ทางเลือกแทน STM32F103C8T6 โดย GigaDevice: 5 ขั้นตอน
วีดีโอ: STM32F103 #5 สอนใช้งาน PWM [STM32CubeMX+Keil uVision] 2024, พฤศจิกายน
Anonim
ทางเลือกแทน STM32F103C8T6 โดย GigaDevice
ทางเลือกแทน STM32F103C8T6 โดย GigaDevice

ขอแนะนำ GD32F103C8T6 โดย GigaDevice เป็นทางเลือกที่ถูกกว่าและเร็วกว่าสำหรับ STM32F103C8T6

เสบียง

GigaDevice GD32F103C8T6

ขั้นตอนที่ 1: STM32F103C8T6 คืออะไร

STM32F103C8T6 คืออะไร?
STM32F103C8T6 คืออะไร?

STM32F103C8T6 เป็นไมโครคอนโทรลเลอร์ที่สามารถใช้แทนบอร์ด Arduino ได้ Arduino น่าจะเป็นบอร์ดแรกสำหรับมือสมัครเล่นหลายคน (รวมถึงฉันด้วย) และวิศวกรเมื่อเริ่มใช้งานอุปกรณ์อิเล็กทรอนิกส์

อย่างไรก็ตาม เมื่อเราเริ่มสร้างและเจาะลึกมากขึ้น เราจะรู้ว่า Arduino ไม่พร้อมสำหรับอุตสาหกรรม และ CPU 8 บิตที่มีนาฬิกาที่ช้าอย่างน่าขัน ไม่ได้ให้พลังงานเพียงพอสำหรับโครงการของคุณ หวังว่าเราจะมี STM32F103C8T6 STM32 Development Boards (Blue Pill) ใหม่ในตลาด ซึ่งมีประสิทธิภาพเหนือกว่า Arduino ด้วย CPU 32 บิตและสถาปัตยกรรม ARM Cortex M3 หม้อน้ำผึ้งอีกอันที่นี่คือ เราสามารถใช้ Arduino IDE ตัวเก่าเพื่อตั้งโปรแกรมบอร์ด STM32 ของเราได้ ดังนั้นในบทช่วยสอนนี้ ให้เราเริ่มต้นใช้งาน STM32 เพื่อเรียนรู้พื้นฐานเกี่ยวกับบอร์ดนี้เล็กน้อย และกะพริบ LED บนบอร์ดโดยใช้ Arduino IDE

โครงการนี้ได้รับการสนับสนุนโดย LCSC ฉันใช้ชิ้นส่วนอิเล็กทรอนิกส์จาก LCSC.com LCSC มีความมุ่งมั่นอย่างแรงกล้าที่จะนำเสนอชิ้นส่วนอิเล็กทรอนิกส์ของแท้คุณภาพสูงที่มีให้เลือกมากมายในราคาที่ดีที่สุดพร้อมเครือข่ายการจัดส่งทั่วโลกไปยังกว่า 200 ประเทศ ลงทะเบียนวันนี้และรับส่วนลด $8 สำหรับการสั่งซื้อครั้งแรกของคุณ

ไมโครคอนโทรลเลอร์เหล่านี้ผลิตโดย STMicroelectronics ซึ่งเป็นบริษัทเซมิคอนดักเตอร์อิสระระดับโลก บอร์ดที่มี STM32F103C8T6 เนื่องจากสมองมีชื่อเล่นว่า Blue Pill

ขั้นตอนที่ 2: ข้อมูลจำเพาะของ STM32F103C8T6 Blue Pill Board

  • แกนหลัก: Cortex-M3 32-bit
  • ความถี่ในการทำงาน: 72MHz
  • ทรัพยากรการจัดเก็บ: 64K Byte Flash, 20KByte SRAM
  • ทรัพยากรอินเทอร์เฟซ: 2x SPI, 3x USART, 2x I2C, 1x CAN, 37x พอร์ต I / O
  • การแปลงอนาล็อกเป็นดิจิตอล: ADC (12 บิต / 16 ช่อง)PWM: 16 บิต/15 ช่อง
  • อุปกรณ์ USB: 1 ตัวจับเวลา: ตัวจับเวลาทั่วไป 3 ตัวและตัวจับเวลาขั้นสูง 1 ตัว
  • ดาวน์โหลดดีบัก: รองรับอินเทอร์เฟซการดีบัก JTAG / SWD เพื่อดาวน์โหลด รองรับ IAP

ขั้นตอนที่ 3: ตอนนี้ GD32F103C8T6 ของ GigaDevice?

ตอนนี้ GD32F103C8T6 ของ GigaDevice?
ตอนนี้ GD32F103C8T6 ของ GigaDevice?
ตอนนี้ GD32F103C8T6 ของ GigaDevice?
ตอนนี้ GD32F103C8T6 ของ GigaDevice?

GigaDevice ผู้ให้บริการชั้นนำด้านอุปกรณ์หน่วยความจำแบบไม่ลบเลือน (NVM) เป็นบริษัทที่เกี่ยวข้องกับหน่วยความจำขั้นสูงและการออกแบบชิปที่เกี่ยวข้องในจีนแผ่นดินใหญ่ซึ่งก่อตั้งขึ้นในปี 2548

GigaDevice สร้างแฝดของ STM ซึ่งมีความเร็วที่เร็วขึ้นเนื่องจากนาฬิกาที่เร็วขึ้น 108 MHz เมื่อเทียบกับ 72 MHz ของ STM

เช่นเดียวกับ STM สิ่งเหล่านี้ใช้คอร์ ARM CortexTM-M3 RISC ที่มีอัตราส่วนที่ดีที่สุดในด้านกำลังประมวลผล การใช้พลังงานที่ลดลง และชุดอุปกรณ์ต่อพ่วง CortexTM-M3 เป็นคอร์โปรเซสเซอร์เจเนอเรชันถัดไปซึ่งเชื่อมต่ออย่างแน่นหนากับ Nested Vectored Interrupt Controller (NVIC) ตัวจับเวลา SysTick และการสนับสนุนการดีบักขั้นสูง

ขั้นตอนที่ 4: ข้อมูลจำเพาะของ GD32F103C8T6

  • บรรจุภัณฑ์: TQFP-48_7x7x05P
  • ขนาดแกนหลัก: 32 บิต
  • โปรแกรมประเภทหน่วยความจำ: FLASH
  • โปรเซสเซอร์หลัก: ARM® Cortex®-M3
  • ความถี่ในการใช้งาน: 108MHz
  • แรงดันไฟ - การจ่าย (Vcc/Vdd): 2.6V ~ 3.6V
  • ขนาดหน่วยความจำโปรแกรม: 64KB
  • ขนาด RAM: 20KB
  • จำนวน I/O: 37
  • A/D: 10x12bit
  • D/A: 0
  • PWM: 2
  • UART/USART: 3
  • SPI: 2
  • I2C/SMBUS: 2
  • อุปกรณ์ USB: 1
  • โฮสต์ USB/OTG: 1
  • สามารถ: 1

ขั้นตอนที่ 5: การเปรียบเทียบระหว่างสองอุปกรณ์

การเปรียบเทียบระหว่างสองอุปกรณ์
การเปรียบเทียบระหว่างสองอุปกรณ์

ข้อมูลจำเพาะและรายละเอียดเกือบทั้งหมดของไมโครคอนโทรลเลอร์ทั้งสองนั้นเหมือนกันโดยมีขนาดแฟลช, RAM, คอร์โปรเซสเซอร์ และพินเอาต์เหมือนกัน

ความแตกต่างที่สำคัญที่สุดคือ GD32F103C8T6 มีความถี่ในการทำงานมากกว่า 108 MHz เมื่อเทียบกับ 72 MHz ของ STM32F103C8T6 ดังนั้น หากคุณกำลังมองหาความเร็วที่เร็วขึ้นสำหรับการประมวลผลโค้ดขนาดยาวและคำสั่งที่มีการคำนวณบิตขนาดใหญ่ GigaDevice มีทางเลือกที่เหมาะสม แม้ว่าคุณอาจต้องทำการเปลี่ยนแปลงบางอย่างเมื่อคุณเริ่มเขียนโปรแกรมบอร์ด GigaDevice เพื่อสร้างฟังก์ชัน delay() และฟังก์ชันอื่นๆ ที่เกี่ยวข้องกับตัวจับเวลา ฟังก์ชัน delay() เป็นลูปแบบ hard-coded ของ nops ซึ่งถือว่า 72Mhz ดังนั้นจึงจำเป็นต้องเปลี่ยนเช่นกัน

คุณสามารถดำเนินการเปลี่ยนแปลงเหล่านี้ได้ใน stm32.h:File Path: \IDE\hardware\Arduino_STM32\STM32F1\system\libmaple\stm32f1\include\series

# ถ้า STM32_F1_LINE == STM32_F1_LINE_PERFORMANCE

# ifndef STM32_PCLK1 # กำหนด STM32_PCLK1 54000000U //

แนะนำ: