摘 要:詳細闡述了利用無線收發(fā)芯片nRF24E1設計的數(shù)據(jù)傳輸系統(tǒng)的硬件和軟件設計,給出了具體的實現(xiàn)方案。系統(tǒng)以嵌入51單片機內核的單片射頻收發(fā)芯片nRF24E1為核心,將傳感器采集的數(shù)據(jù)通過無線收發(fā)模塊向手機傳輸,并在手機上正確的顯示出來,供用戶監(jiān)控,從而在用戶端能隨時監(jiān)控廠房的各種數(shù)據(jù),減少布線的麻煩。
關鍵詞:nRF24E1; 短距離無線數(shù)據(jù)傳輸; 手機顯示; 測溫
中圖分類號:TN919 文獻標識碼:A
文章編號:1004-373X(2010)13-0117-03
Design of Temperature Detection System Based on Low-power RF Chip
LI Li
(Guangdong Institute of Science and Technology, Guangzhou 510640, China)
Abstract: Both hardware and software designs of a data transmission system based on the wireless transceiving chip nRF24E1 are elaborated. The implementation method, working principle and architecture of the temperature detection systemare are presented. Taking the RF transceiving chip nRF24E1 embedded in the 8051 SCM as the critical part of the system, the data acquisited by the sensors is transmitted to a mobile telephone by the wireless transceiving module and is dispayed correctly on the mobile phone of the user for data real-time control. The system and the technology can be applied to the actual scenes, such as warehouse, incubation, plant breeding and so on.
Keywords: nRF24E1; short distance wireless data transmission; mobile phone display; temperature detection
在農業(yè)生產活動中,溫度、濕度信息的采集和傳遞是一項很重要的功能,以前粗放式生產,現(xiàn)在是追求高技術含量的精細化生產。農業(yè)上孵化、育種等場合,需要對溫度實行控制,許多領域對溫以及壓力等數(shù)據(jù)的采集可通過傳感器來實現(xiàn),如何有效地管理棚室溫度,是當前蔬菜管理的重點。本文針對由于農作物的不同時期傳感器的空間位置不固定,布線不方便,可靠性差的問題,采用無線通信技術進行數(shù)據(jù)傳輸。利用微功率RF芯片(nRF24E1)設計了一個體積小、成本低、性能穩(wěn)定、功耗低、數(shù)據(jù)傳輸可靠的點對多點的無線射頻數(shù)據(jù)采集系統(tǒng),實現(xiàn)了對多個采樣點的實時數(shù)據(jù)無線采集。經過實際使用,DS18B20和單片機AT89S52以及RF芯片組成的測溫系統(tǒng),完全符合用戶的需要。
1 系統(tǒng)總體設計
本系統(tǒng)要實現(xiàn)的是溫度、濕度和壓力的采集、傳輸、顯示和后期處理等功能。系統(tǒng)的總體構想為數(shù)據(jù)采集模塊,短距離無線通訊模塊,串口通信模塊,顯示處理模塊幾大部分。系統(tǒng)方案的確定主要集中在無線通訊模塊的選擇和顯示模塊上[1-2]。
硬件系統(tǒng)組成如圖1所示,首先用傳感器將現(xiàn)場信號轉換為電信號,經過模/數(shù)轉換器ADC采樣、量化、編碼后轉換成數(shù)字信號,送到單片機進行初步處理,然后利用nRF2401無線數(shù)據(jù)傳輸芯片通過無線方式將有效數(shù)據(jù)發(fā)送給接收端,接收端在接收到有效數(shù)據(jù)后通過串行口將數(shù)據(jù)送入手機,手機通過C#語言編寫的控制程序完成數(shù)據(jù)的顯示以及對有效數(shù)據(jù)進一步處理的任務。
圖1 系統(tǒng)總體構成(采集端和接收端)
2 系統(tǒng)硬件設計
2.1 系統(tǒng)硬件組成
圖2所示是系統(tǒng)的硬件組成,DS18B20是DALLAS公司生產的一線式數(shù)字溫度傳感器,可把溫度信號直接轉換成串行數(shù)字信號供微機處理。具有3引腳TO-92小體積封裝形式;溫度測量范圍為-55~+125 ℃,可編程為9~12 b A/D轉換精度,測溫分辨率可達0062 5 ℃,被測溫度用符號擴展的16 b數(shù)字量方式串行輸出;其工作電源既可在遠端引入,也可采用寄生電源方式產生;多個DS18B20可以并聯(lián)到3根或2根線上,CPU只需1根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。從DS1820讀出的信息或寫入DS1820的信息,僅需要1根口線(單線接口)。讀寫及溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的DS1820供電,而無需額外電源。以上特點使DS18B20非常適用于遠距離多點溫度檢測系統(tǒng)。DS1820提供九位溫度讀數(shù),構成多點溫度檢測系統(tǒng)而無需任何外圍硬件,DS1820與nRF24E1的連接方式如圖3所示。
圖2 系統(tǒng)硬件組成
圖3 溫度傳感器與無線收發(fā)芯片接口圖
在本系統(tǒng)中,傳感器采集數(shù)據(jù)后,送到下位機,下位機和上位機通過無線數(shù)據(jù)通道聯(lián)系。無線數(shù)據(jù)收發(fā)部分主要由nRF24E1芯片、E2PROM、晶振、傳感器信號輸入和天線組成。
2.2 芯片nRF24E1內部結構
nRF24E1芯片是無線數(shù)據(jù)收發(fā)部分的核心,通過內嵌的51單片機內核,控制芯片內的A/D轉換模塊,無線收,發(fā)模塊。將射頻發(fā)射、接收、GMSK調制、解調、增強型8051內核、9輸入12 b ADC、125頻道、UART、SPI、PWM、RTC、WDT全部集成到單芯片中,從而實現(xiàn)數(shù)據(jù)的采集,傳輸,處理等功能[3]。硬件模塊如圖4所示,芯片主要由以下部分組成:
(1) CPU(微處理器)。
帶有增強型8051內核,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轉換器。A/D轉換器有9個輸入通道可通過軟件進行選擇。
(6) 無線收發(fā)器,通過內部并行口或內部SPI口與其他模塊進行通信,工作于全球開放的2.4~2.5 GHz頻段。
圖4 芯片nRF24E1內部結構
3 無線數(shù)據(jù)傳輸系統(tǒng)的軟件設計與實現(xiàn)
本系統(tǒng)在編程時采用模塊化設計思想,各主要功能模塊均編成獨立的函數(shù)在主程序中加以調用,程序主要由以下功能模塊組成:上電初始化程序、無線收發(fā)程序、數(shù)據(jù)包打包拆包程序、數(shù)據(jù)處理程序。采集端和接收端在上電后首先調用初始化程序,完成無線收發(fā)頻率、工作模式、發(fā)射速率、A/D轉換器精度及其他內部寄存器的初始化配置[4-6]。
3.1 軟件流程圖
軟件流程圖如圖5~圖7所示。
圖5 無線數(shù)據(jù)傳輸系統(tǒng)的數(shù)據(jù)流程
圖6 系統(tǒng)數(shù)據(jù)無線發(fā)送流程圖
圖7 系統(tǒng)數(shù)據(jù)無線接收流程圖
圖6 系統(tǒng)數(shù)據(jù)無線發(fā)送流程圖
圖7 系統(tǒng)數(shù)據(jù)無線接收流程圖
3.2 無線通信軟件系統(tǒng)描述
系統(tǒng)軟件設計主要包括兩部分:無線通信模塊和手機端數(shù)據(jù)處理模塊,采用C#語言編寫。無線通信模塊首先需完成串口配置、A/D配置和接收器的配置,然后編寫發(fā)送函數(shù)和接收函數(shù)實現(xiàn)無線通信[7-8]。由于從機有多個,采用輪詢的方式,對從機輪流發(fā)給“令牌”,從機在獲得“令牌”期間才能和主機間進行通信。采用單工方式通信,首先打開通信配置,發(fā)送“配置字”,然后關閉通信配置,接收方接收到“配置字”后按照地址進行通信[9-10]。接收函數(shù)和發(fā)送函數(shù)簡介如下:
3.2.1 接收函數(shù)
接收函數(shù)程序如下:
void Receiver(void){
unsigned char b;
CS=1;//打開配置方式
for(b=0;b SpiReadWrite(rconf.buf[b]);//發(fā)送接收器配置字 } CS=0;//關配置方式 for(;;){ b=ReceivePacket();//接收數(shù)據(jù)包 } } 3.2.2 發(fā)送函數(shù) 發(fā)送函數(shù)程序如下: void Transmitter(void){ unsigned char b; CS=1;//開配置方式 for(b=0;b SpiReadWrite(tconf.buf[b]);//發(fā)送發(fā)送器配置字 } CS=0;//關配置方式 b=KeyByte;//讀取數(shù)據(jù) TransmitPacket(b);//發(fā)送數(shù)據(jù) } 4 結 語 該無線系統(tǒng)電路簡單、性能穩(wěn)定、抗干擾能力強、可靠性高、搭建方便、易于擴展,本系統(tǒng)適用于在短距離對多種環(huán)境溫濕度的監(jiān)測,有廣闊的應用前景。無線數(shù)據(jù)傳輸在實驗室的效果是好的,對采集參數(shù)的接收和數(shù)據(jù)的發(fā)送都反應靈敏。但無線數(shù)據(jù)傳輸還存在著一些問題,若采用競爭信道的方式可進一步提高系統(tǒng)效率,采用USB接口,可提高效率,同時支持即插即用,這些特性都需要進一步改善。 參考文獻 [1]Nordic. nRF2401 Product Specification[ M] . [ S.l.] : Nordic Corporation, 2009. [2]林嶸.數(shù)據(jù)轉換與接口技術[M].南京:東南大學出版社,2006. [3]KAPP S. Leaving the wire behind[ J] . IEEE Internet Computing, 2002,6(1):82-85. [4]王桂靜,梁得勝,田錫天.基于nRF24E1的生命信號實時無線采集系統(tǒng)設計[J].工業(yè)儀表與自動化裝置,2005(3): 38-40. [5]劉恒.基于nRF24E1的無線加速度測量系統(tǒng)設計[ D] .西安:西北工業(yè)大學,2007. [6]牛偉,郭世澤,吳志軍.無線局域網[M].北京:人民郵電出版社,2003. [7]胡漢才.單片機原理及其接口技術[M].北京:清華大學出版社,2008. [8]Nordic. VLSI ASA wireless hands-free using nRF24E1[M]. [ S.l.] : Nordic Corporation, 2008. [9]金炯泰.如何使用KEIL 8051 C編譯器[ M] .北京:北京航空航天大學出版社,2007. [10]馬忠梅.單片機的C語言應用程序設計[ M] .3版.北京:北京航空航天大學出版社,2007.