802.15.4/ZigBee市場目前仍然處於萌芽期,迄今為止,尚難斷定哪些應用將獲得市場普遍採納及其未來發展趨勢。因此,在晶片解決方案上,現階段最好就是採用離散式無線收發器加上一系列微控制器的方式來設計應用,同時,晶片廠商須與第三方供應商間緊密合作,以滿足隨著市場的發展而靈活演進。
802.15.4/ZigBee市場目前仍然處於萌芽期,迄今為止,尚難斷定哪些應用將獲得市場普遍採納及其未來發展趨勢。因此,在晶片解決方案上,現階段最好就是採用離散式無線收發器加上一系列微控制器的方式來設計應用,同時,晶片廠商須與第三方供應商間緊密合作,以滿足隨著市場的發展而靈活演進。
在IEEE 802.15.4組織和ZigBee聯盟的努力下,未來的家庭、工廠、辦公室和零售商店都不需要很多纜線,連接感測器和開關到照明、保安、HVAC和工業控制設備的纜線大約占一般大樓纜線的三分之一。如果用IEEE 802.15.4無線開關取代傳統的纜線式開關,承建商就能夠在新的建築工程中把勞動和材料這兩方面的成本削減大約三分之一;如果採用更現代化的設備對大樓進行翻新,所節省的成本甚至更多。
此外,802.15.4/ZigBee標準更可望在醫療監測設備、工業控制、自動讀表和其他領域開發出全新的應用,例如在商店的貨架上採用LED型無線價格標籤,以遠程方式自動更新貨品價格,取代人手逐一更改。如果把這些無線價格標籤連接到乙太網路或網際網路,只需一個人就能夠同時更新幾百個不同的地點的某項產品價格。
同時符合802.15.4和ZigBee標準
IEEE 802.15.4是低傳輸速率的無線標準,能透過一個無線感測器和開關網路,控制照明、保安、空調和其他系統。ZigBee聯盟正在開發一套基於 802.15.4的連網拓撲及應用標準,以確保不同供應商提供的設備獲得ZigBee認證後,能相互操作。由於ZiBee是802.15.4的子集,故獲得ZigBee認證的應用必須同時符合ZigBee和802.15.4這兩個標準,但802.15.4的應用卻不一定符合ZigBee標準。
這種區別非常重要,因為ZigBee標準正持續發展,而一些較高級的應用層至今仍沒有定義。如果一項應用毋需網狀(Mesh)網路的連網能力,並且不要求跟來自其他供應商的設備具有相互操作性,那麼一些原始設備製造商(OEM)可能寧願利用專用的應用構架和規範來開發802.15.4應用。這種方法使他們可以即時在市場上獨樹一幟,而不是等待最終標準獲得批准。如果最終產品的關鍵功能就是相互操作性,則該應用可被移植到ZigBee標準,並在標準獲得批准之後進行認證。
對於工程師來說,任何應用開發能否成功的關鍵在於有無選擇正確的解決方案,在ZigBee或其他802.15.4應用的情況下,此點更為重要,因為大多數工程師都不是射頻通訊的專家。能夠為設計中802.15.4部分在物理(PHY)層和媒體存取控制(MAC)層,以及ZigBee標準在網路安全、應用構架和應用規範層,提供充足支援的供應商,就是理想的選擇。
把不同的軟體和硬體層整合起來是非常艱鉅的工作(圖1),大多數工程師都認為選擇整合式系統級解決方案較好,這種方案包含802.15.4無線收發器部分、控制器、所有介面及802.15.4/ZigBee軟體堆疊以及能夠仿真應用的開發系統。一些供應商如愛特梅爾、德州儀器、飛思卡爾、捷力 (Jennic)和Ember等,在無線收發器、控制器、附屬軟體和開發工具方面提供相當完整的解決方案。
此外,還須考慮幾個問題:什麼類型的網路解決方案最適合該應用?針對該應用的最佳802.15.4無線收發器頻率是多少?供應商所提供的802.15.4 無線收發器的靈敏度是多少?媒體存取控制器的完整性和架構,要選用單晶片還是雙晶片的解決方案?功耗是多少?對未來的應用構架和規範的支援品質如何?
網路拓撲架構多元化
802.15.4和ZigBee標準可以實現若干類型的網路配置,包含點到多點的星形網路、樹狀網路和網狀網路。星形網路多用於低成本的遊戲或娛樂中心控制,其實現方式最簡單,而且設置和控制所需的代碼也最少,但節點的數量和覆蓋範圍有限。
樹狀網路多用於諸如存取或工業控制感測之類的應用,因為能容納較多的節點,所以可以覆蓋比星形網路更大的範圍。然而,其缺點是可能因延遲效應而造成嚴重的節點故障,並令系統停頓,且樹狀網路一般需要比多點系統更多的節點。
網狀網路則是最高層次的802.15.4/ZigBee配置,而且需要最多的網路級代碼。網狀網路具有重要節點故障的「自癒」能力,這使它們成為大型建築的控制系統或廣域感測的理想選擇,這類網路是至今為止最難以設計和推行的802.15.4/ZigBee網路。
至於應選擇哪一種網路?能夠完成任務的最簡單網路最好。能滿足所有要求的通用型網路解決方案看似可縮短產品上市時間,但可能不實用又成本昂貴,以至實際上反而會延遲上市時間。
三種RF頻率適用不同地區
802.15.4標準定義3個無線收發器頻率:僅用於歐盟的868MHz、用於美國的902MHz和全球通用的2.4GHz。2.4GHz無線收發器以 250kbit/s的傳輸速率傳輸,而902MHz及868MHz無線收發器分別以40kbit/s和20kbit/s的傳輸速率傳輸。在2.4GHz頻段有16個250kbit/s的通道可用,而902MHz頻段有10個40kbit/s通道,868MHz頻段則有一個20kbit/s通道(表1)。
現今市場上的絕大多數802.15.4無線收發器都在2.4GHz頻段內工作,這個毋須使用許可的頻率在全球通用,所以,須要具有全球相互操作性的應用一定要選用2.4GHz頻段。
不過,2.4GHz無線收發器也有一些缺點,其一是2.4GHz頻段擁擠不堪。藍牙(Bluetooth)、無線區域網(WLAN)、微波爐以至車庫大門的遙控器等都在這個毋須使用許可的頻段內工作,大大增加受干擾的可能性。除了一些老式的無線電話及鍵盤滑鼠之外,868M/902MHz頻段則幾乎沒有任何干擾。此外,868M/902MHz無線收發器的靈敏度較高,而且具有較強的固有牆壁穿透率,故可以把它們隔得更遠,從而有助降低網路的成本。由於具有這兩項優點,因此在同樣的距離上,這些較低頻寬的無線收發器所消耗的功率也比2.4GHz無線收發器所消耗的要低。
但其缺點是,900MHz頻段並未在歐盟獲得廣泛應用,所以對於需要在美國和歐洲之間具有互用性的應用,這是不大可行的方案。然而,這個頻段在非歐盟國家中相對缺乏,加上具有低功耗和高靈敏度的有利條件,使900MHz無線收發器成為工業或其他不需要全球相互操作性的應用的理想選擇。
高靈敏度延長視界距離並降低功耗
接收器的靈敏度是無線接收裝置能夠可靠地接收資料所需的最小功率,其單位是分貝(dBm)。dBm絕對數值越大,即負數,則表示接收器的靈敏度越高,因此無線接收裝置之間就可以隔得更遠。802.15.4標準所指定的2.4GHz無線接收裝置的最小接收靈敏度為-85dBm,而900MHz無線接收裝置的最小接收靈敏度為-92dBm。所有供應商的802.15.4無線接收裝置都超過這些標準的要求,其提供的無線接收裝置具有-90dBm~-100dBm 的接收靈敏度。
雖然6dBm不是很多,但卻可能對802.15.4無線接收裝置的視界(Line-of-sight)距離產生巨大的影響,透過把接收靈敏度從- 94dBm提高到-100dBm,就可以把無線接收裝置的視界距離有效地延長一倍。例如,若一個無線接收裝置的接收靈敏度為-94dBm,對應的視界距離為100公尺,當把靈敏度僅僅提高6dBm,達到-100dBm,那麼視界距離就可延伸到最多200公尺。也許更重要的,是較高的靈敏度可以減少或取消對昂貴而耗電的功率放大器(PA)的需求,因此可以簡化系統的複雜性、降低成本,並減少功耗。因為這個原因,工程師應該選擇具有最高可能接收靈敏度的無線接收元件。
另外一個決定無線發射裝置距離的因素是傳輸功率,無線傳輸裝置的傳輸功率越大,其距離就越長。802.15.4標準要求無線傳輸裝置具有-3dBm或 0.5毫瓦的最小輸出功率。現今市場上的無線傳輸裝置具有0dBm(1毫瓦)和3dBm(2毫瓦)的輸出功率。但是,接收靈敏度和傳輸功率將影響一對傳輸器/接收器的視界距離,接收靈敏度越高,傳輸功率越大,則距離越遠。即使在跟視界沒有連繫的大樓中,擁有高傳輸功率和良好接收靈敏度,將可使無線電鏈路更穩健和強大。
接收靈敏度和輸出功率的絕對數值之和被稱為鏈路預算(Link Budget),並且與操作距離有關(表2)。例如,已被德州儀器購併的Chipcon,其CC2420 2.4GHz 802.15.4無線收發器的傳輸功率為0dBm(1毫瓦),接收靈敏度為-94dBm;而愛特梅爾的Z-Link無線收發器的傳輸功率為3dBm(2毫瓦),接收靈敏度為-100dBm,那麼,Chipcon元件的無線收發器鏈路預算為94dBm,而愛特梅爾元件的無線收發器鏈路預算為103dBm。
在同樣的條件下,如果Chipcon無線收發器的通訊距離為100公尺,那麼愛特梅爾無線收發器的通訊距離就是280公尺。因此,在鏈路預算上僅僅 9dBm的差異,便會使通訊距離增加幾乎達三倍,這意味著覆蓋相同的網路區域所需的節點數大約是原來的三分之一。假設利用具有較低鏈路預算的無線收發器構建的網路需要1,000個節點,那麼利用具有較高鏈路預算的無線收發器來覆蓋相同的區域就僅僅需要357個節點。以每一個節點10美元計算,利用具有較高鏈路預算的無線收發器,原來10,000美元的系統成本Y就可以降低至3,570美元。因此,當評估802.15.4或ZigBee應用時,鏈路預算是極重要的考慮因素。鏈路預算越高就越好,因為無線收發器可以被間隔得更遠,所需的節點數便可以減少,而且系統成本也會降低。
減少MAC占用記憶體
802.15.4 MAC是在網路安全層和802.15.4無線收發器之間提供介面的軟體,MAC的推行方式對系統的複雜性、性能、功耗、成本和系統功能的可擴展能力(Scalability)等只有實質上面的影響。
一個完整的802.15.4 MAC可能需要多達24KB的記憶體,故MAC的完美程度與系統成本之間存在一定的折衷。不同的供應商採用不同的方法來盡可能把MAC所占用的記憶體減至最小,一些供應商為目標的控制器把MAC代碼最佳化,從而占用最少的記憶體,但同時保持完整的MAC功能集,另一些供應商則刪減MAC的功能,如保證時隙 (Guaranteed Time Slot, GTS)就被視為對目標應用不重要而刪掉。
雖然後一種方法會因微控制器(MCU)使用較小的快閃記憶體而可能降低成本,但卻可能對下一代應用中系統的可擴展能力造成不利影響。例如,若應用的MAC 不具備GTS,當演進到將來需要GTS的應用時,至少MAC、甚至可能整個網路層都不得不重新設計。如果它是一個ZigBee應用,那麼整個設計都必須重新經過認證。
選擇能提供最緊湊編譯代碼的C/C++型微控制器和編譯器來解決代碼密度問題是更可取的做法,例如,在基於8051的微控制器上需要55KB快閃記憶體的 802.15.4應用編譯代碼,在基於AVR的微控制器上可能只需30KB的快閃記憶體。從編譯器角度來看,對同樣的代碼進行編譯,IAR編譯器在編譯 802.15.4代碼所得的代碼密度,較利用GCC的GNU編譯器所得高20%,此優點已廣為業界認同。
MAC架構及其與應用軟體的整合方式也可能對系統性能產生重大影響,資源的調度(Scheduling)極其重要,因為MAC子層必須與提供網路配置、處理和消息路由的網路層,及提供元件的預期功能的應用層共用處理器資源。調度的方法基本上有兩種,即協同式(Co-operative)多工調度和先取式 (Pre-emptive)多工調度。
在協同式多工調度中,每一個任務都會自動把微控制器讓給下一個任務,這種方法毋須推行複雜的調度演算法,故程式碼較小。此外,它不要求上下文切換,所以延遲較短,而且可以使用較小的記憶體。不過,協同式多工調度的缺點在於存在大量的信任問題,每一個處理必須定期地把處理器時間交給其他處理。一個設計不良的程式或一個懸而未決的任務可能會導致系統停頓,設計一個能夠避免這些缺陷的系統很費時,而且也可能造成不規則使用或浪費系統資源。
在先取式多工調度中,調度器可以進行上下文切換,以滿足調度政策的優先順序規定,因此可先取處於執行狀態的任務,並有效地防止懸而未決的任務導致系統暫停。然而,此方式要求大量的代碼,而且會導致系統延遲。典型的802.15.4應用通常不需要這種級別的保護,而且一般可以採用較小的代碼和具有較短延遲的協同式多工調度方案。簡言之,協同式多工調度讓應用設計工程師控制調度工作,而先取式多工調度則把控制調度的能力給予作業系統和軟體堆疊。
IEEE 802.15.4 MAC庫提供一組可被調用的非阻塞(Non-blocking)函數,以便把IEEE 802.15.4 MAC層管理實體(MLME)源語(Primitive)傳遞到MAC任務。利用協同式多工調度方案,這些非阻塞函數在開始下一個任務前,便會立即返回微控制器,在這個架構中,較高層的任務週期性地調用較低層的任務,較高層利用一組喚回(Callback)函數把802.15.4 MLME源語傳遞回去,此過程也是非阻塞性的。這樣可確保應用程式完全控制微控制器。事實上,設計工程師可以這些應用之中加入一個先取任務調度器。
在選擇MAC時,另外一個重要因素是尋找一種具有硬體抽象層(Abstraction Layer)的MAC,這種硬體抽象層常見於多個不同的控制器中。這一MAC薄層將為記憶體密度、周邊設備設置以及系統整合方面提供很大的靈活性。例如,與終端節點相比,控制器節點具有不同的周邊設備和記憶體要求。具有HAL功能的MAC為不同的控制器提供全面支援,讓設計工程師針對每一個 802.15.4網路把成本與功能集之間的平衡最佳化。
控制RF和MCU之功耗
802.15.4/ZigBee應用涉及的網路具有多達65,000個節點,每一個節點都有一個無線收發器和一個微控制器。節點有三種基本類型,分別是微控制器節點、全功能節點(Full Function Device, FFD)和精減功能節點(Reduced Function Device, RFD)。微控制器和全功能節點,例如閘道伺服器或電氣設備中的節點,通常以纜線連接到一個電源。精簡功能節點,例如連接到感測器和開關的節點,則往往由電池供電。所有由電池供電的節點都應該具有非常長的電池壽命,如果可能的話,要比終端產品的壽命要長。事實上,ZigBee標準對電池供電的節點要求具有兩年的電池壽命。當然,電池的壽命越長就越好,試想想,如果每隔幾年就要更換大樓或房子中的所有電燈開關,那是多麼令人煩惱的事情,更別提昂貴的成本。
影響功耗的因素包括無線收發器和微控制器的供電電壓、無線收發器和微控制器所消耗的工作電流、控制器工作的時鐘頻率、無線收發器和微控制器的休眠模式功耗、系統中所需的周邊元件數量,特別是功率放大器,以及代碼長度。
在設計電池供電的節點時,經驗法則之一是選用具有最高傳輸功率和最高接收靈敏度的無線收發器,從而把功率放大器的耗電量減至最少甚至完全消除。控制器應該由執行最小時鐘週期數的MAC支援。無線收發器和控制器兩者都要支援多個電源電壓,其中,低端不要高於1.8伏特,並具有真正的1.8伏特工作電壓(圖 2)。
由於大多數電池供電的802.15.4/ZigBee節點如感溫器或電燈開關,在99.9%的時間裡都處於休眠模式,只會週期性地喚醒數毫秒,以檢查感測器或查詢其他無線收發器,所以節點的總功耗接近休眠模式的功耗。
這一點是很重要的,因為工程師和供應商都傾向於強調工作(Active)功耗。然而,對一個大多數時間處於關閉狀態的系統中,工作功耗可能還不如休眠功耗重要。假設一個終端節點每分鐘喚醒一次,來執行一個持續時間為12微秒的任務,傳輸和接收所需的時間相等,其餘時間該節點都處於休眠狀態。
如表3所示,工作模式功耗0.00400毫安培+休眠模式功耗0.0022毫安培=0.0062毫安培,僅僅由微控制器和無線收發器消耗的總功率為0.0062毫安培,休眠模式功耗占總功耗的三分之一。
估計電池的壽命是一項棘手的工作,因為必須把在參考設計以及感測器或指示器中所有的外部零組件都計算在內。在現實生活的溫度感測器節點應用中,微控制器的工作電流為8毫安培,監視器計時器開啟時的休眠電流為1.5微安培;無線收發器的傳輸和接收電流分別為17毫安培和15毫安培,而休眠電流為0.7微安培。這個應用從喚醒、感測、ADC轉換、傳輸數據、接收確認,到再次轉換回休眠模式所消耗的實際功率為0.0011mAh,包括外部零組件和針對每一個傳輸週期的感測器。
以每分鐘傳輸一次的速率來算,該節點每小時工作會消耗0.0706毫安培。在這個速率下,兩枚AA 2700mAh鋰離子電池的壽命大約為5.2年。把微控制器和無線收發器的休眠模式電流同時提高1微安培,電池的壽命就減少至4.8年,大約縮短10%。
除了要密切注意無線收發器和控制器兩者的休眠模式功耗外,在設計電池供電的節點時,工程師還應該核查控制器的數據表,以確認真正的1.8伏特工作電壓範圍。一些微控制器在其市場推廣小冊中聲稱具有1.8伏特工作電壓,實際上需要在2.0伏特以上才能正常工作。0.2伏特的電壓差可能把實際的電池壽命削減多達30%,這些資訊可能隱藏在註腳中,所以,最好就是直接聯絡供應商來確認供電電壓。
採用精確的計數器和降壓檢測
控制器在低於其最小電壓的情況下,工作可能會錯誤地執行代碼,造成代碼失控及非揮發性記憶體的崩潰,這可能會對應用造成永久性的損害,以致再也不能工作。因此,工程師多採用降壓檢測器(Brownout Detector, BOD)來檢測電源電壓,並在它跌落到某一閥值(Threshold)之前關閉系統。可惜的是,BOD卻會增加休眠模式的功耗,對此,常見的解決方案是採用Zero-power降壓檢測器。雖然這種方法把功耗維持在最低水平,但是太小的電流可能會影響BOD的精度和速度,以至於在發現到降壓或執行復位前,系統就已經失效。
BOD需要至少20微安培,才有足夠的精度和速度來保護系統。在不增加休眠模式功耗的情況下實現這個精度的辦法之一是控制器進入休眠狀態時就關閉BOD,而在控制器被容許執行任何代碼之前就喚醒BOD。這種方法提供更好的降壓檢測性能,不需要在休眠模式的功耗問題作出讓步。
ZigBee和802.15.4終端節點一般都須要追蹤和記錄時間,週期性地喚醒以查詢一個感測器或向某一個控制器節點報到。無論是在工作和休眠模式,這些系統的即時時鐘都必須精確地運行,並消耗最少量的功率。可以使用即時晶體振盪器或非常低功耗的振盪器(Very Low Power Oscillator, VLO),以在深度休眠模式中進行定時喚醒。如果定時精度不重要,VLO可能是很良好的選擇,然而,如果定時須精確,那就須確認微控制器是否具非常精確的 32kHz振盪器。
簡化射頻電路外部元件
射頻電路往往需要外部元件,如濾波器、功率放大器、平衡/不平衡變換器(Balun)、線圈和電感器等,以滿足距離或靈敏度標準的要求。然而,外部元件的數量應該維持最少,因為它們價錢不菲,而且也會增加電路板面積和功耗。如果同時有兩款射頻電路都滿足功耗和靈敏度要求,並提供非插入式MAC,那麼,哪一款射頻電路只需最少的外部元件就是最好的選擇。
選購完整解決方案簡化開發流程
許多供應商提供802.15.4/ZigBee無線收發器或控制器,或兩者同時提供。這些功能可以被整合到一個單晶片上或以完整的晶片組形式出現。大多數工程師其實都對無線收發器與控制器的整合不在行,因此應該向一個供應商選購完整的解決方案,這將大大簡化產品的開發過程,並為工程師帶來極大的自由度,為終端應用開發出與別不同的功能。
單晶片解決方案雖然所占的面積小,而且可以降低功耗,但卻可能逼使工程師採用不是最適合於目標應用的微控制器。此外,嵌入式控制器可能不具備所有必要的周邊設備,再者,雖然嵌入式控制器具備對第一代設計而言足夠的快閃記憶體,但卻可能無法升級到採用更大記憶體的元件,因此不能滿足添加新軟體功能的需求。如果沒有升級到具有128KB或256KB快閃記憶體控制器的途徑,就可能須要加入外部晶片,這樣便會增加系統的成本、電路板的面積和功耗。相反地,單晶片解決方案也不能透過選擇具有較小快閃記憶體或較少周邊設備的控制器來降低成本。
802.15.4/ZigBee市場仍然處於萌芽時期,迄今為止,沒有人能夠預測哪些應用將獲得市場普遍採納或將如何發展,而且人們未曾想像過的應用可能有許多,因此,現階段最好就是採用離散式無線收發器加上一系列微控制器的方式來設計應用,這樣應用就可以隨著市場的發展而靈活演進。
有些802.15.4/ZigBee供應商提供參考設計和開發工具套裝,這些工具套裝已完成802.15.4應用,只須把它整合到目標應用中即可。利用供應商在射頻應用方面的專業知識是個好方法,但不同供應商所提供的參考設計的品質和完整性有天壤之別。一些供應商提供的電路板僅配備收發器、控制器及少許電路,另外一些供應商則提供模組化的工具套裝,內含建立成功802.15.4應用所需的全部模組。較高端的參考設計則含一塊電路板,配備收發器和控制器、全功能的802.15.4 MAC,及工業標準的微控制器設計環境。
第三方供應商之重要性大增
802.15.4/ZigBee市場上有很多為不同應用提供理想解決方案的收發器及微控制器供應商。在評估802.15.4/ZigBee系統方案時,要特別注意架構穩健性和媒體存取控制器的大小、由收發器廠商所支援的微控制器的多樣性和靈活性,及收發器的接收靈敏度。
對於具有電池供電的終端節點應用,要特別注意休眠模式的功耗,和收發器及控制器兩者的電壓工作範圍。此外,還要考慮每家供應商的產品所支援的應用框架和規範的多樣性及品質。要注意供應商開發的應用軟體,未來幾年ZigBee和802.15.4應用可能朝多個不同領域發展,晶片供應商的資源不足以讓他們成為每方面的專家,因此,工程師應與第三方供應商合作。但這些供應商應與晶片供應商須建立密切的夥伴關係,以確保應用的硬體到軟體過渡能順利完成。