ZigBee SoC的設(shè)計研究
今日相容于IEEE 802.15.4且適用于ZigBee的無線射頻收發(fā)器、微控制器及系統(tǒng)單芯片(SoC)半導(dǎo)體裝置已相當(dāng)普及。高度整合的多功能SoC解決方案是促成ZigBee無線網(wǎng)絡(luò)得以廣泛運(yùn)用在眾多應(yīng)用中的重要因素,包括工業(yè)監(jiān)控、家庭及建筑自動化、傳感器網(wǎng)絡(luò),乃至于無線醫(yī)療解決方案。在以上解決方案中增添無線射頻裝置的定位功能使得這些網(wǎng)絡(luò)的價值得以大幅提升。
定位功能
定位數(shù)據(jù)在許多應(yīng)用中可以顯著提升所交換信息的價值。對于病患監(jiān)控、資產(chǎn)追蹤、庫存控制、保全、倉儲、制造物流以及對于高度敏感的服務(wù)與計費(fèi)等相關(guān)應(yīng)用而言,定位功能可以說是驅(qū)動了無線傳感器網(wǎng)絡(luò)的發(fā)展。節(jié)點或傳感器位置信息也有助于無線網(wǎng)絡(luò)的傳遞及調(diào)整。例如,無線節(jié)點可以使用全球定位系統(tǒng)(GPS)之類的現(xiàn)有系統(tǒng)取得位置信息。然而,GPS型系統(tǒng)可能相當(dāng)昂貴,而且對于低成本且大范圍的簡易網(wǎng)絡(luò)應(yīng)用而言,也可能過于耗電且復(fù)雜。此外,GPS可以在室外環(huán)境有效又精確地發(fā)揮定位功能,但在室內(nèi)則未必如此。
在許多無線個人局域網(wǎng)絡(luò)(WPAN)應(yīng)用中,針對具備定位功能的網(wǎng)絡(luò)來說,其吸引力在于低成本的傳感器裝置,以及以低功耗自動運(yùn)作達(dá)到較長的設(shè)備使用壽命。由于ZigBee傳感器網(wǎng)絡(luò)具有多樣性,而且預(yù)期未來會相當(dāng)普遍,因此區(qū)域定位很可能成為這類無線系統(tǒng)中最令人興奮的特色之一。其中的概念是,透過簡易且符合成本效益的方式,在大量的 ZigBee網(wǎng)絡(luò)加入定位功能,即將定位功能加入傳感器節(jié)點硅芯片裝置中,這只會稍微提高復(fù)雜程度和成本。若將此類位置模塊整合于芯片,并且運(yùn)用無線信號處理過程中既有的信號指示器估計位置,例如接收信號強(qiáng)度指針(RSSI),即可將增加的尺寸大小與功耗以及位置估計工作的復(fù)雜程度降至最低。無線射頻定位是相當(dāng)繁復(fù)的過程。透過分布式方法(算法),可以將整個過程分成多個可管理的工作項目,這不僅能夠使節(jié)點所需的資源量相對減輕,且相較于集中式的方法也能夠明顯減少位置相關(guān)的網(wǎng)絡(luò)流量。
內(nèi)建定位引擎的ZigBee SoC
對于大多數(shù)ZigBee型無線應(yīng)用而言,若要使應(yīng)用系統(tǒng)的成本及設(shè)計復(fù)雜程度降低,卻又不減損 IEEE 802.15.4/Zigbee技術(shù)的功能,具備最優(yōu)設(shè)計的系統(tǒng)單芯片裝置是重要關(guān)鍵。真正實行系統(tǒng)單芯片解決方案,也就是將無線射頻收發(fā)器、數(shù)據(jù)處理單元、內(nèi)存及使用者應(yīng)用功能等所有的運(yùn)作功能,整合于一個硅芯片,即可達(dá)到高效能、低成本及快速上市等優(yōu)點。低功耗之所以能夠發(fā)揮高效能,是因為芯片內(nèi)建專門功能緊密交互作用,使得耗用的資源大幅降低。透過最低程度的系統(tǒng)物料清單 (BOM)、較小的體積尺寸與較少的組件、較簡易的組裝與測試,以及簡單且可靠的設(shè)計,其制造成本得以降低并能加速上市時程。
圖1是市售硅芯片解決方案中具有代表性的CC2431,這是一款真正的系統(tǒng)單芯片CMOS器件,不僅能夠發(fā)揮高效能,而且能夠滿足以2.4GHz ISM頻帶運(yùn)作的IEEE 802.15.4/ZigBee無線標(biāo)準(zhǔn)對于低成本及低功耗的需求。由于2.4GHz ISM頻帶具備最大頻寬且全球通用,能夠促進(jìn)全球市場的發(fā)展及應(yīng)用設(shè)計的彈性,IEEE 802.15.4標(biāo)準(zhǔn)的2.4GHz PHY因而具有相當(dāng)大的潛力。CC2431將高效能2.4GHz直接序列展頻(DSSS)無線射頻收發(fā)器結(jié)合廣受業(yè)界肯定的精巧型高效率8051微控制器、8KB RAM、128KB嵌入式閃存,以及其他實用的支持功能。其中一項是強(qiáng)大的RSSI定位引擎,適用于低功耗ZigBee無線傳感器網(wǎng)絡(luò)應(yīng)用,例如,資產(chǎn)追蹤、病患監(jiān)控、庫存控制、保全及試行網(wǎng)絡(luò)。芯片內(nèi)建定位引擎的一項主要功能是分布算法,例如,在各個節(jié)點進(jìn)行位置計算。由于過程中只傳輸計算的位置,而非進(jìn)行計算所使用的數(shù)據(jù),因此在節(jié)點進(jìn)行位置計算能夠減少集中式運(yùn)算法會出現(xiàn)的網(wǎng)絡(luò)流量及通信延遲。
圖1 具備定位功能的ZigBee SoC裝置
分布式定位功能(Distributed Localization)
CC2431的定位引擎是數(shù)字硬件區(qū)塊,能夠使無線節(jié)點在IEEE 802.15.4或ZigBee網(wǎng)絡(luò)中以迅速有效的方式?jīng)Q定自身的平面位置坐標(biāo)。利用相同引擎的多個參照節(jié)點或其他動態(tài)鄰近節(jié)點所接收到的信號值,可以統(tǒng)計、演算與估計最可能的位置,以完成無線節(jié)點的定位。
定位引擎模塊的設(shè)計使其便于使用及與芯片內(nèi)建的微控制器接合。這個獨立模塊的功耗相當(dāng)?shù)筒⑶疫\(yùn)作快速,因此能夠持續(xù)使用,完全不會耗用裝置的運(yùn)算資源。
在網(wǎng)絡(luò)中,已知位置的節(jié)點稱為參照節(jié)點,位置未知而需要計算的節(jié)點則稱為待測節(jié)點(blind node)。根據(jù)距離最近的參照節(jié)點所收到的信息,CC2431能夠運(yùn)用分布式定位功能得知待測節(jié)點的位置。
其中的網(wǎng)絡(luò)流量僅局限于(待測)節(jié)點的通信范圍內(nèi)所涵蓋的節(jié)點,而不會擴(kuò)及到可能相距甚遠(yuǎn)的中央節(jié)點。此分布式方法能夠處理相同網(wǎng)絡(luò)的大量待測節(jié)點,而集中式方法的網(wǎng)絡(luò)流量則會因為待測節(jié)點過多而急遽增加。在參照節(jié)點與待測節(jié)點間交換的必要信息為參照節(jié)點的X與Y坐標(biāo)。參照節(jié)點接收到的信息中內(nèi)含所測得的RSSI值,定位引擎會根據(jù)參照(X,Y)坐標(biāo)以及此RSSI值,計算出自身的(X,Y)坐標(biāo)。
兩個無線射頻之間的RSSI值深受環(huán)境(變化)的影響,為了補(bǔ)足這個變動,CC2431的定位引擎會收集3~16個參照節(jié)點的數(shù)據(jù),以用于計算位置。如果接收到的數(shù)據(jù)來自16個以上的節(jié)點,則會將接收的參照節(jié)點位置加以排序,并使用其中16個最強(qiáng)的參照RSSI值。
ZigBee網(wǎng)絡(luò)使用CC2431進(jìn)行的實際室內(nèi)測量如圖2所示。
圖2 CC2431的分布式定位