Ortak İşlemci tasarımları, OpenThread tarafından desteklenir. OpenThread örnekleri oluşturulurken her yardımcı işleyen tasarımı için otomatik olarak bir donanım yazılımı görüntüsü oluşturulur. Daha fazla bilgi edinmek için İkili program başlıklı makaleyi inceleyin.
Radyo Ortak İşlemci (RCP)
RCP tasarımında, OpenThread'in temelini ana makine işlemcisinde, Thread radyolu cihazda yalnızca minimum MAC katmanı "denetleyici" vardır. Ana makine işlemcisi, genellikle Thread ağının güvenilirliğini sağlamak için genellikle bu tasarımda uyanmaz.
RCP ile ana işlemci arasında iletişim, Spinel protokolü üzerinden bir SPI arayüzü üzerinden OpenThread Daemon tarafından yönetilir.
Buradaki avantaj, OpenThread'in daha güçlü işlemcideki kaynakları kullanabilmesidir.
Bu tasarım, güç kısıtlamalarına daha az duyarlı olan cihazlar için yararlıdır. Örneğin, bir video kamera üzerindeki ana makine işlemcisi videoyu işlemek için her zaman açıktır.
OpenThread Sınır Yönlendirici, RCP tasarımını destekler. Daha fazla bilgi için OpenThread Sınır Yönlendirici'ye bakın.
RCP oluşturmak için aşağıdaki Codelab'lere bakın:
nRF52840 ile Mesaj Dizisi ağı oluşturma İleti Dizisi Sınır Yönlendiricisi
Ağ İşleyici (NCP)
Standart NCP tasarımı, çip üzerinde sistemde (Thread) özelliklere Thread özelliklerine sahiptir ve uygulama katmanını genellikle OpenThread cihazından daha kapasiteli (ancak daha fazla güç talebi olan) bir ana makine işlemcisinde çalıştırır.
NCP ile ana bilgisayar işlemcisi arasındaki iletişim, Spinel protokolü üzerinden genellikle SPI veya UART kullanılarak seri bir arayüz üzerinden wpantund
tarafından yönetilir.
Bu tasarımın avantajı, yüksek güçlü ana makinenin Uyku Vakti ağının yerini korumak için yüksek güçlü ana makinenin uykuda kalmasıdır. SoC, uygulama katmanına bağlı olmadığından uygulamaların geliştirilmesi ve test edilmesi OpenThread derlemesinden bağımsızdır.
Bu tasarım, ağ geçidi cihazları veya IP kameraları ve hoparlörler gibi diğer işleme istekleri olan cihazlar için yararlıdır.
Spinel protokolü
Spinel, ana makinenin bir ortak işlemciyle iletişim kurmasına ve yönetmesine olanak tanıyan genel bir yönetim protokolüdür. Başlangıçta iş parçacığı tabanlı NCP'leri desteklemek üzere tasarlanan Spinel, gelecekte diğer ağ teknolojilerine kolayca uyum sağlamasına olanak tanıyan katmanlı bir yaklaşımla tasarlanmıştır. Hem RCP hem de NCP tasarımlarıyla kullanılır.
Bu protokol /src/lib/spinel
adresindeki OpenThread'e dahildir. Test amacıyla Pyspinel adlı bir Python CLI aracı kullanılabilir.
Daha fazla bilgi için Spinel Host-Controller Protocol İnternet Taslağı'na bakın.