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