引言
在各種生產(chǎn)現(xiàn)場都需要溫度傳感器實(shí)現(xiàn)溫度的檢測(cè)中,,溫度是一種最常用的控制參數(shù),。但在一些危險(xiǎn)的場合或物體移動(dòng)的情況下,有線的溫度傳感器不僅布線復(fù)雜而且容易造成線纜脫落影響數(shù)據(jù)的可靠性,。近年來,,藍(lán)牙技術(shù)作為一種較成熟的短距離無線通信技術(shù),將它和單片機(jī)技術(shù)相融合設(shè)計(jì)無線溫度傳感器,,可以方便,、實(shí)時(shí)、可靠地將采集到的溫度數(shù)據(jù)傳輸給控制終端,,保證了生產(chǎn)的順利進(jìn)行,。
而且,經(jīng)過功能擴(kuò)展建立的無線傳感器網(wǎng)絡(luò),,能夠適應(yīng)更加復(fù)雜的測(cè)量現(xiàn)場。
1 藍(lán)牙技術(shù)簡介
藍(lán)牙技術(shù)是一種無線的數(shù)據(jù)與語音通信的開放性標(biāo)準(zhǔn),工作在2.4GHz的ISM頻段上,,采用跳頻擴(kuò)譜技術(shù),。藍(lán)牙設(shè)備的最大發(fā)射功率可分為3級(jí):
100mw(20dB/m)、2.smw(4dB/m),、lmw(0dB/m),。當(dāng)藍(lán)牙設(shè)備功率為lmw時(shí),其傳輸距離一般為0.1~10m,。當(dāng)發(fā)射源接近或是遠(yuǎn)離而使藍(lán)牙設(shè)備接收到的電波強(qiáng)度改變時(shí),,藍(lán)牙設(shè)備會(huì)自動(dòng)地調(diào)整發(fā)射功率。當(dāng)發(fā)射功率提高到10mw時(shí),,其傳輸距離可以擴(kuò)大到10om,。藍(lán)牙支持點(diǎn)對(duì)點(diǎn)和點(diǎn)對(duì)多點(diǎn)的通信方式,在非對(duì)稱連接時(shí),,主設(shè)備到從設(shè)備的傳輸速率為721kbps,,從設(shè)備到主設(shè)備的傳輸速率為57.6kbPs;對(duì)稱連接時(shí),主從設(shè)備之間的傳輸速率各為432.6kbps,。藍(lán)牙標(biāo)準(zhǔn)中規(guī)定了在連接狀態(tài)下有保持模式(HoldM0de),、呼吸模式(SniffMode)和休眠模式(ParkMode)3種電源節(jié)能模式,再加上正常的活動(dòng)模式(ActiveMode),,一個(gè)使用電源管理的藍(lán)牙設(shè)備可以處于這4種狀態(tài)并進(jìn)行切換,,按照電能損耗由高到低的排列順序?yàn)椋?/p>
活動(dòng)模式、呼吸模式,、保持模式,、休眠模式,其中,,休眠模式節(jié)能效率最高,。藍(lán)牙技術(shù)的出現(xiàn),為各種移動(dòng)設(shè)備和外圍設(shè)備之間的低功耗,、低成本,、短距離的無線連接提供了有效途徑。
2 系統(tǒng)硬件結(jié)構(gòu)
無線溫度傳感器主要由單片機(jī)控制單元,、藍(lán)牙模塊,、溫度檢測(cè)單元、接口電路及其它輔助電路組成,,系統(tǒng)結(jié)構(gòu)如圖1所示,。控制單元凌陽單片機(jī)為整個(gè)系統(tǒng)的核心,,對(duì)檢測(cè)到的溫度數(shù)據(jù)進(jìn)行轉(zhuǎn)換,、顯示、傳輸,外擴(kuò)4MBFLASH用于存儲(chǔ)程序和溫度數(shù)據(jù),。藍(lán)牙模塊包括藍(lán)牙芯片,、放大器、非平衡變壓器(Balun)等,,負(fù)責(zé)與藍(lán)牙控制終端進(jìn)行無線連接和數(shù)據(jù)傳輸,,按鍵完成系統(tǒng)設(shè)置、復(fù)位等信息輸人,,測(cè)量的溫度數(shù)據(jù)在傳輸?shù)娇刂平K端的同時(shí)在LED上顯示,,并通過揚(yáng)聲器定時(shí)語音播報(bào)當(dāng)前溫度數(shù)據(jù)和超限報(bào)警。
2.1 單片機(jī)控制單元
控制單元采用SPCE061A單片機(jī),,工作電壓為2.6~3.6V,,工作頻率為0.32一49.152MHz,較高的處理速度使其能夠非常容易,、快速地處理復(fù)雜的數(shù)字信號(hào),。該芯片內(nèi)包括ADC、DAC,、定時(shí)器/計(jì)數(shù)器,、RAM、FLAsH,、ROM等器件,,具有一套高效率的指令系統(tǒng)和集成開發(fā)環(huán)境,并且支持標(biāo)準(zhǔn)C語言,,可以實(shí)現(xiàn)C語言與凌陽匯編語言的相互調(diào)用,,為硬件設(shè)計(jì)和軟件開發(fā)提供了便利條件。另外,,芯片內(nèi)置的2路10位精度的DAC,,再配合豐富的語音函數(shù)庫,可方便地完成語音的播放,,非常適合于語音應(yīng)用的開發(fā),。
2.2 溫度檢瀏單元
溫度檢測(cè)單元采用D1S8B02型傳感器,是美國DALLAS公司推出的一種改進(jìn)型智能溫度傳感器,,與傳統(tǒng)的熱敏電阻等測(cè)溫元件相比,,它能直接讀出被測(cè)溫度,并且可根據(jù)實(shí)際要求通過編程實(shí)現(xiàn)9~12位的數(shù)字值讀數(shù)方式,。DS18BZo與SPCEo61A單片機(jī)的接口電路如圖2所示,,由于DS18B20傳感器支持“一線總線”接口,因此只需將DS18B20信號(hào)線接到單片機(jī)的1位1/0線上即可,,而且在1根1/0線上可以掛接多個(gè)傳感器實(shí)現(xiàn)多點(diǎn)溫度測(cè)量,。
為了提高抗干擾性能,,采用外加電源方式對(duì)傳感器供電。
2.3 無線傳愉控制單元
隨著藍(lán)牙芯片單芯片的集成度越來越高和集成了芯片,、Balun,、晶振等各種藍(lán)牙模塊的面世,將藍(lán)牙嵌人到其它數(shù)字化設(shè)備中也越來越容易實(shí)現(xiàn),。本系統(tǒng)無線傳輸由藍(lán)牙模塊BCM02實(shí)現(xiàn),BCM02核心采用CSR(CambridgesiliconRadio)公司的BlueCoreZ一External藍(lán)牙芯片,,外圍擴(kuò)展T晶振,、FLASH、Balun,、帶通濾波器(BPF),、1.SV穩(wěn)壓電路,可以根據(jù)不同的應(yīng)用場合快速開發(fā),,模塊符合藍(lán)牙Vl.1標(biāo)準(zhǔn),,最大發(fā)射功率設(shè)計(jì)為2.smw(4dB/m),是一個(gè)二級(jí)藍(lán)牙芯片,,工作電壓為3士0.3V,。BCMoZ通過UART口與單片機(jī)相連,為簡化設(shè)計(jì),,將所需的藍(lán)牙協(xié)議棧和無線傳輸應(yīng)用程序直接固化在藍(lán)牙模塊中,,利用藍(lán)牙提供一個(gè)透明的無線數(shù)據(jù)傳輸,而單片機(jī)只要設(shè)置好波特率等參數(shù)即可進(jìn)行通信,,傳輸控制由單片機(jī)完成,。
3 軟件設(shè)計(jì)及流程
3.1 單片機(jī)軟件設(shè)計(jì)
單片機(jī)軟件部分主要包括主程序、中斷子程序,、測(cè)溫子程序,、轉(zhuǎn)換顯示及存儲(chǔ)子程序、UART通信子程序,、語音播放子程序等,,為了降低功耗,使用中斷來喚醒單片機(jī)進(jìn)行測(cè)溫等工作,,因此主程序部分比較簡單,,主要負(fù)責(zé)系統(tǒng)各部分初始化和中斷的調(diào)用,在系統(tǒng)初始化完成后就直接進(jìn)人睡眠模式,,當(dāng)中斷到來時(shí)單片機(jī)退出睡眠模式,,調(diào)用中斷子程序?qū)崿F(xiàn)測(cè)溫、轉(zhuǎn)換顯示,、溫度數(shù)據(jù)的傳輸以及語音的播報(bào)和報(bào)警等功能,。
3.2 藍(lán)牙應(yīng)用程序設(shè)計(jì)
本系統(tǒng)是基于藍(lán)牙的串口應(yīng)用模型SPP(SerialPortProfile)實(shí)現(xiàn)無線數(shù)據(jù)的透明傳輸,,在核心協(xié)議棧之上編寫自己的上層應(yīng)用程序。CSR的藍(lán)牙核心協(xié)議棧包括HCI,、LZCAP,、SDP、RFCOMM等,,以固件的形式提供給開發(fā)人員,,用戶編寫的應(yīng)用程序和協(xié)議棧一起運(yùn)行在CSR嵌人式環(huán)境中。在CSR程序中,,不同任務(wù)之間可以異步地發(fā)送消息,,每一個(gè)任務(wù)在創(chuàng)建的時(shí)候可以讓其中一個(gè)擁有消息隊(duì)列,其它的就把發(fā)給任務(wù)的消息提交給該消息隊(duì)列,,由任務(wù)調(diào)度程序自動(dòng)運(yùn)行獲得任務(wù)的消息,。藍(lán)牙模塊上層應(yīng)用程序流程如圖3所示。
4 低功耗設(shè)計(jì)
作為無線傳感器,,低功耗運(yùn)行可以最大限度地延長設(shè)備的有效使用時(shí)間,,為了獲得最佳性能,設(shè)計(jì)時(shí)在電源損耗和可用性方面必須根據(jù)情況權(quán)衡使用,,除了選用低功耗器件外,,筆者從以下幾個(gè)方面設(shè)計(jì)了電源管理程序以盡量減少無線溫度傳感器的功耗。
(1)由于無線溫度傳感器負(fù)責(zé)向控制終端傳輸數(shù)據(jù),,因此何時(shí)進(jìn)行數(shù)據(jù)采集,、何時(shí)進(jìn)行數(shù)據(jù)傳輸可以由控制終端決定,非常適合使用休眠模式和呼吸模式,,通過減少藍(lán)牙設(shè)備在微微網(wǎng)中的活動(dòng)達(dá)到節(jié)電的目的,,并且控制終端一般接有持久的電源,所以電源管理的開銷由終端來負(fù)責(zé)比較合適,。把控制終端作為主設(shè)備,,將電源管理程序設(shè)計(jì)在終端的應(yīng)用控制層中,并由控制終端完成設(shè)備的查詢,、配對(duì),、建鏈等工作,當(dāng)無線傳感器與控制終端配對(duì)成功并建立RFCOMM連接后進(jìn)人休眠模式,,此時(shí)主從設(shè)備仍然保持著RFCOMM信道,,只是不能發(fā)送和接收數(shù)據(jù),休眠模式下信標(biāo)間隔可設(shè)為15,,電流大概在lmA左右,。當(dāng)需要進(jìn)行數(shù)據(jù)傳輸時(shí),退出休眠模式進(jìn)人呼吸模式,,通過呼吸時(shí)隙發(fā)送數(shù)據(jù),,呼吸間隔可設(shè)為20~40ms,,間隔過大會(huì)帶來明顯延遲,當(dāng)數(shù)據(jù)傳輸結(jié)束后再次進(jìn)人休眠模式,,從而盡可能地降低能耗,。
(2)CSR的BlueCore芯片提供T獨(dú)特的硬件節(jié)能方法—深度睡眠(Depslep)模式,進(jìn)人和退出深度睡眠模式至少需要10ms,,通過按鈕或事件進(jìn)人深度睡眠模式很大程度上降低了損耗,。當(dāng)用戶確定將有較長時(shí)間不使用無線溫度傳感器時(shí),可通過控制終端發(fā)送事件消息進(jìn)人深度睡眠模式,,需要使用時(shí)再通過消息快速退出,。在深度睡眠模式下電流一般可控制在50拼A左右。
(3)凌陽單片機(jī)SPCE06lA也可以應(yīng)用CPU的睡眠模式,,且A口具有鍵喚醒功能,將BCM02的PIOS與單片機(jī)的IOA7相連接,,當(dāng)藍(lán)牙模塊退出休眠模式,,發(fā)送指令進(jìn)行數(shù)據(jù)采集時(shí),PIOS輸出高電平,,通過IOA7電平的變化產(chǎn)生中斷來喚醒CPU進(jìn)人工作狀態(tài),。