amomcu-cc254x開發(fā)套件2014年05月1.ble入門與提高教程_第1頁
amomcu-cc254x開發(fā)套件2014年05月1.ble入門與提高教程_第2頁
amomcu-cc254x開發(fā)套件2014年05月1.ble入門與提高教程_第3頁
amomcu-cc254x開發(fā)套件2014年05月1.ble入門與提高教程_第4頁
amomcu-cc254x開發(fā)套件2014年05月1.ble入門與提高教程_第5頁
已閱讀5頁,還剩162頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、BLE-入門與提高SmartRF 系列開發(fā)板2014-10-22v2.6 Amo1 日期版本說明2014-04-18V2.1初版2014-05-01V2.2增加第八章2014-05-21V2.3修改部分文字錯(cuò)誤2014-06-16V2.4增加開發(fā)板到手后安裝驅(qū)動(dòng),如何連接,如何讓板子跑起來等初級2014-07-22V2.5勘誤2014-10-22V2.6增加 IAR 8.20 介紹目錄目錄2前言6開發(fā)板上手指南6BLE 簡介8無線網(wǎng)絡(luò)數(shù)據(jù)傳輸協(xié)議對比8藍(lán)牙 4.091.2.1 什么是藍(lán)牙 4.091.2.2 藍(lán)牙 4.0 與傳統(tǒng)藍(lán)牙之間的關(guān)系10Bluetooth Low Energy111.

2、3.1 BLE 簡介111.3.2 BLE 特點(diǎn)11BLE 無線網(wǎng)絡(luò)通信信道分析13BLE 無線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)14BLE 技術(shù)的應(yīng)用領(lǐng)域14第1 章1.11.21.31.41.51.61.71.82 章2.1CC254xEK 開發(fā)套件硬件概述14本章小結(jié)15第IAR 開發(fā)環(huán)境及流程15IAR 集成開發(fā)環(huán)境簡2.1.1 安裝 IAR8.10.工程的編輯與修改.2.20. 21. 22. 23建立一個(gè)新工程.建立一個(gè)源文件.添加源文件到工程.2.2.12.2.22.2.32.2.42.2.5工程設(shè)置25源文件的編譯. 31. 32.32. 342.32.3.12.3.2程序2.43 章3.13.2本

3、章小結(jié).CC254X 開發(fā)板硬件布局與第3.2.1 天線及巴倫匹配電路設(shè)計(jì).3.2.2 晶振電路設(shè)計(jì).底板硬件3.33.3.13.3.23.3.33.3.43.3.53.3.63.3.73.3.83.3.9電源電路設(shè)計(jì)43LED 電路設(shè)計(jì)44TI 五向按鍵電路設(shè)計(jì)46串口電路設(shè)計(jì)/USB 轉(zhuǎn) UART46LCD12864 電路設(shè)計(jì)48開發(fā)板擴(kuò)展接口設(shè)計(jì)49復(fù)位電路51Debugger 接口51mpu6050 六軸傳感器 接口523.9.103.9.113.9.12光敏傳感器55繼電器接口56氣體傳感器接口57 Amo23.9.13感應(yīng)器接口573.44 章4.1本章小結(jié)58BLE 協(xié)議棧入門5

4、8BLE 協(xié)議棧58第4.1.14.1.24.1.3什么是 BLE 協(xié)議棧58如何使用 BLE 協(xié)議棧59BLE 協(xié)議棧的安裝、編譯與594.2BLE 協(xié)議棧基礎(chǔ)實(shí)驗(yàn):數(shù)據(jù)傳輸實(shí)驗(yàn)664.2.14.2.24.2.34.2.44.2.5SimpleBLECentral 主機(jī)編程66SimpleBLEPeripheral 從機(jī)編程73Central 和 Peripheral 從機(jī)通信測試78LightBlue 與開發(fā)板之間的通信實(shí)驗(yàn)85PC 與開發(fā)板之間的通過 Btool 的通信實(shí)驗(yàn)89BLE 數(shù)據(jù)傳輸實(shí)驗(yàn)剖析944.34.3.1 數(shù)據(jù). 954.3.2 數(shù)據(jù)接收964.3.3 從機(jī)接收主機(jī)發(fā)來的

5、數(shù)據(jù)96BLE 數(shù)據(jù)包的捕獲964.4.1 如何構(gòu)建 BLE 協(xié)議分析儀964.4.2 BLE 數(shù)據(jù)包的結(jié)構(gòu)994.4.3 數(shù)據(jù)收發(fā)實(shí)驗(yàn)回顧103本章小結(jié)104BLE 協(xié)議棧開發(fā)提高104深入理解 BLE 協(xié)議棧的構(gòu)成1044.44.55 章5.1第5.1.15.1.25.1.35.1.45.1.55.1.65.1.75.1.85.1.9BLE 協(xié)議層105拓?fù)浣Y(jié)構(gòu)和設(shè)備狀態(tài)106狀態(tài)以及連接過程106和快遞服務(wù)類比106BLE BLE BLE BLE BLE BLE BLE廣播. 107廣播間隔107掃描. 108發(fā)起連接108連接參數(shù)108BLE 連接108Slave 的潛伏109連接參數(shù)

6、的設(shè)定109終止連接110ATT 的 Client/Server 架構(gòu)110ATT 的 AttributeTable Example(屬性表示例)1105.1.105.1.115.1.125.1.135.1.145.1.155.1.165.1.175.1.185.1.195.1.205.1.21TI-BLE的 Client/Server 架構(gòu)111的 Profile 層次結(jié)構(gòu)111Service Example112GATT GATT GATT GATT GATT GATT的的的Characteristic Declaration113Characteristic Configuration1

7、14Client Commands1145.2協(xié)議棧簡介115協(xié)議棧 demo 分類115協(xié)議棧 demo 工程目錄結(jié)構(gòu)116BLE 協(xié)議棧執(zhí)行流程1185.2.15.2.25.2.3BLE 協(xié)議棧 OSAL 介紹1195.3 Amo35.3.15.3.25.3.35.3.45.3.55.3.6OSAL OSAL OSAL OSAL OSAL OSAL常用術(shù)語119運(yùn)行機(jī)理120消息隊(duì)列123添加新任務(wù)123應(yīng)用編程接口124使用范例分析125HAL1335.4硬件抽象層5.4.1 硬件抽象層文件目錄1335.4.2 硬件抽象層驅(qū)動(dòng)編譯135BLE 協(xié)議棧的 GAP 和 GATT1375.55

8、.5.15.5.25.5.3通用配置文件(GAP)137通用屬性配置文件(GATT)138BLE 協(xié)議棧提供的 GAP 和 GATT 的 API 函數(shù)140BLE 協(xié)議棧中串口打印1405.65.6.15.6.25.6.3編寫 UART 驅(qū)動(dòng)程序140新建協(xié)議棧工程143編譯及測試1495.7BLE 協(xié)議棧里的網(wǎng)絡(luò)處理器 HostTestRelease1495.7.1 工程概述149推薦使用的代碼常用工具151SourceInsight-代碼閱讀和編輯工具:151Beyond Compare 代碼對比工具151第 6 章6.16.2第 7 章 CC254x 基礎(chǔ)實(shí)驗(yàn)152第 8 章 藍(lán)牙設(shè)計(jì)問

9、答1538.1.8.2.8.3.8.4.8.5.8.6.8.7.8.8.8.9.問:什么是藍(lán)牙通信?153問:如果從事藍(lán)牙開發(fā)有沒有前途?153問:藍(lán)牙有什么優(yōu)勢?154問:藍(lán)牙 4.0 協(xié)議和 BLE 是什么?154問:目前支持藍(lán)牙 4.0 的移動(dòng)設(shè)備有哪些?154問:如何開始藍(lán)牙 4.0 的開發(fā)呢?154問:剛開始接觸藍(lán)牙如何快速上手?154問:IAR 調(diào)試 CC2540 時(shí)程序?qū)氲搅说?Flash 中了嗎?154問:當(dāng) IAR 調(diào)試中出現(xiàn)警告“缺少斷點(diǎn),無法運(yùn)行到 main()”?155問:為什么 IAR 調(diào)試時(shí)有很多變量無法查看它的值?155問:藍(lán)牙協(xié)議分層很多且比較復(fù)雜,該如何掌握

10、呢?155問:OSAL 是一個(gè)操作系統(tǒng)嗎?155問:藍(lán)牙節(jié)點(diǎn)是如何組成微微網(wǎng)的呢?155問:主節(jié)點(diǎn)和從節(jié)點(diǎn)通信的過程是怎樣的呢?155問:藍(lán)牙通信中兩個(gè)節(jié)點(diǎn)如何交換數(shù)據(jù)?156問:Client 和 Server 節(jié)點(diǎn)是如何定義呢?156問:Server 是如何提供數(shù)據(jù)呢?157問:不明白 Server 提供服務(wù)中的 UUID?157問:什么是 Server 提供服務(wù)中的句柄呢?157問:為什么 Server 提供的服務(wù)中有描述?157問:服務(wù)的屬性與描述有區(qū)別嗎?157問:如何知道一個(gè)服務(wù)的 Handle?158問:Server 可以Client 嗎?.問:如果得知電池容量?158問:藍(lán)牙發(fā)射

11、信號功率調(diào)整會(huì)影響通信距離嗎?159問:如何知道兩個(gè)藍(lán)牙通信節(jié)點(diǎn)之間的距離?1598.10.8.11.8.12.8.13.8.14.8.15.8.16.8.17.8.18.8.19.8.20.8.21.8.23.8.24.8.25.8.26.8.27. Amo48.28.8.29.8.30.問:如何獲取藍(lán)牙節(jié)點(diǎn)的接收 RSSI 值?159問:如何開展RSSI 值的實(shí)驗(yàn)?159問:如何將接收 RSSI 實(shí)驗(yàn)數(shù)據(jù)得到距離計(jì)算公式呢?1608.31 問:針對 RSSI 采樣值選用什么樣的濾波算法?1618.32 問:我也hal_lcd.c 到指定目錄了, 為什么 oled 顯示屏不顯示?1628.3

12、3 問 1,主機(jī)如何清除綁定地址?1628.34 問 2,我也按照你文檔的要求替換 Hal_lcd.c 了, 但為什么從機(jī) Oled 顯示屏不亮但主機(jī)是亮的?1638.35 問 3,SimpleBLECentral 和SimpleBLEPeripheral 斷開連接后,會(huì)顯示Disconnected Reason:22,這個(gè) 22 或者 63 等代表什意思?1638.36 問 4,IAR 編譯出來的 bin 文件有多大怎么看?1648.37 問 5: BLE 協(xié)議棧的系統(tǒng)節(jié)拍時(shí)鐘用的是哪個(gè)定時(shí)器?1658.38 問 6: 開發(fā)板的五向按鍵 center 被誤認(rèn)為 right ?(9.20 日后

13、出貨的開發(fā)板默認(rèn)帶的固件)165 Amo5前言第 1 章講解了 BLE 協(xié)議的基礎(chǔ)知識(shí),結(jié)合我們的 SmartRF 系列 BLE 開發(fā)板,這也是本文的硬件平臺(tái)。第2 章對 IAR 開發(fā)環(huán)境進(jìn)行了講解,突出我們實(shí)際使用中密切相關(guān)的功能,其余予以略過。第第第345章對章對章對CC254X 開發(fā)板硬件進(jìn)行了講解。Bluetooth-LE 低功耗藍(lán)牙中的數(shù)據(jù)傳輸進(jìn)行了講解。BLE 協(xié)議棧中的 OSAL 進(jìn)行了講解。技術(shù)支持與項(xiàng)目開Amo ,希望讀者閱讀完本書后,結(jié)合自己的項(xiàng)目發(fā)合作(TEL)需求,對相應(yīng)的協(xié)議棧源代碼精心修改,再實(shí)驗(yàn),只有通過不斷的實(shí)踐學(xué)習(xí),才能真正掌 握 BLE 無線網(wǎng)絡(luò)的開發(fā)。開發(fā)

14、板上手指南好吧, 不少用戶都跟Amo我反映說,你的開發(fā)板如何使用呀? 怎么連接?怎么編譯?其實(shí),稍微有點(diǎn)單片機(jī)開發(fā)經(jīng)驗(yàn)的都能知道如何連接,回想當(dāng)初我剛接觸單片機(jī)的時(shí)候也是非常的迷茫,那么,在本文檔開篇的地方, 我們來簡要地描述一下開發(fā)板如何使用吧。開發(fā)板到手后,如下圖連接,你的開發(fā)板就已經(jīng)能跑起來了,由上圖可見, 我們連接了兩個(gè)usb到電腦, 那這是為什么呢?首先,器需要連接一個(gè)usb, 用于固件、單步調(diào)試等。 Amo6其次,開發(fā)板也連了一個(gè)usb線到電腦, 他的作用僅僅是usb轉(zhuǎn)串口,一方面方便我們打印程序運(yùn)行信息,另一方面,我們也可以做串口透傳程序,讓pc上的串口數(shù)據(jù)通過該接口 傳輸?shù)剿{(lán)牙

15、, 反之亦然。這是我們的開發(fā)板的物理連接, 那么關(guān)于各種軟件的安裝,請看相關(guān)章節(jié)。【1】 首先你通過我提供的網(wǎng)盤,到的資料如下(可能稍微有點(diǎn)出入, 但變化不大)其實(shí) IAR(是軟件的編譯工具)的安裝在本文檔的第二章就有描述, 可以跳到那里去參考。未完待續(xù)2014.07.22 Amo7第 1 章 BLE 簡介如今,物聯(lián)網(wǎng)技術(shù)得到快速的發(fā)展,而物聯(lián)網(wǎng)技術(shù)里的主角則是已發(fā)展成BLE無線網(wǎng)絡(luò),作為開發(fā)者的我們,使用 TI 的軟件和硬件絡(luò)。,即可輕松搭建自己的無線網(wǎng)1.1 無線網(wǎng)絡(luò)數(shù)據(jù)傳輸協(xié)議對比我們比較熟悉的網(wǎng)絡(luò)有 Zigee,WIFI、Bluetooth(傳統(tǒng)藍(lán)牙,新一代藍(lán)牙也發(fā)生了巨大的變化),他

16、們?nèi)咧g的關(guān)系可以從下圖中看出來。1-1 三種常見的網(wǎng)絡(luò)對比從圖 1-1 中可以看到不同的無線數(shù)據(jù)傳輸協(xié)議在數(shù)據(jù)傳輸速率利傳輸距離有各自的使用范圍。Zigbee、藍(lán)牙以及 WIFI 標(biāo)準(zhǔn)都是工作在 2.4GHz 頻段的無線通信標(biāo)準(zhǔn)。下面將 BLE 與傳統(tǒng)藍(lán)牙、WIFI 標(biāo)準(zhǔn)進(jìn)行簡要的比較,幫助讀者快速地了解。傳統(tǒng)藍(lán)牙數(shù)據(jù)傳輸速率小于 3Mbps,典型數(shù)據(jù)傳輸距離為 2-10m,藍(lán)牙技術(shù)的典型應(yīng)用是在兩部之間進(jìn)行小量數(shù)據(jù)的傳輸。WIFI 最高數(shù)據(jù)傳輸速率可達(dá) 50Mbps,典型數(shù)據(jù)傳輸距離在 30-100m,WIFI 技術(shù)提供了一種 Intemet 的無線接入技術(shù)。 Amo81.2 藍(lán)牙 4.

17、01.2.1什么是藍(lán)牙4.0圖 1.1 藍(lán)牙 4.0 logo 和 BLElogo藍(lán)牙無線技術(shù)是使用范圍最廣泛的全球短距離無線標(biāo)準(zhǔn)之一,全新的藍(lán)牙4.0 版本將三種藍(lán)牙技術(shù)(即傳統(tǒng)藍(lán)牙,高速藍(lán)牙和低功耗藍(lán)牙技術(shù))合而為一。它集成了藍(lán)牙技 術(shù)在無線連接上的固有優(yōu)勢,同時(shí)增加了高速藍(lán)牙和低功耗藍(lán)牙的特點(diǎn),這三個(gè)規(guī)格可以組合使用,也可以單獨(dú)使用,低功耗藍(lán)牙即 ble 是藍(lán)牙 4.0 的規(guī)范,該技術(shù)最大特點(diǎn)是擁有超低的運(yùn)行功耗和待機(jī)功耗,藍(lán)牙低功耗設(shè)備使用一粒紐扣電池可以連續(xù)工作數(shù) 年之久,可應(yīng)用與對成本和功耗都有嚴(yán)格要求的無線方案,而且隨之智能機(jī)的發(fā)展將有著 更加廣泛的領(lǐng)域。當(dāng)前,支持 ble 的智

18、能設(shè)備除了的隊(duì)伍,從 4.3 系統(tǒng)開始,Android 將提供出現(xiàn)在生活中的各個(gè)領(lǐng)域。(iOS 系統(tǒng))外,Android 也正式加入了 ble的 API 接口,在的將來,BLE 將會(huì)BLE 是一種標(biāo)準(zhǔn),該標(biāo)準(zhǔn)定義了短距離、低數(shù)據(jù)傳輸速率無線通信所需要的一系列通信協(xié)議。基于 BLE 的無線網(wǎng)絡(luò)所使用的工作頻段為 868MHz、915MHz 和 2.4GHz,最大數(shù)據(jù)傳輸速率為 250kbps。下面通過一個(gè)具體酌例子向讀者展示一下 BLE 的具體應(yīng)用。在系統(tǒng)中,病人的血壓可以通過特定的傳感器檢測,因此,可以將血壓傳感器和 BLE 設(shè)備相連,BLE設(shè)備定期檢測的血壓,將血壓數(shù)據(jù)以無線的方式到服務(wù)器,

19、服務(wù)器可以將數(shù)據(jù)傳輸?shù)结t(yī)生的電腦上,醫(yī)生就可以根據(jù) Amo91.2.2 藍(lán)牙 4.0 與傳統(tǒng)藍(lán)牙之間的關(guān)系Smart Ready 和 Smart以及傳統(tǒng)藍(lán)牙之間是什么關(guān)系呢,請看下圖:Smart Ready 可以和Smart Ready、傳統(tǒng)藍(lán)牙,及 Smart 之間相互連接和通信。傳統(tǒng)藍(lán)牙可以和 Smart Ready、傳統(tǒng)藍(lán)牙之間連接和通信Smart 可以和 Smart、Smart Ready 之間連接和通信很多客戶都比較關(guān)注 CC2540 是否向下兼容,看了上圖就應(yīng)該明白,是的,CC2540 是 BLE 單模,屬于 Smart,所以只能和Smart Ready或者Smart之間連接和通信

20、,CC2540是不兼容傳統(tǒng)藍(lán)牙的。低功耗藍(lán)牙與其他藍(lán)牙兼容性示意雙模設(shè)備1:BasicRate(BR),2:Bluetooth Low Energy (BLE)同時(shí)支持BR 和BLE 的設(shè) Amo10備為 dual-mode(雙模)設(shè)備,也就是這里討論的 Smart Ready。Smart Ready 是藍(lán)牙 4.0里的主體,一般具有穩(wěn)定電源供電的設(shè)備,如,PC 等采用的均是雙模的藍(lán)牙。很多 android軟件里不支持LE。都表明支持藍(lán)牙 4.0,其實(shí)很大部分只支持 Smart Ready 里的 BR,而目前 Android4.3 系統(tǒng)才開始全面支持 BLE。iOS 設(shè)備對藍(lán)牙 4.0 支持的

21、最好,只要是4S+iOS7.0 和以后的設(shè)備均完美完全支持藍(lán)牙 4.0單模設(shè)備那么 Smart 又是什么呢,Smart 是藍(lán)牙 4.0 里的低功耗藍(lán)牙的商標(biāo),就是 Bluetooth Low Energy,縮寫為 LE 或者 BLE,網(wǎng)上關(guān)于藍(lán)牙 4.0 一節(jié)紐扣電池能夠使用一年均是針對 BLE 而言。Smart Ready 功耗還是很大的,需要有穩(wěn)定的電源供電,像 、PC 等設(shè)備,而 Smart 由于功耗低,一般使用電池、或紐扣電池供電。Ti 的 CC2540 便是 BLE 設(shè)備。Smart 的最主要特點(diǎn)是低功耗和低速率。1.3 Bluetooth Low Energy1.3.1 BLE 簡

22、介BLE 規(guī)范中定義了 GAP(Generic Access Profile)和 GATT(Generic Attribute) 兩個(gè)基本配置文件。協(xié)議中的 GAP 層負(fù)責(zé)設(shè)備初始化安全特征和設(shè)備配置。模式和進(jìn)程,包括設(shè)備發(fā)現(xiàn),建立連接,終止連接。協(xié)議棧中的 GATT 層用于已連接1.3.2 BLE 特點(diǎn)總體而言,BLE 技術(shù)具有如下特點(diǎn):(1)高可靠性對于無線通信而言,由于電磁波在傳輸過程中容易受很多因素的干物的阻擋、天氣狀況等,因此,無線通信系統(tǒng)在數(shù)據(jù)傳輸過程中具有內(nèi)在的不可靠性。藍(lán)牙技術(shù)內(nèi)在的不確定性,在射頻,基帶協(xié)議,鏈路管理協(xié)議中采用可靠性措施,包括:差錯(cuò)檢測和 行數(shù)據(jù)編應(yīng)調(diào)頻技術(shù),

23、能最大程度地減少和其他 2.4G 無線電波的串?dāng)_。(2)低成本、低功耗低功耗藍(lán)牙支持兩種部署方式:雙模式和單模式,一般智能機(jī)上采般采用 BLE 單模,例如采用 CC254x 作為 BLE 從機(jī)的計(jì)步器血壓計(jì)和iBeaconBLE 技術(shù)可以應(yīng)用于 8-bit MCU,目前 TI 公司推出的兼容 BluetoothLE 協(xié)議的 SoC即可實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)的構(gòu)建。Nodic的NRF51822也不過才10元 Amo11低功耗設(shè)計(jì):藍(lán)牙 4.0 版本強(qiáng)化了藍(lán)牙在數(shù)據(jù)傳輸上的低功耗性能,功耗較傳統(tǒng)藍(lán)牙降低了 90%。傳統(tǒng)藍(lán)牙設(shè)備的待機(jī)耗電量一直是其缺陷之一,這與傳統(tǒng)藍(lán)牙技術(shù)采用 16至32個(gè)頻道進(jìn)行廣播有很大

24、關(guān)系,而低功耗藍(lán)牙僅適用 3 個(gè)廣播通道,且每次廣播時(shí)射頻的開啟時(shí)間也有傳統(tǒng)的 22.5ms 減少到 0.61.2ms,這兩個(gè)協(xié)議規(guī)范的改變,大幅降低了因?yàn)閺V播數(shù)據(jù)導(dǎo)致的待機(jī)功耗。低功耗藍(lán)牙設(shè)計(jì)用深度睡眠狀態(tài)來替換傳統(tǒng)藍(lán)牙的空閑狀態(tài),在深度睡眠狀態(tài)下, 主機(jī) Host 長時(shí)間處于超低的負(fù)載循環(huán) Duty Cycle 狀態(tài),只在需要 時(shí)由控制器來啟動(dòng),由于主機(jī)較控制器消耗的能源的能源。(3)快速啟動(dòng)、瞬間連接此前藍(lán)牙版本的啟動(dòng)速度非常緩慢,2.1 版本的藍(lán)牙啟動(dòng)連接需要 6s 時(shí)4.0 版本僅需要 3ms 即可完成,幾乎是瞬間連接。(4)傳輸距離極大提供傳統(tǒng)藍(lán)牙傳輸距離一般 2-10m,而藍(lán)牙

25、4.0 的有效傳輸距離可以達(dá)到輸距離提升了 10 倍,極大開拓了藍(lán)牙技術(shù)的應(yīng)用前景。傳(5)高安全性為了保證數(shù)據(jù)傳輸?shù)陌踩?,使?AES-128 CCM 于初學(xué)階段,安全性問題可以暫時(shí)不考慮。例如,一般情況下,市面上每節(jié) 5供電的終端節(jié)點(diǎn)而言,總電量為 3(理論值),如果放電電流為終端節(jié)點(diǎn)在數(shù)據(jù)數(shù)據(jù)接收期間所需要的瞬時(shí)電流為24mA。再加上各種傳感器所需的工作電流,為了討論問題方便,假設(shè)各種傳感器所需的工作電流為 30mA(這個(gè)工作電流已經(jīng)很大了),那么數(shù)據(jù)期間所需要的總電流為59mA,數(shù)據(jù)接收期間所需要的總電流為54mA,為了討論問題方便,總電流取 60mA,表面上 2 節(jié)5 號電池可以供

26、終端節(jié)點(diǎn)連續(xù)工作 50h。但是,對應(yīng)實(shí)際系統(tǒng),終端節(jié)點(diǎn)對數(shù)據(jù)的一般是定時(shí),例如50s 數(shù)據(jù),其他時(shí)間都由于溫度變化減慢,所以可以在此假設(shè)終端節(jié)點(diǎn)每小時(shí)工作 50s,定時(shí)在休眠(其他時(shí)間都在休眠,休眠時(shí)工作電流在微安級所以可以忽略不計(jì))。那么實(shí)際上情況是:系統(tǒng)采用 2 節(jié) 5 號電池供電,終端節(jié)點(diǎn)工作電流為 60mA,每小時(shí)工作 50s(其他時(shí)間都在休眠,休眠時(shí)工作電流在微安級,所以可以忽略不計(jì)),可以計(jì)算出 2 節(jié) 5 號電池可以供終端節(jié)點(diǎn)工作時(shí)間為:3600h=150 天,即大約半年時(shí)間, 這也就是很多介紹 BLE 技術(shù)的書籍中提到的“對于 BLE 終端節(jié)點(diǎn)使用 2 節(jié) 5 號電池供電,可以

27、工作半年的時(shí)間”的理論儂據(jù)。請讀者注意,上述分析是針對的終端節(jié)點(diǎn),對于 路由節(jié)點(diǎn)和協(xié)調(diào)器而言,要一直供電來確保數(shù)據(jù)的正確路由,所以一般不談低功耗問題。(3)高安全性為了保證數(shù)據(jù)傳輸?shù)陌踩裕梢允褂?AES-128 加密技術(shù),但是對于初學(xué)階段,安全性問題可以不予考慮。(4)低數(shù)據(jù)速率無線控制系統(tǒng)對數(shù)據(jù)傳輸?shù)目煽啃院桶踩浴⑾到y(tǒng)功耗和成本等方面有著特殊的要 求,因此,目前的無線網(wǎng)絡(luò)協(xié)議沒有很好地解決這些特殊的要求。 Amo121.4 BLE 無線網(wǎng)絡(luò)通信信道分析天線對于無線通信系統(tǒng)來說,在日常生活中可以看到各式各樣的天線,如手機(jī)天線、電視接收天線等,天線的主要功能可以概括為:完成無線電波的發(fā)射與

28、接收。發(fā) 射時(shí),把高頻電流轉(zhuǎn)換為電磁波發(fā)射出去:接收時(shí),將電磁波轉(zhuǎn)換為高頻電流。如何區(qū)分不同的電波呢?一般情況,不同的電波具有不同的頻譜,無線通信系統(tǒng)的頻譜有幾十兆赫茲到幾千兆赫茲,包括了收音機(jī)、電視等使用的波段,這些電波都使用空氣作為傳輸介質(zhì)來,為了防止不同的應(yīng)用之間相互干擾,就需要對無線通信系統(tǒng)的通信信道進(jìn)行必要的管理。各個(gè)都有自己的無線電管理結(jié)構(gòu),如美國的通信委員會(huì)(FCC)、歐洲的電信標(biāo)準(zhǔn)委員會(huì)(ET是負(fù)責(zé)無線電頻率的劃分、分干擾查處,協(xié)調(diào)處理電磁干擾事宜和維一般情況,使用某一特定的頻段霈要得到無線電管電管理部門也規(guī)定了一部分頻段是對公眾開放的,不需要,當(dāng)然,各國的無線用需求,這些頻段

29、包括 ISM(Industrial. Scientific and Medical、工頻帶。除了 ISM 頻帶外,在我國,低于 135kHz,在也是些頻帶上所使用的部發(fā)布的微功率(短距離)無線電設(shè)備管理規(guī)定。BLE 工作在 ISM 頻帶,定義了兩個(gè)頻段,2.4GHz 頻段和 896/915MHz醫(yī)療)頻帶。在IEEE802.15.4 中共規(guī)定了 27個(gè)信道:16 個(gè)信道,信道通信速率為 250kbps:10 個(gè)信道,信道通信速率為 40kbps: 個(gè)信道,信道通信速率為 20kbpS。在在在2.4GHz915MHz868MHz頻段,共有頻段,共有頻段,有 1BLE 工作在 2.4GHz 頻段,

30、僅適用 3 個(gè)廣播通道,適用所有藍(lán)牙規(guī)范版本通用的自適應(yīng)調(diào)頻技術(shù)。自適應(yīng)調(diào)頻技術(shù)是建立在自動(dòng)信道質(zhì)量分析基礎(chǔ)上的一種頻率自使用和功率自適應(yīng)控制相結(jié)合的技術(shù),他能使調(diào)頻通信過程中自動(dòng)避開擾的調(diào)頻頻點(diǎn)并以最小的發(fā)射功率、最低的被截獲概率,達(dá)到在無干擾的調(diào)頻信道上長時(shí)間保持優(yōu)質(zhì)通信的目的。 Amo131.5 BLE 無線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)BLE 網(wǎng)絡(luò)可以點(diǎn)對點(diǎn)或者點(diǎn)對多點(diǎn),一個(gè) ble 主機(jī)可以連接多個(gè) ble 從機(jī),組成星型網(wǎng)絡(luò),另外還有一種有廣播設(shè)備和多個(gè)掃描設(shè)備組成的廣播組結(jié)構(gòu),不同的網(wǎng)絡(luò)拓?fù)鋵?yīng)不同的應(yīng)用領(lǐng)域。1.6 BLE 技術(shù)的應(yīng)用領(lǐng)域一直以來,藍(lán)牙技術(shù)在配件方面的應(yīng)用都更受關(guān)注,但隨著移動(dòng)的

31、迅猛發(fā)展,BLE將會(huì)有更大的用武之地。事實(shí)上,BLE 的低功耗技術(shù),在設(shè)計(jì)之初便主打等特殊市場。而總的來說,藍(lán)牙 4.0 的發(fā)展方向?qū)⑹沁\(yùn)動(dòng)管理、醫(yī)療健康照表、智能家居以及各種物聯(lián)網(wǎng)相關(guān)應(yīng)用。在醫(yī)療健康領(lǐng)域,過去不少健康類的應(yīng)用都是基于藍(lán)牙 于耗電問題而未能掀動(dòng)太大波瀾。BLE 化解這起,并由許多不同醫(yī)療技術(shù)與日后的標(biāo)準(zhǔn)傳輸技術(shù)中。現(xiàn)在市場上已有許多采用藍(lán)牙 2.1 規(guī)格的醫(yī)療血糖儀等,未來,通過 Continua 健康儀限會(huì)越來越多。健康應(yīng)用方面,BLE 也有廣闊的市場空間,其可以與健身設(shè)備進(jìn)行無縫結(jié)合,人們在使用健身器材時(shí),就能通過相關(guān)設(shè)備如計(jì)步器、脈搏機(jī)等來傳送并 入移動(dòng)設(shè)備,保存?zhèn)€人的

32、健康信息。運(yùn)動(dòng)情況進(jìn)BLE 與安卓的結(jié)合更將對當(dāng)下如火如荼的“物聯(lián)網(wǎng)”起到推波助瀾的作用。目前市場上的所有智能設(shè)備都是物聯(lián)網(wǎng)發(fā)展的推動(dòng)力量, BLE 能夠起到打通物聯(lián)網(wǎng)的和傳感器設(shè)備之間的“關(guān)節(jié)”的節(jié)點(diǎn)作用,這將從關(guān)鍵意義上推動(dòng)物聯(lián)網(wǎng)的真正發(fā)展。由于藍(lán)牙 技術(shù)一向關(guān)注上層應(yīng)用,有統(tǒng)一標(biāo)準(zhǔn),因此各種各樣的底層硬件雖出自不同制造廠家,卻可以互聯(lián)互通,能夠形成完善的環(huán)境,為自身及物聯(lián)網(wǎng)市場都創(chuàng)造了良好環(huán)境。有分析認(rèn)為,當(dāng) BLE 把每個(gè)人的安卓或者其他移動(dòng)設(shè)備變?yōu)橐粋€(gè)傳感器時(shí),它所能做的將不僅僅是通過應(yīng)用軟件去找東西,而是將擁有巨大的可拓展性,如它可以通過 App 和傳感器來構(gòu)建一個(gè) P2P 的網(wǎng)絡(luò)

33、以模擬 GPS 的功能等??傊?dāng) BLE 傳感器無處不在時(shí),定然蘊(yùn)藏著巨大商機(jī)。1.7 CC254xEK 開發(fā)套件硬件概述進(jìn)行 BLE 無線網(wǎng)絡(luò)的開發(fā),需要有相關(guān)的硬件和軟件,在硬件方面,TI 公司已經(jīng)推出了完全支持 BLUETOOTH-LE 協(xié)議的 SoC-CC254X,同時(shí)也推出了相應(yīng)的開發(fā)套件;但是價(jià)格較高。不適合國內(nèi)的學(xué)習(xí)環(huán)境,因此我們依照 TI開發(fā)板,在最大程度兼容 TI 官方的基礎(chǔ)上,我們開發(fā)了 CC254xDK(SmartRF 系列)開發(fā)套件。 Amo141.8 本章小結(jié)本章主要講述了 BLE 協(xié)議的基礎(chǔ)知識(shí),此外還有我們的開發(fā)套件的簡單介紹,使讀者對 BLE 有一個(gè)整體的概念

34、。第 2 章 IAR 開發(fā)環(huán)境及流程由于 BLUETOOTH-LE 協(xié)議的發(fā)布,以及相關(guān)公司推出的協(xié)議棧逐漸完善,市場上出現(xiàn)了各種各樣的 BLE 技術(shù)解決方案,但是對于初學(xué) BLE 的用戶來說,如何準(zhǔn)確地選擇一款適合自己的開發(fā)平臺(tái)。下面給出建議:【1】盡可能選用與 TI接近的開發(fā)板我們的開發(fā)板協(xié)議棧部分完全兼行,無需做任何移植工作,另外,由于 BLE 會(huì)隨意升級,而不用擔(dān)心硬件環(huán)境發(fā)生變化。【2】帶有豐富的開發(fā)資料以及實(shí)踐項(xiàng)目這里說的豐富的開發(fā)資料是指與開發(fā)板配套的資料,并非網(wǎng) 對于初學(xué)者來說,一套能夠直接上手的開發(fā)板和資料性。的開發(fā)板上直接運(yùn)BLE 資料,極【3】工作時(shí)間提供我們提供CC25

35、4x系列開發(fā)板的主要的目的是為了進(jìn)行BLE相關(guān)的項(xiàng)目合作,所以我們已經(jīng)實(shí)現(xiàn)了4.初級基礎(chǔ)實(shí)驗(yàn)和5.中級基礎(chǔ)實(shí)驗(yàn),并不遺余力地盡最大努力逐步完 善6.高級BLE實(shí)踐實(shí)踐,考慮到每個(gè)開發(fā)者的學(xué)習(xí)進(jìn)程不一致,應(yīng)該說一對一的技術(shù)支持是零碎費(fèi)時(shí)費(fèi)力的,但我們愿意與你經(jīng)驗(yàn),所以我們建立了AmoMcu開源社區(qū) 用來與現(xiàn)方式。一起推動(dòng)BLE在國內(nèi)的快速,這本身也是實(shí)現(xiàn)人生價(jià)值的體本章主要講述 lAR 開發(fā)環(huán)境進(jìn)行 CC254X SoC 的開發(fā),如果用戶已經(jīng)熟悉 IAR 開發(fā)環(huán)境,完全可以跳過本章,直接進(jìn)行后面章節(jié)的學(xué)習(xí)。2.1 IAR 集成開發(fā)環(huán)境簡介IAR Embedded Workbench(又稱 EM)

36、的 C 交叉編譯器是一款完整、穩(wěn)定且容易使用的專業(yè)應(yīng)用開發(fā)工具,EW 對不同的微處理器提供統(tǒng)一的用戶界面,目前可以支持至少 35 種的 8 位、16 位、32 位的 MCU。完全兼容標(biāo)準(zhǔn) C 語言內(nèi)建相應(yīng)高效浮點(diǎn)支持內(nèi)存模式選擇的程序蘇荷和內(nèi)部優(yōu)化器 Amo152.1.1 安裝 IAR8.10程序安裝包位于【2.開發(fā)環(huán)境安裝及相關(guān)驅(qū)動(dòng)1.IAR8.10.4】目錄下,如下圖雙擊運(yùn)行 autorun.exe,然后再跳出的畫面中選擇第二項(xiàng),InstallIAR EmbeddedWorkbench。根據(jù)提示一路 next,到 Enter User Information 這一項(xiàng),提示輸入license

37、: Amo16這里使用 keygen 生成 iar 的 license,方法為:雙擊下面路徑中的!RUNME.BAT,出現(xiàn)下圖:按下 任意鍵后, 該文件夾下生成了 license.txt,如下圖: Amo17打開 license.txt第一行中的 9906-這個(gè)就是 license number。注意:以下的Keygen,對某些電腦可能無效,建議大家,不管是xp、win7還是win8,直接使用命令行的方式,手動(dòng)。在:開發(fā)環(huán)境安裝一節(jié),有指導(dǎo)。licensenumber(9906-)到iar安裝向?qū)е校琻ext 后, 再在 license.txt 中查找 EW8051,然后把類似如下的幾行到剪切

38、板, Amo18然后粘貼到 license key 中 , 一路NEXT即可, 其中如果你安裝了安全衛(wèi)士如360安全衛(wèi)士, 可能會(huì)提示你系統(tǒng)修改, 忽略即可。然后一路 next,安裝結(jié)束后在開始菜單中找到IAR軟件IAREmbeddedWorkbench運(yùn)行的IAR軟件如下圖: Amo19如果在 iar 的使用過程中出現(xiàn)如下錯(cuò)誤這是由于 iar 的 license 未能安裝成功,請嚴(yán)格按照軟件目錄下的幾個(gè)文檔,多數(shù)是由于未能使用管理員運(yùn)行機(jī)導(dǎo)致。使用 win7 的用戶請注意,上述的方法可能無法,需要在使用第二種命令行的方式。在解壓 2. 開發(fā)環(huán)境安裝及相關(guān)驅(qū)動(dòng)1.IAR8.10.4IAR8.1

39、0.4IAR EW80518.10.4.rar文件后, 命令行方法文件夾下,有命令行方式的,務(wù)必按照要求一條一條的做,會(huì)成功沒有按照要求做。,如果還出現(xiàn)上述 license 錯(cuò)誤,基本上可以確定是因?yàn)?.2 工程的編輯與修改IAR 集成開發(fā)環(huán)境中,對用工程的編輯操作主要涉及以下幾個(gè)方面的內(nèi)容:如何建立、保存一個(gè)工程如何向工程中添加源文件如果編譯文件工程配置在哪里下面進(jìn)行詳細(xì)的講解: Amo202.2.1 建立一個(gè)新工程【部分網(wǎng)友用戶說目前下面這種方法建立后不行,為避免浪費(fèi)您寶貴時(shí)間,建議您跳 過這一節(jié), 直接使用我們已經(jīng)建立好的工程即可, 比如基礎(chǔ)實(shí)驗(yàn)就是這些 奔工程, 詳見AmoMcu-CC

40、254x開發(fā)套件資料4.初級基礎(chǔ)實(shí)驗(yàn)】 若是不跳過, follow me .打開 iar,點(diǎn)擊菜單欄的:Project,在彈出的下拉菜單中選擇Create New Project,選擇“Empty project”,單擊OK,然后會(huì)詢問保存 project,選擇一個(gè)合適的目錄,我這里保存的目錄在 CC254X 基礎(chǔ)測試程序1_點(diǎn)亮 LED 目錄下,然后填入合適的工程名,然后單擊 OK,如下圖: Amo212.2.2 建立一個(gè)源文件單擊Newdocument按鈕,新建一個(gè)文本文件: Amo22 新建了文件之后單擊保存按鈕,保存為文件名為:main.c到source目錄下(source是在IAR工

41、程目錄內(nèi)新建的用來專門保存源碼的目錄)2.2.3 添加源文件到工程右擊工程名,選擇main.cadd-Add“main.”c,注意,也可以使用add files,手動(dòng)選擇 Amo23在 main.c 中輸入以下代碼: #include /常用的宏定義/*位操作,作用是將第 n 位置 1這在單片機(jī)中是非常常見的操作。*/#define BV(n) (1(n)void delay(unsigned int time)int i,j; for(i=0;itime;i+)for(j=0;j1000;j+);int main()/設(shè)置 P1.0 端口方向?yàn)檩敵鯬1DIR |= BV(0);/設(shè)置 P1.

42、0 端口為 GPIO 功能P1SEL &= BV(0); Amo24/死循環(huán)while(1)P1_0=1;/點(diǎn)亮 led delay(1000); P1_0=0;/熄滅 led delay(1000);然后保存成led.eww即可:2.2.4 工程設(shè)置在左邊的 Workspace 中右擊工程名,然后選擇框,注意,OptionOption,進(jìn)入 Option 工程配置 Amo25配置目標(biāo)在出現(xiàn)的框中,首先是選擇該 project所使用的 Device,左邊選擇General,我Option,然后在右邊的一些列的選項(xiàng)卡中選擇 們這里使用的徑為:C:ProgramFilesIARSystemsEmb

43、eddedWorkbench6.08051configdevicesTexas Instruments),截圖中用的是CC2540,使用2541的用戶相應(yīng)選擇CC2541F256.i51即可。 Amo26設(shè)置 Code 和 Memory Model。在 code 類型中有 Near 和 Banked 兩項(xiàng)可選擇。“Near”當(dāng)不需要 Bank 支持支持是可以選擇 Near,例如,你只需要64K flash空間的時(shí)候,不需要的 flash 空間,比如你使用的是 CC254XF32 者使用的 CC254XF256 但并不需要那么大的 flash 空間時(shí),可以選擇“ Banked ” 選擇該項(xiàng)時(shí)標(biāo)明

44、你需要的空間能夠CC253xF256 的整個(gè) Flash 空間。或 CC254XF64,或Near。 CC253xF128 或者默認(rèn) Near code model 中的 data model 是 Small,默認(rèn)的 Banked,data model 為Large,data model 決定編譯器或者連接器如何使用 8051 的內(nèi)存來變量,選擇 small data model,變量存data model,變量典型的儲(chǔ)在 XDATA空間。在 DATA 內(nèi)存空間,如果使用Large在這里,重要的事情是,8051 IDATA,一般情況下,比在 BLE 協(xié)議棧中,使用使用不同的指令來y space

45、s IDATA 大。以 Amo27 在 Banked code model 中,有一些額外的選項(xiàng)需要注意,選擇 Code Bank tab,如下圖,CC254X 使用 7 個(gè) code banks,為了整個(gè) 256K 的 Flash 空間,Number of 必須設(shè)置為 0x07,Register 0x9F 是 CC254X 的 FMAP 寄存器,用來控制當(dāng)前那個(gè)codebank到8051的地址空間,第三個(gè)Register未使用,最好設(shè)置0xFF。 Amo28設(shè)置器在左邊的選項(xiàng)中選擇 “Linker”,并在右邊的選項(xiàng)卡中選擇 Config 一頁,在LinkerCommandfile中 復(fù) 選O

46、verridedefault , 例 如 , 我們選擇lnk51ew_CC254XF256_banked.xcl,banked表示使用bankedcodemodel。 Amo29默認(rèn)路徑為:$TOOLKIT_DIR$configdevicesTexas Instrumentslnk51ew_CC254XF256_banked.xcl設(shè)置最后,在器調(diào)試Debugger選項(xiàng)中,選擇Texas Instruments為 Driver 對象: Amo30至此,這個(gè) IAR 工程就配置好了,單擊 OK 確認(rèn)。2.2.5 源文件的編譯編譯過程中如果出現(xiàn)錯(cuò)誤,請根據(jù)錯(cuò)誤提示修改不造成的語法問題。 Amo31

47、 2.3調(diào)試與在運(yùn)行代碼之前,首先將器和開發(fā)板連接好,器的使用 mini-usb 開發(fā)板,如下圖:線連接到電腦 PC端,然后使用灰色排線連接器和SmartRF需要注意的是,不管使用 CC-Debugger器還是SmartRF04EB器,在調(diào)試下載程序前,必須要按一次真器燈由紅變綠,或者 04EB 不可預(yù)知的問題。器的復(fù)位按鈕,等到器識(shí)別到開發(fā)板( CC-Debugger 仿2.3.1連接 CC-Debugger 如果電腦中存在如果沒有出現(xiàn)安裝成功。則先確定 cc-debugger 是否與 電腦 usb 連接 OK,連接 OK 后,電腦上肯定會(huì)出現(xiàn)新新硬件的提醒。如果插上電腦沒有任何反應(yīng),更換

48、mini-usb線。如果有提示新硬件,但顯示驅(qū)動(dòng)未能安裝成功,打開電腦的設(shè)備管理器。如下圖: Amo32如果框起來的有感嘆號或者別的,需要更新一下SmartRF04EB,選擇更新驅(qū)動(dòng)程序。器的驅(qū)動(dòng)。右擊CCDebugger,或者Amo33 到我們提供的器驅(qū)動(dòng)即可,該驅(qū)動(dòng)同樣適用于 SmartRF04EB 和 USBdongle。或者將驅(qū)動(dòng)程序路徑為:C:Program到 Flash Programmer的安裝目錄下的驅(qū)動(dòng)程序文件夾,默認(rèn)的安裝ToolsDriverscebalwin_32bit同級目錄還有一個(gè)win_64bit_x64CC-Debugger CC-Debugger之間有四顆電平轉(zhuǎn)換你的目標(biāo)板有電壓,因信號轉(zhuǎn)到多高。僅用四線調(diào)此,也可以簡單的將 CC-Debugger 試接口的話)的第 9 腳和第 22.3.2 程序開始運(yùn)行的 iar 截圖如下: Amo34至此,我們完成了第一個(gè) IAR 工程的創(chuàng)建和第一個(gè)程序的編寫編譯與運(yùn)行,日后的開發(fā)過程中幾乎都是重復(fù)這樣的工作,只不過代碼會(huì)越來越多,需要管理的文件也越來越多。但請保持信心,終有有一天你能輕松駕馭他們。點(diǎn)擊如上

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論