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