공동 프로세서 설계는 OpenThread에서 지원됩니다. OpenThread 예제를 빌드할 때 각 공동 프로세서 설계의 펌웨어 이미지가 자동으로 생성됩니다. 자세한 내용은 바이너리를 참고하세요.
라디오 공동 프로세서 (RCP)

RCP 설계에서 OpenThread의 핵심은 호스트 프로세서에 있으며 스레드 라디오가 있는 기기에는 최소한의 MAC 레이어 '컨트롤러'만 있습니다. 호스트 프로세서는 일반적으로 Thread 네트워크의 안정성을 보장하기 위해 이 설계에서 절전 모드로 전환되지 않습니다.
RCP와 호스트 프로세서 간 통신은 Spinel 프로토콜을 통해 SPI 인터페이스를 통해 OpenThread 데몬에 의해 관리됩니다.
여기서의 장점은 OpenThread가 더 강력한 프로세서의 리소스를 활용할 수 있다는 것입니다.
이 설계는 전력 제약에 덜 민감한 기기에 유용합니다. 예를 들어 동영상 카메라의 호스트 프로세서는 동영상을 처리하기 위해 항상 켜져 있습니다.
OpenThread Border Router는 RCP 설계를 지원합니다. 자세한 내용은 OpenThread Border Router를 참고하세요.
RCP를 빌드하려면 다음 Codelab을 참고하세요.
nRF52840으로 스레드 네트워크 빌드 스레드 보더 라우터
네트워크 공동 프로세서 (NCP)

표준 NCP 설계에는 SoC에 스레드 기능이 있고 호스트 프로세서에서 애플리케이션 레이어를 실행합니다. 호스트 프로세서는 일반적으로 OpenThread 기기보다 성능이 우수하지만 전력 요구사항이 더 큽니다.
이 설계의 장점은 저전력 OpenThread 기기가 활성 상태를 유지하여 스레드 네트워크에서 자리를 유지하는 동안 고전력 호스트가 절전 모드로 전환될 수 있다는 것입니다. 또한 SoC는 애플리케이션 레이어에 연결되지 않으므로 애플리케이션 개발 및 테스트는 OpenThread 빌드와 독립적입니다.
이 설계는 게이트웨이 기기나 IP 카메라, 스피커와 같은 다른 처리 요구사항이 있는 기기에 유용합니다.
스피넬 프로토콜
Spinel은 호스트 기기가 공동 프로세서와 통신하고 공동 프로세서를 관리할 수 있도록 지원하는 일반 관리 프로토콜입니다. 원래 스레드 기반 NCP를 지원하도록 설계된 Spinel은 향후 다른 네트워크 기술에 쉽게 적용할 수 있는 계층화된 접근 방식으로 설계되었습니다. RCP 및 NCP 설계 모두에 사용됩니다.
이 프로토콜은 /src/lib/spinel
에서 OpenThread와 함께 포함됩니다. Pyspinel이라는 Python CLI 도구를 테스트 목적으로 사용할 수 있습니다.
자세한 내용은 Spinel 호스트-컨트롤러 프로토콜 인터넷 초안을 참고하세요.