CC2540和SHT11的無(wú)線(xiàn)溫濕度采集系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘要:藍(lán)牙無(wú)線(xiàn)技術(shù)是使用范圍最廣泛的全球短距離無(wú)線(xiàn)標(biāo)準(zhǔn)之一,藍(lán)牙4.0規(guī)范的核心是藍(lán)牙低功耗(Bluetooth Low Energy)技術(shù),本設(shè)計(jì)采用基于BLE技術(shù)的CC2540芯片,利用SHT11數(shù)字溫濕度傳感器來(lái)進(jìn)行溫濕度的采集,并通過(guò)CC2540以無(wú)線(xiàn)方式將采集到的數(shù)據(jù)發(fā)送給監(jiān)控終端。實(shí)驗(yàn)結(jié)果表明,本系統(tǒng)具有體積小、功耗低、精度高等優(yōu)點(diǎn)。
關(guān)鍵詞:CC2540;藍(lán)牙4.0;BLE;SHT11;無(wú)線(xiàn)網(wǎng)絡(luò)
引言
在各類(lèi)民用、工業(yè)控制現(xiàn)場(chǎng)等工作人員難以到達(dá)的區(qū)域,環(huán)境溫濕度的狀況是重要的參數(shù),因此,對(duì)環(huán)境溫濕度的準(zhǔn)確、及時(shí)監(jiān)控,具有重要意義。藍(lán)牙采用跳頻機(jī)制進(jìn)行數(shù)據(jù)傳送,故能極大地提高數(shù)據(jù)傳送的抗干擾性能。對(duì)于數(shù)據(jù)采集系統(tǒng)應(yīng)用而言,本設(shè)計(jì)大大簡(jiǎn)化了系統(tǒng)的復(fù)雜度,且大大降低了功耗和體積。由此帶來(lái)的靈活性,使得系統(tǒng)的應(yīng)用更加廣泛。
本文對(duì)系統(tǒng)的總體方案、硬件電路和軟件設(shè)計(jì)等內(nèi)容作了詳細(xì)介紹,通過(guò)使用CC2540芯片所具有的藍(lán)牙4.0BLE協(xié)議進(jìn)行設(shè)備互聯(lián)以及無(wú)線(xiàn)數(shù)據(jù)的發(fā)送,實(shí)現(xiàn)了一種新型的無(wú)線(xiàn)溫濕度數(shù)據(jù)采集系統(tǒng)。
1 CC2540芯片簡(jiǎn)介
CC2540是TI公司推出的完全兼容藍(lán)牙4.0低功耗BLE協(xié)議的SoC芯片,其內(nèi)部集成了低功耗的8051MCU內(nèi)核、高性能2.4 GHz射頻收發(fā)器、8 KB RAM和256 KB Flash存儲(chǔ)器。其主要特性:包括1個(gè)16位和2個(gè)8位通用定時(shí)器、2個(gè)UART、12位有效位的ADC模/數(shù)轉(zhuǎn)換、21個(gè)GPIO、32 kHz休眠定時(shí)器,具有5種工作模式,集成AES-128安全協(xié)處理器、高性能比較器、精確的數(shù)據(jù)接收信號(hào)強(qiáng)度檢測(cè)(RSSI)、功能強(qiáng)大的5通道直接內(nèi)存訪(fǎng)問(wèn)(DMA);在發(fā)送模式和外部中斷模式下,電流損耗分別為24 mA和0.4μA。CC2540與TI的藍(lán)牙低功耗協(xié)議棧相配合,已成為市場(chǎng)上靈活、具有廣闊應(yīng)用前景的藍(lán)牙低功耗解決方案。
2 系統(tǒng)結(jié)構(gòu)
本文設(shè)計(jì)的無(wú)線(xiàn)溫濕度采集系統(tǒng)結(jié)構(gòu)如圖1所示。溫濕度傳感器SHT11與CC2540節(jié)點(diǎn)設(shè)備相連,由CC2540芯片中集成的8051 MCU來(lái)控制溫濕度傳感器進(jìn)行數(shù)據(jù)的采集,然后將數(shù)據(jù)以無(wú)線(xiàn)方式發(fā)送給藍(lán)牙集中器,集中器通過(guò)串口將收到的無(wú)線(xiàn)數(shù)據(jù)發(fā)送給監(jiān)控終端。
3 硬件電路
3.1 處理器單元
CC2540芯片中集成的處理器采用兼容8051內(nèi)核的結(jié)構(gòu)及指令系統(tǒng),該內(nèi)核通過(guò)3種不同的內(nèi)存訪(fǎng)問(wèn)總線(xiàn)(SFR、DATA和CODE/XDATA)對(duì)內(nèi)存進(jìn)行訪(fǎng)問(wèn)控制,SFR總線(xiàn)負(fù)責(zé)將所有的外設(shè)同內(nèi)存仲裁相連接,還負(fù)責(zé)CPU與射頻寄存器之間的交互。內(nèi)存仲裁通過(guò)SFR總線(xiàn)將CPU、DMA模塊、存儲(chǔ)器以及其他外設(shè)連接在一起。CC2540芯片外部接口電路如圖2所示,外圍電路包含1個(gè)32 MHz和1個(gè)32.768 kHz石英晶振,RF_N和RF_P為射頻天線(xiàn)接口。
3.2 天線(xiàn)及巴倫匹配電路
天線(xiàn)以及巴倫匹配電路的設(shè)計(jì)較為重要,這涉及到射頻通路的指標(biāo)是否優(yōu)良,對(duì)通信距離、系統(tǒng)功耗都有較大影響。天線(xiàn)設(shè)計(jì)可以采用PCB天線(xiàn),本文射頻天線(xiàn)采用了全尺寸的倒F天線(xiàn)(IFA),極大地提高了發(fā)射、接收性能。天線(xiàn)如圖3所示,尺寸參數(shù)如表1所列。
巴倫匹配電路即平衡不平衡轉(zhuǎn)換器,使得單極天線(xiàn)接收的信號(hào)轉(zhuǎn)為雙路差分信號(hào)時(shí),維持天線(xiàn)的輻射效率。巴倫匹配電路如圖4所示。
3.3 傳感器模塊
傳感器模塊采用數(shù)字溫濕度傳感器SHT11,該芯片主要特點(diǎn)有:
◆提供二線(xiàn)數(shù)字串行接口SCK和DATA,接口簡(jiǎn)單,支持CRC傳輸校驗(yàn),可靠性高;
◆高集成度,將溫度感測(cè)、濕度感測(cè)、信號(hào)變換、A/D轉(zhuǎn)換等功能集成到單一芯片上;
◆提供溫度補(bǔ)償?shù)臐穸葴y(cè)量值和高質(zhì)量的露點(diǎn)計(jì)算功能,采用CMOS工藝,可適應(yīng)潮濕的測(cè)量環(huán)境。SHT11溫濕度傳感器的典型應(yīng)用電路如圖5所示。
4 軟件設(shè)計(jì)
4.1 BLE協(xié)議棧
本設(shè)計(jì)通過(guò)使用CC2540芯片所具有的藍(lán)牙4.0 BLE協(xié)議實(shí)現(xiàn)藍(lán)牙設(shè)備的互聯(lián)以及無(wú)線(xiàn)數(shù)據(jù)的發(fā)送。TI公司推出的藍(lán)牙4.0 BLE協(xié)議棧包含兩部分:主機(jī)和控制器。協(xié)議棧的實(shí)現(xiàn)方式采用分層的思想,控制器部分包括物理層、鏈路層、主機(jī)控制接口層;主機(jī)部分包括邏輯鏈路控制及自適應(yīng)協(xié)議層、安全管理層、屬性協(xié)議層、通用訪(fǎng)問(wèn)配置文件層、通用屬性配置文件層;上層可以調(diào)用下層提供的函數(shù)來(lái)實(shí)現(xiàn)需要的功能。藍(lán)牙4.0 BLE協(xié)議棧的結(jié)構(gòu)如圖6所示。
藍(lán)牙4.0 BLE協(xié)議棧中,有3個(gè)變量至關(guān)重要:
①tasksCnt:該變量保存了任務(wù)的總個(gè)數(shù)。該變量的聲明為“uint8 tasksCnt”,其中uint8的定義為“typedef unsigned char uint8”。
②tasksEvents:這是一個(gè)指針,指向了事件表的首地址。該變量的聲明為“uint16*tasksEvents”,其中uint16的定義為“typedef unsigned short uint16”。
③tasksArr:這是一個(gè)數(shù)組,該數(shù)組的每一項(xiàng)都是一個(gè)函數(shù)指針,指向了事件處理函數(shù)。該數(shù)組的聲明為“pTaskEventHandlerFn tasksArr[]”,其中pTaskEventHandlerFn定義如下:
typedef unsigned short(*pTaskEventHandlerFn)(unsignedchar task_id,unsigned short event)
這是定義了一個(gè)函數(shù)指針。因此,tasksArr數(shù)組的每一項(xiàng)都是一個(gè)函數(shù)指針,指向了對(duì)應(yīng)的事件處理函數(shù)。
可以將BLE協(xié)議棧的運(yùn)行機(jī)制總結(jié)為:通過(guò)不斷地輪詢(xún)事件表來(lái)判斷是否有事件發(fā)生,如果有事件發(fā)生,則查找函數(shù)表找到對(duì)應(yīng)的事件處理函數(shù)對(duì)事件進(jìn)行處理。事件表使用數(shù)組來(lái)實(shí)現(xiàn),數(shù)組的每一項(xiàng)對(duì)應(yīng)一個(gè)任務(wù)的事件,每一位表示一個(gè)事件;函數(shù)表使用函數(shù)指針數(shù)組來(lái)實(shí)現(xiàn),數(shù)組的每一項(xiàng)是一個(gè)函數(shù)指針,指向了事件處理函數(shù)。
4.2 溫濕度數(shù)據(jù)采集流程圖
使用SHT11溫濕度傳感器進(jìn)行溫濕度數(shù)據(jù)的采集,周期性的采集數(shù)據(jù)并存儲(chǔ)到CC2540藍(lán)牙節(jié)點(diǎn)設(shè)備中,如圖7所示。
4.3 實(shí)驗(yàn)原理及流程圖
CC2540節(jié)點(diǎn)設(shè)備與集中器設(shè)備之間數(shù)據(jù)傳輸操作流程如下:
①集中器設(shè)備發(fā)起掃描請(qǐng)求,掃描正在發(fā)送廣告的節(jié)點(diǎn)設(shè)備,若GAP(Generic Access Profile)服務(wù)的UUID(Universally Unique Identifier)相匹配,則兩設(shè)備可以建立連接。
②集中器發(fā)起建立連接的請(qǐng)求,外部設(shè)備響應(yīng)后,兩設(shè)備進(jìn)入連接狀態(tài),然后集中器通過(guò)特定的UUID進(jìn)行數(shù)據(jù)服務(wù)的發(fā)現(xiàn)。
③發(fā)現(xiàn)數(shù)據(jù)服務(wù)后,集中器發(fā)送要進(jìn)行數(shù)據(jù)操作的“特性(Characteristics)”的UUID,節(jié)點(diǎn)設(shè)備將這個(gè)“特性”的句柄返回給集中器,句柄即為特性值在屬性表中的地址。
藍(lán)牙BLE數(shù)據(jù)服務(wù)包含一些稱(chēng)之為“特性”的數(shù)據(jù),“特性”是服務(wù)用到的值以及其內(nèi)容和配置信息(稱(chēng)為描述符),存儲(chǔ)于屬性表中。所有應(yīng)用數(shù)據(jù)的操作都需要通過(guò)“特性”進(jìn)行,如果將“特性”比作一輛客車(chē),應(yīng)用數(shù)據(jù)便是乘客,“特性”的UUID便是車(chē)牌號(hào),“特性”中應(yīng)用數(shù)據(jù)的發(fā)現(xiàn)過(guò)程就相當(dāng)于通過(guò)車(chē)牌號(hào)找到客車(chē),然后才能找到客車(chē)上的乘客。
集中器設(shè)備掃描發(fā)現(xiàn)節(jié)點(diǎn)設(shè)備并與之建立連接的流程如圖8所示。集中器設(shè)備與節(jié)點(diǎn)設(shè)備建立連接后,進(jìn)行服務(wù)發(fā)現(xiàn)、“特性”發(fā)現(xiàn)以及“特性”中的溫濕度數(shù)據(jù)傳輸?shù)牧鞒倘鐖D9所示。
5 系統(tǒng)測(cè)試
CC2540集中器將接收到的無(wú)線(xiàn)數(shù)據(jù)通過(guò)串口發(fā)送給PC端的監(jiān)控終端,通過(guò)串口輸出的溫濕度數(shù)據(jù)如圖10所示。
結(jié)語(yǔ)
藍(lán)牙4.0技術(shù)是三位一體的藍(lán)牙技術(shù),它將傳統(tǒng)藍(lán)牙、高速藍(lán)牙和低功耗藍(lán)牙技術(shù)融合在一起,這3個(gè)規(guī)格可以組合或者單獨(dú)使用。本文講述的即為藍(lán)牙低功耗技術(shù)的單獨(dú)使用,極低的運(yùn)行和待機(jī)功耗可以使設(shè)備依靠一粒紐扣電池就可連續(xù)工作一年甚至數(shù)年之久。此外,還具有低成本和跨廠商互操作性,3 ms啟動(dòng)能提高傳輸距離具有AES-128安全加密等諸多特色,可應(yīng)用于對(duì)成本和功耗都有嚴(yán)格要求的無(wú)線(xiàn)方案,廣泛用于醫(yī)療保健、體育健身、家庭娛樂(lè)、傳感器物聯(lián)網(wǎng)等眾多領(lǐng)域。