การใช้ไมโครคอนโทรลเลอร์ที่ปรับขนาดได้เพื่อให้เกิดความยืดหยุ่นในการออกแบบ

By เคนตัน วิลลิสตัน

Contributed By DigiKey's North American Editors

เนื่องจากคุณสมบัติขั้นสูง เช่น ปัญญาประดิษฐ์ (AI) และอินเทอร์เฟซระหว่างมนุษย์และเครื่องจักร (HMI) ที่ซับซ้อนและมีกราฟิกเป็นเรื่องปกติมากขึ้นในการใช้งานต่าง ๆ นักออกแบบผลิตภัณฑ์จึงกำลังมองหาหน่วยไมโครคอนโทรลเลอร์ (MCU) ที่ทรงพลังยิ่งขึ้น อย่างไรก็ตาม นักออกแบบยังถูกมอบหมายให้สร้างผลิตภัณฑ์ที่เน้นต้นทุนโดยละทิ้งคุณสมบัติที่ฉูดฉาดเหล่านี้ แรงกดดันจากการแข่งขันเหล่านี้ทำให้จำเป็นต้องเลือก MCU ที่สามารถปรับขนาดให้ตรงตามความต้องการของตลาดที่แตกต่างกันได้

ความเร็วของนวัตกรรมที่เพิ่มขึ้นทำให้เกิดแรงกดดันนี้ โดยข้อกำหนดของการใช้งานต่าง ๆ อาจเปลี่ยนแปลงโดยไม่คาดคิด ดังนั้นจึงจำเป็นอย่างยิ่งที่จะต้องเข้าถึง MCU สำรองได้อย่างง่ายดาย ซึ่งจะต้องคำนึงถึงการนำไปใช้งานในอนาคตและนำกลับมาใช้ใหม่ด้วย สามารถประหยัดเวลาและต้นทุนได้อย่างมากเมื่อองค์ประกอบการออกแบบสามารถนำกลับมาใช้ใหม่สำหรับโครงการอื่นได้

วิธีหนึ่งในการจัดการกับความท้าทายเหล่านี้คือการเลือกกลุ่ม MCU ที่มีตัวเลือกมากมาย ซึ่ง STMicroelectronics STM32H7 เป็นตัวอย่างที่ดี มีตั้งแต่ MCU 32 บิตระดับเริ่มต้นที่ปรับให้คุ้มค่า ไปจนถึง MCU แบบดูอัลคอร์พร้อมชุดฟีเจอร์ที่หลากหลาย

บทความนี้เน้นหลักเกณฑ์ที่ต้องพิจารณาเมื่อเลือกตระกูล MCU โดยใช้คุณสมบัติของตระกูล STM32H7 เป็นตัวอย่าง นอกจากนี้ยังแนะนำบอร์ดพัฒนาและเครื่องมือสำหรับ MCU ตระกูล STM32H7 และอธิบายวิธีเริ่มต้นโครงการโดยใช้โครงสร้างพื้นฐานนี้

ปัจจัยที่ทำให้กลุ่ม MCU มีความยืดหยุ่นและปรับขนาดได้

ต้องพิจารณาปัจจัยหลายประการเมื่อค้นหาตระกูล MCU ที่ยืดหยุ่น การมีตัวเลือกสำหรับประสิทธิภาพและระดับพลังงานที่หลากหลายเป็นสิ่งสำคัญอย่างยิ่ง โดยกลุ่ม MCU ที่ต้องการควรมีตัวเลือกที่มีช่วงความเร็วสัญญาณนาฬิกาและแกนประมวลผลที่หลากหลายซึ่งปรับให้เหมาะกับเป้าหมายที่แตกต่างกัน ตัวอย่างเช่น Arm® Cortex®-M4 สำหรับพลังงานต่ำและ Arm Cortex-M7 สำหรับประสิทธิภาพสูง

กลุ่มผลิตภัณฑ์ควรมี MCU ที่มีความสามารถในการประมวลผลขั้นพื้นฐานและตัวเลือกความสามารถเพิ่มเติม การใช้งานจำนวนมากต้องการการปกป้องข้อมูลและการสื่อสารที่ปลอดภัย คุณสมบัติต่าง ๆ เช่น การเข้ารหัสด้วยฮาร์ดแวร์ การบูตอย่างปลอดภัย และเครื่องเร่งความเร็วการเข้ารหัส ถือเป็นสิ่งสำคัญสำหรับการใช้งานเหล่านี้ ในทำนองเดียวกัน ตัวประมวลผลสัญญาณดิจิทัล (DSP) และคำสั่งจุดลอยตัวมีความสำคัญอย่างยิ่งต่อการใช้งานที่มีข้อมูลจำนวนมาก

ตระกูล MCU ควรนำเสนอ RAM และหน่วยความจำแฟลชที่หลากหลายเพื่อรองรับทุกอย่างตั้งแต่การใช้งานทั่วไปไปจนถึงการใช้งานที่ต้องการเฟรมเวิร์กซอฟต์แวร์ที่กว้างขวางหรือการจัดเก็บข้อมูล โดย MCU ควรมีอินเทอร์เฟซหน่วยความจำภายนอกสำหรับการใช้งานที่เกินความสามารถของหน่วยความจำภายในเพื่อให้มีความสามารถในการปรับขนาดที่จำเป็น

สุดท้ายนี้ กลุ่มผลิตภัณฑ์ MCU ที่มีตัวเลือกอุปกรณ์ต่อพ่วงมากขึ้นสามารถรองรับการใช้งานที่หลากหลายมากขึ้น ซึ่งจำเป็นอย่างยิ่งที่จะต้องแน่ใจว่าตระกูล MCU มีตัวเลือกที่มี I/O ขั้นสูง เช่น USB, อีเทอร์เน็ต, บลูทูธ และ Wi-Fi เนื่องจากอินเทอร์เฟซเหล่านี้อาจเป็นเรื่องยากที่จะเพิ่มเป็นการอัปเกรดการออกแบบในภายหลัง ตามหลักการแล้ว ตระกูลที่เลือกจะเสนอความเข้ากันได้ของพินในกลุ่มผลิตภัณฑ์ต่างๆ เพื่อรองรับการอัปเกรดหรือดาวน์เกรดฮาร์ดแวร์โดยไม่ต้องออกแบบแผงวงจรพิมพ์ (บอร์ดพีซี) ใหม่

เครื่องมือการพัฒนาควรสนับสนุนตระกูล MCU ทั้งหมดจากมุมมองของซอฟต์แวร์ เพื่อเร่งการพัฒนา ควรมีซอฟต์แวร์ Application Programming Interface (API) ที่สอดคล้องกันและชุดไลบรารี มิดเดิลแวร์ และระบบปฏิบัติการแบบเรียลไทม์ (RTOS) ที่มีประสิทธิภาพ

STM32H7: กรณีศึกษาเกี่ยวกับความสามารถที่หลากหลาย

ซีรีส์ STM32H7 จาก STMicroelectronics เป็นตัวอย่างของกลุ่ม MCU ที่ตรงตามเกณฑ์เหล่านี้ ดังที่แสดงในตารางที่ 1 ซีรีส์นี้มีสามารถปรับขนาดได้สูง โดยมีผลิตภัณฑ์ที่สร้างขึ้นด้วย Arm Cortex-M7 ที่ครอบคลุม MCU ทั้งขั้นพื้นฐานและขั้นสูง ซีรีส์นี้มีทั้งหมดสี่กลุ่ม แต่ละกลุ่มได้รับการปรับให้เหมาะกับการใช้งานที่แตกต่างกัน

MCU Core และนาฬิกา Flash/RAM สูงสุด คุณสมบัติที่สำคัญ
Value Line 280 MHz ถึง 550 MHz
Arm Cortex-M7
ความจำแฟรช 128 Kbyte
ความจำแรม 1 Mbyte
ต้นทุนต่ำ, อีเทอร์เน็ต, QSPI, TFT
Single-Core Line 280 MHz ถึง 550 MHz
Arm Cortex-M7
ความจำแฟรช 2 Mbyte
ความจำแรม 1.4 Mbyte
TFT, อีเธอร์เน็ต, Q-SPI, พลังงานต่ำ
Dual-Core Line 480 MHz
Arm Cortex-M7 +
240 MHz
Arm Cortex-M4
ความจำแฟรช 2 Mbyte
ความจำแรม 1 Mbyte
แหล่งจ่ายไฟสลับโหมด (SMPS), TFT-LCD, MIPI-DSI, JPEG
BootFlash Line 600 MHz
Arm Cortex-M7
ความจำแฟลชภายนอก, RAM 620 Kbyte NeoChrom GPU, I3C, XiP, USB PHY

ตารางที่ 1: คุณสมบัติสำคัญของกลุ่มผลิตภัณฑ์ STM32H7 ทั้งสี่กลุ่ม (แหล่งที่มาของตาราง: ผู้แต่งโดยใช้แหล่งข้อมูลจาก STMicroelectronics)

Value Line มีความเร็วตั้งแต่ 280 ถึง 550 เมกะเฮิรตซ์ (MHz) และมีหน่วยความจำแฟลชแบบฝังขนาด 128 กิโลไบต์ (Kbytes) และ RAM ขนาด 1 เมกะไบต์ (Mbyte) รองรับอินเทอร์เฟซการสื่อสารที่หลากหลายและส่วนขยายหน่วยความจำภายนอก โดยให้โซลูชันที่คุ้มค่าสำหรับระบบที่มุ่งเน้นประสิทธิภาพ STM32H750VBT6 เป็นหนึ่งใน MCU ดังกล่าว และมาในแพ็คเกจ 100-LQFP ขนาด 14 x 14 มิลลิเมตร (มม.)

Single-Core Line ยังทำงานที่ความเร็วตั้งแต่ 280 ถึง 550 MHz มีหน่วยความจำแฟลชสูงสุด 2 Mbytes และ RAM สูงสุด 1.4 Mbytes เพื่อรองรับการใช้งานที่ต้องการอินเทอร์เฟซผู้ใช้ที่หลากหลายและการควบคุมแบบเรียลไทม์ ตัวอย่างหนึ่งก็คือ STM32H743IIK6 ซึ่งมาในแพ็คเกจ 201-UFBGA ขนาด 10 x 10 มม.

Dual-Core Line มีคอร์รอง Arm Cortex-M4 ที่ได้รับการปรับแต่งเพื่อประสิทธิภาพ แหล่งจ่ายไฟสลับโหมด (SMPS) แบบฝังช่วยเพิ่มประสิทธิภาพการใช้พลังงาน อุปกรณ์ต่อพ่วงขั้นสูงอื่นๆ ได้แก่ TFT-LCD, MIPI-DSI และตัวแปลงสัญญาณ JPEG ของฮาร์ดแวร์ ตัวอย่างทั่วไปคือ STM32H747AII6 ซึ่งมาในแพ็คเกจ 169-UFBGA ขนาด 7 x 7 มม.

BootFlash Line โดดเด่นด้วยประสิทธิภาพสูงด้วยความเร็วสูงสุดถึง 600 MHz ได้รับการออกแบบมาเพื่ออำนวยความสะดวกให้กับการ execute in place (XiP) แบบเรียลไทม์ และติดตั้งแฟลชสำหรับบูตขนาด 64 Kbytes ควบคู่ไปกับ RAM ขนาด 620 Kbytes นอกจากนี้ บางรุ่นในกลุ่มผลิตภัณฑ์นี้ยังมีตัวเลือก NeoChrom GPU เพื่อการเร่งความเร็วกราฟิกที่ดียิ่งขึ้น ตัวอย่างของกลุ่มผลิตภัณฑ์นี้ คือ STM32H7R3Z8J6 ที่มาในแพ็คเกจ 144-UFBGA ขนาด 10 x 10 มม.

ประโยชน์ของความเข้ากันได้กับตระกูล STM32F4 และ STM32F7

STM32H7 เป็นส่วนหนึ่งของกลุ่มผลิตภัณฑ์ MCU ของ STMicroelectronics ที่กว้างขวางยิ่งขึ้น และสามารถใช้งานร่วมกับพินได้กับกลุ่ม STM32F4 และ STM32F7 สำหรับแพ็คเกจทั่วไป โดย MCU เหล่านี้ทั้งหมดใช้คอร์ Arm Cortex-M และใช้อุปกรณ์ต่อพ่วงและโครงร่างพิน GPIO ที่คล้ายกัน ลักษณะที่เหมือนกันช่วยให้นักออกแบบสามารถโยกย้ายระหว่าง MCU ได้ง่ายขึ้น โดยไม่ต้องเปลี่ยนแปลงฮาร์ดแวร์ใหม่ ซึ่งความเข้ากันได้นี้สามารถลดเวลาและต้นทุนในการพัฒนาเมื่ออัปเกรดผลิตภัณฑ์หรือออกแบบผลิตภัณฑ์ใหม่ตามความสามารถที่แตกต่างกันของแต่ละตระกูล

นอกจากนี้ MCU ทั้งหมดยังได้รับการสนับสนุนจากระบบนิเวศการพัฒนาซอฟต์แวร์เดียวกัน ซึ่งรวมถึง STM32CubeMX สำหรับการกำหนดค่าและการสร้างโค้ดการเริ่มต้น และ STM32CubeIDE เพื่อการพัฒนาและแก้ไขข้อบกพร่อง ซึ่งความเข้ากันได้นี้ช่วยให้แน่ใจว่าส่วนประกอบซอฟต์แวร์ มิดเดิลแวร์ และโค้ดแอปพลิเคชันสามารถนำกลับมาใช้ซ้ำในโครงการที่มีเป้าหมายเป็นตระกูลใดตระกูลหนึ่งได้ ซึ่งจะช่วยเร่งวงจรการพัฒนาให้เร็วขึ้น

เริ่มต้นใช้งาน MCU ซีรีส์ STM32H7

การเริ่มต้นใช้งาน MCU STM32H7 มีขั้นตอนสำคัญไม่กี่ขั้นตอนและการใช้บอร์ดพัฒนาและเครื่องมืออย่างมีประสิทธิภาพ ซึ่งคำแนะนำทีละขั้นตอนต่อไปนี้จะแสดงวิธีเริ่มต้นการพัฒนาด้วยไมโครคอนโทรลเลอร์อันทรงพลังเหล่านี้

1. เลือกบอร์ดพัฒนา

ชุด Discovery มาพร้อมกับดีบักเกอร์/โปรแกรมเมอร์ในตัว และโดยปกติจะมีไฟ LED สำหรับผู้ใช้ออนบอร์ด คีย์ เซ็นเซอร์ และตัวเลือกการเชื่อมต่อ ซึ่งเหมาะสำหรับการสำรวจเบื้องต้น บอร์ดนิวคลีโอ เช่น NUCLEO-F767ZI (รูปที่ 1) เป็นความสมดุลที่ดีระหว่างความยืดหยุ่นและราคาย่อมเยา Arduino Uno รองรับการขยายได้ง่ายและมีอินเทอร์เฟซ STLINK สำหรับใช้กับดีบักเกอร์/โปรแกรมเมอร์

รูปภาพของบอร์ดพัฒนา NUCLEO-F767ZI ของ STMicroelectronicsรูปที่ 1: บอร์ดพัฒนา NUCLEO-F767ZI เป็นจุดเริ่มต้นที่เรียบง่ายแต่ยืดหยุ่นสำหรับการทดลอง (แหล่งที่มาภาพ: STMicroelectronics)

บอร์ดประเมินผลนำเสนอชุดอุปกรณ์ต่อพ่วงและตัวเลือกการเชื่อมต่อที่ครอบคลุมที่สุดสำหรับการสำรวจคุณสมบัติเต็มรูปแบบ ตัวอย่างเช่น ชุด Discovery เช่น STM32H745I-DISCO (รูปที่ 2) และ STM32H750B-DK ช่วยให้สามารถประเมินอินเทอร์เฟซต่างๆ ได้อย่างรวดเร็วพร้อมคุณสมบัติต่างๆ เช่น:

  • 4.3 นิ้ว อินเทอร์เฟซ RGB LCD พร้อมแผงสัมผัส
  • การปฏิบัติตามอีเทอร์เน็ตกับ IEEE-802.3-2002
  • Power over Ethernet (PoE)
  • USB OTG FS
  • ตัวแปลงสัญญาณเสียง SAI
  • ไมโครโฟนดิจิตอล ST-MEMS หนึ่งตัว
  • หน่วยความจำแฟลช NOR Quad-SPI ขนาด 2 × 512 Mbit
  • SDRAM 128 เมกะบิต
  • eMMC ออนบอร์ด 4 กิกะไบต์ (Gbytes)
  • 2 × CAN FD
  • เข้ากันได้กับ Arduino Shields
  • ดีบักเกอร์/โปรแกรมเมอร์ STLINK-V3E แบบออนบอร์ดพร้อมความสามารถในการแจงนับ USB ใหม่: ที่เก็บข้อมูลขนาดใหญ่ พอร์ต COM เสมือน และพอร์ตดีบัก

รูปภาพของบอร์ดประเมินผล STMicroelectronics STM32H745I-DISCOรูปที่ 2: บอร์ดประเมินผล STM32H745I-DISCO มีชุดทรัพยากรฮาร์ดแวร์ที่หลากหลาย (แหล่งที่มาภาพ: STMicroelectronics)

2. การตั้งค่าเครื่องมือซอฟต์แวร์

STMicroelectronics นำเสนอสภาพแวดล้อมการพัฒนาแบบรวม (IDE) สำหรับ MCU ของตน (รูปที่ 3) ประกอบด้วยคอมไพลเลอร์ ดีบักเกอร์ และตัวกำหนดค่าสำหรับการสร้างโค้ดเริ่มต้นและการตั้งค่าอุปกรณ์ต่อพ่วง

รูปภาพของ STMicroelectronics STM32H7 IDE รูปที่ 3: แสดงเป็นภาพหน้าจอของ STM32H7 IDE (แหล่งที่มาภาพ: STMicroelectronics)

3. เรียนรู้และทดลอง

ต่อไปขอแนะนำให้อ่านเอกสารประกอบ คู่มือผู้ใช้เป็นจุดเริ่มต้นที่ดีเยี่ยมสำหรับบอร์ดพัฒนาและคู่มืออ้างอิง STM32H7 ที่เกี่ยวข้อง โดยเอกสารเหล่านี้ให้ข้อมูลที่สำคัญเกี่ยวกับสถาปัตยกรรม MCU การกำหนดค่าอุปกรณ์ต่อพ่วง Pin-Mux และคุณลักษณะของฮาร์ดแวร์

การทดลองกับโครงการตัวอย่างเป็นวิธีที่มีประสิทธิภาพในการเรียนรู้เครื่องมือ STMicroelectronics นำเสนอโปรเจ็กต์ตัวอย่างมากมายสำหรับ MCU STM32 ต่างๆ ตัวอย่างเหล่านี้สามารถใช้เป็นจุดเริ่มต้นที่ดีในการทำความเข้าใจวิธีใช้คุณสมบัติต่างๆ ของ MCU

สุดท้ายนี้ ชุมชนนักพัฒนาก็สามารถให้การสนับสนุนเพิ่มเติมได้เช่นกัน การมีส่วนร่วมกับทรัพยากร เช่น ST Community, บทช่วยสอน และวิดีโอสามารถให้แนวทางแก้ไขปัญหาทั่วไปและเป็นแรงบันดาลใจสำหรับโครงการในอนาคต

4. การพัฒนาและการแก้ไขข้อบกพร่อง

IDE ให้ทุกสิ่งที่จำเป็นในการเริ่มเขียน คอมไพล์ และแก้ไขโค้ด ตัวกำหนดค่าภายใน IDE สามารถใช้ประโยชน์สำหรับการเริ่มต้นอุปกรณ์ต่อพ่วงและการตั้งค่ามิดเดิลแวร์ อินเทอร์เฟซดีบักเกอร์/โปรแกรมเมอร์ STLINK ของบอร์ดพัฒนาช่วยให้สามารถแก้ไขจุดบกพร่องแบบเรียลไทม์ สามารถระบุปัญหาได้โดยใช้เบรกพอยต์ การดูตัวแปร และการศึกษาโค้ด

5. การขยายโครงการ

บอร์ดขยายสามารถเพิ่มฟังก์ชันการทำงาน เช่น การเชื่อมต่อหรือเซ็นเซอร์ ให้กับบอร์ด Discovery และ Nucleo เมื่อสร้างฟังก์ชันที่ต้องการผ่านบอร์ดพัฒนาแล้ว บอร์ดพีซีแบบกำหนดเองอาจได้รับการออกแบบโดยใช้แผนผังของบอร์ดพัฒนาเป็นข้อมูลอ้างอิง ตัวอย่างหนึ่งของบอร์ดแบบกำหนดเองคือ แพลตฟอร์มกล้อง OpenMV4 CAM H7 (รูปที่ 4) จาก Seeed Technology Co., Ltd ที่ใช้ STM32H743 แบบซิงเกิลคอร์

ภาพของเทคโนโลยี Seeed OpenMV4 CAM H7 มีไว้สำหรับระบบการมองเห็นรูปที่ 4: OpenMV4 CAM H7 มีไว้สำหรับระบบวิชันซิสเต็ม (แหล่งรูปภาพ: Seeed Technology Co. Ltd.)

อีกตัวอย่างหนึ่งคือ ABX00051 Nicla Vision (รูปที่ 5) จาก Arduino ซึ่งใช้ STM32H747 แบบดูอัลคอร์

รูปภาพของ Arduino ABX00051 Nicla Visionรูปที่ 5: ABX00051 Nicla Vision ช่วยให้นักพัฒนาประเมินเซ็นเซอร์ภาพต่างๆ (แหล่งที่มาภาพ: Arduino)

สรุป

การเลือก MCU ในการออกแบบผลิตภัณฑ์ถือเป็นสิ่งสำคัญ เมื่อพิจารณาจากความต้องการที่เพิ่มขึ้นในคุณสมบัติขั้นสูงและการเพิ่มประสิทธิภาพด้านต้นทุน โดยผลิตภัณฑ์ซีรีส์ STM32H7 จาก STMicroelectronics เป็นตัวอย่างที่ชัดเจนว่าสำหรับวิธีการเลือกตระกูล MCU ที่เหมาะสมสามารถมอบโซลูชันที่ปรับขนาดได้และยืดหยุ่นซึ่งตอบสนองความต้องการในปัจจุบันและอนาคต

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

About this author

Image of Kenton Williston

เคนตัน วิลลิสตัน

เคนตัน วิลลิสตัน สำเร็จการศึกษาระดับปริญญาตรีสาขาวิศวกรรมไฟฟ้าในปี 2000 และเริ่มอาชีพของเขาในฐานะนักวิเคราะห์เกณฑ์มาตรฐานโปรเซสเซอร์ ตั้งแต่นั้นมา เขาทำงานเป็นบรรณาธิการของกลุ่ม EE Times และช่วยเปิดตัวและเป็นผู้นำสิ่งพิมพ์และการประชุมหลายรายการที่เกี่ยวข้องกับอุตสาหกรรมอิเล็กทรอนิกส์

About this publisher

DigiKey's North American Editors