Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

보조 프로세서 설계

Co-Processor 설계는 OpenThread에서 지원됩니다. OpenThread 예 빌드 시 각 보조 프로세서 설계의 펌웨어 이미지가 자동으로 생성됩니다. 자세한 내용은 바이너리를 참조하세요.

무선 공동 프로세서 (RCP)

OT RCP 아키텍처

RCP 설계에서는 OpenThread의 코어가 스레드 무선 기능이 있는 기기에 최소한의 MAC 레이어 '컨트롤러'만 있는 호스트 프로세서에 상주합니다. 호스트 프로세서는 일반적으로 스레드 네트워크의 안정성을 보장하기 위해 이 설계에서 절전 모드를 사용하지 않습니다.

RCP와 호스트 프로세서 간의 통신은 SPinel 프로토콜을 통해 SPI 인터페이스를 통해 OpenThread Daemon에서 관리합니다.

여기서 이점은 OpenThread가 더 강력한 프로세서의 리소스를 활용할 수 있다는 것입니다.

이 설계는 전력 제약에 덜 민감한 기기에 유용합니다. 예를 들어, 동영상 카메라의 호스트 프로세서가 상시 사용 설정되어 동영상을 처리합니다.

OpenThread Border Router는 RCP 설계를 지원합니다. 자세한 내용은 OpenThread Border Router를 참조하세요.

RCP를 빌드하려면 다음 Codelab을 참고하세요.

nRF52840을 사용한 스레드 네트워크 빌드 스레드 경계 라우터

네트워크 보조 프로세서 (NCP)

OT NCP 아키텍처

표준 NCP 설계는 SoC의 스레드 기능을 포함하며 호스트 프로세서에서 애플리케이션 레이어를 실행합니다. 이 레이어는 일반적으로 OpenThread 기기보다 기능이 훨씬 강력하지만 전력 수요도 더 높습니다.

NCP와 호스트 프로세서 간의 통신은 Spinel 프로토콜을 통해 일반적으로 SPI 또는 UART를 사용하는 직렬 인터페이스를 통해 wpantund에 의해 관리됩니다.

이 설계의 이점은 전력 소모가 많은 OpenThread 기기가 활성 상태를 유지하여 스레드 네트워크에서 그 자리를 유지할 수 있는 반면 고전력 호스트는 절전 모드로 전환할 수 있다는 것입니다. 또한 SoC가 애플리케이션 레이어에 연결되어 있지 않으므로 애플리케이션의 개발과 테스트는 OpenThread 빌드와 별개입니다.

이 설계는 게이트웨이 기기 또는 IP 카메라 및 스피커와 같은 다른 처리 요구사항이 있는 기기에 유용합니다.

Spinel 프로토콜

Spinel은 호스트 기기가 공동 프로세서와 통신하고 관리할 수 있도록 하는 일반 관리 프로토콜입니다. 처음에 스레드 기반 NCP를 지원하도록 설계된 Spinel은 향후 다른 네트워크 기술에 쉽게 적용할 수 있는 계층화된 접근 방식으로 설계되었습니다. RCP 및 NCP 설계에 모두 사용됩니다.

이 프로토콜은 /src/lib/spinel의 OpenThread에 포함되어 있습니다. Pyspinel이라는 Python CLI 도구를 테스트 목적으로 사용할 수 있습니다.

자세한 내용은 Spinel 호스트 컨트롤러 프로토콜의 인터넷 초안을 참조하세요.