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