本文針對由于農(nóng)作物的不同時期傳感器的空間位置不固定,布線不方便,可靠性差的問題,采用無線通信技術(shù)進(jìn)行數(shù)據(jù)傳輸。利用微功率RF芯片(nRF24E1)設(shè)計了一個體積小、成本低、性能穩(wěn)定、功耗低、數(shù)據(jù)傳輸可靠的點對多點的無線射頻數(shù)據(jù)采集系統(tǒng),實現(xiàn)了對多個采樣點的實時數(shù)據(jù)無線采集。經(jīng)過實際使用,DSl8820和單片機(jī)AT89S52以及RF芯片組成的測溫系統(tǒng),完全符合用戶的需要。
1 系統(tǒng)總體設(shè)計
本系統(tǒng)要實現(xiàn)的是溫度、濕度和壓力的采集、傳輸、顯示和后期處理等功能。系統(tǒng)的總體構(gòu)想為數(shù)據(jù)采集模塊,短距離無線通訊模塊,串口通信模塊,顯示處理模塊幾大部分。系統(tǒng)方案的確定主要集中在無線通訊模塊的選擇和顯示模塊上。
硬件系統(tǒng)組成如圖1所示,首先用傳感器將現(xiàn)場信號轉(zhuǎn)換為電信號,經(jīng)過模/數(shù)轉(zhuǎn)換器ADC采樣、量化、編碼后轉(zhuǎn)換成數(shù)字信號,送到單片機(jī)進(jìn)行初步處理,然后利用nRF2401無線數(shù)據(jù)傳輸芯片通過無線方式將有效數(shù)據(jù)發(fā)送給接收端,接收端在接收到有效數(shù)據(jù)后通過串行口將數(shù)據(jù)送入手機(jī),手機(jī)通過C#語言編寫的控制程序完成數(shù)據(jù)的顯示以及對有效數(shù)據(jù)進(jìn)一步處理的任務(wù)。
2 系統(tǒng)硬件設(shè)計
2.1 系統(tǒng)硬件組成
圖2所示是系統(tǒng)的硬件組成,DSl8820是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,可把溫度信號直接轉(zhuǎn)換成串行數(shù)字信號供微機(jī)處理。具有3引腳TO-92小體積封裝形式;溫度測量范圍為-55~+125℃,可編程為9~12 b A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)O.0625℃,被測溫度用符號擴(kuò)展的16b數(shù)字量方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個DSl8820可以并聯(lián)到3根或2根線上,CPU只需1根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。從DSl820讀出的信息或?qū)懭隓Sl820的信息,僅需要1根口線(單線接口)。讀寫及溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS1820供電,而無需額外電源。以上特點使DSl8B20非常適用于遠(yuǎn)距離多點溫度檢測系統(tǒng)。DSl820提供九位溫度讀數(shù),構(gòu)成多點溫度檢測系統(tǒng)而無需任何外圍硬件,DSl820與nRF24E1的連接方式如圖3所示。
在本系統(tǒng)中,傳感器采集數(shù)據(jù)后,送到下位機(jī),下位機(jī)和上位機(jī)通過無線數(shù)據(jù)通道聯(lián)系。無線數(shù)據(jù)收發(fā)部分主要由nRF24E1芯片、E2PR-OM、晶振、傳感器信號輸入和天線組成。
2.2 芯片nRF24E1內(nèi)部結(jié)構(gòu)
nRF24E1芯片是無線數(shù)據(jù)收發(fā)部分的核心,通過內(nèi)嵌的51單片機(jī)內(nèi)核,控制芯片內(nèi)的A/D轉(zhuǎn)換模塊,無線收,發(fā)模塊。將射頻發(fā)射、接收、GMSK調(diào)制、解調(diào)、增強(qiáng)型8051內(nèi)核、9輸入12b ADC、125頻道、UART、SPI、PWM、RTC、WDT全部集成到單芯片中,從而實現(xiàn)數(shù)據(jù)的采集,傳輸,處理等功能。硬件模塊如圖4所示,芯片主要由以下部分組成:
(1)CPU(微處理器)。帶有增強(qiáng)型805l內(nèi)核,ADC、SPI、RF發(fā)射器1個、RF接收器2個、喚醒定時器5個中斷源,1個UART以及3個定時器。
(2)PWM輸出??删幊檀_定PWM的輸出工作于6位、7位或8位,PWM信號的頻率可由軟件控制。
(3)SPI接口和SPI總線。
(4)RTC喚醒定時器、WTD和RC振蕩器。
(5)A/D轉(zhuǎn)換器。A/D轉(zhuǎn)換器有9個輸入通道可通過軟件進(jìn)行選擇。
(6)無線收發(fā)器,通過內(nèi)部并行口或內(nèi)部SPI口與其他模塊進(jìn)行通信,工作于全球開放的2.4~2.5 GHz頻段。
3 無線數(shù)據(jù)傳輸系統(tǒng)的軟件設(shè)計與實現(xiàn)
本系統(tǒng)在編程時采用模塊化設(shè)計思想,各主要功能模塊均編成獨立的函數(shù)在主程序中加以調(diào)用,程序主要由以下功能模塊組成:上電初始化程序、無線收發(fā)程序、數(shù)據(jù)包打包拆包程序、數(shù)據(jù)處理程序。采集端和接收端在上電后首先調(diào)用初始化程序,完成無線收發(fā)頻率、工作模式、發(fā)射速率、A/D轉(zhuǎn)換器精度及其他內(nèi)部寄存器的初始化配置。
3.1 軟件流程圖
軟件流程圖如圖5~圖7所示。
3.2 無線通信軟件系統(tǒng)描述
系統(tǒng)軟件設(shè)計主要包括兩部分:無線通信模塊和手機(jī)端數(shù)據(jù)處理模塊,采用C#語言編寫。無線通信模塊首先需完成串口配置、A/D配置和接收器的配置,然后編寫發(fā)送函數(shù)和接收函數(shù)實現(xiàn)無線通信。由于從機(jī)有多個,采用輪詢的方式,對從機(jī)輪流發(fā)給“令牌”,從機(jī)在獲得“令牌”期間才能和主機(jī)間進(jìn)行通信。采用單工方式通信,首先打開通信配置,發(fā)送“配置字”,然后關(guān)閉通信配置,接收方接收到“配置字”后按照地址進(jìn)行通信。接收函數(shù)和發(fā)送函數(shù)簡介如下:
3.2.1 接收函數(shù)
接收函數(shù)程序如下:
3.2.2 發(fā)送函數(shù)
發(fā)送函數(shù)程序如下:
4 結(jié)語
該無線系統(tǒng)電路簡單、性能穩(wěn)定、抗干擾能力強(qiáng)、可靠性高、搭建方便、易于擴(kuò)展,本系統(tǒng)適用于在短距離對多種環(huán)境溫濕度的監(jiān)測,有廣闊的應(yīng)用前景。無線數(shù)據(jù)傳輸在實驗室的效果是好的,對采集參數(shù)的接收和數(shù)據(jù)的發(fā)送都反應(yīng)靈敏。但無線數(shù)據(jù)傳輸還存在著一些問題,若采用競爭信道的方式可進(jìn)一步提高系統(tǒng)效率,采用USB接口,可提高效率,同時支持即插即用,這些特性都需要進(jìn)一步改善。