ใช้ไมโครคอนโทรลเลอร์ 8 บิตที่ได้รับการปรับปรุงเพื่อลดความซับซ้อนในการออกแบบอุปกรณ์ที่จำกัดทรัพยากร
Contributed By DigiKey's North American Editors
2024-04-09
สำหรับนักออกแบบอุปกรณ์ที่มีข้อจำกัดด้านพลังงานและพื้นที่จำกัด เช่น เครื่องมือไฟฟ้า ผลิตภัณฑ์สุขอนามัยส่วนบุคคล ของเล่น เครื่องใช้ไฟฟ้า และระบบควบคุมแสงสว่าง การใช้หน่วยไมโครคอนโทรลเลอร์ (MCU) ขนาด 8 บิตแต่เดิมก็เพียงพอแล้ว อย่างไรก็ตาม เมื่อการใช้งานพัฒนาขึ้น พวกเขาต้องการความเร็วที่สูงขึ้น ตัวเลือกอุปกรณ์ต่อพ่วงที่ทรงพลังยิ่งขึ้น และเครื่องมือการพัฒนาซอฟต์แวร์ที่แข็งแกร่งยิ่งขึ้น การย้ายไปใช้ทางเลือก 16 บิตหรือ 32 บิตสามารถช่วยได้ แต่มักจะต้องแลกมาด้วยขนาดแพ็คเกจที่ใหญ่ขึ้นและประสิทธิภาพที่มากขึ้น
เพื่อแก้ไขปัญหาเหล่านี้ นักออกแบบสามารถใช้ประโยชน์จาก MCU ที่ใช้สถาปัตยกรรม 8051 ซึ่งนำคุณประโยชน์มากมายของโปรเซสเซอร์ 16 บิตและ 32 บิตมาสู่โดเมน 8 บิต โดยทำในบรรจุภัณฑ์ที่มีขนาดเล็กเพียง 2 x 2 มิลลิเมตร (mm) ขณะเดียวกันก็มีสภาพแวดล้อมการพัฒนาที่ทันสมัย
บทความนี้จะอธิบายโดยย่อเกี่ยวกับสถาปัตยกรรม 8051 และความเหมาะสมสำหรับการใช้งานที่มีทรัพยากรจำกัด จากนั้นจะแนะนำผลิตภัณฑ์ตระกูล MCU ที่ใช้ 8051 จาก Silicon Labs อธิบายระบบย่อยที่สำคัญ และแสดงให้เห็นว่าแต่ละระบบจัดการกับความท้าทายในการออกแบบที่สำคัญอย่างไร บทความนี้สรุปโดยหารือเกี่ยวกับการสนับสนุนฮาร์ดแวร์และซอฟต์แวร์
เหตุใดจึงต้องใช้สถาปัตยกรรม 8051
เมื่อเลือก MCU สำหรับการใช้งานที่มีพื้นที่จำกัดสูง โปรเซสเซอร์ 8 บิต เช่น 8051 ที่มีชื่อเสียงมีข้อดีหลายประการ รวมถึงพื้นที่ขนาดเล็ก การใช้พลังงานต่ำ และการออกแบบที่เรียบง่าย อย่างไรก็ตาม โปรเซสเซอร์ 8051 จำนวนมากมีอุปกรณ์ต่อพ่วงที่ค่อนข้างเรียบง่าย ซึ่งจำกัดความเหมาะสมสำหรับกรณีการใช้งานเฉพาะ ตัวอย่างเช่น ตัวแปลงอนาล็อกเป็นดิจิตอล (ADC) ความละเอียดต่ำไม่เพียงพอสำหรับการใช้งานที่มีความแม่นยำสูง เช่น อุปกรณ์ทางการแพทย์
นาฬิกาที่ค่อนข้างช้าอาจเป็นปัญหาได้เช่นกัน MCU 8051 ทั่วไปทำงานที่ความถี่สัญญาณนาฬิกา 8 เมกะเฮิรตซ์ (MHz) ถึง 32 MHz และการออกแบบรุ่นเก่าต้องใช้รอบสัญญาณนาฬิกาหลายรอบในการประมวลผลคำสั่ง ความเร็วต่ำนี้สามารถจำกัดความสามารถของ MCU 8 บิตเพื่อรองรับการทำงานแบบเรียลไทม์ เช่น การควบคุมมอเตอร์ที่แม่นยำ
นอกจากนี้ สภาพแวดล้อมการพัฒนาซอฟต์แวร์แบบดั้งเดิมสำหรับโปรเซสเซอร์ 8051 ก็ไม่สอดคล้องกับความคาดหวังของนักพัฒนาซอฟต์แวร์สมัยใหม่ เมื่อรวมกับข้อจำกัดโดยธรรมชาติของสถาปัตยกรรม 8 บิต สิ่งนี้สามารถนำไปสู่กระบวนการเข้ารหัสที่ช้าและน่าหงุดหงิด
ข้อจำกัดของโปรเซสเซอร์ 8 บิตแบบเดิมอาจทำให้นักพัฒนาต้องพิจารณาเปลี่ยนไปใช้ MCU 16 บิตหรือ 32 บิต แม้ว่า MCU เหล่านี้จะมีพลังการประมวลผลที่เพียงพอ อุปกรณ์ต่อพ่วงประสิทธิภาพสูง และสภาพแวดล้อมซอฟต์แวร์ที่ทันสมัย แต่พวกเขาก็มีขนาดค่อนข้างใหญ่เช่นกัน สิ่งนี้ทำให้การบูรณาการเข้ากับการออกแบบที่มีพื้นที่จำกัดมีความท้าทายมากขึ้น ซึ่งอาจชะลอการพัฒนาหรือเพิ่มขนาดการออกแบบ
ขนาดโค้ดที่เพิ่มขึ้นและการใช้พลังงานที่เกี่ยวข้องกับ MCU 16 บิตและ 32 บิตยังอาจนำไปสู่การออกแบบที่ด้อยประสิทธิภาพอีกด้วย ข้อเสียเหล่านี้เป็นปัญหาอย่างยิ่งสำหรับแอปพลิเคชันจำนวนมากที่ไม่เกี่ยวข้องกับคณิตศาสตร์ที่ซับซ้อน จึงไม่ได้รับประโยชน์จากความสามารถขั้นสูงของโปรเซสเซอร์เหล่านี้
ความสมดุลในอุดมคติของการแลกเปลี่ยนเหล่านี้อาจไม่ปรากฏชัดตั้งแต่เริ่มต้นโครงการ และการสลับโปรเซสเซอร์ระหว่างการออกแบบอาจทำให้การพัฒนาล่าช้าหรือทำให้ขนาดหรือฟังก์ชันการทำงานของผลิตภัณฑ์ลดลง ดังนั้น การออกแบบที่มีพื้นที่จำกัดจำนวนมากจึงสามารถได้รับประโยชน์จาก MCU ที่ใช้ 8051 ที่มีความสามารถมากกว่า ซึ่งนำข้อดีหลายประการของโปรเซสเซอร์ 16 บิตและ 32 บิตมาสู่โดเมน 8 บิตที่ใช้พลังงานต่ำ ขนาดกะทัดรัด
EFM8BB50 นำฟังก์ชันการทำงานที่ดียิ่งขึ้นมาสู่ MCU 8 บิต
Silicon Labs ได้สร้างEFM8BB50 ตระกูล MCU 8 บิตโดยคำนึงถึงข้อควรพิจารณาเหล่านี้ (รูปที่ 1) MCU เหล่านี้นำเสนอประสิทธิภาพที่เพิ่มขึ้น อุปกรณ์ต่อพ่วงขั้นสูง และสภาพแวดล้อมการพัฒนาซอฟต์แวร์ที่ทันสมัย
รูปที่ 1: แสดงเป็นบล็อกไดอะแกรมของ EFM8BB50 MCU (แหล่งที่มาภาพ: Silicon Labs)
หัวใจของ MCU คือคอร์ CIP-51 8051 ซึ่งเป็นการนำสถาปัตยกรรม 8051 ของ Silicon Labs มาใช้ซึ่งได้รับการปรับให้เหมาะสมเพื่อประสิทธิภาพที่เพิ่มขึ้น ลดการใช้พลังงาน และฟังก์ชันที่ได้รับการปรับปรุง การแสดงมีความโดดเด่นเป็นพิเศษ ใน EFM8BB50 แกนหลักจะมีความเร็วสูงสุด 50 MHz และ 70% ของคำสั่งดำเนินการในหนึ่งหรือสองรอบสัญญาณนาฬิกา สิ่งนี้ทำให้ MCU มีประสิทธิภาพสูงกว่าโปรเซสเซอร์ 8 บิตแบบเดิมอย่างมาก ทำให้นักพัฒนามีพื้นที่ว่างสำหรับแอปพลิเคชันที่ซับซ้อนมากขึ้น
MCU ยังมีความโดดเด่นในด้านขนาดที่เล็กอีกด้วย รุ่น 16 พินในตระกูล เช่นEFM8BB50F16G-A-QFN16 มีจำหน่ายในบรรจุภัณฑ์ขนาดเล็กเพียง 2.5 mm x 2.5 mm รุ่น 12 พิน เช่นEFM8BB50F16G-A-QFN12 มีขนาดเล็กลงด้วยขนาดบรรจุภัณฑ์ที่เล็กลงเหลือ 2 mm x 2 mm
แม้จะมีขนาดเล็ก แต่ EFM8BB50 MCU ก็อัดแน่นไปด้วยคุณสมบัติที่น่าประทับใจมากมาย ได้แก่:
- ADC 12 บิต ซึ่งจำเป็นสำหรับการใช้งานที่ต้องการข้อมูลเซ็นเซอร์ที่แม่นยำ
- เซ็นเซอร์วัดอุณหภูมิในตัวที่ช่วยให้ MCU สามารถตรวจสอบอุณหภูมิภายในหรืออุณหภูมิโดยรอบได้โดยไม่ต้องใช้ส่วนประกอบภายนอก
- เคาน์เตอร์อาร์เรย์แบบตั้งโปรแกรมได้ (PCA) แบบ 3 ช่องพร้อมการปรับความกว้างพัลส์ (PWM) ที่สามารถสร้างสัญญาณ PWM สำหรับการควบคุมเอาต์พุตแบบแปรผันในการใช้งานต่างๆ เช่น การควบคุมมอเตอร์และการหรี่ไฟ LED
- เครื่องยนต์ PWM สามช่องสัญญาณที่มีการแทรกเวลาตาย (DTI) เพื่อเพิ่มการควบคุมอุปกรณ์อิเล็กทรอนิกส์กำลัง เช่น ไดรเวอร์มอเตอร์หรือตัวแปลงกำลัง
อินพุต/เอาต์พุต (I/O) อื่นๆ ประกอบด้วยอินเทอร์เฟซการสื่อสารแบบอนุกรมที่หลากหลาย ชุดตัวจับเวลา 8 บิตและ 16 บิต และหน่วยลอจิกที่กำหนดค่าได้สี่หน่วย พินทั้งหมดในตระกูล MCU รองรับไฟ 5 โวลต์ และสามารถกำหนด I/O ดิจิทัลได้อย่างยืดหยุ่นเพื่อใช้ประโยชน์จากจำนวนพินที่จำกัดให้เกิดประโยชน์สูงสุด
การจัดการพลังงานขั้นสูง
EFM8BB50 รวมคุณสมบัติการจัดการพลังงานหลายอย่างเพื่อเพิ่มประสิทธิภาพการใช้พลังงานและยืดอายุแบตเตอรี่ สิ่งเหล่านี้เริ่มต้นด้วยโหมดพลังงานหลายโหมด รวมถึงโหมด Idle ที่ลดความเร็วสัญญาณนาฬิกาหลักในขณะที่ยังคงให้อุปกรณ์ต่อพ่วงทำงานอยู่ โหมดหยุดทำงานต่อไปโดยการหยุดแกนหลักและอุปกรณ์ต่อพ่วงส่วนใหญ่ในขณะที่ยังคงรักษา RAM และลงทะเบียนเนื้อหา อุปกรณ์ต่อพ่วงบางตัวสามารถตั้งค่าให้ปลุกคอร์จากโหมดหยุดได้ ซึ่งเป็นประโยชน์ต่อการใช้งานที่ขับเคลื่อนด้วยเหตุการณ์ซึ่งส่วนใหญ่ยังคงอยู่ในสถานะพลังงานต่ำ
ตัวเลือกการตอกบัตรที่ยืดหยุ่นยังช่วยประหยัดพลังงานอีกด้วย ออสซิลเลเตอร์ภายในที่มีความแม่นยำช่วยลดความจำเป็นในการใช้คริสตัลออสซิลเลเตอร์ภายนอกในหลาย ๆ สถานการณ์ ซึ่งช่วยลดการใช้พลังงานโดยรวม MCU ยังรองรับ clock gating ซึ่งเลือกปิดการใช้งานนาฬิกาไปยังอุปกรณ์ต่อพ่วงต่างๆ ช่วยให้นักพัฒนาสามารถปิดนาฬิกาที่ไม่ได้ใช้งานได้
อุปกรณ์ต่อพ่วงได้รับการออกแบบโดยคำนึงถึงประสิทธิภาพการใช้พลังงานเป็นหลัก สิ่งที่โดดเด่นที่สุดคือ Configurable Logic Unit (CLU) สามารถทำหน้าที่ลอจิกอย่างง่ายได้อย่างอิสระ ช่วยลดความจำเป็นในการปลุกคอร์จากโหมดพลังงานต่ำสำหรับงานง่ายๆ นอกจากนี้ UART พลังงานต่ำ (LEUART) ยังสามารถทำงานในโหมดพลังงานโดยที่ออสซิลเลเตอร์หลักปิดใช้งาน เพื่อให้สามารถสื่อสารแบบอนุกรมในสถานะพลังงานต่ำได้
รองรับการพัฒนาซอฟต์แวร์ที่ใช้งานง่าย
นักพัฒนาสามารถสร้างซอฟต์แวร์สำหรับตระกูล EFM8BB50 ใน Simplicity Studio Suite ของ Silicon Labs สภาพแวดล้อมนี้ใช้สำหรับ EFM8BB50 8 บิต, MCU 32 บิตของบริษัท และระบบไร้สายบนชิป (SoC) เป็นผลให้นักพัฒนาได้รับสภาพแวดล้อมที่ทันสมัยพร้อมคุณสมบัติที่พวกเขาคาดหวังจากโปรเซสเซอร์ที่ทรงพลังยิ่งขึ้น ตัวอย่างเช่น มีตัวสร้างโปรไฟล์พลังงานที่ให้โปรไฟล์พลังงานของโค้ดแบบเรียลไทม์ (รูปที่ 2)
รูปที่ 2: Simplicity Studio มีตัวสร้างโปรไฟล์พลังงานที่ให้โปรไฟล์พลังงานของโค้ดแบบเรียลไทม์ (แหล่งที่มาภาพ: Silicon Labs)
เครื่องมือเหล่านี้สร้างขึ้นจากสภาพแวดล้อมการพัฒนาแบบผสานรวม (IDE) พร้อมด้วยโปรแกรมแก้ไขโค้ด คอมไพเลอร์ โปรแกรมดีบัก และกลไกส่วนติดต่อผู้ใช้ (UI) ที่เป็นมาตรฐานอุตสาหกรรม เพื่อพัฒนาอินเทอร์เฟซที่ทันสมัยและตอบสนองได้ดี สภาพแวดล้อมการพัฒนานี้ให้การเข้าถึงทรัพยากรเว็บและ SDK เฉพาะอุปกรณ์ตลอดจนเครื่องมือกำหนดค่าซอฟต์แวร์และฮาร์ดแวร์เฉพาะทาง
Simplicity Studio ยังรองรับ Silicon Labs Secure Vault อีกด้วย ชุดรักษาความปลอดภัยขั้นสูงพร้อมการรับรอง PSA ระดับ 3 Secure Vault ช่วยให้นักออกแบบเพิ่มความแข็งแกร่งให้กับอุปกรณ์ Internet of Things (IoT) และปกป้องพื้นผิวการโจมตีจากภัยคุกคามทางไซเบอร์ที่ทวีความรุนแรงขึ้นในขณะเดียวกันก็สอดคล้องกับกฎระเบียบด้านความปลอดภัยทางไซเบอร์ที่เปลี่ยนแปลงไป
เริ่มต้นอย่างรวดเร็วด้วยชุดประเมินผล
นักพัฒนาที่สนใจทดลองใช้ EFM8BB50 สามารถพิจารณาทดลองใช้ชุด Explorer Kit BB50-EK2702A ดังที่แสดงในรูปที่ 3 ชุดเครื่องมือฟอร์มแฟคเตอร์ขนาดเล็กนี้สอดคล้องกับขนาดของเบรดบอร์ดเพื่อให้ติดเข้ากับระบบต้นแบบและฮาร์ดแวร์ในห้องปฏิบัติการได้ง่าย มีอินเตอร์เฟส USB, ดีบักเกอร์ SEGGER J-Link ในตัว, ไฟ LED และปุ่มสำหรับการโต้ตอบกับผู้ใช้ ชุดนี้ได้รับการสนับสนุนอย่างเต็มที่จาก Simplicity Studio Suite และสามารถใช้กับยูทิลิตี้ Energy Profiler ได้ มีตัวอย่างซอฟต์แวร์สำหรับอุปกรณ์ต่อพ่วงทุกชิ้น และการสาธิตใช้ LED, ปุ่ม และ UART
รูปที่ 3: ที่แสดงคือ BB50-EK2702A Explorer Kit (แหล่งรูปภาพ: Silicon Labs)
ชุดประกอบด้วยซ็อกเก็ต mikroBUS และคอนเน็กเตอร์ Qwiic การสนับสนุนส่วนเสริมฮาร์ดแวร์นี้ช่วยให้นักพัฒนาสามารถสร้างและสร้างต้นแบบการใช้งานได้อย่างรวดเร็วโดยใช้บอร์ดที่มีจำหน่ายทั่วไปจากผู้ขายหลายราย
นักพัฒนาที่สนใจจุดเริ่มต้นที่ครอบคลุมมากขึ้นอาจใช้ชุด Pro Kit BB50-PK5208A ดังที่แสดงในรูปที่ 4 ออกแบบมาเพื่อการประเมินและการทดสอบเชิงลึก ชุดนี้ประกอบด้วยเซ็นเซอร์และอุปกรณ์ต่อพ่วงที่แสดงให้เห็นถึงความสามารถหลายประการของ MCU
รูปที่ 4: ชุด Pro Kit BB50-PK5208A สำหรับการประเมินและการทดสอบเชิงลึก (แหล่งรูปภาพ: Silicon Labs)
ชุด Pro Kit ประกอบด้วยการเชื่อมต่อ USB, จอ LCD หน่วยความจำขนาด 128 x 128 พิกเซลที่ใช้พลังงานต่ำเป็นพิเศษ, จอยสติ๊กแบบอนาล็อกแปดทิศทาง, LED และปุ่มกดของผู้ใช้ นอกจากนี้ยังมีคุณสมบัติของ Silicon Labs'Si7021 เซ็นเซอร์ความชื้นสัมพัทธ์และอุณหภูมิ และแหล่งพลังงานหลายแหล่ง รวมถึง USB และแบตเตอรี่เซลล์แบบเหรียญ
สำหรับการขยาย บอร์ดมีส่วนหัว 20 พิน 2.54 mm นอกจากนี้ยังมีแผ่นฝ่าวงล้อมสำหรับการเข้าถึงพิน I/O โดยตรง เช่นเดียวกับชุด Explorer Kit ชุด Pro Kit รองรับ Energy Profiler และจัดส่งพร้อมตัวอย่างซอฟต์แวร์สำหรับอุปกรณ์ต่อพ่วงทุกชิ้น
ตัวเลือกดีบักเกอร์ EFM8BB50
Silicon Labs มีดีบักเกอร์หลายตัวเพื่อรองรับ MCU สำหรับการดีบักทั่วไป บริษัทขอเสนอ DEBUGADPTR1-USB ซึ่งเป็นอะแดปเตอร์ดีบัก USB 8 บิตพร้อมขั้วต่อ 10 พินแบบธรรมดา
มีความสามารถพิเศษเพิ่มเติมจากดีบักเกอร์ Simplicity Link SI-DBG1015A ซึ่งจะเชื่อมต่อกับอินเตอร์เฟส Mini Simplicity ที่รวมอยู่ในชุดอุปกรณ์ทั้งสองชุดที่กล่าวถึงข้างต้น นอกเหนือจากฟังก์ชันพื้นฐานแล้ว Simplicity Link ยังนำเสนอความสามารถเพิ่มเติม รวมถึงดีบักเกอร์ SEGGER J-Link, อินเตอร์เฟสการติดตามแพ็คเก็ต, พอร์ต Virtual COM และแผ่นฝ่าวงล้อมเพื่อการตรวจสอบสัญญาณแต่ละรายการอย่างง่ายดาย
สรุป
MCU 8051 สมัยใหม่ เช่น EFM8BB50 นำคุณสมบัติที่โดยทั่วไปเกี่ยวข้องกับอุปกรณ์ 16 บิตและ 32 บิตมาสู่โดเมน 8 บิต ด้วยความเร็วสัญญาณนาฬิกาที่รวดเร็ว อุปกรณ์ต่อพ่วงประสิทธิภาพสูง และสภาพแวดล้อมการพัฒนาซอฟต์แวร์ที่แข็งแกร่ง ตระกูล 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.

