ZigBee技術(shù)是物聯(lián)網(wǎng)行業(yè)中最常用的一種無(wú)線(xiàn)技術(shù),如果我們要做一個(gè)基于ZigBee技術(shù)的物聯(lián)網(wǎng)應(yīng)用,那么最好還是要對(duì)ZigBee協(xié)議棧要有一定的了解。所以下面就讓成都億佰特電子科技有限公司的小編來(lái)給大家簡(jiǎn)單的講解一下ZigBee協(xié)議棧。
本文就來(lái)給大家講解的ZigBee協(xié)議棧是ZigBee2007版本,也是現(xiàn)在最常用的一個(gè)版本。
ZigBee協(xié)議??梢苑譃樗膶樱?/span>物理層(PHY)、媒體訪(fǎng)問(wèn)控制層(MAC)、網(wǎng)絡(luò)層(NWK)及應(yīng)用層(APL)。如圖所示,粉色的部分是由IEEE標(biāo)準(zhǔn)中定義的,淺藍(lán)色部分是由ZigBee聯(lián)盟規(guī)定的,黃色部分是由設(shè)備廠商自行定義。
ZigBee協(xié)議棧圖示
在ZigBee協(xié)議棧的圖示中,我們還可以發(fā)現(xiàn)有很多圓角矩形,都帶有SAP的字樣。SAP的意思就是服務(wù)接入點(diǎn)(Service Access Point)的意思,是協(xié)議棧層與層之間的接口,協(xié)議棧都是分層結(jié)構(gòu)的,接口就是層與層之間的溝通渠道。
ZigBee協(xié)議棧相鄰的上下層之間一般都有兩個(gè)接口,也就是兩個(gè)SAP。名字中帶字母D的SAP是數(shù)據(jù)接口,負(fù)責(zé)層間數(shù)據(jù)傳輸;名字中帶字母M的SAP是管理接口,供上層或協(xié)議棧的管理平面對(duì)該層進(jìn)行控制,比如進(jìn)行一些參數(shù)配置,或讀取狀態(tài)等。
PHY層& MAC層 & NWK協(xié)議層
ZigBee協(xié)議棧的物理層及MAC層都是IEEE 802.5.14-2003標(biāo)準(zhǔn)協(xié)議中定義的。PHY層(物理層)規(guī)定了所使用的頻段,以及所使用的編碼、調(diào)制、擴(kuò)頻、調(diào)頻等無(wú)線(xiàn)傳輸技術(shù);有了物理層,就有了一個(gè)實(shí)現(xiàn)點(diǎn)到點(diǎn)之間的信號(hào)發(fā)射與接收的基礎(chǔ),沒(méi)有物理層協(xié)議,設(shè)備間是根本沒(méi)有辦法通信的,有可能都不在一個(gè)頻段上。
MAC層的主要作用規(guī)定了無(wú)線(xiàn)信道的訪(fǎng)問(wèn)控制機(jī)制,也就是規(guī)定各個(gè)設(shè)備按照什么規(guī)矩輪流使用信道;如果沒(méi)有MAC層協(xié)議,節(jié)點(diǎn)一多,大家沒(méi)有個(gè)規(guī)矩,就會(huì)發(fā)生信號(hào)沖突,誰(shuí)都沒(méi)法正常傳輸數(shù)據(jù)了。。
ZigBee協(xié)議棧在802.15.4協(xié)議基礎(chǔ)上定義了網(wǎng)絡(luò)層。網(wǎng)絡(luò)層的主要作用是負(fù)責(zé)設(shè)備的連接和斷開(kāi)、在幀數(shù)據(jù)傳遞時(shí)采用的安全機(jī)制、路由發(fā)現(xiàn)和維護(hù)。簡(jiǎn)單說(shuō),就是保障設(shè)備之間的組網(wǎng)和網(wǎng)絡(luò)節(jié)點(diǎn)間的數(shù)據(jù)傳輸。ZigBee技術(shù)支持多跳路由,可以實(shí)現(xiàn)星型拓?fù)?、?shù)型拓?fù)浜途W(wǎng)狀拓?fù)涞炔煌木W(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。
PHY & MAC & NWK這三層協(xié)議,主要是為了上面的應(yīng)用層服務(wù)的,在產(chǎn)品開(kāi)發(fā)過(guò)程中,不需要深入涉及這三層協(xié)議的實(shí)現(xiàn)細(xì)節(jié),應(yīng)用層才是開(kāi)發(fā)關(guān)注的部分。
應(yīng)用層
ZigBee的應(yīng)用層的內(nèi)部又分了三個(gè)部分:包括應(yīng)用框架、應(yīng)用支持子層(APS)及ZigBee設(shè)備對(duì)象(ZDO)。應(yīng)用框架中包含至少一個(gè)應(yīng)用程序?qū)ο?,也就是ZigBee設(shè)備的應(yīng)用程序,是ZigBee產(chǎn)品開(kāi)發(fā)人員所要實(shí)現(xiàn)的部分。
應(yīng)用支持子層APS參考模型
除了接口,協(xié)議棧中還經(jīng)常會(huì)碰到實(shí)體(Entity)的概念。所謂實(shí)體,就是在協(xié)議棧里面進(jìn)行數(shù)據(jù)發(fā)送或接收的一個(gè)基本組成,可能是軟件,也有可能是硬件,具體與協(xié)議的實(shí)現(xiàn)有關(guān)系。每一層協(xié)議都是由一個(gè)或多個(gè)實(shí)體組成的。
應(yīng)用支持子層(APS)包括了數(shù)據(jù)實(shí)體(APSDE)與管理實(shí)體(APSME),作用就是向上層提供數(shù)據(jù)傳輸和管理配置的服務(wù)。應(yīng)用支持子層隔離了應(yīng)用框架與網(wǎng)絡(luò)層,為應(yīng)用程序的運(yùn)行提供支撐。
APS與應(yīng)用程序之間的數(shù)據(jù)接口是APSDE-SAP,最多可以支持240個(gè)應(yīng)用程序?qū)ο螅ㄟ^(guò)端點(diǎn)(EndPoint)來(lái)連接應(yīng)用程序?qū)ο?。每個(gè)端點(diǎn)都有一個(gè)編號(hào),0號(hào)端點(diǎn)比較特殊,是連接ZDO的。應(yīng)用程序的端點(diǎn)編號(hào)是從1號(hào)開(kāi)始,一直到240號(hào)。一個(gè)ZigBee設(shè)備,比如無(wú)線(xiàn)開(kāi)關(guān)、無(wú)線(xiàn)燈具之類(lèi)的,一般會(huì)用到1~3個(gè)端點(diǎn)。
ZigBee設(shè)備對(duì)象(ZDO)可以認(rèn)為是一個(gè)特殊的應(yīng)用程序?qū)ο螅瑵M(mǎn)足了其他應(yīng)用程序?qū)ο蟮囊话阈孕枨蟆?/span>
在一個(gè)ZigBee設(shè)備中,ZDO扮演著管家的作用,它管的事情橫跨了好幾層 。ZDO的任務(wù)包括:協(xié)議棧初始化,如APS和NWK層以及安全服務(wù)的初始化;還有應(yīng)用程序要通過(guò)ZDO來(lái)執(zhí)行設(shè)備發(fā)現(xiàn)、服務(wù)發(fā)現(xiàn)、安全管理、網(wǎng)絡(luò)管理、綁定管理等管理工作。
上面說(shuō)的ZigBee協(xié)議棧,是ZigBee聯(lián)盟制定的協(xié)議規(guī)范。所有的ZigBee產(chǎn)業(yè)鏈內(nèi)的廠商都要按照這個(gè)規(guī)范來(lái)開(kāi)發(fā)產(chǎn)品,才能保證各自產(chǎn)品的兼容性,尤其是上游的芯片廠商。按照規(guī)范來(lái)做東西,才能讓大家放心購(gòu)買(mǎi)。
ZigBee芯片廠商一般也是開(kāi)發(fā)工具鏈的提供者,同時(shí)也是ZigBee協(xié)議的開(kāi)發(fā)者。ZigBee聯(lián)盟只是告訴大家協(xié)議是怎么一回事,但并沒(méi)有實(shí)現(xiàn)出來(lái)。ZigBee芯片廠商為了下游設(shè)備廠商更方便地開(kāi)發(fā)產(chǎn)品,不僅要提供芯片,還要提供基于這個(gè)芯片的一整套ZigBee協(xié)議棧,還包括了協(xié)議棧的開(kāi)發(fā)接口,也就是SDK。
比如TI公司的Z-Stack,就是ZigBee設(shè)備廠商早期使用最多的ZigBee協(xié)議棧。不過(guò)現(xiàn)在提供芯片和協(xié)議棧的公司也多了起來(lái),除了TI,還有Freescale,Ember,Jennic等芯片廠商,每家芯片廠商都有自己獨(dú)立實(shí)現(xiàn)的協(xié)議棧,設(shè)備廠商也有了更多的選擇。
今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多串口服務(wù)器、數(shù)傳電臺(tái)、lora模塊等無(wú)線(xiàn)數(shù)傳模塊產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)和企業(yè)公眾號(hào)(微信號(hào):cdebyte)進(jìn)行了解,也可以直接撥打400電話(huà)咨詢(xún)技術(shù)專(zhuān)員!