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