การใช้ไมโครคอนโทรลเลอร์ที่ปรับขนาดได้เพื่อให้เกิดความยืดหยุ่นในการออกแบบ
Contributed By DigiKey's North American Editors
2024-05-15
เนื่องจากคุณสมบัติขั้นสูง เช่น ปัญญาประดิษฐ์ (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 ทั้งขั้นพื้นฐานและขั้นสูง ซีรีส์นี้มีทั้งหมดสี่กลุ่ม แต่ละกลุ่มได้รับการปรับให้เหมาะกับการใช้งานที่แตกต่างกัน
|
ตารางที่ 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 สำหรับใช้กับดีบักเกอร์/โปรแกรมเมอร์
รูปที่ 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 เสมือน และพอร์ตดีบัก
รูปที่ 2: บอร์ดประเมินผล STM32H745I-DISCO มีชุดทรัพยากรฮาร์ดแวร์ที่หลากหลาย (แหล่งที่มาภาพ: STMicroelectronics)
2. การตั้งค่าเครื่องมือซอฟต์แวร์
STMicroelectronics นำเสนอสภาพแวดล้อมการพัฒนาแบบรวม (IDE) สำหรับ MCU ของตน (รูปที่ 3) ประกอบด้วยคอมไพลเลอร์ ดีบักเกอร์ และตัวกำหนดค่าสำหรับการสร้างโค้ดเริ่มต้นและการตั้งค่าอุปกรณ์ต่อพ่วง
รูปที่ 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 แบบซิงเกิลคอร์
รูปที่ 4: OpenMV4 CAM H7 มีไว้สำหรับระบบวิชันซิสเต็ม (แหล่งรูปภาพ: Seeed Technology Co. Ltd.)
อีกตัวอย่างหนึ่งคือ ABX00051 Nicla Vision (รูปที่ 5) จาก Arduino ซึ่งใช้ STM32H747 แบบดูอัลคอร์
รูปที่ 5: ABX00051 Nicla Vision ช่วยให้นักพัฒนาประเมินเซ็นเซอร์ภาพต่างๆ (แหล่งที่มาภาพ: Arduino)
สรุป
การเลือก MCU ในการออกแบบผลิตภัณฑ์ถือเป็นสิ่งสำคัญ เมื่อพิจารณาจากความต้องการที่เพิ่มขึ้นในคุณสมบัติขั้นสูงและการเพิ่มประสิทธิภาพด้านต้นทุน โดยผลิตภัณฑ์ซีรีส์ STM32H7 จาก STMicroelectronics เป็นตัวอย่างที่ชัดเจนว่าสำหรับวิธีการเลือกตระกูล MCU ที่เหมาะสมสามารถมอบโซลูชันที่ปรับขนาดได้และยืดหยุ่นซึ่งตอบสนองความต้องการในปัจจุบันและอนาคต

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.