ใช้ไมโครคอนโทรลเลอร์ 8 บิตที่ได้รับการปรับปรุงเพื่อลดความซับซ้อนในการออกแบบอุปกรณ์ที่จำกัดทรัพยากร

อัปเดต: 25 เมษายน 2024

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

เพื่อแก้ไขปัญหาเหล่านี้ นักออกแบบสามารถใช้ประโยชน์จาก MCU ที่ใช้สถาปัตยกรรม 8051 ซึ่งนำคุณประโยชน์มากมายของโปรเซสเซอร์ 16 บิตและ 32 บิตมาสู่โดเมน 8 บิต โดยทำในบรรจุภัณฑ์ที่มีขนาดเล็กเพียง 2 x 2 มิลลิเมตร (มม.) ขณะเดียวกันก็มีสภาพแวดล้อมการพัฒนาที่ทันสมัย

บทความนี้จะอธิบายโดยย่อเกี่ยวกับสถาปัตยกรรม 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: แสดงเป็น Block Diagram ของ EFM8BB50 MCU (แหล่งรูปภาพ: Silicon Labs)

หัวใจของ MCU คือคอร์ CIP-51 8051 ซึ่งเป็นการนำสถาปัตยกรรม 8051 ของ Silicon Labs มาใช้ซึ่งได้รับการปรับให้เหมาะสมเพื่อประสิทธิภาพที่เพิ่มขึ้น ลดการใช้พลังงาน และฟังก์ชันที่ได้รับการปรับปรุง การแสดงมีความโดดเด่นเป็นพิเศษ ใน EFM8BB50 แกนหลักจะมีความเร็วสูงสุด 50 MHz และ 70% ของคำสั่งจะดำเนินการในหนึ่งหรือสองรอบสัญญาณนาฬิกา สิ่งนี้ทำให้ MCU มีประสิทธิภาพสูงกว่าโปรเซสเซอร์ 8 บิตแบบเดิมอย่างมาก ทำให้นักพัฒนามีพื้นที่ว่างสำหรับแอปพลิเคชันที่ซับซ้อนมากขึ้น

MCU ยังมีความโดดเด่นในด้านขนาดที่เล็กอีกด้วย รุ่น 16 พินในตระกูล เช่น EFM8BB50F16G-A-QFN16 มีจำหน่ายในบรรจุภัณฑ์ขนาดเล็กเพียง 2.5 มม. x 2.5 มม. รุ่น 12 พิน เช่น EFM8BB50F16G-A-QFN12 มีขนาดเล็กลงด้วยขนาดบรรจุภัณฑ์ที่เล็กลงเหลือ 2 มม. x 2 มม.

แม้จะมีขนาดเล็ก แต่ 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 สภาพแวดล้อมนี้ใช้สำหรับ EFM8BB8 50 บิต, 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 สามารถพิจารณาใช้ BB50-EK2702A Explorer Kit ที่แสดงในรูปที่ 3 ชุดเครื่องมือฟอร์มแฟคเตอร์ขนาดเล็กนี้สอดคล้องกับขนาดเขียงหั่นขนมเพื่อให้แนบกับระบบต้นแบบและฮาร์ดแวร์ในห้องปฏิบัติการได้ง่าย มีอินเทอร์เฟซ USB, ดีบักเกอร์ SEGGER J-Link ในตัว, ไฟ LED และปุ่มสำหรับการโต้ตอบกับผู้ใช้ ชุดนี้ได้รับการสนับสนุนอย่างเต็มที่จาก Simplicity Studio Suite และสามารถใช้กับยูทิลิตี้ Energy Profiler ได้ มีตัวอย่างซอฟต์แวร์สำหรับอุปกรณ์ต่อพ่วงทุกชิ้น และการสาธิตใช้ LED, ปุ่ม และ UART

รูปที่ 3: ที่แสดงคือ BB50-EK2702A Explorer Kit (แหล่งรูปภาพ: Silicon Labs)

ชุดประกอบด้วยซ็อกเก็ต mikroBUS และขั้วต่อ Qwiic การสนับสนุนส่วนเสริมฮาร์ดแวร์นี้ช่วยให้นักพัฒนาสามารถสร้างและสร้างต้นแบบแอปพลิเคชันได้อย่างรวดเร็วโดยใช้บอร์ดที่มีจำหน่ายทั่วไปจากผู้ขายหลายราย

นักพัฒนาที่สนใจจุดเริ่มต้นที่ครอบคลุมมากขึ้นอาจใช้ BB50-PK5208A Pro Kit ดังแสดงในรูปที่ 4 ชุดนี้ออกแบบมาเพื่อการประเมินและการทดสอบเชิงลึก โดยประกอบด้วยเซ็นเซอร์และอุปกรณ์ต่อพ่วงที่แสดงให้เห็นถึงความสามารถหลายประการของ MCU

รูปที่ 4: ที่แสดงคือชุด BB50-PK5208A Pro สำหรับการประเมินและการทดสอบเชิงลึก (แหล่งรูปภาพ: Silicon Labs)

Pro Kit ประกอบด้วยการเชื่อมต่อ USB ซึ่งเป็นหน่วยความจำ 128 x 128 พิกเซลที่ใช้พลังงานต่ำเป็นพิเศษ จอแอลซีดี, จอยสติ๊กแบบอะนาล็อกแปดทิศทาง, LED และปุ่มกดของผู้ใช้ นอกจากนี้ยังมีเซ็นเซอร์ความชื้นสัมพัทธ์และอุณหภูมิ Si7021 ของ Silicon Labs และแหล่งพลังงานหลายแหล่ง รวมถึง USB และแบตเตอรี่เซลล์แบบเหรียญ

สำหรับการขยาย บอร์ดมีส่วนหัว 20 พิน 2.54 มม. นอกจากนี้ยังมีแผ่นฝ่าวงล้อมสำหรับการเข้าถึงพิน I/O โดยตรง เช่นเดียวกับ Explorer Kit นั้น Pro Kit รองรับ Energy Profiler และจัดส่งพร้อมตัวอย่างซอฟต์แวร์สำหรับอุปกรณ์ต่อพ่วงทุกชิ้น

ตัวเลือกดีบักเกอร์ EFM8BB50

Silicon Labs มีดีบักเกอร์หลายตัวเพื่อรองรับ MCU สำหรับการดีบักตามวัตถุประสงค์ทั่วไป บริษัทขอเสนอ DEBUGADPTR1-USB ซึ่งเป็นอะแดปเตอร์ดีบัก USB 8 บิตพร้อมขั้วต่อ 10 พินแบบธรรมดา

มีความสามารถพิเศษเพิ่มเติมได้จาก SI-DBG1015A Simplicity Link Debugger ซึ่งจะเชื่อมต่อกับอินเทอร์เฟซ Mini Simplicity ที่รวมอยู่ในชุดอุปกรณ์ทั้งสองชุดที่กล่าวถึงข้างต้น นอกเหนือจากฟังก์ชันพื้นฐานแล้ว Simplicity Link ยังนำเสนอความสามารถเพิ่มเติม รวมถึงดีบักเกอร์ SEGGER J-Link, อินเทอร์เฟซการติดตามแพ็คเก็ต, พอร์ต Virtual COM และแผ่นฝ่าวงล้อมเพื่อการตรวจสอบสัญญาณแต่ละรายการอย่างง่ายดาย

สรุป

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