《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于Linux內核的無線多頻段WSN網關設計
基于Linux內核的無線多頻段WSN網關設計
來源:互聯網
摘要: 本文介紹一種無線多頻段WSN網關,,可通過以太網或者移動通信網絡,,監(jiān)控多個頻段的無線傳感器子網節(jié)點的運行情況。隨著物聯網時代,,TD—SCDMA將促進物聯網有效發(fā)揮無縫通信的巨大威力,,該方案充分利用了互聯網和無線通信公用網絡資源,,將無線傳感網技術,、嵌入式技術、TD—SCDMA通信有機地結合起來,,成功設計了WSN/TD網關,,實現了無線傳感網與TD—SCDMA網絡的融合,在實際應用當中取得了良好的效果,。
Abstract:
Key words :

 

  目前,,物聯網(Internet of Things,IOT)正呈現飛速發(fā)展的態(tài)勢,。本文介紹一種無線多頻段WSN網關,,可通過以太網或者移動通信網絡,監(jiān)控多個頻段的無線傳感器子網節(jié)點的運行情況,。

  1 系統(tǒng)總體結構

  本文設計的系統(tǒng)在感知層采用4個頻段的無線傳感器網絡節(jié)點,。各頻段子網通過一個多頻段網關裝置接入到網絡層,。用戶可以通過監(jiān)控終端監(jiān)控現場數據,,監(jiān)控終端既可以是固定的PC機,也可以是移動的3G設備,。同時,,網關還具備良好的擴展性,網關可以同時接入多個頻段的WSN網絡,。多頻段WSN網關系統(tǒng)結構框圖如圖1所示,。

 圖1 多頻段WSN網關系統(tǒng)結構框圖 
圖1 多頻段WSN網關系統(tǒng)結構框圖

  2 網關硬件系統(tǒng)設計

  網關的主控制單元采用ARM9芯片S3C2440A,主頻400 MHz,,外擴64 MB SDRAM,、64 MB NAND Flash。微處理器的外設數據控制器(PDC)向串行外設提供DMA通道,,使其與片內以及片外存儲器讀寫傳輸數據時不經過處理器,。

  網關3G網絡接入端采用USB接口,實現與3G網絡的通信,;無線傳感器網絡子網接入端分別是2.4 GHz子網接入模塊,、780 MHz子網接入模塊、470 MHz子網接入模塊和433 MHz子網接入模塊,,各子網模塊都是通過串口實現與網關主控制單元的通信,。以太網控制部分整個網關的結構框圖如圖2所示。

  圖2 以太網控制部分整個網關的結構框圖
圖2 以太網控制部分整個網關的結構框圖

  2.1 多頻段無線傳感網子網接入部分

  由于S3C2440A芯片自身只有3通道的串口,。而4個頻段的子網接入模塊都是采用串行通信接口,,ARM9芯片本身不能滿足本系統(tǒng)需求,所以需要利用外圍擴展芯片,,設計串口擴展電路來滿足系統(tǒng)的需求,。本設計采用TI公司的TL16C554A芯片,,通過并行數據線和地址線擴展出來4路全功能串口。

  TL16C554A芯片是8位數據寬度,,TL16C554A的D0~D7引腳與ARM9芯片直接相連,,讀寫信號是直接連接的。TL16C554A的引腳INA,、INTB,、INTC、INTD分別接在主控制芯片的引腳INT0,、INT2,、INT3、INT4,,這樣擴展的各通道串口就能通過中斷獨立地工作,。

  將S3C2440A的地址線A0~A3與TL16C554A的A0~A3直接相連,S3C2440A的nGCS2作為譯碼器74LS139的片選信號,。74LS139的輸入端分別接地址線A4~A5,。根據譯碼器譯碼,實現地址分配,,再通過ARM芯片地址映射,。外擴的4通道串口的物理地址為

  通道A——0x10000000~0x10000008

  通道B——0x10000010~0x10000018

  通道C——0x10000020~0x100000028

  通道D——0x10000030~0x10000038。

  主控制芯片通過訪問這些地址就能訪問外部寄存器,,即TL16C554A芯片片內寄存器地址,。多頻段子網接入部分接口電路如圖3所示。

  
圖3 多頻段子網接入部分接口電路


  2.2 3G網絡接入接口部分

  3G網絡接入部分采用USB接口的華為ET128無線網卡,。接入接口使用USB—HUB芯片AU9254A21,,它是一款單芯片USB集線器控制器。AU92 54A21采用12MHz無源晶振,,為芯片工作提供獨立的時鐘,。3G網絡接入部分接口電路如圖4所示。

圖4 3G網絡接入部分接口電路  
圖4 3G網絡接入部分接口電路

  2.3 以太網接入部分

  網關通過以太網口發(fā)送數據包的原理是:處理器先將待發(fā)送的數據存入到內部存儲器,,提供發(fā)送緩沖區(qū)的首地址和數據長度,,然后執(zhí)行發(fā)送命令,由DM9000A將數據按TCP/IP協(xié)議格式發(fā)送到物理鏈路上,。

  因以太網信號電平與以太網控制器信號電平不同,,所以在硬件電路實現上需要在控制器與RJ-45接口間增加一個網絡變壓器,網絡變壓器采用TRC9016,。電信號通過網絡變壓器轉換,,然后經RJ-45接口接入以太網,從而完成數據發(fā)送過程,。DM9000A主要完成數據包和數字電信號之間的相互轉換,。

  3 網關軟件系統(tǒng)設計

  網關的軟件環(huán)境采用的是嵌入式Linux系統(tǒng),。移植好的Linux2.6.24源碼已經包含了以太網控制器DM9000A、USB接口芯片等芯片的驅動,。因此,,軟件部分只需要設計串口擴展芯片TL1 6C554A的驅動程序以及Linux環(huán)境下的應用程序即可。

  3.1 串口擴展芯片TL16C554A驅動的實現

  Linux2.6.24內核提供了統(tǒng)一的設備驅動模型,。多串口設備驅動的注冊,,流程如圖5所示。

  多串口設備驅動的注冊,,流程如圖

  3.2 Linux下PPP的管理和配置

  根據網關硬件接口的情況修改,、移植通用驅動代碼后,通過相關的配置,,定制和編譯網關所需的內核映像文件,。內核編譯采用的交叉編譯器版本為arm- linux-gcc3.4.1,使用makemenuconfig ARCH=arm命令進入內核配置圖形化界面,,選擇和PPP(Point-to-Point,,點對點協(xié)議)有關的選項,添加系統(tǒng)對PPP功能的支持,。界面如圖6所示,。配置完成以后,,保存設置,,退出內核配置圖形化界面。使用命令:makeuImage ARCH=arm CROSS_COMPILE=arm-linux-.編譯完成以后,,會在源碼包的arch/arm/boot路徑下生成內核映像文件uImage,,如圖7 所示。

   Linux下PPP的管理和配置


  3.3 嵌入式Linux網絡編程

  本設計中通過TD—SCDMA網絡接入Internet,。WSN子網的某一節(jié)點在上電后,,網關分配給其一個1 6位的短地址,使其在子網中標識自己,,然后周期性地發(fā)送其采集到的數據,。網關收到傳感器節(jié)點傳送過來的數據之后,進行IEEE 802.15.4協(xié)議與以太網協(xié)議的轉換,,為了向網絡設備提供透明的接口和區(qū)分串口數據的來源,,需要制定統(tǒng)一的數據幀格式,所以協(xié)議轉換后加上slip的幀頭,,通過串口設備發(fā)送給ARM,。

  ARM在解析了slip幀頭之后交給上層以及MAC層,解析以太網頭,,然后上交給適配層,,適配層將對完整的IPv6數據進行壓縮或者分片,。數據在 IPv6層根據鄰居發(fā)現,找到要發(fā)送的網絡,,并且進行路由轉發(fā),,經過在MAC層加上相應的MAC頭后,經TD模塊發(fā)送到TD—SCDMA通信網,。這樣,,從子網到TD網絡的數據轉發(fā)結束。

  3.3.1 PPP協(xié)議簡介

  PPP是一種提供兩個實體之間數據包傳輸的鏈路連接設計的鏈路層協(xié)議,。這種鏈路具有全雙工操作,、實現流量和差錯控制等功能,并按照順序傳遞數據包,??梢酝ㄟ^撥號或者專線方式,讓客戶端和服務端建立起一種點對點的連接,,傳遞數據,。

  3.3.2 建立撥號連接

  在Linux系統(tǒng)中,通過PPP可以將主機與一個PPP服務器連接并進入該服務器所連接的網絡資源,,就好像直接連上那個網絡一樣,。建立一個PPP連接上網主要有以下步驟:第一步是調用會話程序。然后會話程序通過發(fā)送AT指令給3G模塊,,完成撥號,、身份驗證、配置等工作,。最后,,客戶端的pppd程序與服務器端的pppd程序進行握手,建立好連接,,相互傳遞數據,。多頻段網關建立網絡連接流程圖如圖8所示。

  多頻段網關建立網絡連接流程圖如圖8所示

  3.4 應用程序的設計

  由于數據來源于4個頻段子網匯聚節(jié)點的串口,,因此網關的應用程序采集多頻段子網匯聚節(jié)點數據部分設計上采用Linux系統(tǒng)中的多設備讀取機制select(I/O多工機制)來實現對多個串口的監(jiān)聽,。多串口采集數據的流程如圖9所示。

圖9 多串口采集數據的流程圖  
圖9 多串口采集數據的流程圖

  4 實例測試

  圖10為PPP撥號成功后超級終端顯示的Linux系統(tǒng)信息截圖,,撥號目標上位機地址是222.182.101.220,,從圖中可以看出,PPP撥號成功,,并且獲得了TD網絡分配的IPv4地址10.81.185.15,,遠程服務器IP為192.200.1.21。

  圖10 PPP撥號成功后超級終端顯示的Linux系統(tǒng)信息截圖
圖10 PPP撥號成功后超級終端顯示的Linux系統(tǒng)信息截圖

  結語

  隨著物聯網時代,,TD—SCDMA將促進物聯網有效發(fā)揮無縫通信的巨大威力,,該方案充分利用了互聯網和無線通信公用網絡資源,,將無線傳感網技術、嵌入式技術,、TD—SCDMA通信有機地結合起來,,成功設計了WSN/TD網關,實現了無線傳感網與TD—SCDMA網絡的融合,,在實際應用當中取得了良好的效果,。



此內容為AET網站原創(chuàng),未經授權禁止轉載,。