วิธีการออกแบบอุปกรณ์ IoT Edge พลังงานต่ำที่ปลอดภัยโดยใช้ Silicon Labs PG23 MCUs

By Jacob Beningo

Contributed By DigiKey's North American Editors

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

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

บทความนี้กล่าวถึงข้อควรพิจารณาด้านความปลอดภัยโดยย่อสำหรับอุปกรณ์ Edge IoT จากนั้นจะแนะนำ EFM32PG23 MCU จาก Silicon Labs และแสดงวิธีนำไปใช้กับการออกแบบ edge IoT ที่ปลอดภัย โดยเน้นที่พลังงานต่ำ

ปัญหาด้านความปลอดภัยกับอุปกรณ์ IoT

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

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

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

รูปที่ 1: ข้อกังวลด้านความปลอดภัย ข้อกำหนด และเทคโนโลยีที่เกี่ยวข้องที่ผู้ออกแบบการใช้งาน edge IoT จำเป็นต้องพิจารณามีมากมาย (ที่มาของภาพ: Silicon Labs)

ปัญหาใหญ่กับทีมฝังตัวจำนวนมากที่พัฒนาแอปพลิเคชันขอบ IoT คือพวกเขาไม่มีความเชี่ยวชาญด้านความปลอดภัยภายในองค์กร ผลที่ได้คือพวกเขาต้องพยายามอย่างเต็มที่ภายในเพื่อเรียนรู้และใช้การรักษาความปลอดภัยหรือใช้แหล่งข้อมูลภายนอก ไม่ว่าจะด้วยวิธีใด ค่าใช้จ่ายและเวลาก็อาจไม่ธรรมดา

มีทางเลือกอื่น คือ ทีมพัฒนาสามารถเลือก MCU ที่ออกแบบโดยคำนึงถึงความปลอดภัยเป็นหลัก และมีโซลูชันการรักษาความปลอดภัยที่พร้อมใช้งานซึ่งต้องมีการปรับการกำหนดค่าเล็กน้อยสำหรับการใช้งานที่มีอยู่

ข้อมูลเบื้องต้นเกี่ยวกับอุปกรณ์ MCU ซีรีส์ PG23 ของ Silicon Labs

The Silicon Labs EFM32PG23 ซีรี่ส์ของไมโครคอนโทรลเลอร์เป็นตัวเลือกที่น่าสนใจสำหรับการใช้งานอุปกรณ์ขอบ IoT ด้วยเหตุผลหลายประการ ประการแรก PG23 MCU สามารถเรียกใช้โซลูชันการรักษาความปลอดภัย Secure Vault IoT ของ Silicon Labs ได้ Secure Vault เป็นแพลตฟอร์มสำหรับการรักษาความปลอดภัยและอุปกรณ์ IoT ที่พิสูจน์อนาคตซึ่งเพิ่งกลายเป็นโซลูชันการรักษาความปลอดภัย IoT แรกที่ได้รับสถานะ PSA Certified Level 3 ฟีเจอร์บางอย่างที่ Secure Vault นำมาใช้กับ PG23 MCU ได้แก่ การระบุอุปกรณ์รักษาความปลอดภัย การจัดการและจัดเก็บคีย์ที่ปลอดภัย และการตรวจจับการงัดแงะขั้นสูง

Secure Vault ใช้ประโยชน์จากลายนิ้วมือดิจิทัลที่ไม่เหมือนใครซึ่งสร้างขึ้นโดยฟังก์ชันที่ไม่สามารถระบุตัวตนได้ (PUF) สามารถใช้ PUF เพื่อสร้างคีย์สมมาตร AES ที่จะหายไปเมื่อระบบปิด คีย์สมมาตร AES ไม่มีอยู่จริงเมื่อปิดชิป ทำให้ไม่สามารถถอดออกจากอุปกรณ์ได้ PUF เป็นโซลูชันที่มีประสิทธิภาพสำหรับความท้าทายด้านการจัดการที่สำคัญซึ่งต้องเผชิญกับแอปพลิเคชันขอบ IoT มากมาย อันที่จริง PUF สามารถปรับขนาดเพื่อรองรับคีย์ได้มากเท่าที่จำเป็นเพื่อรองรับแอปพลิเคชัน Secure Vault ยังมีระบบตรวจจับการงัดแงะที่ทำให้ไม่สามารถสร้างคีย์ใหม่ได้เมื่ออุปกรณ์ถูกปิดหลังจากเหตุการณ์งัดแงะ คุณลักษณะด้านความปลอดภัยที่สำคัญสามารถสรุปได้ดังนี้:

  • รับรองความปลอดภัย
  • การจัดการคีย์ที่ปลอดภัย
  • ที่เก็บกุญแจอย่างปลอดภัย
  • ป้องกันการงัดแงะ

อีกเหตุผลหนึ่งที่ PG23 MCU นั้นเหมาะสมอย่างยิ่งสำหรับการใช้งาน IoT edge ก็คือ มันถูกออกแบบมาสำหรับการใช้งานที่ใช้พลังงานต่ำ ปริมาณการใช้กระแสไฟที่ใช้งานสำหรับ PG23 คือ 21 ไมโครแอมแปร์ต่อเมกะเฮิรตซ์ (µA/MHz) ปริมาณการใช้ปัจจุบันคือ 1.03 µA พร้อม RAM 16 กิโลไบต์ (Kbytes) ที่ทำงานในโหมด EM2 หรือ 0.7 µA โดยเปิดใช้งานนาฬิกาแบบเรียลไทม์ (RTC) ในโหมด EM4 ระดับการบริโภคในปัจจุบันที่ต่ำนี้ช่วยนักพัฒนาในขณะที่พวกเขาทำงานเพื่อออกแบบอุปกรณ์ที่ประหยัดพลังงาน ไม่ว่าจะเสียบกับผนังหรือใช้พลังงานจากแบตเตอรี่

คุณลักษณะสุดท้ายของ PG23 ที่จะตรวจสอบที่นี่คือความสามารถของ MCU PG23 มี Arm® โปรเซสเซอร์ Cortex®-M33 โอเวอร์คล็อกที่ 80 MHz โปรเซสเซอร์สามารถทำงานได้ในช่วง 1.71 โวลต์ถึง 3.8 โวลต์โดยใช้แหล่งจ่ายไฟเพียงตัวเดียว สำหรับนักพัฒนาที่ทำงานเกี่ยวกับแอปพลิเคชันเซ็นเซอร์ มีอินเทอร์เฟซเซ็นเซอร์พลังงานต่ำ (LESENSE) MCU มาในแพ็คเกจ QFN 40 พินขนาด 5 × 5 มม. (มม.) หรือแพ็คเกจ QFN 48 พินขนาด 6 × 6 มม. บล็อกไดอะแกรมของ PG23 แสดงในรูปที่ 2 MCU ยังมีสถานะพลังงานห้าสถานะ: EM0 สำหรับโหมดรัน, EM1 สำหรับโหมดสลีป, EM2 สำหรับโหมดหลับลึก, EM3 สำหรับหยุด และสุดท้าย EM4 สำหรับการปิด

แผนภาพของ Silicon Labs PG23 MCU มีอุปกรณ์ต่อพ่วงมากมาย (คลิกเพื่อดูภาพขยาย)รูปที่ 2: PG23 MCU มีอุปกรณ์ต่อพ่วง หน่วยความจำ และโหมดประหยัดพลังงานที่หลากหลาย (แหล่งรูปภาพ: Silicon Labs)

เริ่มต้นใช้งานบอร์ดพัฒนา PG23-PK2504A

วิธีที่ดีที่สุดในการเริ่มต้นใช้งาน PG23 คือการใช้บอร์ดพัฒนา PG23-PK2504A บนบอร์ดประกอบด้วย EFM32PG23B310F512 โปรเซสเซอร์ที่รองรับแฟลช 512 Kbytes และ RAM 64 Kbytes บอร์ดพัฒนาประกอบด้วยเซนเซอร์ออนบอร์ด อินเทอร์เฟซ และจอ LCD ขนาด 4×10 เซ็กเมนต์ (รูปที่ 3)

ไดอะแกรมของบอร์ดพัฒนา Silicon Labs PG23-2504Aรูปที่ 3: บอร์ดพัฒนา PG23-2504A มาพร้อมกับ EFM32PG23 MCU เช่นเดียวกับจอ LCD ขนาด 4 × 10 เซ็กเมนต์ เซ็นเซอร์อุณหภูมิและความชื้น การอ้างอิงแรงดันไฟฟ้า และอินเทอร์เฟซการขยาย (แหล่งรูปภาพ: Silicon Labs)

ด้วยบอร์ดนี้ที่นักพัฒนามีทำให้สามารถดาวน์โหลดและติดตั้ง Simplicity Studio (ภายใต้แท็บเริ่มต้นใช้งาน) Simplicity Studio เป็น Launchpad สำหรับทุกสิ่งที่จำเป็นในการประเมิน กำหนดค่า และพัฒนาด้วยไมโครคอนโทรลเลอร์ EFM32 ซอฟต์แวร์ประกอบด้วยสื่อเริ่มต้น เอกสารประกอบ เครื่องมือที่เข้ากันได้ และทรัพยากร

เมื่อนักพัฒนาเปิด Simplicity Studio และเสียบปลั๊กในบอร์ดพัฒนา ซอฟต์แวร์จะระบุบอร์ดและให้คำแนะนำสำหรับโครงการ ตัวอย่าง เอกสารประกอบ และการสาธิต (ภาพที่ 4) นักพัฒนาสามารถเลือกเส้นทางที่ดีที่สุดสำหรับพวกเขาในการเริ่มต้นและเริ่มทดลองกับ PG23

ภาพของ Silicon Labs Simplicity Studio (คลิกเพื่อดูภาพขยาย)รูปที่ 4: Silicon Labs Simplicity Studio ตรวจพบบอร์ดและให้คำแนะนำแบบกำหนดเองสำหรับการเริ่มต้น เอกสารประกอบ ตัวอย่างโครงการ และอื่น ๆ (แหล่งรูปภาพ: Silicon Labs)

คุณลักษณะหนึ่งที่ควรค่าแก่การเน้นบนบอร์ดพัฒนา PG23-PK2504A คือสวิตช์ที่กำหนดวิธีขับเคลื่อนบอร์ดพัฒนา มีสองตัวเลือก; AEM หรือ BAT (รูปที่ 5) ในโหมด AEM จะมีตัวต้านทานที่ตรวจจับกระแสไฟในซีรีส์ที่มีแหล่งจ่ายไฟ LDO และ PG23 ข้อดีของโหมดนี้คือนักพัฒนาสามารถวัดการดึงปัจจุบันของโปรเซสเซอร์เพื่อช่วยในการเพิ่มประสิทธิภาพพลังงาน เมื่อการใช้งานได้รับการปรับให้เหมาะสมแล้ว นักพัฒนาสามารถเปลี่ยนไปใช้โหมด BAT เพื่อเรียกใช้บอร์ดพัฒนาจากแบตเตอรี่เซลล์แบบเหรียญได้

ไดอะแกรมของ Silicon Labs PG23-PK2504A มีตัวเลือกในการจ่ายไฟให้กับบอร์ดผ่าน USB-Cรูปที่ 5: PG23-PK2504A มีตัวเลือกในการจ่ายไฟให้กับบอร์ดผ่าน USB-C ในโหมด AEM ซึ่งช่วยให้วัดกระแสของโปรเซสเซอร์ได้ อีกวิธีหนึ่ง โปรเซสเซอร์สามารถใช้พลังงานจากแบตเตอรี่เซลล์แบบเหรียญ CR2032 (แหล่งรูปภาพ: Silicon Labs)

คำแนะนำและเคล็ดลับในการลดการใช้พลังงานในแอปพลิเคชัน IoT

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

  • ใช้สถาปัตยกรรมซอฟต์แวร์ที่ขับเคลื่อนด้วยเหตุการณ์ เมื่อระบบไม่ประมวลผลเหตุการณ์ ให้อยู่ในสถานะใช้พลังงานต่ำ
  • กำหนดค่าการใช้แบตเตอรี่ของระบบตามรอบการชาร์จ/การคายประจุหลายรอบ บันทึกการดึงกระแสและแรงดันไฟขณะทำงาน และพล็อตตามช่วงเวลา
  • ใช้ประโยชน์จากโหมดพลังงานต่ำเพื่อปิดใช้งานนาฬิกา อุปกรณ์ต่อพ่วง และ CPU โดยอัตโนมัติ
  • ในแอปพลิเคชันง่ายๆ ให้สำรวจโดยใช้คุณลักษณะ Arm Cortex-M "sleep on exit" เพื่อลดโอเวอร์เฮดของการขัดจังหวะเมื่อปลุกระบบ
  • หากใช้ RTOS ให้ใช้ประโยชน์จากโหมด "tickless" เพื่อป้องกันไม่ให้ RTOS ปลุกระบบโดยไม่ได้ตั้งใจ
  • เมื่อเพิ่มประสิทธิภาพในการวนซ้ำ ให้ติดตามการประหยัดพลังงานของการเปลี่ยนแปลงแต่ละครั้ง เมื่อถึงจุดหนึ่ง นักพัฒนาค้นพบ "knee" ที่เวลาที่ใช้ในการเพิ่มประสิทธิภาพมีผลตอบแทนจากการลงทุนต่ำในแง่ของการประหยัดพลังงาน ถึงเวลาที่จะหยุดการเพิ่มประสิทธิภาพและก้าวสู่ขั้นต่อไปกันแล้ว

นักพัฒนาที่ทำตาม "คำแนะนำและเคล็ดลับ" เหล่านี้จะช่วยประหยัดเวลาและความเสียใจได้ไม่น้อยเมื่อเริ่มต้นการออกแบบ IoT ที่ปลอดภัยและใช้พลังงานต่ำครั้งต่อไป

สรุป

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

ดังที่แสดงไว้ MCU ของ Silicon Labs EFM32PG23 สามารถช่วยให้นักพัฒนาแก้ปัญหาต่างๆ ที่เกี่ยวข้องกับการออกแบบที่ใช้พลังงานต่ำและความปลอดภัยของอุปกรณ์ได้ บอร์ดพัฒนาที่เกี่ยวข้องมีเครื่องมือที่จำเป็นทั้งหมดในการเริ่มต้น และด้วยการปฏิบัติตาม "เคล็ดลับและกลเม็ด" ที่สำคัญ การออกแบบที่ใช้พลังงานต่ำสามารถนำไปใช้ได้อย่างรวดเร็ว

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 Jacob Beningo

Jacob Beningo

Jacob Beningo เป็นที่ปรึกษาด้านซอฟต์แวร์แบบฝังตัว เขาได้ตีพิมพ์บทความมากกว่า 200 บทความเกี่ยวกับเทคนิคการพัฒนาซอฟต์แวร์แบบฝังตัวเป็นวิทยากรและผู้ฝึกสอนด้านเทคนิคที่เป็นที่ต้องการและสำเร็จการศึกษา 3 ปริญญา รวมถึง ปริญญาโทวิศวกรรมศาสตร์จากมหาวิทยาลัยมิชิแกน

About this publisher

DigiKey's North American Editors