การออกแบบโปรเซสเซอร์ร่วม

OpenThread รองรับการออกแบบ Co-Processor เมื่อสร้างตัวอย่าง OpenThread ระบบจะสร้างอิมเมจเฟิร์มแวร์สำหรับดีไซน์โคโปรเซสเซอร์แต่ละแบบโดยอัตโนมัติ ดูข้อมูลเพิ่มเติมได้ที่ไบนารี

ตัวประมวลผลร่วมวิทยุ (RCP)

สถาปัตยกรรม OT RCP

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

OpenThread Daemon จะจัดการการสื่อสารระหว่าง RCP กับโปรเซสเซอร์โฮสต์ผ่านอินเทอร์เฟซ SPI ผ่านโปรโตคอล Spinel

ข้อดีในที่นี้คือ OpenThread สามารถใช้ทรัพยากรในตัวประมวลผลที่มีประสิทธิภาพมากกว่า

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

OpenThread Border Router รองรับการออกแบบ RCP ดูข้อมูลเพิ่มเติมได้ที่ OpenThread Border Router

หากต้องการสร้าง RCP โปรดดู Codelab ต่อไปนี้

สร้างเครือข่าย Thread ด้วย nRF52840 Thread Border Router

โปรเซสเซอร์ร่วมเครือข่าย (NCP)

สถาปัตยกรรม OT NCP

การออกแบบ NCP มาตรฐานมีฟีเจอร์ Thread ใน SoC และเรียกใช้เลเยอร์แอปพลิเคชันในโฮสต์โปรเซสเซอร์ ซึ่งโดยปกติแล้วจะมีความสามารถมากกว่า (แต่ต้องการพลังงานมากกว่า) อุปกรณ์ OpenThread

ข้อดีของการออกแบบนี้คือโฮสต์ที่มีกำลังไฟสูงกว่าจะเข้าสู่โหมดพักได้ในขณะที่อุปกรณ์ OpenThread ที่มีกำลังไฟต่ำกว่าจะยังคงทำงานอยู่เพื่อรักษาตำแหน่งในเครือข่าย Thread และเนื่องจาก SoC ไม่ได้เชื่อมโยงกับเลเยอร์แอปพลิเคชัน การพัฒนาและ การทดสอบแอปพลิเคชันจึงไม่ขึ้นอยู่กับบิลด์ OpenThread

การออกแบบนี้มีประโยชน์สำหรับอุปกรณ์เกตเวย์หรืออุปกรณ์ที่มีความต้องการในการประมวลผลอื่นๆ เช่น กล้อง IP และลำโพง

โปรโตคอล Spinel

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

โปรโตคอลนี้รวมอยู่ใน OpenThread ที่ /src/lib/spinel เครื่องมือ CLI ของ Python ที่ชื่อ Pyspinel พร้อมให้ใช้งานเพื่อวัตถุประสงค์ในการทดสอบ

ดูข้อมูลเพิ่มเติมได้ที่ร่างอินเทอร์เน็ตสำหรับโฮสต์คอนโทรลเลอร์ Spinel Protocol