掃描二維碼
隨時(shí)隨地手機(jī)看文章
目前,很多場(chǎng)合的測(cè)溫系統(tǒng)采用的還是有線測(cè)溫設(shè)備,由溫度傳感器、分線器、測(cè)溫機(jī)和監(jiān)控機(jī)等組成,各部件之間采用電纜連接進(jìn)行數(shù)據(jù)傳輸。這種系統(tǒng)布線復(fù)雜、維護(hù)困難、成本高,可采用無(wú)線方案解決這些問(wèn)題。無(wú)線測(cè)溫系統(tǒng)是一種集溫度信號(hào)采集、大容量存儲(chǔ)、無(wú)線射頻發(fā)送、LED(或LCD)動(dòng)態(tài)顯示、控制與通信等功能于一體的新型系統(tǒng)。
本文從低功耗、小體積、使用簡(jiǎn)單等方面考慮,基于射頻SoC nRF9E5和數(shù)字溫度傳感器DS18B20設(shè)計(jì)了一個(gè)無(wú)線測(cè)溫系統(tǒng),整個(gè)系統(tǒng)由多個(gè)無(wú)線節(jié)點(diǎn)和1個(gè)基站組成。無(wú)線節(jié)點(diǎn)工作在各個(gè)測(cè)溫地點(diǎn),進(jìn)行溫度數(shù)據(jù)采集和無(wú)線發(fā)送?;九c多個(gè)節(jié)點(diǎn)進(jìn)行無(wú)線通信,并通過(guò)數(shù)碼管將數(shù)據(jù)顯示出來(lái),同時(shí)可以通過(guò)RS-232串口將數(shù)據(jù)發(fā)送給PC。
nRF9E5簡(jiǎn)介
nRF9E5是Nordic公司推出的射頻片上系統(tǒng),內(nèi)嵌8051兼容微控制器、RF收發(fā)器和4通道10位A/D轉(zhuǎn)換器,是真正的系統(tǒng)級(jí)芯片,其功能結(jié)構(gòu)如圖1所示。
圖1 nRF9E5功能結(jié)構(gòu)框圖
nRF9E5的片內(nèi)微控制器與標(biāo)準(zhǔn)8051兼容,指令時(shí)序與標(biāo)準(zhǔn)8051稍有區(qū)別。中斷控制器支持5個(gè)擴(kuò)展中斷源:ADC中斷、SPI中斷、喚醒中斷和兩個(gè)無(wú)線收發(fā)中斷。此外,還擴(kuò)展了兩個(gè)數(shù)據(jù)指針,使得片外RAM存取數(shù)據(jù)更為方便。微控制器內(nèi)有256B的數(shù)據(jù)RAM和512B的ROM。上電復(fù)位或軟件復(fù)位后,控制器自動(dòng)執(zhí)行ROM引導(dǎo)區(qū)中的代碼,用戶程序通常在引導(dǎo)區(qū)的引導(dǎo)下,從E2PROM加載到1個(gè)4KB的RAM中,該RAM也可用來(lái)存儲(chǔ)數(shù)據(jù)。當(dāng)進(jìn)行批量生產(chǎn)時(shí),可要求廠家代理將程序固化到片內(nèi),這樣可省去E2PROM的費(fèi)用并進(jìn)一步減小系統(tǒng)體積。
nRF9E5內(nèi)置收發(fā)器具有與單片射頻收發(fā)器nRF905相同的功能,可通過(guò)片內(nèi)MCU的并行口或SPI口與微控制器通信。收發(fā)器由頻率合成器、功率放大器、調(diào)制器和接收單元組成。輸出功率、頻道和其他射頻參數(shù)可通過(guò)對(duì)特殊功能寄存器RADIO編程進(jìn)行控制。發(fā)射模式(TX)下,最小工作電流僅為9mA(輸出功率-10dBm),接收(RX)模式下的工作電流為12.5mA,掉電模式下的工作電流僅為2.5μA。可見,nRF9E5的功耗很低。
nRF9E5采用Nordic公司的ShockBurst技術(shù)(自動(dòng)處理前綴、地址和CRC),實(shí)現(xiàn)低速數(shù)據(jù)輸入,高速數(shù)據(jù)輸出,從而降低了系統(tǒng)的平均功耗。另外,nRF9E5還具有載波檢測(cè)功能。在ShockBurst接收方式下,當(dāng)工作信道內(nèi)有射頻載波出現(xiàn)時(shí),載波檢測(cè)引腳(CD)被置高。也就是說(shuō),當(dāng)收發(fā)器準(zhǔn)備發(fā)送數(shù)據(jù)時(shí),它首先進(jìn)入接收模式并檢測(cè)所工作的信道是否可以發(fā)送數(shù)據(jù)(信道是否空閑),這是一種簡(jiǎn)單的傳輸前監(jiān)聽協(xié)議。這個(gè)特性很好地避免了同一工作頻率下不同發(fā)射器數(shù)據(jù)包之間的碰撞。
DS18B20概述
DS18B20是美國(guó)DALLAS公司的“單總線”數(shù)字溫度傳感器,它具有結(jié)構(gòu)簡(jiǎn)單、體積小、功耗低、無(wú)須外接元件、用戶可自行設(shè)定預(yù)警上下限溫度等特點(diǎn)?!皢慰偩€”結(jié)構(gòu)獨(dú)特而且經(jīng)濟(jì),采用一根I/O數(shù)據(jù)線既可供電又可傳輸數(shù)據(jù),使用戶可輕松地組建傳感器網(wǎng)絡(luò),為測(cè)量系統(tǒng)的構(gòu)建引入全新概念。
3引腳封裝的DS18B20形如一只三極管,其內(nèi)部結(jié)構(gòu)如圖2所示。主要由四部分組成:64位光刻ROM、溫度傳感器、非易失性的溫度報(bào)警觸發(fā)器和配置寄存器。此外,還有電源檢測(cè)模塊、存儲(chǔ)和控制邏輯器、中間結(jié)果緩存器和8位循環(huán)冗余校驗(yàn)碼(CRC)發(fā)生器。
圖2 3引腳DS18B20內(nèi)部結(jié)構(gòu)
ROM中的64位序列號(hào)是出廠前被光刻好的,可以看作該DS18B20的地址序列碼,每個(gè)DS18B20的64位序列號(hào)均不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20的目的。DS18B20內(nèi)部的RAM由9個(gè)字節(jié)的高速緩存器和E2PROM組成,數(shù)據(jù)先寫入高速緩存器,經(jīng)校驗(yàn)后再傳送給E2PROM。通過(guò)DS18B20功能命令對(duì)RAM進(jìn)行操作。
DS18B20的測(cè)量溫度范圍為-55℃~125℃,在-10℃~85℃范圍內(nèi),精度為0.5℃,可編程設(shè)定9~12位的分辨率,默認(rèn)值為12位,轉(zhuǎn)換12位溫度信號(hào)所需時(shí)間為750ms(最大)。檢測(cè)溫度由2字節(jié)組成,字節(jié)1的高5位S代表符號(hào)位,字節(jié)0的低4位是小數(shù)部分,中間7位是整數(shù)部分。
無(wú)線測(cè)溫系統(tǒng)組成及硬件設(shè)計(jì)
無(wú)線測(cè)溫系統(tǒng)主要可分為基站和無(wú)線節(jié)點(diǎn)兩大部分。每套系統(tǒng)一般只有1個(gè)基站,包括微控制器及射頻收發(fā)單元、顯示單元、報(bào)警單元、電源模塊及接口單元,主要硬件連接如圖3所示。
圖3 基站主要部件原理圖
接口單元是為了方便射頻模塊和PC的通信,通常可采用RS-232接口、USB接口、以太網(wǎng)接口等,其中,RS-232接口是目前PC與通信工業(yè)中應(yīng)用最廣泛的一種串行接口。本文使用RS-232接口,采用MAX3232芯片實(shí)現(xiàn)RS-232電平與TTL電平之間的轉(zhuǎn)換。MAX3232是MAXIM公司生產(chǎn)的一種RS-232接口芯片,使用單一電源電壓供電,電源電壓在3.0~5.5V范圍內(nèi)都可以正常工作。
基站接收到數(shù)據(jù)后,將溫度信息通過(guò)數(shù)碼管(或液晶顯示屏)顯示出來(lái),根據(jù)需要,還可以通過(guò)RS-232接口與PC進(jìn)行通信。為簡(jiǎn)化系統(tǒng),本設(shè)計(jì)直接用nRF9E5的P0口驅(qū)動(dòng)數(shù)碼管(未在圖中給出),但是P0口不具備數(shù)據(jù)保持能力,需要外接一定大小的上拉電阻,顯示方法采用掃描法。采用一個(gè)蜂鳴器作為報(bào)警裝置,當(dāng)溫度超過(guò)設(shè)定范圍時(shí),鳴叫報(bào)警。射頻天線采用單鞭天線。
無(wú)線節(jié)點(diǎn)分布在溫度采集點(diǎn),由數(shù)字溫度傳感器DS18B20、射頻SoC nRF9E5、天線及電池組成。在實(shí)際應(yīng)用中,可以有多個(gè)無(wú)線節(jié)點(diǎn),它們與基站之間通過(guò)射頻進(jìn)行無(wú)線通信。無(wú)線節(jié)點(diǎn)的電路結(jié)構(gòu)如圖4所示,其中,25AA320為E2PROM程序存儲(chǔ)器。DS18B20有寄生電源和外部電源兩種供電方式,本文采用外部供電方式,VDD引腳直接連接外部電源。DS18B20在空閑時(shí),其DQ腳由上拉電阻置為高電平。無(wú)線節(jié)點(diǎn)的天線根據(jù)實(shí)際需要可選用單鞭天線或PCB印制天線。
圖4 無(wú)線測(cè)溫節(jié)點(diǎn)結(jié)構(gòu)簡(jiǎn)圖
無(wú)線測(cè)溫系統(tǒng)的軟件設(shè)計(jì)
本系統(tǒng)軟件設(shè)計(jì)比較復(fù)雜,整個(gè)軟件系統(tǒng)的流程如圖5所示,主要有以下幾個(gè)關(guān)鍵函數(shù):DS18B20初始化及溫度采集函數(shù)、nRF9E5初始化及射頻發(fā)送(接收)函數(shù)、數(shù)據(jù)顯示函數(shù)、串口通信函數(shù)等。
圖5 無(wú)線測(cè)溫系統(tǒng)軟件流程
限于篇幅,各個(gè)函數(shù)的詳細(xì)流程圖不再給出,僅列出幾個(gè)函數(shù)片斷供參考,程序采用C語(yǔ)言編寫,用Keil C51進(jìn)行編譯。
DS18B20采用單總線數(shù)據(jù)傳輸方式,對(duì)讀寫的操作時(shí)序要求嚴(yán)格。DS18B20提供了一系列指令來(lái)控制傳感器的工作,利用這些指令就可以對(duì)DS18B20進(jìn)行操作了。為了操作方便,可編寫兩個(gè)操作函數(shù),源碼如程序清單1所示。
程序清單1:
//-------------------
//啟動(dòng)DS18B20的1次溫度轉(zhuǎn)換
//-------------------
void ConvertT(void)
{
RST18B20( ); //初始化
WR18B20(0xcc); //跳過(guò)多傳感器識(shí)別
WR18B20(0x44); //啟動(dòng)溫度轉(zhuǎn)換
}
//-------------------
//讀取DS18B20
//-------------------
int ReadT(void)
{
RST18B20( ); //初始化
WR18B20(0xcc); //跳過(guò)多傳感器識(shí)別
WR18B20(0xbe); //讀DS18B20緩存器
DPL=RD18B20( ); //溫度低位
DPH=RD18B20( ); //溫度高位
return(DPTR); //返回讀出的溫度值
}
在開始進(jìn)行無(wú)線通信前,必須對(duì)nRF9E5進(jìn)行初始化配置,這個(gè)配置是通過(guò)對(duì)配置寄存器的設(shè)置來(lái)完成的。nRF9E5有一個(gè)144位的配置字,規(guī)定了無(wú)線收發(fā)器的接收地址、收發(fā)頻率、發(fā)射功率、無(wú)線傳輸頻率、無(wú)線收發(fā)模式、CRC校驗(yàn)和的長(zhǎng)度及有效數(shù)據(jù)的長(zhǎng)度等。nRF9E5的初始化工作,可根據(jù)具體要求對(duì)照數(shù)據(jù)手冊(cè)進(jìn)行配置。
數(shù)據(jù)的發(fā)送和接收是無(wú)線收發(fā)器的主要功能,當(dāng)有數(shù)據(jù)要發(fā)送時(shí),首先通過(guò)SPI接口把所要發(fā)送的數(shù)據(jù)送給nRF905模塊,設(shè)置TRX_CE、TXEN為高以激活nRF9E5進(jìn)入發(fā)送狀態(tài)。無(wú)線系統(tǒng)自動(dòng)上電,數(shù)據(jù)自動(dòng)加前導(dǎo)碼和CRC校驗(yàn),然后發(fā)送數(shù)據(jù)包。具體過(guò)程如程序清單2所示。
程序清單2:
//-------------------
//發(fā)送數(shù)據(jù)包
//-------------------
void TransmitPacket(INT8U *pBuf)
{
INT8U i;
RACSN = 0;
SpiReadWrite(WTP);
for (i=0; i<Nrf9e5Config[10]; i++)
{
SpiReadWrite(pBuf[i]); //寫入發(fā)送緩沖區(qū)
}
RACSN = 1;
TXEN = 1;
TRX_CE = 1; //使能發(fā)送
Delay100us(1);
TRX_CE = 0; //發(fā)送完畢
}
當(dāng)要接收數(shù)據(jù)時(shí),通過(guò)設(shè)置TRX_CE為高、TXEN為低,使nRF9E5進(jìn)入接收狀態(tài)。當(dāng)nRF9E5監(jiān)測(cè)到和接收頻率相同的載波時(shí),載波檢測(cè)(CD)被置高;當(dāng)接收到有效的地址時(shí),地址匹配(AM)被置高;當(dāng)接收到有效的數(shù)據(jù)包(CRC校驗(yàn)正確)時(shí),數(shù)據(jù)就緒(DR)置高。接收數(shù)據(jù)的具體程序清單不再列出。
當(dāng)需要將接收到的數(shù)據(jù)通過(guò)RS-232串口輸出時(shí),首先要進(jìn)行串口初始化,開啟nRF9E5管腳P0.1、P0.2的第二功能,具體過(guò)程見程序清單3。
程序清單3:
//-------------------
//串口初始化
//-------------------
void InitUart(void)
{
TH1=243;
CKCON|=0x10;
PCON=0x80; // 設(shè)置波特率
SCON=0x52; // 模式1,使能接收
TMOD&=~0x30;
TMOD|=0x20;
TR1=1; //定時(shí)器1開啟
P0_ALT|=0x06; //串口使能
P0_DIR|=0x02; //P0.1 輸入
P0_DIR&=0xfb; //P0.2輸出
ES=0;
}
結(jié)束語(yǔ)
本文基于nRF9E5和DS18B20設(shè)計(jì)了一個(gè)無(wú)線測(cè)溫系統(tǒng),具有體積小、功耗低等優(yōu)點(diǎn),適用于采油廠、發(fā)電廠、鉆井施工等不宜進(jìn)行有線測(cè)溫的場(chǎng)合,應(yīng)用前景廣闊。
大家好,我是鲏。認(rèn)識(shí)我的朋友都知道,我是一個(gè)實(shí)踐派,相比研究枯燥的理論知識(shí),我更喜歡做自己想做的項(xiàng)目,用技術(shù)來(lái)實(shí)現(xiàn)自己的想法的感覺(jué)真的很棒。所以從大學(xué)期間一直到現(xiàn)在,除了工作中的項(xiàng)目外,我依然保持著自己做項(xiàng)目的習(xí)慣,有堅(jiān)...
關(guān)鍵字: 系統(tǒng)設(shè)計(jì) 技術(shù)選型 需求分析(全球TMT2022年8月30日訊)近日,在2022英特爾中國(guó)數(shù)據(jù)中心合作伙伴技術(shù)峰會(huì)上,英特爾與浪潮信息等產(chǎn)業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據(jù)中心創(chuàng)新實(shí)踐 -- 冷板液冷系統(tǒng)設(shè)計(jì)參考》白皮書,分享冷板液冷技術(shù)關(guān)鍵部件的最...
關(guān)鍵字: 系統(tǒng)設(shè)計(jì) 英特爾 數(shù)據(jù)中心 生態(tài)系統(tǒng)北京2022年8月30日 /美通社/ -- 近日,在2022英特爾中國(guó)數(shù)據(jù)中心合作伙伴技術(shù)峰會(huì)上,英特爾與浪潮信息等產(chǎn)業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據(jù)中心創(chuàng)新實(shí)踐 -- 冷板液冷系統(tǒng)設(shè)計(jì)參考》白皮書,分享冷板液冷技術(shù)關(guān)鍵部...
關(guān)鍵字: 系統(tǒng)設(shè)計(jì) 英特爾 數(shù)據(jù)中心 電量摘要:近年來(lái),受人類活動(dòng)的影響,各大水域的水質(zhì)污染問(wèn)題越來(lái)越嚴(yán)重,大部分水資源受到嚴(yán)重污染,水質(zhì)處理問(wèn)題亟需解決。分析水體污染情況對(duì)改進(jìn)水質(zhì)有著重要意義,目前水質(zhì)監(jiān)測(cè)主要采用人工或無(wú)人船的方式。人工監(jiān)測(cè)方式工作量大,影響...
關(guān)鍵字: 水質(zhì)監(jiān)測(cè) 無(wú)人機(jī) 系統(tǒng)設(shè)計(jì)摘要:根據(jù)饒平縣高堂水閘重建工程建設(shè)實(shí)際需求,對(duì)高堂水閘運(yùn)行管理進(jìn)行實(shí)時(shí)在線式監(jiān)控與監(jiān)測(cè),通過(guò)閘門控制、視頻監(jiān)控、水情測(cè)報(bào)、安全監(jiān)測(cè)和網(wǎng)絡(luò)通信等系統(tǒng)的設(shè)計(jì),為高堂水閘的水工建筑物安全、防洪調(diào)度和自動(dòng)化管理提供技術(shù)支持,以...
關(guān)鍵字: 管理信息系統(tǒng) 水利工程 系統(tǒng)設(shè)計(jì)湖州2022年7月26日 /美通社/ -- 近日,浙江省科技創(chuàng)新大會(huì)在浙江省人民大會(huì)堂隆重舉行。大會(huì)正式頒布2021年度浙江省科學(xué)技術(shù)進(jìn)步獎(jiǎng),隆重表彰為浙江科技創(chuàng)新事業(yè)和經(jīng)濟(jì)社會(huì)發(fā)展做出突出貢獻(xiàn)的科技工作者及團(tuán)隊(duì)。...
關(guān)鍵字: 電梯 檢測(cè)技術(shù) 系統(tǒng)設(shè)計(jì) 零部件摘要:簡(jiǎn)要介紹了柴油發(fā)電機(jī)組和重油發(fā)電機(jī)組的構(gòu)成和主要特點(diǎn),以某發(fā)電廠重柴油發(fā)電機(jī)組系統(tǒng)設(shè)計(jì)為例,重點(diǎn)分析了重油發(fā)電機(jī)組燃油系統(tǒng)、潤(rùn)滑油系統(tǒng)、循環(huán)冷卻水系統(tǒng)、壓縮空氣系統(tǒng)的設(shè)計(jì)要點(diǎn),以提高柴油、重油發(fā)電機(jī)組的運(yùn)行效率和運(yùn)...
關(guān)鍵字: 重油發(fā)電機(jī)組 特性 系統(tǒng)設(shè)計(jì)摘要:針對(duì)一種小型消費(fèi)級(jí)水下機(jī)器人,分析了其系統(tǒng)總體設(shè)計(jì)及各關(guān)鍵子系統(tǒng)(推進(jìn)系統(tǒng)、通信系統(tǒng)、控制系統(tǒng)及其他系統(tǒng)等)設(shè)計(jì)的要點(diǎn)和方法,舉例介紹了一種五推進(jìn)器小型消費(fèi)級(jí)水下機(jī)器人。經(jīng)驗(yàn)證,該設(shè)計(jì)方法可以用于同類型水下機(jī)器人的...
關(guān)鍵字: 推進(jìn)器 系統(tǒng)設(shè)計(jì) 五推進(jìn)器提供全面高效的電源管理建模,適用于汽車和工業(yè)應(yīng)用領(lǐng)域 加州山景城2022年5月24日 /美通社/ -- 新思科技(納斯達(dá)克股票代碼:SNPS)和Analog Devices, Inc. 近日宣布達(dá)成合作,通過(guò)...
關(guān)鍵字: ADI 電源系統(tǒng) 系統(tǒng)設(shè)計(jì) 新思科技摘要:PLC以其體積小、占用空間小、輔助設(shè)施投入少、工作可靠和維修簡(jiǎn)單等優(yōu)點(diǎn),被廣泛應(yīng)用于各個(gè)領(lǐng)域。現(xiàn)介紹了一款可對(duì)鐵、鋁及顏色進(jìn)行材料分揀的裝置,分析了該分揀裝置的總體結(jié)構(gòu)設(shè)計(jì)、硬件設(shè)計(jì)和軟件系統(tǒng)設(shè)計(jì)要點(diǎn)。該分揀裝置成...
關(guān)鍵字: 自動(dòng)分揀 PLC 系統(tǒng)設(shè)計(jì)