最適合的選擇——ZigBee SoC解決方案
在開發(fā)2.4 GHz ZigBee®無線網絡應用時,設計工程師通常會面臨系統(tǒng)分割的選擇:對ZigBee的連接性及網絡處理解決方案而言,最佳的整合層級為何?從效能、功耗及成本的角度來看,何者是最適合的選擇——是將2.4 GHz無線收發(fā)器及處理核心整合為單芯片解決方案的ZigBee系統(tǒng)單芯片(SoC)比較好?還是具有獨立收發(fā)器及主處理器的離散式方案較佳?
在解決這些問題之前,先讓我們仔細分析ZigBee技術。根據IEEE針對低功率無線網絡所推出的802.15.4 MAC/PHY規(guī)格,ZigBee憑借增加網狀網絡協(xié)議及應用文件檔案來擴展IEEE 802.15.4,讓各裝置之間能夠完全互相操作。ZigBee使用高可靠、可擴充的網狀網絡協(xié)議,可支持數千個節(jié)點。ZigBee應用文件檔案則針對家庭/商業(yè)自動化、智慧能源、健康醫(yī)療及零售設備定義共通語言。ZigBee也提供設備的測試及認證,以確保從射頻到應用層的互相操作性。
針對傳感及控制網絡,ZigBee已被設計為高度可靠、低成本、低功率的無線網絡解決方案。系統(tǒng)分區(qū)的選擇最終將對ZigBee解決方案的網絡效能、功耗及成本造成極大的影響。
系統(tǒng)分區(qū)
圖1顯示三種基本的系統(tǒng)分區(qū)選擇:ZigBee系統(tǒng)單芯片、ZigBee網絡協(xié)同處理器(NCP)加上主處理器,以及ZigBee收發(fā)器加上主處理器。
在系統(tǒng)單芯片的設計中,IEEE 802.15.4的標準,射頻是嵌入式處理器的一個外設,所有的封包處理及應用處理都在單芯片內執(zhí)行。系統(tǒng)單芯片一般會包括微處理器的硬件外設 ,以支持運算負荷繁重的功能,例如AES(高級加密標準)的加密。
在網絡協(xié)同處理器(NCP)的設計中,ZigBee協(xié)議棧是在射頻及網絡處理器芯片上運作,然后運用其SPI或UART接口連接至主處理器。主處理器僅處理那些被設備應用傳送或接收的封包。至于那些路由封包的處理,包括安全處理,則是在網絡處理器上進行,毋需中斷主處理器。因此,SPI或UART處理時間的影響僅會發(fā)生在封包的來源或目的地。
一個ZigBee收發(fā)器僅包含RF收發(fā)器及關鍵時序的MAC/PHY功能,主處理器則支持MAC的上層、網絡協(xié)議及應用編碼。所有的封包都必須傳送至主處理器進行處理。僅進行路由的那些封包則會被傳送至主處理器后再返回至射頻端,以進行再次傳輸,基本上是通過UART或SPI接口進行。通常AES加密的運作是在收發(fā)器芯片上執(zhí)行;因此需要額外的UART或SPI傳輸來支持安全處理?! ?/p>
圖1:ZigBee系統(tǒng)分區(qū)選擇
網絡性能
系統(tǒng)設計必須考慮吞吐量(throughput)及延遲(latency),以確保網絡可符合產品的設計目標。吞吐量是用來測量網絡可支持多少的數據傳輸量,這是非常關鍵的指標,用來測定網絡的擴充性。延遲則是測量節(jié)點間的訊息傳輸速度,這也是非常關鍵的指標,用來測定網絡的響應能力。吞吐量及延遲都與組件分割有關,系統(tǒng)架構必須納入考慮。
ZigBee是一種復合式的網狀網絡協(xié)議,包括保持在啟動狀態(tài)的路由器中樞,以及一般是在睡眠狀態(tài)中的終端裝置。路由器負責在終端裝置間;或是從終端裝置至中央控制器傳遞訊息。ZigBee網絡的吞吐量及延遲會與路由器處理數據封包及將它們傳送至適當目的地的速度有關。
本文選自電子發(fā)燒友網6月《智能工業(yè)特刊》Change The World欄目,轉載請注明出處。
路由器的效率與系統(tǒng)分區(qū)有關。若系統(tǒng)使用系統(tǒng)單芯片或網絡協(xié)同處理器,則可以在不喚醒或中斷主處理器的情況下處理所有的路由,封包一般會在5-10 ms內被傳送。若系統(tǒng)使用收發(fā)器,則這個收發(fā)器就必須喚醒或中斷主處理器去處理每一個封包。這樣的喚醒或中斷延遲時間可能會大于100 µs。此外,數據封包必須在收發(fā)器和主處理器之間傳送。ZigBee封包可能大至127字節(jié)(1016位),以一般的SPI/UART數據傳輸率傳送一個封包至處理器后再返回收發(fā)器,可能需耗費0.5-4 ms。ZigBee在MAC及網絡層、有時甚至在應用層都會使用AES加密。如果主處理器或收發(fā)器都未支持高效AES加密,則可能需要額外的UART或SPI數據傳輸。
圖2顯示系統(tǒng)分割對于小型5字節(jié)有效負載的網絡效能的影響,其中僅ZigBee收發(fā)器有支持AES加密。在使用系統(tǒng)單芯片或網絡協(xié)同處理器的網絡中,單一中繼點(hop)的延遲為10 ms,在使用收發(fā)器的網絡中則是20 ms。由于每個節(jié)點需要花費兩倍的時間去處理一個封包,因此使用收發(fā)器的網絡吞吐量會減少50%,這會讓可支持裝置的最大活動數量減半。針對那些極為重視時間的應用,例如照明,延遲的增加將限制可允許的中繼點最大數量,如此會降低網絡的擴充性及可靠性。
圖2:延遲vs.系統(tǒng)分割
功耗
ZigBee通訊協(xié)議的設計,是為了讓休眠中的裝置可控制其電池壽命。休眠中的裝置會設定自己喚醒及與網絡互動的時程,讓設計人員能在電池壽命及數據更新之間取得適當的平衡。此外,當原本休眠中的終端裝置喚醒時,ZigBee協(xié)議毋需再次進行同步化,因此可以很有效率地將數據傳送至源頭。
在ZigBee網絡中,最重要的功耗指標是終端節(jié)點的電池壽命。由電池供電的終端節(jié)點一般會處于休眠狀態(tài),僅會定期喚醒檢查是否有任何有用的數據自網絡傳送過來。當電池供電的終端裝置處于休眠狀態(tài)時,電力消耗主要是由漏電流所造成。
在數據傳輸期間,電池供電的終端裝置必須喚醒處理器、啟動收發(fā)器、執(zhí)行明確的信道評估、傳送數據要求、接收同意,而且可能還要接收來自網絡的數據。這些功能大部分是在MAC層執(zhí)行,無需與網絡堆棧互動。若網絡有數據要傳送給終端節(jié)點,則將數據由路由器傳送至終端節(jié)點所需的時間,便和系統(tǒng)分區(qū)有關。若此路由器是一個系統(tǒng)單芯片或網絡協(xié)同處理器,則資料要求可在內部處理,而路由器響應的時間一般是在2-3 ms內。若此路由器使用收發(fā)器,則此收發(fā)器必須喚醒或中斷主處理器、等待處理器創(chuàng)造數據封包,以及經由串行端口接收封包,因此會增加約10 ms的延遲。在延遲期間,終端節(jié)點的接收器仍然需維持啟用狀態(tài),而這會大幅降低電池壽命。很不幸的,路由器上的組件分割對于終端裝置的電池壽命會產生負面的影響。
對成本的影響
單芯片無線SoC解決方案,例如Silicon Labs的 Ember® ZigBee® SoC或NCP的成本通常會低于兩個芯片的收發(fā)器/主處理器解決方案。印制電路板(PCB)的成本也會較低,因為所需的電路板面積較少,組裝組件以及裝置間需要路由的信號也較少。硅芯片的總成本也降低了,因為消除了多余的功能,例如MAC/PHY和網絡層所需的AES硬件加速,另外也除去了用來溝通收發(fā)器及主處理器的串行端口及引腳。若系統(tǒng)擁有較大型的處理器,則開發(fā)人員通常會認為在設計中增加一個收發(fā)器是較具成本效益的,然而,在這些系統(tǒng)中,應該將對于延遲及吞吐量的影響列為設計選擇的考慮因素。
結論
針對不需主處理器的終端裝置及路由器,單芯片無線SoC系統(tǒng)分區(qū)方法可提供最佳的網絡性能、最低的功耗及最低的總成本。若系統(tǒng)需具有一個主處理器,則NCP系統(tǒng)分割方法可提供最佳的性能及最低的功耗,且最不會影響主處理的性能。
本文選自電子發(fā)燒友網6月《智能工業(yè)特刊》Change The World欄目,轉載請注明出處。
評論