目前多標(biāo)準(zhǔn)多協(xié)議共存的場(chǎng)合應(yīng)用增多,而充當(dāng)協(xié)議轉(zhuǎn)換橋梁作用的網(wǎng)關(guān)起到了關(guān)鍵作用當(dāng)前比較流行的兩個(gè)本地?zé)o線技術(shù)無(wú)疑是Wi-Fi 和藍(lán)牙,但是,對(duì)于低功耗、低帶寬的控制類應(yīng)用,諸如工廠內(nèi)的傳感器網(wǎng)絡(luò),ZigBee 或許是個(gè)更好的選擇。配備一個(gè)功能強(qiáng)大的處理器后,ZigBee 可以在低功耗、低帶寬的限制下高效完成很多復(fù)雜的應(yīng)用。
ZigBee 因其低成本、低功耗、組網(wǎng)靈活等眾多優(yōu)勢(shì),成為工業(yè)無(wú)線通信技術(shù)中備受關(guān)注的技術(shù)之一。ZigBee 是一種低速網(wǎng)絡(luò),傳輸速度為10KB/S~250KB/S,多樣的互聯(lián)方式使得組網(wǎng)方式靈活而穩(wěn)健。
文章介紹一種基于AT91SAM9260 的ZigBee 工業(yè)以太網(wǎng)網(wǎng)關(guān)設(shè)計(jì),實(shí)現(xiàn)ZigBee 與工業(yè)以太網(wǎng)的一種透明接入,上層采用ZigBee 協(xié)議,應(yīng)用于工業(yè)現(xiàn)場(chǎng)短距離的無(wú)線控制、監(jiān)測(cè)、數(shù)據(jù)傳輸?shù)鹊囊蕴W(wǎng)協(xié)議轉(zhuǎn)換,并內(nèi)嵌嵌入式WebServer 實(shí)現(xiàn)現(xiàn)場(chǎng)儀表的遠(yuǎn)程監(jiān)控、遠(yuǎn)程數(shù)據(jù)交互系統(tǒng)應(yīng)用框圖如圖1 所示用戶可通過(guò)ZigBee 以太網(wǎng)網(wǎng)關(guān)內(nèi)嵌得WebServer 直接訪問(wèn)或修改儀表數(shù)據(jù),實(shí)現(xiàn)現(xiàn)場(chǎng)儀表的遠(yuǎn)程監(jiān)控、遠(yuǎn)程診斷等當(dāng)網(wǎng)關(guān)接入GPRS 或因特網(wǎng)后,無(wú)論你身處何地都可隨時(shí)訪問(wèn)工業(yè)現(xiàn)場(chǎng)儀表數(shù)據(jù),實(shí)現(xiàn)現(xiàn)場(chǎng)儀表的遠(yuǎn)程組態(tài)、遠(yuǎn)程診斷以及遠(yuǎn)程操作等功能,使世界范圍內(nèi)的不同傳感監(jiān)測(cè)網(wǎng)絡(luò)可以信息共享。
1 硬件設(shè)計(jì)
網(wǎng)關(guān)硬件如圖2,系統(tǒng)以AT91SAM9260 為核心,AT91SAM9260 為ATMEL 公司高性能ARM9 處理器,主頻可達(dá)200M,帶有以太網(wǎng)MAC,擴(kuò)展了以太網(wǎng)PHY 模塊、 ZigBee 無(wú)線通信模塊、Nand FLASH和SDRAM。圖中K9F2G08 為256M的Nand FLASH,HY57V64162為64M SDRAM,與AT91SAM9260 的地址線、數(shù)據(jù)線、片選線、讀寫線直接無(wú)譯碼相連接。
DM9161 為以太網(wǎng)PHY 芯片,10M/100M 兼容,實(shí)現(xiàn)以太網(wǎng)物理層CC2520 是TI 公司的第二代的ZigBee/ IEEE 802.15.4 RF 收發(fā)器,具有當(dāng)今業(yè)界最佳的選擇性/共存性及優(yōu)異的鏈路預(yù)算功能特點(diǎn),目標(biāo)滿足各種應(yīng)用中ZigBee/IEEE 802.15.4 同專有無(wú)線系統(tǒng)的要求,而且提供了廣泛的硬件支持,包括數(shù)據(jù)包處理、數(shù)據(jù)緩沖、突發(fā)傳輸、數(shù)據(jù)加密、數(shù)據(jù)認(rèn)證、空閑通道評(píng)估、鏈接質(zhì)量指示以及數(shù)據(jù)包計(jì)時(shí)信息等,與AT91SAM9260之間通過(guò)SPI 進(jìn)行數(shù)據(jù)通訊與控制。
2 軟件設(shè)計(jì)
網(wǎng)關(guān)軟件采用內(nèi)嵌Linux-2.6.28 內(nèi)核,在上層應(yīng)用添加ZigBee 服務(wù),實(shí)現(xiàn)ZigBee 與以太網(wǎng)協(xié)議的轉(zhuǎn)換。以太網(wǎng)數(shù)據(jù)報(bào)文通過(guò) UDP 端口接收,去掉幀頭幀尾,附加Zigbee 短地址,通過(guò)串口發(fā)給CC2520,封裝為 ZigBee 報(bào)文發(fā)送現(xiàn)場(chǎng)數(shù)據(jù)的ZigBee 報(bào)文由CC2520轉(zhuǎn)為串口數(shù)據(jù)接收,去掉ZigBee 短地址,附加UDP 幀頭幀尾,然后由以太網(wǎng)口轉(zhuǎn)發(fā)。軟件設(shè)計(jì)架構(gòu)如圖3 所示。
軟件執(zhí)行流程圖如圖4 所示,底層的硬件初始化包括時(shí)鐘的設(shè)置、GPIO 的管理、串口的配置、以太網(wǎng)接口MII 的配置以及PHY 芯片的設(shè)置等,然后CC2520 的初始化配置無(wú)線通信模塊符合ZigBee 協(xié)議標(biāo)準(zhǔn),CC2520 初始化設(shè)置后,模塊即可以實(shí)現(xiàn)透明串口傳輸,與ARM 處理器進(jìn)行數(shù)據(jù)交互。為適應(yīng)短幀實(shí)時(shí)和確定性通信發(fā)展趨勢(shì),以太網(wǎng)通信采用UDP/IP 協(xié)議啟動(dòng)linux 內(nèi)核多任務(wù)調(diào)度管理,進(jìn)行串口數(shù)據(jù)的收發(fā)、UDP 的接收與發(fā)送以及嵌入式WebServer 等任務(wù)。
3 ZigBee與以太網(wǎng)協(xié)議轉(zhuǎn)換軟件設(shè)計(jì)
TCP/IP 協(xié)議使用MAC 地址進(jìn)行硬件地址的識(shí)別并使用ARP 協(xié)議進(jìn)行硬件地址到IP 地址的解析因此必須完成ZigBee 到ARP 地址的轉(zhuǎn)換,才能保證正常通訊ZigBee 中每個(gè)節(jié)點(diǎn)都有自己的MAC 地址,格式由64 位長(zhǎng)地址和16 位短地址組成文章設(shè)計(jì)實(shí)現(xiàn)了ZigBee協(xié)議中適配層和ARP,完成ZigBee 中MAC 地址到以太網(wǎng)IP 地址的映射工作流程圖如圖5 所示當(dāng)網(wǎng)關(guān)接收到一個(gè)正常發(fā)往本地IP 的以太網(wǎng)數(shù)據(jù)包后,經(jīng)過(guò)協(xié)議判斷送往上層UDP(TCP)處理,最后到網(wǎng)關(guān)的應(yīng)用程序處理網(wǎng)關(guān)應(yīng)用程序經(jīng)過(guò)分析判斷,確定需要轉(zhuǎn)發(fā)給ZigBee 網(wǎng)絡(luò)中的哪個(gè)節(jié)點(diǎn),經(jīng)過(guò)ZigBee 端的ARP 地址解析出對(duì)應(yīng)的ZigBee 中的節(jié)點(diǎn)MAC地址,將相應(yīng)的數(shù)據(jù)包送至該節(jié)點(diǎn),完成一次數(shù)據(jù)通訊。
同理,當(dāng)ZigBee 端收到數(shù)據(jù)包后,通過(guò)同樣的解析將數(shù)據(jù)包送至對(duì)應(yīng)節(jié)點(diǎn)或設(shè)備通過(guò)內(nèi)嵌的WebServer 用戶可實(shí)現(xiàn)ZigBee 節(jié)點(diǎn)的實(shí)時(shí)訪問(wèn)、修改、組態(tài)等。
4 結(jié)束語(yǔ)
在網(wǎng)關(guān)中內(nèi)嵌WebServer,可通過(guò)以太網(wǎng)隨時(shí)訪問(wèn)或修改現(xiàn)場(chǎng)儀表的數(shù)據(jù),實(shí)現(xiàn)遠(yuǎn)程控制,遠(yuǎn)程診斷等該產(chǎn)品有效的解決了工業(yè)現(xiàn)場(chǎng)短距離ZigBee 無(wú)線通訊連接以太網(wǎng)的問(wèn)題,以全新的方式向物聯(lián)網(wǎng)靠攏。