無線溫度傳感器設(shè)計方案集錦
目前,大多采用的是有線多點溫度采集系統(tǒng),通過安裝溫度節(jié)點來實現(xiàn)對室內(nèi)外溫度監(jiān)控。這種傳統(tǒng)的多點采集系統(tǒng)需要用導線與每個溫度采集節(jié)點連接,其技術(shù)成熟,制作成本相對較低。但是,在許多場合需要將傳感器節(jié)點直接放置在目標地點進行現(xiàn)場的數(shù)據(jù)采集,這就要求傳感器節(jié)點具有無線通信的能力。同時,由于無線傳感器通常使用電池作為能源,所以,它對能耗要求非常高。
本文引用地址:http://m.butianyuan.cn/article/201710/367046.htm針對這些問題,本文羅列出關(guān)于無線溫度傳感器設(shè)計的各種方案,以供讀者進行設(shè)計參考。
數(shù)字化無線溫度傳感器
本設(shè)計主要是基于433 MHz ISM頻段,無需申請就可以使用。該設(shè)計方案有許多明顯的優(yōu)點:傳輸速度快、距離遠、數(shù)據(jù)穩(wěn)定;采用低功耗模式,延長電池使用時間;能保證任何時候數(shù)據(jù)不丟失,提高系統(tǒng)的強健度。
1系統(tǒng)硬件設(shè)計
所設(shè)計的無線溫度傳感器主要由以下幾部分組成:溫度測量、發(fā)射部分、接收部分、LCD顯示部分以及操控部分。系統(tǒng)結(jié)構(gòu)圖如圖1所示。
1.1 溫度測量電路
在溫度測量電路中采用Dallas公司生產(chǎn)的1-Wire總線數(shù)字溫度傳感器DS18B20。溫度測量電路如圖2所示。
DS18B20是3引腳TO-92小體積封裝形式;溫度測量范圍為-55~125℃,可編程為9-12位A/D轉(zhuǎn)換精度,測溫分辨率可達0.062 5℃,被測溫度以帶符號擴展的16位數(shù)字方式串行輸出。
DS18B20內(nèi)部結(jié)構(gòu)主要由4部分組成:64位ROM、溫度傳感器、非揮發(fā)的溫度報警觸發(fā)器TH和 TL及配置寄存器。ROM中的64位序列號是出廠前被光刻好的,它可以看作是該DS18B20的地址序列碼,每個DS18B20的64位序列號均不相同。 ROM的作用是使每一個DS18B20都各不相同,這樣就可以實現(xiàn)一根總線上掛接多個DS181E0的目的。
DS18B20中的溫度傳感器完成對溫度的測量,用16位符號擴展的二進制補碼形式提供,以0.062 5℃/LSB形式表達。例如+25.062 5℃的數(shù)字輸出為0191H,-25.062 5℃的數(shù)字輸出為FF6FH。
高低溫報警觸發(fā)器TH和TL、配置寄存器均由一個字節(jié)的E2PROM組成,使用一個存儲器功能命令可對TH,TL或配置寄存器寫入。其中配置寄存器的格式如下:
R1和R0決定溫度轉(zhuǎn)換的精度位數(shù):R1R0=“00”,9位精度,最大轉(zhuǎn)換時間為93.75 ms;R1R0=“01”,10位精度,最大轉(zhuǎn)換時間為187.5 ms;R1R0=“10”,11位精度,最大轉(zhuǎn)換時間為375 ms;R1R0;“11”,12位精度,最大轉(zhuǎn)換時間為750 ms;未編程時默認為12位精度。設(shè)計取R1R0=“11”。
1.2 無線收發(fā)電路
1.2.1 IA4421與單片機的接口
IA4421支持SPI通信協(xié)議,本設(shè)計選擇了美國ATMEL公司出品的高性能單片機ATmega324p,其內(nèi)置增強型SPI接口,并且有32 kB的FLASH,能夠滿足在系統(tǒng)中的LCD上顯示中文字符。IA4421與單片機的接口電路示意圖如圖3所示。
ATmega324p內(nèi)置的增強型串行外設(shè)接口SPI提供訪問一個全雙工同步串行總線的能力。SPI所使用的4個信號為MOSI,MISO,SCK 和SS。MOSI用于從主器件到從器件的串行數(shù)據(jù)傳輸;MISO用于從器件到主器件的串行數(shù)據(jù)傳輸;SCK用于同步主器件和從器件之間在MOSI和 MISO線上的串行數(shù)據(jù)傳輸。
1.2.2 無線發(fā)送時序
IA4421的發(fā)送方式為發(fā)送寄存器緩沖數(shù)據(jù)傳輸方式,由配置設(shè)置命令的第7位el來使能,圖1可以看出,IA4421共有2個8位的數(shù)據(jù)寄存器,發(fā)送的數(shù)據(jù)首先被鎖存到其中一個數(shù)據(jù)寄存器中,當電源管理命令的第5位et被置1,則發(fā)送器開始以設(shè)置的碼率從第一個寄存器向外發(fā)送數(shù)據(jù)。
每次發(fā)送數(shù)據(jù)必須以0xAA作為發(fā)送數(shù)據(jù)的前導碼,否則外部接收裝置無法接收數(shù)據(jù)。若是采用同步模式,則要用0x2DD4作為同步模式的標志碼,然后才能開始傳輸數(shù)據(jù)。引腳nIRQ可以用來檢測寄存器是否準備好從微處理器接收下一個字節(jié)來發(fā)送,若是引腳nIRQ變?yōu)榈碗娖?,則表示寄存器準備好了。
1.2.3 無線接收時序
IA4421的接收方式有兩種:一種是一直接收;另一種是FIFO模式。前一種方式并不推薦,會引起較高的誤碼率。本設(shè)計采用后一種模式。在相應(yīng)的控制字都設(shè)置好之后,數(shù)據(jù)已進入緩沖器中,若引腳nIRQ變成低電平,則表示IA4421準備好接收數(shù)據(jù),這時發(fā)送FIFO讀命令字,開始接收。
1.3 外圍天線設(shè)計
IA4421的支持天線直接驅(qū)動,設(shè)計相當簡單方便并且通信距離長。一個50 Ω的外接螺旋天線和對應(yīng)的差分電路就可以實現(xiàn)數(shù)據(jù)的發(fā)送和接收。本系統(tǒng)設(shè)計的天線是用1.17 cm的單芯銅導線實現(xiàn),導線的直徑是0.6 mm,用螺絲刀的金屬棒饒制7圈成螺旋狀。經(jīng)過實驗,實際有效的通信距離能達到200 m左右,滿足了系統(tǒng)需要。
2 系統(tǒng)軟件設(shè)計
2.1 單片機軟件設(shè)計
單片機軟件部分主要包括主程序、中斷子程序、測溫子程序、LCD的轉(zhuǎn)換顯示,蜂鳴器報警子程序,按鍵子程序以及SPI子程序等。為了降低功耗,使用中斷來喚醒單片機進行測溫等工作,因此主程序部分比較簡單,主要負責系統(tǒng)各部分初始化和中斷的調(diào)用,在系統(tǒng)初始化完成后就直接進入睡眠模式,當中斷到來時單片機退出睡眠模式,調(diào)用中斷子程序?qū)崿F(xiàn)測溫、轉(zhuǎn)換顯示、溫度數(shù)據(jù)的傳輸?shù)裙δ堋纹瑱C控制程序流程圖如圖4所示。
2.2 IA4421應(yīng)用程序設(shè)計
本系統(tǒng)是基于無線收發(fā)芯片IA4421和單片機ATmega324p的增強型串行外設(shè)接口SPI來實現(xiàn)無線數(shù)據(jù)的傳輸,在核心協(xié)議棧上編寫自己的上層應(yīng)用程序。發(fā)送接收數(shù)據(jù)的程序流程圖如圖5所示。
2.3 低功耗設(shè)計
作為無線傳感器,低功耗運行可以最大限度地延長設(shè)備的有效使用時間,本系統(tǒng)是采用電池供電,功耗肯定就是一個不得不考慮的問題。為了獲得最佳性能,設(shè)計時在電源損耗和可用性方面必須根據(jù)情況權(quán)衡使用,除了選用低功耗器件外,還從以下幾個方面設(shè)計電源管理程序以盡量減少無線溫度傳感器的功耗:
?。?)由于無線溫度傳感器負責向控制終端傳輸數(shù)據(jù),因此何時進行數(shù)據(jù)采集、何時進行數(shù)據(jù)傳輸可以由上位機的控制終端決定,非常適合使用休眠模式和呼吸模式,通過減少IA4421在微微網(wǎng)中的活動達到節(jié)電的目的。把控制終端作為主設(shè)備,將電源管理程序設(shè)計在終端的應(yīng)用控制層中,并由控制終端完成設(shè)備的查詢、配對、建鏈等工作,當無線傳感器與控制終端配對成功并連接后進入休眠模式,此時主從設(shè)備仍然保持著信道,只是不能發(fā)送和接收數(shù)據(jù)。當需要進行數(shù)據(jù)傳輸時,退出休眠模式進入呼吸模式,通過呼吸時隙發(fā)送數(shù)據(jù),呼吸間隔可設(shè)為20~40 ms,間隔過大會帶來明顯延遲,當數(shù)據(jù)傳輸結(jié)束后再次進入休眠模式,從而盡可能地降低能耗。
(2)應(yīng)用單片機的睡眠模式達到節(jié)能目的。當IA4421退出待機狀態(tài),發(fā)送指令進行數(shù)據(jù)采集時,IA4421的中斷請求標志位nIRQ產(chǎn)生低電平,通過中斷標志位上電平的變化產(chǎn)生外部中斷來喚醒單片機進入工作狀態(tài)。
基于nRF905的無線溫度傳感器網(wǎng)絡(luò)硬件設(shè)計#e#
基于nRF905的無線溫度傳感器網(wǎng)絡(luò)硬件設(shè)計
圖1 溫度傳感器網(wǎng)絡(luò)結(jié)構(gòu)組成圖
控制模塊設(shè)計
控制模塊的功能包括:①測量并處理傳感器模塊數(shù)據(jù);②讀取并處理無線收發(fā)模塊接收的數(shù)據(jù),進行數(shù)據(jù)融合,配置系統(tǒng)參數(shù);③通信協(xié)議處理,完成無線傳感器網(wǎng)絡(luò)通信中的MAC和路由協(xié)議處理。因此,綜合考慮控制模塊的處理速度、存儲空間、外圍接口、功能和功耗等因素,本設(shè)計選取µPD78F0485微控制器作為控制模塊的核心器件。
無線收發(fā)模塊設(shè)計
本設(shè)計在考慮調(diào)制方式、功耗、傳輸距離、功率等因素的基礎(chǔ)上,選取Nordic VLSI公司的無線射頻芯片nRF905。nRF905是一款低功耗無線收發(fā)芯片,可工作于433/868/915MHz ISM頻段,GFSK調(diào)制,本設(shè)計采用433MHz為中心頻率。該收發(fā)芯片由功率放大器、頻率合成器、晶體振蕩器、接收解調(diào)器和調(diào)制器組成,片內(nèi)自動完成曼徹斯特編碼和解碼,廣泛應(yīng)用于無線數(shù)據(jù)通信、無線報警及安全系統(tǒng)、無線開鎖、無線監(jiān)測和家庭自動化等領(lǐng)域。
nRF905通過SPI與微控制器進行通信,可自動處理字頭和CRC(循環(huán)冗余碼校驗)。發(fā)送數(shù)據(jù)時,微控制器只需將配置寄存器信息、所要發(fā)送的數(shù)據(jù)和接收地址通過SPI傳送給nRF905,它會自動完成數(shù)據(jù)的打包和發(fā)送。接收數(shù)據(jù)時,nRF905自動檢測載波并進行地址匹配,接收到正確數(shù)據(jù)后自動移去字頭、地址和CRC校驗碼,再通過SPI將數(shù)據(jù)傳送到微控制器。nRF905具有四種工作模式:掉電模式、待機模式、Shock Burst接收模式和Shock Burst發(fā)送模式。在掉電模式中,電流僅為2.5µA,易于實現(xiàn)節(jié)能。當nRF905處于掉電模式時,SPI接口仍可以保持在工作狀態(tài);通過Shock Burst收發(fā)模式進行無線數(shù)據(jù)傳輸,收發(fā)可靠,使用方便。因此,nRF905在諸多領(lǐng)域都具有廣闊的應(yīng)用前景,這些特點決定了nRF905芯片非常適合應(yīng)用于無線傳感器網(wǎng)絡(luò)中。
無線收發(fā)模塊的電路如圖2所示??刂埔_TX_EN、TRX_EN、PWR_UP直接與微控制器的P44、P45、P46相連;狀態(tài)引腳DR與微控制器的中斷引腳P120/INTP0相連,狀態(tài)引腳CD、AM直接與微控制器P47、P10相連;由于系統(tǒng)沒有SPI總線,因此采用I/O引腳模擬SPI總線通信。微控制器的P11、P12、P13分別與nRF905的SCK、MOSI、MISO連接;微控制器的P14與SPI的控制端口CSN連接。 nRF905通過電容和電感與天線J2相連接。nRF905帶有外部時鐘輸出引腳uPCLK,能夠輸出四種不同頻率的時鐘,采用示波器連接uPCLK引腳可測試nRF905是否工作正常。
存儲模塊設(shè)計
傳感器節(jié)點需存儲用戶設(shè)定的參數(shù)以及運行記錄等大量數(shù)據(jù)。本設(shè)計選擇AT24C256作為存儲芯片,它是ATMEL公司推出的低功耗256K串行 EEPROM芯片,具有如下特點:①具有三種工作電壓,分別為5.0V、2.7V、1.8V;②具有64字節(jié)頁寫模式;③符合雙向數(shù)據(jù)傳送協(xié)議;④具有硬件寫保護和軟件數(shù)據(jù)保護功能;⑤采用斯密特觸發(fā),可抑制輸入噪聲;⑥采用2線串行接口;⑦內(nèi)部可以組織成32K×8存儲單元。
AT24C256存儲器電路如圖3所示,AT24C256的A0引腳和A1引腳接地。由于µPD78F0485微控制器沒有I2C接口,因此采用µPD78F0485的I/O引腳模擬I2C總線通信。采用µPD78F0485的I/O引腳控制EEPROM的供電,將存儲器的電源引腳VCC 與µPD78F0485的P12引腳相連接。使用存儲器時,需設(shè)置P12引腳輸出高電平,以實現(xiàn)為存儲器供電;不使用存儲器時,可將存儲器電源關(guān)掉,節(jié)省電量,這也保證了電源不穩(wěn)定時不能訪問EEPROM,防止EEPROM讀寫出現(xiàn)錯誤。µPD78F0485的P13和P14與AT24C256的SCL引腳和SDA引腳相連接。
圖3 AT24C256存儲器電路圖
按鍵模塊設(shè)計
按鍵是無線傳感器節(jié)點為用戶提供的操作接口,可利用按鍵設(shè)置和讀取節(jié)點的參數(shù),查詢節(jié)點的運行結(jié)果、工作狀態(tài)和歷史記錄。本設(shè)計采用的微控制器µPD78F0485具有按鍵中斷功能,具有8個通道,網(wǎng)絡(luò)系統(tǒng)使用了KEY1、KEY2、KEY3和KEY4四個按鍵引腳,它們分別與µPD78F0485的P40引腳、P41引腳、P42引腳和P43引腳相連接,按鍵電路如圖4所示。
圖4 按健電路圖
USB通訊模塊設(shè)計
利用USB接口可實現(xiàn)傳感器節(jié)點與計算機的通信。本設(shè)計采用了高度集成USB轉(zhuǎn)UART橋接器CP2102,它集成了USB 2.0全速功能控制器、USB轉(zhuǎn)發(fā)器、振蕩器和帶有全部調(diào)制解調(diào)器控制信號的串行數(shù)據(jù)總線(UART)接口;外圍元件較少,可以節(jié)約PCB成本和空間。使用USB通訊時,首先將USB電路板一端與傳感器節(jié)點的電路板連接,另一端與計算機連接,然后將CP2102的驅(qū)動程序安裝在計算機上,計算機將 CP2102虛擬成一個COM口,最后就能夠以訪問一個標準COM口的硬件方式訪問CP2102。USB通訊電路如圖5所示,網(wǎng)絡(luò)系統(tǒng)將µPD78F0485的異步串行接口UART6與CP2102的異步串行接口相連接。
圖5 USB通訊電路圖
液晶顯示模塊設(shè)計
溫度傳感器網(wǎng)絡(luò)工作時,需讀取和設(shè)置節(jié)點的參數(shù)。因此,需采用LCD顯示器來顯示所需設(shè)置的參數(shù)命令和參數(shù)數(shù)據(jù)。本設(shè)計采用的µPD78F0485微控制器帶有LCD控制器/驅(qū)動器,具有自動讀取存儲器顯示數(shù)據(jù),自動輸出COMMON和SEGMENT信號的功能。µPD78F0485具有6種顯示模式,每種顯示模式具有6種不同的幀頻率,本文選用1/3分壓、1/4分時的驅(qū)動方式,使用副時鐘作為LCD的時鐘源,采用內(nèi)部分壓的方式來驅(qū)動具有4個 COM端、20個SEG的LCD顯示器,該顯示器可同時顯示8個數(shù)字、7個小數(shù)點、17個常用標號。
溫度采集模塊設(shè)計
本設(shè)計溫度采集芯片采用數(shù)字化溫度傳感器DS18B20,它由半導體公司Dallas推出,具有如下特點:①測溫范圍-55℃~+125℃,在 -10℃~+85℃范圍內(nèi)的精度為±0.5℃。②測量結(jié)果為數(shù)字信號,以“一線總線”傳給MCU,并且也傳送CRC校驗碼。③具有較高的分辨率,擁有 9~12位分辨率可調(diào)的功能,所對應(yīng)的溫度分辨率分別為0.5℃、0.25℃、0.125和0.0625℃。④具有寄生電源供電和外部電源供電兩種模式,電壓范圍寬。其中,在外部電源供電模式下,DS18B20工作穩(wěn)定可靠,抗干擾能力強,因此,本文采用外部供電模式,并將DS18B20的電源引腳連接到µPD78F0485的引腳,當不測量溫度時,將其外部電源關(guān)閉以降低節(jié)點的功耗。⑤體積小,減少了傳感器節(jié)點體積的大小。網(wǎng)絡(luò)系統(tǒng)測溫電路如圖6所示,µPD78F0485的P140引腳與DS18B20的電源引腳相連接,P133引腳與DS18B20的數(shù)據(jù)引腳相連接。
圖6 測溫電路圖
電量檢測模塊設(shè)計
溫度傳感器網(wǎng)絡(luò)采用電池供電,因而必須定時檢測電量,以避免節(jié)點電量不足而造成節(jié)點之間的通信故障,若電量不足,則提示更換電池。本設(shè)計采用µPD78F0485微控制器的10位逐次逼近性AD轉(zhuǎn)換器和微功率兩端帶隙穩(wěn)壓器LM385二極管來實現(xiàn)電量檢測,電量檢測電路如圖7所示,P30引腳連接控制是否測量電量,用以控制是否進行電量檢測,P27/ANI連接穩(wěn)壓管LM385的電源端。穩(wěn)壓管LM385可工作在10mA~20mA的電流范圍內(nèi),具有非常低的溫度系數(shù)和動態(tài)阻抗。
圖7 電量檢測電路圖
電源模塊設(shè)計
根據(jù)系統(tǒng)要求,本設(shè)計采用3.6V鋰電池供電,鋰電池具有容量大、體積小的特點。由于USB通訊模塊使用的是5V電壓,因此需采用LM1117進行 5V到3.6V電壓的轉(zhuǎn)換。電源模塊電路如圖8所示,電源模塊提供5V和3.6V的兩種電源接口,采用三端穩(wěn)壓器LM1117可將5V電壓轉(zhuǎn)換為3.6V 電壓。
圖8 電源模塊電路圖
基于藍牙技術(shù)的無線溫度傳感器應(yīng)用
1 系統(tǒng)硬件結(jié)構(gòu)
無線溫度傳感器主要由單片機控制單元、藍牙模塊、溫度檢測單元、接口電路及其它輔助電路組成,系統(tǒng)結(jié)構(gòu)如圖1所示。控制單元凌陽單片機為整個系統(tǒng)的核心,對檢測到的溫度數(shù)據(jù)進行轉(zhuǎn)換、顯示、傳輸,外擴4MBFLAsH用于存儲程序和溫度數(shù)據(jù)。藍牙模塊包括藍牙芯片、放大器、非平衡變壓器(Balun)等,負責與藍牙控制終端進行無線連接和數(shù)據(jù)傳輸,按鍵完成系統(tǒng)設(shè)置、復位等信息輸人,測量的溫度數(shù)據(jù)在傳輸?shù)娇刂平K端的同時在LED上顯示,并通過揚聲器定時語音播報當前溫度數(shù)據(jù)和超限報警。
1.1 單片機控制單元
控制單元采用SPCE061A單片機,工作電壓為2.6~3.6V,工作頻率為0.32一49.152MHz,較高的處理速度使其能夠非常容易、快速地處理復雜的數(shù)字信號。該芯片內(nèi)包括ADC、DAC、定時器/計數(shù)器、RAM、FLASH、ROM等器件,具有一套高效率的指令系統(tǒng)和集成開發(fā)環(huán)境,并且支持標準C語言,可以實現(xiàn)C語言與凌陽匯編語言的相互調(diào)用,為硬件設(shè)計和軟件開發(fā)提供了便利條件。另外,芯片內(nèi)置的2路10位精度的DAC,再配合豐富的語音函數(shù)庫,可方便地完成語音的播放,非常適合于語音應(yīng)用的開發(fā)。
1.2 溫度檢瀏單元
溫度檢測單元采用D1S8B02型傳感器,是美國DALLAS公司推出的一種改進型智能溫度傳感器,與傳統(tǒng)的熱敏電阻等測溫元件相比,它能直接讀出被測溫度,并且可根據(jù)實際要求通過編程實現(xiàn)9~12位的數(shù)字值讀數(shù)方式。DS18BZo與SPCEo61A單片機的接口電路如圖2所示,由于DS18B20 傳感器支持“一線總線”接口,因此只需將DS18B20信號線接到單片機的1位1/0線上即可,而且在1根1/0線上可以掛接多個傳感器實現(xiàn)多點溫度測量。
為了提高抗干擾性能,采用外加電源方式對傳感器供電。
1.3 無線傳愉控制單元
隨著藍牙芯片單芯片的集成度越來越高和集成了芯片、Balun、晶振等各種藍牙模塊的面世,將藍牙嵌人到其它數(shù)字化設(shè)備中也越來越容易實現(xiàn)。本系統(tǒng)無線傳輸由藍牙模塊BCM02實現(xiàn),BCM02核心采用CSR(CambridgesiliconRadio)公司的BlueCoreZ一External 藍牙芯片,外圍擴展T晶振、FLASH、Balun、帶通濾波器(BPF)、1.SV穩(wěn)壓電路,可以根據(jù)不同的應(yīng)用場合快速開發(fā),模塊符合藍牙Vl.1標準,最大發(fā)射功率設(shè)計為2.smw(4dB/m),是一個二級藍牙芯片,工作電壓為3士0.3V。BCMoZ通過UART口與單片機相連,為簡化設(shè)計,將所需的藍牙協(xié)議棧和無線傳輸應(yīng)用程序直接固化在藍牙模塊中,利用藍牙提供一個透明的無線數(shù)據(jù)傳輸,而單片機只要設(shè)置好波特率等參數(shù)即可進行通信,傳輸控制由單片機完成。
2 軟件設(shè)計及流程
2.1 單片機軟件設(shè)計
單片機軟件部分主要包括主程序、中斷子程序、測溫子程序、轉(zhuǎn)換顯示及存儲子程序、UART通信子程序、語音播放子程序等,為了降低功耗,使用中斷來喚醒單片機進行測溫等工作,因此主程序部分比較簡單,主要負責系統(tǒng)各部分初始化和中斷的調(diào)用,在系統(tǒng)初始化完成后就直接進人睡眠模式,當中斷到來時單片機退出睡眠模式,調(diào)用中斷子程序?qū)崿F(xiàn)測溫、轉(zhuǎn)換顯示、溫度數(shù)據(jù)的傳輸以及語音的播報和報警等功能。
2.2 藍牙應(yīng)用程序設(shè)計
本系統(tǒng)是基于藍牙的串口應(yīng)用模型SPP(SerialPortProfile)實現(xiàn)無線數(shù)據(jù)的透明傳輸,在核心協(xié)議棧之上編寫自己的上層應(yīng)用程序。 CSR的藍牙核心協(xié)議棧包括HCI、LZCAP、SDP、RFCOMM等,以固件的形式提供給開發(fā)人員,用戶編寫的應(yīng)用程序和協(xié)議棧一起運行在CSR嵌人式環(huán)境中。在CSR程序中,不同任務(wù)之間可以異步地發(fā)送消息,每一個任務(wù)在創(chuàng)建的時候可以讓其中一個擁有消息隊列,其它的就把發(fā)給任務(wù)的消息提交給該消息隊列,由任務(wù)調(diào)度程序自動運行獲得任務(wù)的消息。藍牙模塊上層應(yīng)用程序流程如圖3所示。
3低功耗設(shè)計
作為無線傳感器,低功耗運行可以最大限度地延長設(shè)備的有效使用時間,為了獲得最佳性能,設(shè)計時在電源損耗和可用性方面必須根據(jù)情況權(quán)衡使用,除了選用低功耗器件外,筆者從以下幾個方面設(shè)計了電源管理程序以盡量減少無線溫度傳感器的功耗。
(1)由于無線溫度傳感器負責向控制終端傳輸數(shù)據(jù),因此何時進行數(shù)據(jù)采集、何時進行數(shù)據(jù)傳輸可以由控制終端決定,非常適合使用休眠模式和呼吸模式,通過減少藍牙設(shè)備在微微網(wǎng)中的活動達到節(jié)電的目的,并且控制終端一般接有持久的電源,所以電源管理的開銷由終端來負責比較合適。把控制終端作為主設(shè)備,將電源管理程序設(shè)計在終端的應(yīng)用控制層中,并由控制終端完成設(shè)備的查詢、配對、建鏈等工作,當無線傳感器與控制終端配對成功并建立RFCOMM連接后進人休眠模式,此時主從設(shè)備仍然保持著RFCOMM信道,只是不能發(fā)送和接收數(shù)據(jù),休眠模式下信標間隔可設(shè)為15,電流大概在lmA左右。當需要進行數(shù)據(jù)傳輸時,退出休眠模式進人呼吸模式,通過呼吸時隙發(fā)送數(shù)據(jù),呼吸間隔可設(shè)為20~40ms,間隔過大會帶來明顯延遲,當數(shù)據(jù)傳輸結(jié)束后再次進人休眠模式,從而盡可能地降低能耗。
(2)CSR的BlueCore芯片提供T獨特的硬件節(jié)能方法—深度睡眠(Depslep)模式,進人和退出深度睡眠模式至少需要10ms,通過按鈕或事件進人深度睡眠模式很大程度上降低了損耗。當用戶確定將有較長時間不使用無線溫度傳感器時,可通過控制終端發(fā)送事件消息進人深度睡眠模式,需要使用時再通過消息快速退出。在深度睡眠模式下電流一般可控制在50拼A左右。
?。?)凌陽單片機SPCE06lA也可以應(yīng)用CPU的睡眠模式,且A口具有鍵喚醒功能,將BCM02的PIOS與單片機的IOA7相連接,當藍牙模塊退出休眠模式,發(fā)送指令進行數(shù)據(jù)采集時,PIOS輸出高電平,通過IOA7電平的變化產(chǎn)生中斷來喚醒CPU進人工作狀態(tài)。
基于LTP5901的無線溫度傳感器設(shè)計方案#e#
自給自足,基于LTP5901的無線溫度傳感器設(shè)計方案
設(shè)計概述
圖 1 顯示了該設(shè)計的方框圖。溫度傳感器基于一個熱敏電阻器,該熱敏電阻器由低噪聲 LT6654 電壓基準偏置。24 位ΔΣ ADC LTC2484 讀取熱敏電阻器的電壓,并通過 SPI 接口報告讀取的結(jié)果。LTP5901 是無線電模塊,不僅含有無線電單元,還含有自動構(gòu)成 IP 網(wǎng)格網(wǎng)絡(luò)所需的連網(wǎng)固件。此外,LTP5901 還有一個內(nèi)置的微處理器,該微處理器讀取 LTC2484 ADC SPI 端口,并管理面向信號鏈路組件的電源排序。LTC3330 是一款低功率、開關(guān)模式雙輸出電源,當可得到足夠的光照時,LTC3330 靠太陽能電池板供電,當光照不足但需要保持輸出電壓穩(wěn)定時,LTC3330 用電池供電。LTC3330 還含有一個 LDO,用來設(shè)定溫度傳感器供電電源的占空比。
圖 1:通過將無線電模塊連至ADC、基準和熱敏電阻器以構(gòu)成無線溫度傳感器。該電路由一個可從電池或太陽能電池板獲取電能的能量收集器供電。(BATTERY:電池;SOLAR PANEL:太陽能電池板;DUTY CYCLED:所設(shè)定的占空比;WIRELESS NETWORK:無線網(wǎng)絡(luò);THERMISTOR BRIDGE:熱敏電阻器電橋)
信號鏈路
這個設(shè)計用一個熱敏電阻器測量溫度。熱敏電阻是非常適合在溫度遠遠超出人們感興趣的典型環(huán)境溫度范圍中讀取溫度值。熱敏電阻器指的是具備很大負溫度系數(shù)的電阻器。例如,器件型號為 KS502J2 (按照 US Sensor 公司的規(guī)定) 的熱敏電阻,在 25°C 時阻值為 5kΩ,在 -30°C 至 +70°C 溫度范圍內(nèi),電阻值從 88kΩ 變化到 875Ω。
該熱敏電阻器與兩個準確的 49.9kΩ 電阻串聯(lián),并由精確的電壓基準 LT6654 偏置 (圖 2)。LTC2484 ΔΣ ADC 以 24 位分辨率測量電阻分壓器的分壓比。該 ADC 的總體未調(diào)整誤差為 15ppm,對于本文應(yīng)用所用的熱敏電阻器斜率而言,這對應(yīng)于少于 0.05°C 的溫度不確定性。這個熱敏電阻器規(guī)定的溫度準確度為 0.1°C,因此無需任何校準,所測量的溫度就能達到這樣的準確度。
圖 2:采用 LTC2484 24 位 ADC 讀取熱敏電阻的電壓。因為輸入共模電壓是置中,所以 Easy Drive ADC 不吸取輸入電流,從而很容易準確獲得成比例的讀數(shù)。(3-WIRE SPI INTERFACE:3 線 SPI 接口)
該 ADC 的噪聲低于 4μVp-p,這對應(yīng)不到 0.005°C 的溫度變化。因此,通過校準,這個系統(tǒng)可以用來以極其精細的分辨率測量溫度。既然 ADC 測量熱敏電阻電壓與基準電壓值之比,所以嚴格說來,基準電壓無需準確。但是它必須是低噪聲的,因為在 ADC 轉(zhuǎn)換時,基準電壓變化可能引起誤差。
LTC2484 ADC 采用了 Easy Drive輸入結(jié)構(gòu)。這意味著在轉(zhuǎn)換時的凈差分采樣電流接近為零。因此,流經(jīng)阻性熱敏電阻器網(wǎng)絡(luò)的輸入采樣電流不引起任何測量誤差,這意味著,無需單獨的運算放大器緩沖器。旁路電容器在高頻時提供一條低阻抗通路。在很多情況下,不需要不斷測量溫度,而是每秒測量一次甚至每分鐘只測量一次。在系統(tǒng)未測量溫度時,節(jié)省功耗是有意義的。如下所述,這個應(yīng)用電路正是這么做的。
電阻器網(wǎng)絡(luò)從 2.5V 基準吸取最大 25μA 電流。為了避免測量之間的功率損耗,將基準電源的工作周期調(diào)整為僅在測量期間導通。ADC 輸入的 RC 時間常數(shù)大約為 5ms。通過在進行測量之前 80ms接通電源,可確保 ADC 輸入完全穩(wěn)定。實際上,既然兩個輸入節(jié)點以相同的斜率接通,所以遠遠不用理論的穩(wěn)定時間那么久,讀數(shù)就已準確。LT6654 由 LTC3330 的 3V LDO 輸出供電。在讀取溫度讀數(shù)之前和之后的恰當時間,LTP5901 微處理器驅(qū)動 LTC3330 中 LDO 的使能引腳至高電平和低電平。
在未進行轉(zhuǎn)換時,LTC2484 自動進入休眠模式。與無線電已經(jīng)很低的功率相比,1μA 的睡眠電流更低。因此,不必設(shè)定至 ADC 供電電源的占空比。通過保持 ADC 的電源電壓始終與 LTP5901 相同,可確保 SPI 接口上的邏輯電平始終保持不變,這有助于實現(xiàn)簡單的設(shè)計。
通過 SPI 端口提供轉(zhuǎn)換結(jié)果以后,LTC2484 自動地開始進行新的轉(zhuǎn)換,并將轉(zhuǎn)換結(jié)果存儲到其內(nèi)部寄存器中,直到用戶再次要求讀取轉(zhuǎn)換結(jié)果。在需要非常頻繁地讀取溫度值的系統(tǒng)中,這種工作方式是非常便利。但是,有些超低功率應(yīng)用可能在兩次讀數(shù)之間等待很長時間。為了確保提供給用戶的溫度數(shù)據(jù)始終是“新鮮”的讀數(shù),這類應(yīng)用首先切換 CSb 和 SCK 引腳,以將“陳舊的”溫度讀數(shù)從 ADC 寄存器中移出,然后自動地開始進行新的溫度轉(zhuǎn)換。微處理器一直等待到轉(zhuǎn)換結(jié)束為止,然后通過 SPI 端口讀取結(jié)果。即使新的溫度讀取過程會再次自動開始,但是系統(tǒng)接下來會關(guān)閉熱敏電阻器網(wǎng)絡(luò) (通過關(guān)閉 LDO),因為這些額外的溫度讀數(shù)隨后將被忽略。
該溫度傳感器電路的總功耗可以按如下方法估計。首先,求基準 (350uA)、熱敏電阻器網(wǎng)絡(luò) (25μA) 和 ADC (轉(zhuǎn)換時為 160μA) 的電流之和,所得總電流為 535μA (參見表 1)。然后,考慮這一電流持續(xù)多長時間。ADC 每次轉(zhuǎn)換大約耗時 140ms,在每次轉(zhuǎn)換之前,等待 80ms,以讓基準和熱敏電阻器穩(wěn)定。再加上一些 SPI 讀數(shù)所需時間,這樣接通時間大約為 300ms。在 300ms時間內(nèi)消耗 535μA 電流,相應(yīng)于 160μC 的電荷量。我們應(yīng)該在這個電荷量之上,再加上給 4.7μF 電源旁路電容器充電至電壓基準所需的電荷量,因為每次讀數(shù)時這個節(jié)點都從 0V 充電至 3V。加上這個 14μC 的電荷量,每次讀取溫度數(shù)據(jù)時所需的總電荷量為 174μC。如果每隔 10 秒讀取一次溫度數(shù)據(jù),那么就可計算出,平均電流消耗為 17μA。其他平均電源電流的例子在表 2 中給出。
表 1:信號鏈路電流消耗 (工作時)
表 2:基于溫度讀取頻率進行電源管理的信號鏈路的平均電流消耗
LTC3330 管理這個應(yīng)用的所有電源。該芯片含有兩個開關(guān)模式電源和一個線性穩(wěn)壓器,采用小型單片封裝。降壓-升壓型轉(zhuǎn)換器可從電池取得功率,以保持穩(wěn)定的輸出電壓 (對這個應(yīng)用而言設(shè)定為 3.6V)。一個單獨的降壓型轉(zhuǎn)換器可從太陽能電池板取得功率,也將輸出電壓調(diào)節(jié)至相同的值。一個內(nèi)部優(yōu)先級區(qū)分器確保盡可能使用太陽能電源,僅當需要時才會從電池吸取功率 (圖 3)。對于其他應(yīng)用,LTC3330 還支持 AC 能量收集電源,例如產(chǎn)生與振動能量成比例的 AC 電壓之壓電晶體 (參見圖 4)。
圖 3:LTC3330 從太陽能電池板或電池取得功率,自動地設(shè)定這兩種電源的優(yōu)先級,以保持穩(wěn)定輸出電壓。一個額外的 LDO 輸出由邏輯輸入引腳控制,這用來設(shè)定溫度傳感器電源的占空比。LTC3330 產(chǎn)生一個輸出標記,以指示正在使用的是太陽能電源還是電池電源。(SOLAR PANEL:太陽能電池板;BATTERY:電池)
圖 4:LTC3330 能量收集型 DC/DC 電池壽命延長器從壓電、太陽能或磁性能源收集能量。
LTC3330 吸取不到 1μA 靜態(tài)電流,非常適合這種低功耗無線應(yīng)用。電源功耗僅占總功耗的一小部分,所以大部分功率可用于“負載” (即溫度傳感器和無線網(wǎng)絡(luò))。
除了這兩個開關(guān)模式電源,LTC3330 還含有一個具備單獨使能引腳的 LDO。這功能對于這類占空比的應(yīng)用是很有用。電壓基準和熱敏電阻器網(wǎng)絡(luò)用該 LDO 供電。這不僅降低了開關(guān)噪聲,還允許應(yīng)用切換信號鏈電源接通和關(guān)斷,同時保持無線電模塊的電源始終接通。即使無線電模塊在兩次傳輸之間不消耗太多功率,但是它必須始終保持偏置,以保持定時器正確運行,這樣整個網(wǎng)絡(luò)就能保持時間同步了。無線電模塊內(nèi)的微處理器在恰當?shù)臅r間給 LDO 使能引腳排序,使信號鏈路為讀取溫度數(shù)據(jù)做好準備。
LTC3330 提供一個輸出標記 (EH_ON),該標記說明系統(tǒng)是在由電池還是太陽能電池板供電。能夠?qū)崟r訪問這一信息對最終用戶來說可能很重要。因此,我們讓無線電模塊中的微處理器讀取這一輸出標記,并通過網(wǎng)絡(luò)與溫度數(shù)據(jù)一起傳送這一信息。EH_ON 輸出的邏輯電平是對于 LTC3330 的一個內(nèi)部偏置電壓,該偏置電壓隨工作模式不同而改變,可能高于 4V。我們不是將這個輸出引腳直接連接到電壓較低的無線電模塊邏輯輸入,而是對其進行分壓,然后將其饋送給一個內(nèi)置的 10 位 ADC,該 ADC 是微處理器的組成部分。在本文情況下,我們僅將這個 ADC 作為比較器使用,以指示 LTC3330 正在使用哪個電源。
無線網(wǎng)絡(luò)
LTP5901 是一個完整的無線電模塊,含有無線電收發(fā)器、嵌入式微處理器和網(wǎng)絡(luò)軟件。其物理設(shè)計由一塊小型印刷電路板組成,可非常容易地焊接到包含該應(yīng)用其余部分 (信號鏈路和電源管理) 之主電路板上。
在這個應(yīng)用中,LTP5901 執(zhí)行兩種功能:無線網(wǎng)絡(luò)和內(nèi)務(wù)處理微處理器 (圖 5)。當給一個網(wǎng)絡(luò)管理器附近的多個 LTP5901 節(jié)點加電后,這些節(jié)點相互自動識別,并形成一個無線網(wǎng)格網(wǎng)絡(luò)。整個網(wǎng)絡(luò)自動完成時間同步,這意味著每個無線電模塊都僅在非常短的特定時間間隔內(nèi)加電。因此,每個節(jié)點都可以既發(fā)揮傳感器信息源的作用,又作為路由節(jié)點,以向管理器轉(zhuǎn)發(fā)來自其他節(jié)點的數(shù)據(jù)。這樣,即使所有節(jié)點 (包括路由節(jié)點) 都以非常低的功率工作,依然可以建立一個高度可靠的低功耗網(wǎng)格網(wǎng)絡(luò),每個節(jié)點到管理器都有多條通路可用。這種無線電技術(shù)典型的節(jié)點間傳送距離為 100 米,在有利的戶外條件下,距離甚至可以更長。
圖 5:LTP5901-IPM 僅需要非常少的連接,就能運行整個應(yīng)用。所有無線網(wǎng)絡(luò)功能 (包括固件和 RF 電路) 都已經(jīng)內(nèi)置在該模塊中。3線 SPI 主器件與 LTC2484 的 SPI 端口通信。GPIO 引腳 (DP2) 控制傳感器電源排序。內(nèi)置 ADC 充當便利的電平轉(zhuǎn)換器,從 LTC3330 讀取能量收集狀態(tài)標記 EH_ON。
LTP5901 含有一個 ARM Cortex-M3 微處理器內(nèi)核,該內(nèi)核運行網(wǎng)絡(luò)軟件。此外,這個內(nèi)核還可通過用戶提供的固件來設(shè)定,以執(zhí)行特定于用戶應(yīng)用的任務(wù)。因此,無需任何第三方微處理器,就能夠?qū)崿F(xiàn)很多應(yīng)用。在本文例子中,LTP5901 內(nèi)部的微處理器通過在合適的時間接通和斷開 LTC3330 的 LDO 來管理溫度傳感器的電源排序,以在兩次溫度讀取之間節(jié)省功率。LTP5901 直接與 24 位 ADC 的 SPI 端口通信,該 ADC 讀取溫度傳感器提供的溫度值。最后,LTP5901 從 LTC3330 讀取電源狀態(tài)輸出標記 (EH_ON),該標記指示用來給電路供電的是太陽能還是電池。
無線電模塊的功耗可以用凌力爾特在官網(wǎng)在線提供的工具“SmartMesh功率與性能估計器 (SmartMesh Power and Performance Estimator)”來估計。對于一個有 20 個節(jié)點 (其中 10個節(jié)點以無線方式直接連接到管理器 (1 跳),另外 10 個節(jié)點間接連接到管理器 (兩跳) ) 的典型網(wǎng)絡(luò)而言,兩跳節(jié)點的平均功耗約為 20μA,1 跳節(jié)點則為 40μA。這些數(shù)字是在每個節(jié)點每 10 秒報告一次溫度數(shù)據(jù)的情況下得出的。1 跳節(jié)點消耗大約兩倍功率的原因是,它們不僅發(fā)送自己的傳感器數(shù)據(jù),還充當路由節(jié)點,轉(zhuǎn)發(fā)一些兩跳節(jié)點的傳感器數(shù)據(jù)。如果關(guān)閉一種稱為 “Advertising”(宣告) 功能,那么上述功率可以進一步減少兩倍。一旦“宣告”功能關(guān)閉,網(wǎng)絡(luò)就不再識別想加入網(wǎng)絡(luò)的新節(jié)點。除了這點不同,關(guān)閉廣告功能對網(wǎng)絡(luò)運行沒有任何影響。
總體功耗
完整應(yīng)用電路的總體功耗視各種不同因素而有所不同,其中包括每個傳感器測量溫度的頻度以及所有節(jié)點在網(wǎng)絡(luò)中的配置方式。對于一個每 10 秒報告一次溫度數(shù)據(jù)的傳感器節(jié)點而言,典型功耗為傳感器部分低于 20μA,無線電模塊部分可能為 20μA,總的平均負載電流約為 40μA。
小型 2 英寸 x 2 英寸太陽能電池板 (例如 Amorton 系列) 甚至在相對中等的室內(nèi)照明條件下 (200 流明),也可產(chǎn)生 40μA 電流,而在強光照條件下,則能夠產(chǎn)生大得多的電流。這意味著,在很多條件下,這個應(yīng)用可以完全依靠太陽能電池板電源運行。如果該電路處于黑暗中,需要完全靠電池電源運行,那么一節(jié) 2.4Ah AA 電池 (例如 Tadiran XOL 系列) 可給該應(yīng)用供電差不多7 年。在較低或可變光照條件下,該電路自動在太陽能電源和電池電源之間來回切換,以便盡可能利用太陽能,以延長電池壽命。
評論