CC2540和SHT11的無(wú)線(xiàn)溫濕度采集系統設計
巴倫匹配電路即平衡不平衡轉換器,使得單極天線(xiàn)接收的信號轉為雙路差分信號時(shí),維持天線(xiàn)的輻射效率。巴倫匹配電路如圖4所示。
3.3 傳感器模塊
傳感器模塊采用數字溫濕度傳感器SHT11,該芯片主要特點(diǎn)有:
◆提供二線(xiàn)數字串行接口SCK和DATA,接口簡(jiǎn)單,支持CRC傳輸校驗,可靠性高;
◆高集成度,將溫度感測、濕度感測、信號變換、A/D轉換等功能集成到單一芯片上;
◆提供溫度補償的濕度測量值和高質(zhì)量的露點(diǎn)計算功能,采用CMOS工藝,可適應潮濕的測量環(huán)境。SHT11溫濕度傳感器的典型應用電路如圖5所示。
4 軟件設計
4.1 BLE協(xié)議棧
本設計通過(guò)使用CC2540芯片所具有的藍牙4.0 BLE協(xié)議實(shí)現藍牙設備的互聯(lián)以及無(wú)線(xiàn)數據的發(fā)送。TI公司推出的藍牙4.0 BLE協(xié)議棧包含兩部分:主機和控制器。協(xié)議棧的實(shí)現方式采用分層的思想,控制器部分包括物理層、鏈路層、主機控制接口層;主機部分包括邏輯鏈路控制及自適應協(xié)議層、安全管理層、屬性協(xié)議層、通用訪(fǎng)問(wèn)配置文件層、通用屬性配置文件層;上層可以調用下層提供的函數來(lái)實(shí)現需要的功能。藍牙4.0 BLE協(xié)議棧的結構如圖6所示。
藍牙4.0 BLE協(xié)議棧中,有3個(gè)變量至關(guān)重要:
①tasksCnt:該變量保存了任務(wù)的總個(gè)數。該變量的聲明為“uint8 tasksCnt”,其中uint8的定義為“typedef unsigned char uint8”。
②tasksEvents:這是一個(gè)指針,指向了事件表的首地址。該變量的聲明為“uint16*tasksEvents”,其中uint16的定義為“typedef unsigned short uint16”。
③tasksArr:這是一個(gè)數組,該數組的每一項都是一個(gè)函數指針,指向了事件處理函數。該數組的聲明為“pTaskEventHandlerFn tasksArr[]”,其中pTaskEventHandlerFn定義如下:
typedef unsigned short(*pTaskEventHandlerFn)(unsignedchar task_id,unsigned short event)
這是定義了一個(gè)函數指針。因此,tasksArr數組的每一項都是一個(gè)函數指針,指向了對應的事件處理函數。
可以將BLE協(xié)議棧的運行機制總結為:通過(guò)不斷地輪詢(xún)事件表來(lái)判斷是否有事件發(fā)生,如果有事件發(fā)生,則查找函數表找到對應的事件處理函數對事件進(jìn)行處理。事件表使用數組來(lái)實(shí)現,數組的每一項對應一個(gè)任務(wù)的事件,每一位表示一個(gè)事件;函數表使用函數指針數組來(lái)實(shí)現,數組的每一項是一個(gè)函數指針,指向了事件處理函數。
評論