OpenThread รองรับการออกแบบ Co-Processor มีสถาปัตยกรรมการออกแบบหลักสองแบบ:
- Radio Co-Processor (RCP) - เลเยอร์แอปพลิเคชันและแกน OpenThread บนโปรเซสเซอร์โฮสต์, MAC OpenThread ขั้นต่ำบน 802.15.4 SoC การสื่อสารระหว่าง RCP และโฮสต์โปรเซสเซอร์ได้รับการจัดการโดย OpenThread Daemon ผ่านอินเทอร์เฟซ SPI ผ่านโปรโตคอล Spinel
- Network Co-Processor (NCP) - เลเยอร์แอปพลิเคชันบนโปรเซสเซอร์โฮสต์คุณสมบัติ OpenThread บน 802.15.4 SoC การสื่อสารระหว่าง NCP และโฮสต์โปรเซสเซอร์ได้รับการจัดการโดย
wpantund
ผ่านอินเทอร์เฟซแบบอนุกรมโดยทั่วไปจะใช้ SPI หรือ UART ผ่านโปรโตคอล Spinel
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการออกแบบเหล่านี้โปรดดู การออกแบบแพลตฟอร์ม
เมื่อสร้างตัวอย่าง OpenThread ควรสร้างอิมเมจเฟิร์มแวร์สำหรับการออกแบบ RCP หรือ NCP ที่คุณต้องการโดยอัตโนมัติ สำหรับข้อมูลเพิ่มเติมโปรดดู ไบนารี
สำหรับการดาวน์โหลดอิมเมจเฟิร์มแวร์ NCP ที่สร้างไว้ล่วงหน้าพร้อมคำแนะนำการกะพริบโปรดดู เฟิร์มแวร์ NCP ที่สร้าง ไว้ล่วงหน้า
โปรโตคอล Spinel
Spinel เป็นโปรโตคอลการจัดการทั่วไปสำหรับทำให้อุปกรณ์โฮสต์สามารถสื่อสารและจัดการกับโปรเซสเซอร์ร่วมได้ เริ่มต้นออกแบบมาเพื่อรองรับ NCP ที่ใช้เธรด Spinel ได้รับการออกแบบด้วยวิธีการแบบเลเยอร์ที่ช่วยให้สามารถปรับเปลี่ยนให้เข้ากับเทคโนโลยีเครือข่ายอื่น ๆ ได้อย่างง่ายดายในอนาคต ใช้กับทั้งการออกแบบ RCP และ NCP
โปรโตคอลนี้รวมอยู่ใน OpenThread ที่ /src/lib/spinel
เครื่องมือ Python CLI ที่เรียกว่า Pyspinel มีไว้เพื่อการทดสอบ
สำหรับข้อมูลเพิ่มเติมโปรดดูที่ Internet-Draft สำหรับ Spinel Host-Controller Protocol