低速率無線傳感器網絡演示系統的設計與實現
摘 要:本文介紹了無線傳感器網絡試驗平臺的總體設計思想,并介紹了節點機,網關機和數據庫,最后簡要地說明了用到的數據庫系統。
關鍵字:無線傳感器網絡;試驗平臺;節點機;網關機;數據庫
引言
無線傳感器網絡能夠實時監測、感知和采集網絡分布區域內的各種環境或監測對象的信息,并對這些信息進行處理,獲得詳盡而準確的數據,并傳送到需要這些信息的用戶。
目前,這一領域主要的研究方面是MAC層協議和網絡層路由協議。而要進行這兩方面的研究,物理實驗平臺是必需的。
總體設計
本文設計并實現了一個比較完整的無線傳感器網絡演示系統,主要包括節點機、網關機和數據庫系統。此系統實現了遠程環境數據的采集、傳輸、處理及數據庫管理。并且在節點數大量增加后,還可作為傳感器MAC層和網絡層協議的開發平臺。
系統組成框圖如圖1所示,在傳感器節點網絡部分,有兩個子網,各網獨立工作,運行在不同的頻段,一個是2.4GHz,另一個是900MHz,都是ZigBee標準規定的頻段。2.4GHz硬件主要采用89lV52單片機加RFwave公司的RFW102射頻模塊。900MHz采用的是89lV51單片機加NRF905射頻模塊。而傳感器部分,兩個節點都設計成可插拔式的通用接口,目前支持的是溫濕度傳感器、電磁強度傳感器和空氣質量傳感器。兩個子網都連接在一個ARM網關上,由網關協調處理。ARM網關采用的是S3C44B0X開發板加2.4GHz和900MHz射頻模塊。射頻模塊和ARM板采用串口進行連接和通信。ARM網關的另一端通過網口與遠程PC相連。數據通過UDP方式在網絡中傳輸。數據庫系統建立在遠程PC上,用戶可進行查詢及相關操作。數據庫采用微軟的ACCESS建立,界面用delphi編寫。
圖1 系統組成框圖
節點機的設計
本文設計了兩種節點機,一種工作在2.4GHz頻段,另一種可以工作在868MHz和915MHz兩個頻段。
2.4GHz頻段節點機設計
硬件部分如圖2所示,包括電源、MCU、傳感器、RFW-D100和102。其中MCU是主要控制器件,傳感器設計成可分離式,可以插多種傳感器。RFW-D100和102聯合組成射頻部分,完成無線數據收發。UART可以在調試硬件時使用,在板子作為網關機的射頻模塊時,UART完成與ARM板的通信。電源設計成電池和外接電源兩種供電方式。
圖2 2.4GHz節點機硬件框圖
1. 電源部分
為了方便調試,將電源設計成雙路供電模式,即外接穩壓電源供電和電池供電。這樣設計的好處是在板子調試的時候可以用外接穩壓電源供電,可以不用電池,減少開發費用,也更穩定。而在板子調試成功之后,實際運行的時候就可以選用電池供電。當然,這樣設計也會使板子面積增大、器件增多,在做實際產品的時候就可以去掉穩壓電源供電電路,減小體積和成本。
穩壓電源電路采用9V直流輸入,通過7805轉換成5V,再通過AAT3221電源轉換芯片轉換成3.3V。在電池穩壓部分選用TPS60101。這是一種特別適合對電池供電系統進行穩壓的芯片。至于用哪路供電由跳線決定。
2. MCU
MCU選用52單片機,型號是89lV52。它有256Byte的RAM和8kB的flash,3個16位定時器,對于本應用比較合適。
3. 射頻部分
射頻部分選用RFwave 公司的RFW102,這是一款工作于2.4GHz頻段的射頻模塊,功耗較低,而最高速率能達到1Mbps。配合RFW-D100使用,簡單方便。
4. 傳感器
傳感器部分的接口設計成可插拔式通用接口,便于擴展其他傳感器,以溫/濕度傳感器為例,本文選用了Sensirion公司的SHT71,它是一種數字傳感器,低功耗,溫/濕度一體,使用方便。
868MHz和915MHz頻段節點機設計
nRF905 1.0以9V直流電源和電池兩種方式供電,一個單片機作為中央控制單元,控制傳感器和無線收發模塊。并外加了存儲器,可以實現存儲轉發功能。
nRF905 1.0可分為5大部分:
1. 中央控制單元:使用一片AT89LV52作為中央控制單元。其中,R1OUT,T1IN引腳用于串口通信。
2. 電源:可選擇直流9V電源和電池兩種方式供電,供電方式可用跳線切換。
3. 存儲器:使用一片AT24C21作為存儲器,當數據量超出單片機容量,或無線信道不正常時,可將數據暫存于存儲器,待以后轉發。
4. 傳感器:使用Sensirion公司的SCH7x溫/濕度傳感器。
5. 無線收發模塊:使用Nordic公司的nRF905無線收發芯片,可以工作在433MHz、868MHz和915MHz三個頻段。
圖3 射頻模塊的軟件流程圖
網關機設計
硬件設計
網關機硬件采用基于ARM7TDMI的嵌入式系統開發板,外加兩個基于RFW-D100和102以及nRF905的無線射頻模塊。其結構示意圖見圖1的中間部分。這樣設計的主要考慮是節約開發時間。兩個射頻模塊子板和ARM板之間通過串口通信。
ARM板硬件組成
1. 微處理器S3C44B0X
S3C44B0X是三星公司推出的16/32位RISC處理器,它采用了ARM7TDMI內核,0.25mm工藝的CMOS標準宏單元和存儲編譯器。它的低功耗和全靜態設計特別適用于對成本和功耗敏感的應用。S3C44B0X還采用了一種新的總線結構,即SAMBAⅡ。
2. UART異步串行接口
S3C44B0X的UART(通用異步收發器)單元提供兩個獨立的異步串行I/O端口,每個都可以在中斷和DMA兩種模式下工作。它們支持的最高速率為115.2kbps。每個UART包含一個波特率發生器、發送器、接收器和控制單元。在本系統的設計中,兩個串口分別接兩個射頻模塊,分別工作在2.4GHz和868MHz、900MHz頻段,這樣,處理器可以通過這兩個通道與兩個子網進行通信。
3.以太網控制器RTL8019AS
由Realtek公司生產的RTL8019AS高集成以太網控制器芯片集成了介質訪問控制子層(MAC)和物理層的性能,可以方便地設計基于ISA總線的系統,簡單的與通用單片機進行接口。另外,它還具有與NE2000兼容、軟件移植性好,價格低廉等優點,在市場上的10Mbps網卡中占有相當的比例。在本系統中,網口與以太網相連,將網關收集到的數據上傳到PC的數據庫中。
4. Flash存儲器
本系統中采用的Flash是具有16Mb(2MB)、單一5V供電的存儲器。2MB的數據區被分為32個64kB的區段,因而具有靈活擦除功能。Flash在本系統中用來存放程序代碼。系統上電或復位后從此處獲取指令并開始執行。
射頻模塊硬件組成
從圖1中可以看出,網關機部分是由ARM開發板和兩個射頻模塊共同組成的,完成兩個子網的數據采集處理和上傳任務。射頻模塊沒有單獨設計,而是兩個頻段的節點機的簡化版本,將其中的數據采集部分去掉,以縮短開發周期,提供了通用性。在硬件一致的情況下,只要對兩個模塊的軟件進行修改就可以完成無線數據收發的功能。具體硬件設計可以參考前面節點機的硬件設計。
軟件設計
無線傳感網網關機如前面所介紹的,在硬件上分成相對獨立的三個單元,因而軟件也分為三個相對獨立的部分。
1. ARM板軟件
ARM核心板的軟件包括初始化,處理上層PC傳來的采樣命令,通過兩個串口向兩個子網發送采樣命令。然后等待節點上傳來的數據信息,其中的關鍵在于怎樣處理好兩個子網通過兩個串口上傳來的數據信息。不漏不重。限于篇幅,具體流程就不在這里詳述了。
2. 射頻模塊軟件
射頻模塊的軟件流程如圖3所示。ARM板通過兩串口分別與兩個子網不同的射頻模塊相連,以具備與兩個子網進行通信的能力。
數據庫系統設計
選用Access數據庫平臺和ADO數據庫連接技術,并使用Delphi編程語言實現界面、管理、查詢操作及internet上的數據收發。Delphi是一種功能強大的快速應用軟件開發程序,它集成了ADO數據庫連接的控件和網絡處理等控件,可以快速方便地進行軟件開發。
結語
經過半年左右的努力,在小組成員的共同努力下,我們完成了無線傳感網實驗演示系統第一版的設計實現,并成功地將遠端4個節點的溫度/濕度信息通過兩個頻段的信道傳送到數據庫中,并可以進行查詢管理。當然,第一版還有很多需要完善和改進的地方,如底層硬件操作函數的模塊化,節點機選用功能更強的MCU,數據庫的完善等等。
文章版權歸西部工控xbgk所有,未經許可不得轉載。