本書全面介紹物聯(lián)網(wǎng)工程的藍(lán)牙4.0低功耗開發(fā)技術(shù)。全書分4篇,共18章,其中包括低功耗藍(lán)牙、藍(lán)牙4.0 BLE軟件開發(fā)平臺(tái)搭建、藍(lán)牙4.0 BLE硬件開發(fā)平臺(tái)搭建、定時(shí)器實(shí)驗(yàn)、串口實(shí)驗(yàn)、ADC實(shí)驗(yàn)、睡眠與喚醒實(shí)驗(yàn)等內(nèi)容。
2010年,集傳統(tǒng)藍(lán)牙、低功耗藍(lán)牙和高速藍(lán)牙技術(shù)三位一體的藍(lán)牙4.0發(fā)布,這3個(gè)功能可以組合也可以單獨(dú)使用。藍(lán)牙4.0規(guī)范的核心是低功耗技術(shù)(Low Energy),即藍(lán)牙4.0 BLE。藍(lán)牙4.0是3.0的升級(jí)版本,特點(diǎn)是省電、成本低、3ms小延遲、超長(zhǎng)有效連接距離、AES128加密等,該技術(shù)最大特點(diǎn)是擁有超低的運(yùn)行功耗和待機(jī)功耗,一顆紐扣電池可以連續(xù)工作數(shù)年之久,可應(yīng)用于對(duì)成本和功耗都有嚴(yán)格要求的無線方案,如手機(jī)等移動(dòng)設(shè)備、物聯(lián)網(wǎng)領(lǐng)域,且在幾乎能保證節(jié)點(diǎn)永久工作時(shí),連接節(jié)點(diǎn)不會(huì)有絲毫的延遲。這種永久打開且瞬間連接的能力非普通藍(lán)牙或其他無線連接可以比擬。
由于近年來智能手機(jī)(Smart Phone)的迅速普及,君不見大街小巷、地鐵公交,多少人在低頭刷屏,手機(jī)上的各種應(yīng)用如雨后春筍,帶動(dòng)著各種手機(jī)應(yīng)用開發(fā)一片欣欣向榮,手機(jī)越來越成為“我的物聯(lián)網(wǎng)(Internet of My Things)”的中樞設(shè)備。目前幾乎百分之百的智能手機(jī)都標(biāo)配了藍(lán)牙3.0,而隨著2010年藍(lán)牙4.0的發(fā)布,目前iPhone 4S、iPhone 5以及三星Gallaxy S3、S4、Note 2都已經(jīng)支持藍(lán)牙4.0,剛剛發(fā)布不久的安卓4.3也提供了藍(lán)牙4.0的API接口。由于藍(lán)牙4.0是藍(lán)牙3.0的升級(jí)版本且兼容3.0,并提供了低功耗應(yīng)用的藍(lán)牙4.0 BLE,可以預(yù)見,不久的將來,在物聯(lián)網(wǎng)領(lǐng)域藍(lán)牙4.0將成為一顆璀璨的新星,在醫(yī)療、生活、智能家居,尤其是“我的物聯(lián)網(wǎng)”中發(fā)揮舉足輕重的作用。
物聯(lián)網(wǎng)技術(shù)的特點(diǎn)就是物物相聯(lián),核心就是感知萬物,終極目標(biāo)就是要把分布于世界上的萬事萬物,通過網(wǎng)絡(luò)互聯(lián),使得網(wǎng)絡(luò)具有感知萬物的能力。但這里有一個(gè)核心問題需要解決——電能,沒有電就談不上互聯(lián),更談不上感知。也就是說,分布在宇宙空間小到一粒沙子,大到電網(wǎng)、大壩,要讓這些事物具有持續(xù)的感知能力,持續(xù)長(zhǎng)久的電能供應(yīng)必不可少。為此低功耗設(shè)計(jì)勢(shì)在必行,也順應(yīng)當(dāng)前綠色、健康、環(huán)保理念。顯然,作為物聯(lián)網(wǎng)的重要技術(shù),藍(lán)牙4.0 BLE設(shè)計(jì)完全能滿足以上要求。本書特點(diǎn):
1. 深入淺出、循序漸進(jìn)、注重細(xì)節(jié)本書在內(nèi)容編排上采用模塊化、進(jìn)階式的安排,由淺入深,由易到難,從構(gòu)建系統(tǒng)軟、硬件平臺(tái)開始,結(jié)合CC2540芯片原理,從藍(lán)牙4.0 BLE基礎(chǔ)實(shí)驗(yàn)慢慢深入到藍(lán)牙4.0 BLE協(xié)議棧再到項(xiàng)目實(shí)戰(zhàn),從最簡(jiǎn)單的點(diǎn)亮一盞小小的LED,到復(fù)雜的藍(lán)牙USB綜合開發(fā)應(yīng)用,由淺入深,讓初學(xué)者從零基礎(chǔ)開始,慢慢深入了解和學(xué)習(xí)藍(lán)牙4.0 BLE。本書詳盡地描述了開發(fā)和設(shè)計(jì)的整個(gè)過程,注重細(xì)節(jié),力求淺顯易懂,包括各模塊的電路連接原理,甚至實(shí)驗(yàn)需用到的如Nokia 5110液晶顯示擴(kuò)展板、CCDBG一擴(kuò)二小板,也都詳細(xì)描述并給出電路圖,力求真實(shí)效果再現(xiàn)。只要認(rèn)真學(xué)習(xí)本書,相信每位讀者最后都能創(chuàng)作出自己的作品。
2. 理論聯(lián)系實(shí)踐
對(duì)于第1篇和第2篇,只要具備基本的8051單片機(jī)基礎(chǔ)即可學(xué)習(xí)和掌握。對(duì)于第3篇,則需要相關(guān)的藍(lán)牙理論知識(shí),否則直接學(xué)習(xí)會(huì)碰到很多術(shù)語不懂, 理解一些過程會(huì)很困難。
物聯(lián)網(wǎng)技術(shù)實(shí)踐教程——基于藍(lán)牙4
前言為此,我們首先詳細(xì)地描述藍(lán)牙4.0 BLE通信協(xié)議,之后再結(jié)合TI藍(lán)牙4.0 BLE協(xié)議棧講解,并在項(xiàng)目中將藍(lán)牙理論與實(shí)踐結(jié)合,力求理論充分聯(lián)系實(shí)際,以加深讀者的理解和掌握。
3. 以“我”為中心
本書把作者整個(gè)藍(lán)牙學(xué)習(xí)和開發(fā)過程的感想、體會(huì)以及對(duì)讀者的希望都真實(shí)記錄下來,這個(gè)過程當(dāng)然會(huì)走些彎路,但這些彎路或者一筆帶過,或者忽略,本書力求呈現(xiàn)給讀者一條“寬闊筆直的”藍(lán)牙學(xué)習(xí)之路。雖然是以作者為中心,通過作者的學(xué)習(xí)和實(shí)踐來詳細(xì)地展現(xiàn)整個(gè)藍(lán)牙4.0 BLE學(xué)習(xí)和開發(fā)的過程,但其實(shí)也希望讀者以自己為中心,主動(dòng)積極地參與項(xiàng)目實(shí)踐,一步步構(gòu)建自己的藍(lán)牙項(xiàng)目。
4. 任務(wù)驅(qū)動(dòng)
本書以任務(wù)驅(qū)動(dòng)方式講解,每次實(shí)驗(yàn)都提出具體任務(wù),便于教師安排學(xué)生實(shí)驗(yàn),也便于讀者自行實(shí)驗(yàn)之后再對(duì)比。每個(gè)實(shí)驗(yàn)都配以相關(guān)圖文解釋,以激發(fā)讀者學(xué)習(xí)熱情,力求達(dá)到快速理解的效果,所有效果呈現(xiàn)圖片都是程序正確運(yùn)行時(shí)現(xiàn)場(chǎng)拍攝的,以力求代碼的準(zhǔn)確、無誤。實(shí)驗(yàn)一個(gè)接一個(gè)由簡(jiǎn)單到復(fù)雜,循序漸進(jìn),遵從學(xué)習(xí)的規(guī)律。
5. 學(xué)習(xí)成本低
一般物聯(lián)網(wǎng)實(shí)驗(yàn)工具箱動(dòng)輒幾千元、幾萬元,讓廣大有志學(xué)習(xí)物聯(lián)網(wǎng)技術(shù)的同學(xué)和工程師望而卻步。而本書的所有實(shí)驗(yàn)僅僅建立在兩塊CC2540開發(fā)板上,外加CCDBG仿真器和串口即可輕松調(diào)試,且只要稍加修改配置,實(shí)驗(yàn)可在任何CC2540開發(fā)板上輕松實(shí)現(xiàn)。目前各款CC2540開發(fā)板的淘寶價(jià)格大致二三百元不等。隨著藍(lán)牙4.0開發(fā)應(yīng)用的迅速增長(zhǎng),成本還將進(jìn)一步下降,由于CC2540開發(fā)板設(shè)計(jì)都有非常成熟的現(xiàn)成方案,不考慮時(shí)間,甚至你自己都可以設(shè)計(jì)一個(gè),這更可以鍛煉初學(xué)者的硬件動(dòng)手能力,這樣成本還更低。低門檻的學(xué)習(xí)和開發(fā)成本將更有利于廣大學(xué)生和工程師學(xué)習(xí)和開發(fā)藍(lán)牙4.0 BLE。學(xué)習(xí)本書,大家完全可以開發(fā)出具有自己特色的藍(lán)牙設(shè)備,再配上你的手機(jī),讓你的手機(jī)通過藍(lán)牙來感知世界,認(rèn)真地體會(huì)物聯(lián)網(wǎng)。
物聯(lián)網(wǎng)、嵌入式的學(xué)習(xí)是痛并快樂的,走過很多彎路,有過一些迷惑,常常為了一個(gè)BUG調(diào)試通宵,但當(dāng)調(diào)試成功的一刻又是如此地喜悅,所以我喜歡寫自己的體會(huì)和感想,也愿意與讀者分享。
借用一句格言“技術(shù)的學(xué)習(xí)是有限的,奉獻(xiàn)的精神是無限的”,現(xiàn)將本書奉獻(xiàn)給廣大從事單片機(jī)、嵌入式、物聯(lián)網(wǎng)和藍(lán)牙學(xué)習(xí)開發(fā)的學(xué)子以及奮斗在一線的工程師們,希望本書能對(duì)你們的學(xué)習(xí)、開發(fā)、設(shè)計(jì)有所幫助,讓你們少走彎路,我走過的彎路你們就不要再走了,^_^。
本書由浙江工業(yè)大學(xué)的毛劍飛老師和蕭山電大的周雪老師共同主編并統(tǒng)稿,浙江工業(yè)大學(xué)的毛科技以及蕭山電大的竺超明、陳立建參加了部分章節(jié)的編寫。限于編者水平,出錯(cuò)之處在所難免,懇請(qǐng)各位讀者給予批評(píng)指正,聯(lián)系方式:mjf@zjut.edu.cn。
本書受浙江省自然科學(xué)基金(LY13F010010)和浙江工業(yè)大學(xué)重點(diǎn)教材建設(shè)項(xiàng)目資助,在此表示感謝;再次感謝清華大學(xué)出版社的白立軍編輯對(duì)出版本書的關(guān)心和支持;感謝家人的理解與支持;同時(shí)也要感謝購(gòu)買本書的讀者——你。
毛劍飛
2015年6月
于浙江工業(yè)大學(xué)屏峰
第1篇概述及實(shí)驗(yàn)平臺(tái)
第1章低功耗藍(lán)牙3
1.1藍(lán)牙與物聯(lián)網(wǎng)3
1.2低功耗藍(lán)牙與“我的物聯(lián)網(wǎng)”5
1.3低功耗藍(lán)牙概述8
1.4低功耗藍(lán)牙的特點(diǎn)9
第2章藍(lán)牙4.0 BLE軟件開發(fā)平臺(tái)搭建11
2.1選擇IAR 8051的理由11
2.2IAR 80518.3的下載、安裝和破解12
2.2.1下載IAR 80518.312
2.2.2安裝IAR 80518.313
2.2.3破解IAR 80518.317
2.3IAR 8051集成開發(fā)環(huán)境簡(jiǎn)介21
2.4IAR 8051 C/C++22
2.5安裝相關(guān)支持軟件22
第3章藍(lán)牙4.0 BLE硬件開發(fā)平臺(tái)搭建24
3.1選擇世嵌開發(fā)板的理由24
3.2世嵌最簡(jiǎn)配置開發(fā)套件25
3.2.1核心板WB2540MVA26
3.2.2底板WX253028
3.2.3仿真器CCDBG33
3.3搭建實(shí)驗(yàn)硬件環(huán)境35
3.4創(chuàng)建工程——點(diǎn)亮LED37
第2篇基 礎(chǔ) 實(shí) 驗(yàn)
第4章GPIO實(shí)驗(yàn)534.1LED實(shí)驗(yàn): 打開所有LED53
4.1.1任務(wù)要求及效果呈現(xiàn)53
物聯(lián)網(wǎng)技術(shù)實(shí)踐教程——基于藍(lán)牙4
目錄4.1.2實(shí)驗(yàn)原理54
4.1.3實(shí)驗(yàn)步驟56
4.1.4源碼清單59
4.2LED實(shí)驗(yàn): 讓LED一閃一閃59
4.2.1任務(wù)要求及效果呈現(xiàn)59
4.2.2實(shí)驗(yàn)原理60
4.2.3源碼清單60
4.3LED實(shí)驗(yàn): 實(shí)現(xiàn)流水燈61
4.3.1任務(wù)要求及效果呈現(xiàn)61
4.3.2實(shí)驗(yàn)原理61
4.3.3源碼清單62
4.4蜂鳴器實(shí)驗(yàn): 驅(qū)動(dòng)蜂鳴器發(fā)聲63
4.4.1任務(wù)要求及效果呈現(xiàn)63
4.4.2實(shí)驗(yàn)原理63
4.4.3源碼清單65
4.5按鍵實(shí)驗(yàn): 按鍵控制LED66
4.5.1任務(wù)要求及效果呈現(xiàn)66
4.5.2實(shí)驗(yàn)原理66
4.5.3源碼清單69
4.6按鍵實(shí)驗(yàn): 按鍵控制LED (中斷方式)71
4.6.1任務(wù)要求及效果呈現(xiàn)71
4.6.2實(shí)驗(yàn)原理71
4.6.3源碼清單74
第5章定時(shí)器實(shí)驗(yàn)77
5.1定時(shí)器實(shí)驗(yàn): 流水燈(查詢方式)77
5.1.1任務(wù)要求及效果呈現(xiàn)77
5.1.2實(shí)驗(yàn)原理77
5.1.3源碼清單81
5.2定時(shí)器實(shí)驗(yàn): 流水燈(中斷方式)83
5.2.1任務(wù)要求及效果呈現(xiàn)83
5.2.2實(shí)驗(yàn)原理83
5.2.3源碼清單84
5.3定時(shí)器實(shí)驗(yàn): PWM控制蜂鳴器86
5.3.1任務(wù)要求及效果呈現(xiàn)86
5.3.2實(shí)驗(yàn)原理87
5.3.3示波器與開發(fā)板連接90
5.3.4源碼清單91
第6章串口實(shí)驗(yàn)97
6.1串口發(fā)送實(shí)驗(yàn): 打印歡迎信息97
6.1.1任務(wù)要求及效果呈現(xiàn)97
6.1.2實(shí)驗(yàn)原理97
6.1.3硬件連接102
6.1.4源碼清單103
6.2串口發(fā)送: 用printf打印系統(tǒng)信息104
6.2.1任務(wù)要求及效果呈現(xiàn)104
6.2.2實(shí)驗(yàn)原理104
6.2.3源碼清單106
6.3串口收發(fā): 用C標(biāo)準(zhǔn)庫(kù)輸入/輸出函數(shù)107
6.3.1任務(wù)要求及效果呈現(xiàn)108
6.3.2實(shí)驗(yàn)原理108
6.3.3源碼清單109
6.4串口收發(fā): 中斷方式112
6.4.1任務(wù)要求及效果呈現(xiàn)113
6.4.2實(shí)驗(yàn)原理113
6.4.3源碼清單116
第7章ADC實(shí)驗(yàn)119
7.1測(cè)量芯片內(nèi)部溫度和供電電壓119
7.1.1任務(wù)要求及效果呈現(xiàn)119
7.1.2實(shí)驗(yàn)原理120
7.1.3源碼清單124
7.2測(cè)量光照強(qiáng)度126
7.2.1任務(wù)要求及效果呈現(xiàn)127
7.2.2實(shí)驗(yàn)原理127
7.2.3源碼清單128
第8章睡眠與喚醒實(shí)驗(yàn)130
8.1外部中斷喚醒130
8.1.1任務(wù)要求及效果呈現(xiàn)130
8.1.2實(shí)驗(yàn)原理131
8.1.3源碼清單134
8.2定時(shí)器喚醒139
8.2.1任務(wù)要求及效果呈現(xiàn)139
8.2.2實(shí)驗(yàn)原理140
8.2.3源碼清單142
第9章看門狗實(shí)驗(yàn)、Flash讀寫實(shí)驗(yàn)144
9.1看門狗實(shí)驗(yàn)144
9.1.1任務(wù)要求及效果呈現(xiàn)144
9.1.2實(shí)驗(yàn)原理145
9.1.3源碼清單146
9.2Flash讀寫實(shí)驗(yàn)147
9.2.1任務(wù)要求及效果呈現(xiàn)148
9.2.2實(shí)驗(yàn)原理148
9.2.3源碼清單150
第10章總線實(shí)驗(yàn)153
10.1單總線實(shí)驗(yàn)(DS18B20驅(qū)動(dòng))153
10.1.1任務(wù)要求及效果呈現(xiàn)153
10.1.2實(shí)驗(yàn)原理154
10.1.3源碼清單157
10.2SPI總線實(shí)驗(yàn)(諾基亞5110液晶屏驅(qū)動(dòng))161
10.2.1任務(wù)要求及效果呈現(xiàn)161
10.2.2實(shí)驗(yàn)原理163
10.2.3源碼清單171
第3篇BLE協(xié)議棧
第11章藍(lán)牙4.0協(xié)議棧基礎(chǔ)19711.1BLE協(xié)議棧整體構(gòu)架197
11.2物理層198
11.3鏈路層198
11.3.1鏈路層狀態(tài)機(jī)198
11.3.2鏈路層報(bào)文200
11.3.3設(shè)備發(fā)現(xiàn)200
11.3.4關(guān)于廣播202
11.3.5連接過程202
11.3.6數(shù)據(jù)發(fā)送205
11.3.7管理連接205
11.4主機(jī)/控制器接口206
11.4.1物理接口與邏輯接口206
11.4.2控制器的配置206
11.4.3廣播與觀察207
11.4.4發(fā)起連接208
11.4.5連接管理210
11.5邏輯鏈路控制和適配協(xié)議210
11.6屬性協(xié)議層、通用屬性配置文件層210
11.6.1服務(wù)器與客戶端模型210
11.6.2屬性211
11.6.3屬性的訪問213
11.6.4服務(wù)213
11.6.5特性215
11.6.6屬性協(xié)議216
11.6.7通用屬性規(guī)范218
11.7安全管理層220
11.7.1安全概念220
11.7.2配對(duì)和綁定221
11.7.3數(shù)據(jù)簽名221
11.8通用訪問配置文件層222
11.8.1GAP角色222
11.8.2模式和規(guī)程222
11.8.3廣播模式和觀察規(guī)程223
11.8.4可發(fā)現(xiàn)性223
11.8.5可連接性224
11.8.6綁定226
第12章TI藍(lán)牙協(xié)議棧開發(fā)平臺(tái)227
12.1BLE協(xié)議棧開發(fā)平臺(tái)配置227
12.2BLE協(xié)議棧軟件開發(fā)框架228
12.3協(xié)議棧應(yīng)用程序運(yùn)行機(jī)理229
12.3.1開始應(yīng)用程序: main()230
12.3.2初始化系統(tǒng): osal_init_system()231
12.3.3啟動(dòng)系統(tǒng): osal_start_system()233
12.3.4系統(tǒng)運(yùn)行機(jī)理235
12.4OSAL操作系統(tǒng)抽象層236
12.4.1任務(wù)事件和事件處理236
12.4.2內(nèi)存堆管理237
12.4.3OSAL消息237
12.5HAL硬件抽象層238
12.6BLE協(xié)議棧238
12.6.1通用訪問配置文件239
12.6.2通用屬性配置文件240
12.6.3GATT服務(wù)器應(yīng)用程序241
12.7配置文件242
12.7.1GAP外圍角色配置242
12.7.2GAP外圍/廣播多重角色配置243
12.7.3GAP Central Role Profile243
12.7.4GAP綁定管理器244
12.7.5簡(jiǎn)單屬性配置文件245
12.7.6簡(jiǎn)單按鍵屬性配置文件252
12.7.7設(shè)備信息服務(wù)253
12.7.8其他屬性配置文件253
第13章藍(lán)牙協(xié)議棧項(xiàng)目開發(fā)入門254
13.1簡(jiǎn)單BLE外圍設(shè)備254
13.1.1項(xiàng)目配置254
13.1.2Linker Map文件257
13.1.3simpleBLEPeripheral.c源碼分析258
13.2簡(jiǎn)單BLE中央設(shè)備273
13.2.1項(xiàng)目配置273
13.2.2Linker Map文件273
13.2.3simpleBLECentral.c源碼分析274
第14章定制硬件抽象層281
14.1增加外設(shè)驅(qū)動(dòng)281
14.2修改hal_board_cfg282
14.3修改hal_led284
14.4修改hal_key284
14.5增強(qiáng)UART功能286
14.6增加Nokia 5110液晶屏驅(qū)動(dòng)294
第4篇BLE通信實(shí)驗(yàn)
第15章簡(jiǎn)單的藍(lán)牙通信29715.1引言297
15.2搭建藍(lán)牙通信實(shí)驗(yàn)平臺(tái)298
15.3源碼相關(guān)配置修改299
15.3.1修改Simple BLE Peripherial項(xiàng)目299
15.3.2修改Simple BLE Central項(xiàng)目301
15.4實(shí)驗(yàn)過程演示302
15.5實(shí)驗(yàn): 實(shí)現(xiàn)自動(dòng)連接和LED連接狀態(tài)指示305
15.5.1任務(wù)要求及效果呈現(xiàn)305
15.5.2實(shí)驗(yàn)原理307
15.5.3源碼修改308
第16章我的藍(lán)牙感知器312
16.1控制LED312
16.1.1任務(wù)要求及效果呈現(xiàn)313
16.1.2實(shí)現(xiàn)外圍設(shè)備315
16.1.3實(shí)現(xiàn)中央設(shè)備319
16.2感知外設(shè)CPU溫度328
16.2.1任務(wù)要求及效果呈現(xiàn)329
16.2.2實(shí)現(xiàn)外圍設(shè)備330
16.2.3實(shí)現(xiàn)中央設(shè)備333
16.3感知外設(shè)環(huán)境溫度336
16.3.1任務(wù)要求及效果呈現(xiàn)337
16.3.2實(shí)現(xiàn)外圍設(shè)備338
16.3.3實(shí)現(xiàn)中央設(shè)備342
16.4感知外設(shè)光照強(qiáng)度344
16.4.1任務(wù)要求及效果呈現(xiàn)344
16.4.2實(shí)現(xiàn)外圍設(shè)備346
16.4.3實(shí)現(xiàn)中央設(shè)備350
16.5定時(shí)獲取外設(shè)光照強(qiáng)度352
16.5.1任務(wù)要求及效果呈現(xiàn)352
16.5.2實(shí)現(xiàn)外圍設(shè)備355
16.5.3實(shí)現(xiàn)中央設(shè)備362
16.6無線串口透?jìng)?64
16.6.1任務(wù)要求及效果呈現(xiàn)364
16.6.2NPI模塊原理與串口透?jìng)?66
16.6.3實(shí)現(xiàn)外圍設(shè)備368
16.6.4實(shí)現(xiàn)中央設(shè)備371
第17章藍(lán)牙USB376
17.1iSensorHid(藍(lán)牙鍵鼠)377
17.1.1任務(wù)要求及效果呈現(xiàn)377
17.1.2實(shí)現(xiàn)外圍設(shè)備385
17.1.3實(shí)現(xiàn)中央設(shè)備390
17.2 iSensorCDC(藍(lán)牙USB串口)395
17.2.1任務(wù)要求及效果呈現(xiàn)396
17.2.2實(shí)現(xiàn)外圍設(shè)備398
17.2.3實(shí)現(xiàn)中央設(shè)備398
17.3iHostTest(網(wǎng)絡(luò)處理機(jī))400
17.3.1實(shí)現(xiàn)iHostTest400
17.3.2系統(tǒng)初始化402
17.3.3建立連接403
17.3.4測(cè)試GATT屬性服務(wù)405
第18章藍(lán)牙通信測(cè)試與支持414
18.1藍(lán)牙協(xié)議分析儀414
18.2藍(lán)牙支持417
參考文獻(xiàn)420
圖目錄
圖11物聯(lián)網(wǎng)——感知世界3
圖12藍(lán)牙在醫(yī)療設(shè)備上的應(yīng)用7
圖13藍(lán)牙防丟產(chǎn)品7
圖14SENSORY的前端語音識(shí)別技術(shù)通過藍(lán)牙耳機(jī)實(shí)現(xiàn)安全行駛8
圖21IAR官方主頁(yè)12
圖22IAR產(chǎn)品下載目錄13
圖23IAR 80518.3評(píng)估版下載頁(yè)面13
圖24“IAR 80518.3下載任務(wù)”對(duì)話框13
圖25EW80518303Autorun.exe自解壓13
圖26程序安裝界面13
圖27準(zhǔn)備安裝15
圖28安裝向?qū)?5
圖29是否接受許可協(xié)議對(duì)話框15
圖210自定義安裝還是完全安裝17
圖211安裝路徑選擇17
圖212程序圖標(biāo)目錄選擇17
圖213準(zhǔn)備安裝程序17
圖214安裝程序過程17
圖215是否安裝USB dongles驅(qū)動(dòng)19
圖216安裝結(jié)束19
圖217退出19
圖218破解IAR 80518.319
圖219License Manager界面19
圖220編譯錯(cuò)誤20
圖221增加一行“Z(DATA)VREG=087F”20
圖222現(xiàn)在編譯正確了20
圖223IAR 8051集成開發(fā)環(huán)境22
圖31世嵌科技官網(wǎng)24
圖32CC2540藍(lán)牙4.0低功耗最簡(jiǎn)配置開發(fā)板套件(2模塊+2底板+1仿真器)25
圖33WB2540MVA核心板26
圖34WB2540MVA核心板機(jī)械尺寸和元件布局27
圖35WX2530底板(綠色)+CC2540核心板(藍(lán)色)28
圖36開發(fā)板整體架構(gòu)30
圖37WX2530底板輸入接口30
圖38跳線使能USB接口31
圖39仿真器接口封裝32
物聯(lián)網(wǎng)技術(shù)實(shí)踐教程——基于藍(lán)牙4
圖 目 錄圖310仿真器灰排母座應(yīng)朝板子外側(cè)插入仿真接口32
圖311CCDBG仿真器(上面雖未標(biāo)明支持CC2540,但實(shí)際完全支持)34
圖312某淘寶店推出的PL2303HX模塊36
圖313開發(fā)板與外配的硬件連接37
圖314復(fù)制安裝目錄下的藍(lán)牙協(xié)議棧到你的工作目錄37
圖315協(xié)議棧的項(xiàng)目范例37
圖316復(fù)制得一個(gè)副本37
圖317將項(xiàng)目改名37
圖318項(xiàng)目文件目錄39
圖319項(xiàng)目文件目錄41
圖320修改mTest.eww文件41
圖321新工程誕生41
圖322移除原工程文件41
圖323選擇Options命令41
圖324將常量和字符串置于RAM memory41
圖325將輸出的hex文件改為你喜歡的名字42
圖326將Driver設(shè)置為Texas Instruments43
圖327選擇Add→AddFiles命令43
圖328選中3個(gè)文件43
圖329文件改名43
圖330文件已經(jīng)添加44
圖331清空編輯區(qū)46
圖332編寫代碼46
圖333編譯代碼46
圖334下載調(diào)試46
圖335調(diào)試開始46
圖336點(diǎn)亮綠燈46
圖337設(shè)置斷點(diǎn)47
圖338啟動(dòng)不下載的調(diào)試48
圖339調(diào)試開始48
圖340調(diào)試運(yùn)行到斷點(diǎn)處48
圖341單擊step over圖標(biāo)49
圖342調(diào)試光標(biāo)進(jìn)入下一行語句49
圖41基礎(chǔ)實(shí)驗(yàn)一效果54
圖42LED原理54
圖43打開項(xiàng)目并另存源文件57
圖44將源文件改名并另存57
圖45將另存的文件添加57
圖46將mTest.c文件從項(xiàng)目編譯鏈接中排除57
圖47為mTestLedAllOpen.c編寫代碼58
圖48讓LED一閃一閃59
圖49流水燈效果61
圖410流水燈程序設(shè)計(jì)和調(diào)試界面62
圖411驅(qū)動(dòng)蜂鳴器發(fā)聲63
圖412蜂鳴器原理64
圖413按鍵控制LED亮滅66
圖414按鍵電路原理圖67
圖415按鍵按下和松開的電信號(hào)變化68
圖416按鍵控制LED(中斷方式)71
圖51中斷查詢方式的定時(shí)流水燈77
圖52中斷方式的定時(shí)流水燈83
圖53實(shí)驗(yàn)過程演示: 按下鍵2,黃燈亮(左圖),釋放,黃燈熄滅(右圖)87
圖54200Hz聲音時(shí)的通道2和通道3的波形87
圖552000Hz聲音時(shí)的通道2和通道3的波形87
圖56本人自購(gòu)的示波器90
圖57開發(fā)板與示波器連線90
圖61打印歡迎信息97
圖62CC2540串口與PC機(jī)串口的硬件連接103
圖63串口輸出系統(tǒng)硬件信息104
圖64使用C標(biāo)準(zhǔn)庫(kù)輸入輸出函數(shù)進(jìn)行串口收發(fā)實(shí)驗(yàn)108
圖65中斷方式下的串口數(shù)據(jù)收發(fā)實(shí)驗(yàn)113
圖71手指壓在CC2540上以測(cè)量芯片內(nèi)部溫度的變化119
圖72芯片內(nèi)部電壓和溫度(當(dāng)手指按在CC2540芯片上時(shí)溫度立即上升)120
圖73測(cè)量光敏電阻分壓127
圖74手指按住光敏電阻(分壓為1.805V)127
圖75手指離開光敏電阻(分壓為0.400V)127
圖76LED強(qiáng)光直射光敏電阻(分壓為0.071V)128
圖77相機(jī)袋壓在光敏電阻上(2.900V)128
圖78光敏電阻原理128
圖81按鍵控制休眠實(shí)驗(yàn)130
圖82串口打印的信息(按鍵催眠、喚醒CPU實(shí)驗(yàn))130
圖83進(jìn)入反匯編代碼查看PCON.IDLE=1指令地址134
圖84開發(fā)板的演示效果(睡眠定時(shí)器喚醒實(shí)驗(yàn))140
圖85串口控制臺(tái)打印的實(shí)驗(yàn)過程信息(睡眠定時(shí)器喚醒實(shí)驗(yàn))140
圖91正常的流水燈演示實(shí)驗(yàn)144
圖92沒有及時(shí)喂狗而導(dǎo)致反復(fù)重啟145
圖93控制臺(tái)顯示的反復(fù)重啟效果145
圖94Flash讀寫實(shí)驗(yàn)148
圖101手指按在DS18B20上面溫度一直在上升154
圖102DS18B20實(shí)驗(yàn)——手指按在DS18B20上面使得溫度上升154
圖103DS18B20溫度測(cè)量模塊154
圖104DS18B20的Reset時(shí)序154
圖105初始?xì)g迎頁(yè)162
圖106鍵2按下背光打開162
圖107鍵1按下開始測(cè)量氣溫162
圖108鍵2按下背光關(guān)掉162
圖109實(shí)驗(yàn)過程在串口控制臺(tái)的演示162
圖1010Nokia 5110顯示屏正反面(帶PCB小板)163
圖1011CC2540與Nokia 5110的電路連接原理164
圖1012PCD8544寫指令時(shí)序165
圖1013PCD8544初始化時(shí)序165
圖1014顯存結(jié)構(gòu)167
圖1015用水平尋址方式(V=0)往RAM寫入數(shù)據(jù)的次序167
圖1016漢字液晶點(diǎn)陣及對(duì)應(yīng)編碼171
圖111BLE協(xié)議棧構(gòu)架197
圖112鏈路層狀態(tài)機(jī)199
圖113兩個(gè)設(shè)備建立連接以實(shí)現(xiàn)可靠數(shù)據(jù)傳輸202
圖114連接事件204
圖115屬性結(jié)構(gòu)211
圖116服務(wù)聲明樣例214
圖117特性聲明215
圖118特性數(shù)值215
圖121單一設(shè)備的配置227
圖122網(wǎng)絡(luò)處理器的配置228
圖123SimpleBLEPeripheral項(xiàng)目界面229
圖124系統(tǒng)運(yùn)行機(jī)理235
圖125屬性結(jié)構(gòu)240
圖131SimpleBLEPeripheral項(xiàng)目界面254
圖132設(shè)置預(yù)處理宏255
圖133配置文件中定義預(yù)處理宏255
圖134Linker Map文件257
圖135SimpleBLECentral項(xiàng)目界面273
圖136Linker Map文件273
圖141添加外設(shè)驅(qū)動(dòng)源文件282
圖151我的藍(lán)牙通信簡(jiǎn)易實(shí)驗(yàn)平臺(tái)298
圖152CCDBG端子擴(kuò)展原理298
圖153CCDBG端子擴(kuò)展板與CCDBG連接298
圖154增加和修改預(yù)定義宏299
圖155增加預(yù)定義宏301
圖156實(shí)驗(yàn)過程控制臺(tái)顯示304
圖157實(shí)驗(yàn)初始液晶顯示304
圖158實(shí)驗(yàn)過程液晶顯示304
圖159實(shí)驗(yàn)過程控制臺(tái)顯示306
圖1510實(shí)驗(yàn)過程液晶顯示307
圖161串口控制臺(tái)打印實(shí)驗(yàn)過程313
圖162連接建立并參數(shù)更新后的LCD顯示及外圍設(shè)備LED顯示314
圖163單擊按鍵后的LCD顯示及外圍設(shè)備LED顯示314
圖164LCD顯示MCU溫度信息329
圖165串口控制臺(tái)打印實(shí)驗(yàn)過程329
圖166LCD顯示環(huán)境溫度信息337
圖167串口控制臺(tái)打印實(shí)驗(yàn)過程337
圖168LCD顯示光照強(qiáng)度344
圖169串口控制臺(tái)打印實(shí)驗(yàn)過程344
圖1610中央設(shè)備串口控制臺(tái)打印實(shí)驗(yàn)過程353
圖1611外圍設(shè)備串口控制臺(tái)353
圖1612LCD顯示即時(shí)光照強(qiáng)度355
圖1613串口控制臺(tái)打印實(shí)驗(yàn)過程365
圖1614LCD顯示當(dāng)前串口發(fā)送和接收信息366
圖171中央設(shè)備啟動(dòng)過程1(在掃描期間USB開始初始化)377
圖172中央設(shè)備啟動(dòng)過程2(框中部分是顯示的重合部分)377
圖173系統(tǒng)初始在完成的初始LCD界面(PC自動(dòng)發(fā)送鍵盤燈狀體的USB報(bào)告)377
圖174藍(lán)牙鼠標(biāo)串口控制臺(tái)顯示379
圖175藍(lán)牙鼠標(biāo)PC桌面測(cè)試379
圖176藍(lán)牙鍵盤功能1串口控制臺(tái)顯示382
圖177藍(lán)牙鍵盤功能1 PC桌面測(cè)試382
圖178藍(lán)牙鍵盤功能2串口控制臺(tái)顯示384
圖179藍(lán)牙鍵盤功能2 播放器測(cè)試——快進(jìn)384
圖1710藍(lán)牙鍵盤功能2 播放器測(cè)試——快退384
圖1711藍(lán)牙鍵盤功能2 播放器測(cè)試——暫停384
圖1712藍(lán)牙鍵盤燈控制實(shí)驗(yàn): 串口信息輸出384
圖1713藍(lán)牙鍵盤燈控制實(shí)驗(yàn): LED顯示(共3幅圖,每幅圖的左上: 中央設(shè)備;右下: 外圍設(shè)備)384
圖1714藍(lán)牙鍵盤燈控制實(shí)驗(yàn): LCD顯示(共兩幅圖,每幅圖的左邊: 中央設(shè)備;右邊: 外圍設(shè)備)384
圖1715插入U(xiǎn)SB口之后出現(xiàn)第3個(gè)串口(COM5: USB CDC虛擬串口)396
圖1716系統(tǒng)啟動(dòng)界面中自動(dòng)配置串口透?jìng)?96
圖1717串口透?jìng)魍ㄐ胚^程396
圖1718啟動(dòng)BTool402
圖1719BTool初始化界面403
圖1720開始掃描404
圖1721發(fā)現(xiàn)廣播設(shè)備404
圖1722建立連接406
圖1723讀寫屬性操作界面406
圖1724利用特性UUID發(fā)現(xiàn)特性起始句柄407
圖1725利用特性句柄讀特性值408
圖1726利用特性UUID讀特性值408
圖1727解決二進(jìn)制向浮點(diǎn)型轉(zhuǎn)換409
圖1728利用多個(gè)特性句柄讀多個(gè)特性值410
圖1729根據(jù)特性句柄寫LED特性值411
圖1730寫入之前(僅綠燈亮)411
圖1731寫入之后(LED全亮)411
圖1732利用特性句柄寫環(huán)境溫度通知配置411
圖1733利用特性句柄寫光照強(qiáng)度通知配置412
圖181選擇芯片對(duì)話框415
圖182SmartRF Packet Sniffer界面415
圖183Sniffer抓包結(jié)果416
圖184TI低功耗藍(lán)牙技術(shù)主頁(yè)417
圖185CC254X PC端開發(fā)范例418
圖186CC254X移動(dòng)智能設(shè)備開發(fā)范例418
圖187CC254X嵌入式設(shè)備開發(fā)范例419
表目錄
表11始終增長(zhǎng)的傳輸速率8
表31核心板J3直插引腳定義27
表32核心板J4直插引腳定義27
表33核心板J5直插引腳定義28
表34LED接口30
表35按鍵接口30
表36傳感器接口31
表37UART接口(J13)31
表38電源接口(J11)31
表39底板J4直插引腳定義31
表310底板J5直插引腳定義32
表311底板仿真接口定義33
表41P1 (0x90)端口154
表42P2(0xA0)端口255
表43P1SEL (0xF4)端口1功能選擇55
表44P2SEL(0xF5)端口2功能選擇和端口1外設(shè)優(yōu)先級(jí)控制55
表45P1DIR(0xFE)端口1方向56
表46P2DIR(0xFF)端口2方向和端口0 外設(shè)優(yōu)先級(jí)控制56
表47P0(0x80)端口064
表48P0SEL(0xF3)端口0功能選擇64
表49P0DIR(0xFD)端口0功能選擇65
表410P0(0x80)端口067
表411P0SEL(0xF3)端口0功能選擇67
表412P0DIR(0xFD)端口0方向67
表413P0INP(0x8F)端口0輸入模式67
表414P2INP(0xF7)端口2輸入模式68
表415P0IFG(0x89)端口P0.7~P0.0中斷狀態(tài)標(biāo)志72
表416PICTL(0x8C)位0端口0中斷模式配置72
表417P0IEN(0xAB)端口P0.7~P0.0中斷使能73
表418IEN0(0xA8)位7使能所有中斷源73
表419IEN1(0xB8)位5端口0中斷源使能73
表420 IRCON(0xC0)位5端口0中斷標(biāo)志73
表51T1CNTH(0xE3)定時(shí)器1計(jì)數(shù)器高位78
表52T1CNTL(0xE2)定時(shí)器1計(jì)數(shù)器低位78
表53T1CTL(0xE4)定時(shí)器1的控制和狀態(tài)78
表54T1STAT(0xAF)定時(shí)器1狀態(tài)78
表55T1CC0H(0xDD)定時(shí)器1通道1捕獲/比較值高位79
表56T1CC0L(0xDA)定時(shí)器1通道0捕獲/比較值低位79
表57CLKCONCMD(0xC6)與定時(shí)器相關(guān)的位時(shí)鐘控制命令79
物聯(lián)網(wǎng)技術(shù)實(shí)踐教程——基于藍(lán)牙4
表 目 錄表58CLKCONSTA(0x9E)時(shí)鐘控制狀態(tài)80
表59IEN0(0xA8)位7中斷源使能總開關(guān)83
表510IEN1(0xB8)位1定時(shí)器1中斷使能84
表511T1STAT(0xAF)位5定時(shí)器1狀態(tài)84
表512IRCON(0xC0)位1定時(shí)器1中斷標(biāo)志84
表513PERCFG(0xF1)外設(shè)控制87
表514P2DIR(0xFF)端口2方向和端口0外設(shè)優(yōu)先級(jí)控制87
表515P0SEL(0xF3)端口0功能選擇88
表516P0DIR(0xFD)端口0功能選擇88
表517T1CCTL3(0x62A3)定時(shí)器1通道3捕獲/比較控制88
表518T1CC0H(0xDD)定時(shí)器1通道1捕獲/比較值高位89
表519T1CC0L(0xDA)定時(shí)器1通道0捕獲/比較值低位89
表61U0CSR(0x86)USART0控制和狀態(tài)99
表62U0UCR(0xC4)USART0的UART控制99
表63U0GCR(0xC5)USART0通用控制100
表64U0BUF又名U0DBUF(0xC1)USART0接收/傳送數(shù)據(jù)緩存100
表65U0BAUD(0xC2)USART0波特率控制101
表66P2DIR(0xFF)端口2方向和端口0外設(shè)優(yōu)先級(jí)控制101
表6732MHz系統(tǒng)時(shí)鐘的常用波特率設(shè)置101
表68CHVER(0x6249)芯片版本105
表69CHIPID (0x624A)芯片ID105
表610CHIPINFO0(0x6276)芯片信息字節(jié)0105
表611CHIPINFO1(0x6277)芯片信息字節(jié)1106
表612TCON(0x88)中斷標(biāo)志114
表613IRCON2(0xE8)中斷標(biāo)志5114
表614串口收發(fā)中斷向量描述114
表615IEN0(0xA8)中斷使能0114
表616IEN2 (0x9A)中斷使能2115
表71APCFG(0xF2)模擬外設(shè)I/O 配置120
表72ADCL(0xBA)ADC數(shù)據(jù)低位120
表73ADCH(0xBB)ADC數(shù)據(jù)高位121
表74ADCCON1 (0xB4)ADC 控制1121
表75ADCCON2(0xB5)ADC控制2121
表76ADCCON3(0xB6)ADC控制3122
表77TR0(0x624B)測(cè)試寄存器0123
表78ATEST(0x61BD)模擬測(cè)試控制123
表81PCON(0x87)供電模式控制132
表82SLEEPCMD(0xBE)睡眠模式控制132
表83SLEEPSTA(0x9D)睡眠模式控制狀態(tài)132
表84ST2(0x97)休眠定時(shí)器2141
表85ST1(0x96)休眠定時(shí)器1141
表86ST0(0x95)休眠定時(shí)器0141
表87STLOAD(0xAD)睡眠定時(shí)器加載狀態(tài)141
表91看門狗寄存器145
表101發(fā)送ROM指令155
表102發(fā)送存儲(chǔ)器指令156
表103Nokia 5110液晶屏接口(帶PCB小板)163
表104USART功能配置164
表105PCD8544指令集165
表106表105中有關(guān)字符的解釋166
表107PCD8544 SPI時(shí)鐘頻率167
表108PERCFG(0xF1)外設(shè)控制168
表109U1CSR(0xF8)USART 1控制和狀態(tài)168
表1010U1UCR(0xFB)USART 1控制168
表1011U1GCR(0xFC)USART 1通用控制169
表1012U1BUF(0xF9)USART 1接收/傳送數(shù)據(jù)緩存170
表111首要服務(wù)與次要服務(wù)的屬性數(shù)據(jù)庫(kù)樣例214
表122SimpleKeys GATT Profile屬性表253
1.1移動(dòng)通信發(fā)展簡(jiǎn)史1
1.2中國(guó)移動(dòng)通信發(fā)展現(xiàn)狀6
1.3各類移動(dòng)通信系統(tǒng)概述7
1.3.1無繩電話系統(tǒng)7
1.3.2無線尋呼系統(tǒng)8
1.3.3集群移動(dòng)通信系統(tǒng)9
1.3.4無線局域網(wǎng)10
1.3.5衛(wèi)星移動(dòng)通信系統(tǒng)12
1.3.6蜂窩移動(dòng)通信系統(tǒng)14
1.4移動(dòng)通信系統(tǒng)的工作頻段16
習(xí)題18
第2章第二代移動(dòng)通信系統(tǒng)19
2.1GSM移動(dòng)通信系統(tǒng)19
2.1.1GSM系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)19
2.1.2GSM服務(wù)區(qū)域的劃分21
2.1.3GSM的編號(hào)計(jì)劃22
2.1.4GSM系統(tǒng)的接口24
2.1.5GSM的語音編碼26
2.1.6GSM系統(tǒng)的業(yè)務(wù)27
2.1.7GSM的無線接口28
2.1.8GSM系統(tǒng)的移動(dòng)性管理34
2.2IS—95CDMA系統(tǒng)39
2.2.1擴(kuò)頻通信技術(shù)39
2.2.2IS—95CDMA的關(guān)鍵技術(shù)41
2.2.3IS—95 CDMA系統(tǒng)的無線接口46
習(xí)題49
第3章2.5G移動(dòng)通信系統(tǒng)51
3.1GPRS系統(tǒng)51
3.1.1概述51
3.1.2GPRS基本原理53
移動(dòng)通信技術(shù)及應(yīng)用
目錄3.1.3GPRS基本功能和業(yè)務(wù)58
3.1.4GPRS的基本概念64
3.1.5GPRS業(yè)務(wù)流程69
3.2CDMA 2000—1X系統(tǒng)81
3.2.1CDMA技術(shù)的演進(jìn)與標(biāo)準(zhǔn)81
3.2.2CDMA 2000—1X系統(tǒng)結(jié)構(gòu) 81
3.2.3CDMA 2000—1X關(guān)鍵技術(shù)82
3.2.4CDMA 2000—1X工程組網(wǎng)簡(jiǎn)介85
3.2.5CDMA 2000—1X的語音和數(shù)據(jù)信道88
習(xí)題89
第4章第三代移動(dòng)通信系統(tǒng)90
4.1CDMA 2000 1x EVDO系統(tǒng)90
4.1.1概述90
4.1.21x EVDO的網(wǎng)絡(luò)結(jié)構(gòu)94
4.1.3EVDO Rev A信道95
4.1.4EVDO Rev A關(guān)鍵技術(shù)97
4.2WCDMA系統(tǒng)104
4.2.1概述104
4.2.2WCDMA標(biāo)準(zhǔn)的演進(jìn)106
4.2.3WCDMA的空中接口113
4.3TDSCDMA系統(tǒng)135
4.3.1概述135
4.3.2TDSCDMA的網(wǎng)絡(luò)結(jié)構(gòu)135
4.3.3TDSCDMA系統(tǒng)的關(guān)鍵技術(shù)143
習(xí)題155
第5章第四代移動(dòng)通信系統(tǒng)157
5.1概述157
5.1.1第四代移動(dòng)通信系統(tǒng)的關(guān)鍵特性要求157
5.1.2第四代移動(dòng)通信系統(tǒng)標(biāo)準(zhǔn)的確定159
5.1.3準(zhǔn)4G網(wǎng)絡(luò)在全球的應(yīng)用情況160
5.2第四代移動(dòng)通信系統(tǒng)的關(guān)鍵技術(shù)161
5.2.1OFDM技術(shù)161
5.2.2MIMO技術(shù)163
5.3LTE系統(tǒng)165
5.3.1LTE的技術(shù)特點(diǎn)165
5.3.2LTE的網(wǎng)絡(luò)結(jié)構(gòu)166
5.3.3EUTRAN接口的通用協(xié)議模型168
5.3.4LTE的無線信道171
5.3.5無線資源管理173
5.3.6移動(dòng)性管理176
5.3.7LTEA的性能增強(qiáng)181
5.3.8TDLTE與LTE FDD的對(duì)比183
5.4WiMAX系統(tǒng)185
5.4.1WiMAX的產(chǎn)生和發(fā)展185
5.4.2移動(dòng)WiMAX——IEEE 802.16e 186
5.4.34G技術(shù)——IEEE 802.16m188
習(xí)題189
第6章移動(dòng)通信業(yè)務(wù)190
6.12G移動(dòng)通信業(yè)務(wù)190
6.1.1基本業(yè)務(wù)190
6.1.2補(bǔ)充業(yè)務(wù)191
6.23G移動(dòng)通信業(yè)務(wù)196
6.2.13G業(yè)務(wù)的特點(diǎn)及發(fā)展趨勢(shì)196
6.2.23G業(yè)務(wù)的分類197
6.2.3典型的3G業(yè)務(wù)199
6.3移動(dòng)智能網(wǎng)業(yè)務(wù)203
6.3.1智能網(wǎng)基礎(chǔ)203
6.3.2移動(dòng)智能網(wǎng)203
6.3.3移動(dòng)智能網(wǎng)業(yè)務(wù)205
習(xí)題208
第7章移動(dòng)互聯(lián)網(wǎng)——移動(dòng)通信網(wǎng)與互聯(lián)網(wǎng)的融合209
7.1互聯(lián)網(wǎng)簡(jiǎn)介209
7.1.1互聯(lián)網(wǎng)的產(chǎn)生和發(fā)展209
7.1.2互聯(lián)網(wǎng)在中國(guó)的發(fā)展210
7.1.3OSI參考模型211
7.1.4TCP/IP協(xié)議模型214
7.2移動(dòng)互聯(lián)網(wǎng)的產(chǎn)生及發(fā)展217
7.2.1移動(dòng)互聯(lián)網(wǎng)簡(jiǎn)介217
7.2.2移動(dòng)互聯(lián)網(wǎng)的特點(diǎn)218
7.2.3移動(dòng)互聯(lián)網(wǎng)的發(fā)展現(xiàn)狀220
7.3移動(dòng)互聯(lián)網(wǎng)的體系結(jié)構(gòu)及關(guān)鍵技術(shù)223
7.3.1終端技術(shù)223
7.3.2網(wǎng)絡(luò)平臺(tái)技術(shù)223
7.3.3應(yīng)用平臺(tái)技術(shù)224
7.4典型的移動(dòng)互聯(lián)網(wǎng)業(yè)務(wù)應(yīng)用225
7.4.1移動(dòng)電子商務(wù)225
7.4.2移動(dòng)定位業(yè)務(wù)228
7.4.3移動(dòng)搜索業(yè)務(wù)233
7.4.4移動(dòng)瀏覽業(yè)務(wù)239
7.4.5移動(dòng)支付業(yè)務(wù)242
7.4.6移動(dòng)廣告業(yè)務(wù)245
7.4.7移動(dòng)音樂業(yè)務(wù)249
習(xí)題251
參考文獻(xiàn)252
目 錄
第一篇 概述及實(shí)驗(yàn)平臺(tái)1
第1章 低功耗藍(lán)牙(BLE)概述3
1.1 藍(lán)牙與物聯(lián)網(wǎng)3
1.2 低功耗藍(lán)牙與我的物聯(lián)網(wǎng)5
1.3 什么是低功耗藍(lán)牙8
1.4 BLE如何實(shí)現(xiàn)低功耗9
第2章 藍(lán)牙4.0BLE軟件開發(fā)平臺(tái)搭建11
2.1 為什么是IAR 805111
2.2 安裝IAR8051-8.312
2.2.1 下載IAR8051-8.312
2.2.2 安裝IAR8051-8.313
2.2.3 破解IAR8051-8.319
2.3 IAR8051集成開發(fā)環(huán)境簡(jiǎn)介22
2.4 IAR 8051 C/C++23
2.5 安裝相關(guān)支持軟件23
第3章 藍(lán)牙4.0BLE硬件開發(fā)平臺(tái)搭建25
3.1 為什么是世嵌開發(fā)板25
3.2 世嵌最簡(jiǎn)配置開發(fā)套件27
3.2.1 核心板:WB2540MVA27
3.2.2 底板:WX253029
3.2.3 仿真器:CCDBG35
3.3 搭建實(shí)驗(yàn)硬件環(huán)境36
3.4 創(chuàng)建工程-點(diǎn)亮LED38
第二篇 基礎(chǔ)實(shí)驗(yàn)49
第4章 GPIO實(shí)驗(yàn)51
4.1 LED實(shí)驗(yàn):打開所有LED51
4.1.1 任務(wù)要求及效果呈現(xiàn)51
4.1.2 實(shí)驗(yàn)原理52
4.1.3 實(shí)驗(yàn)步驟55
4.1.4 程序清單(含詳細(xì)注釋)57
4.2 LED實(shí)驗(yàn):讓LED一閃一閃57
4.2.1 任務(wù)要求及效果呈現(xiàn)57
4.2.2 實(shí)驗(yàn)原理58
4.2.3 程序清單(含詳細(xì)注釋)58
4.3 LED實(shí)驗(yàn):實(shí)現(xiàn)流水燈59
4.3.1 任務(wù)要求及效果呈現(xiàn)59
4.3.2 實(shí)驗(yàn)原理60
4.3.3 程序清單(含詳細(xì)注釋)61
4.4 蜂鳴器實(shí)驗(yàn):驅(qū)動(dòng)蜂鳴器發(fā)聲62
4.4.1 任務(wù)要求及效果呈現(xiàn)62
4.4.2 實(shí)驗(yàn)原理62
4.4.3 程序清單(含詳細(xì)注釋)64
4.5 按鍵實(shí)驗(yàn):按鍵控制LED65
4.5.1 任務(wù)要求及效果呈現(xiàn)65
4.5.2 實(shí)驗(yàn)原理65
4.5.3 程序清單(含詳細(xì)注釋)68
4.6 按鍵實(shí)驗(yàn):按鍵控制LED (中斷方式)70
4.6.1 任務(wù)要求及效果呈現(xiàn)70
4.6.2 實(shí)驗(yàn)原理71
4.6.3 程序清單(含詳細(xì)注釋)74
第5章 定時(shí)器實(shí)驗(yàn)77
5.1 定時(shí)器實(shí)驗(yàn):流水燈(查詢方式)77
5.1.1 任務(wù)要求及效果呈現(xiàn)77
5.1.2 實(shí)驗(yàn)原理77
5.1.3 程序清單(含詳細(xì)注釋)81
5.2 定時(shí)器實(shí)驗(yàn):流水燈(中斷方式)83
5.2.1 任務(wù)要求及效果呈現(xiàn)83
5.2.2 實(shí)驗(yàn)原理84
5.2.3 程序清單(含詳細(xì)注釋)85
5.3 定時(shí)器實(shí)驗(yàn):PWM控制蜂鳴器86
5.3.1 任務(wù)要求及效果呈現(xiàn)87
5.3.2 實(shí)驗(yàn)原理88
5.3.3 示波器與開發(fā)板連接91
5.3.4 源碼清單92
第6章 串口實(shí)驗(yàn)99
6.1 串口發(fā)送實(shí)驗(yàn):打印歡迎信息99
6.1.1 任務(wù)要求及效果呈現(xiàn)99
6.1.2 實(shí)驗(yàn)原理100
6.1.3 硬件連接104
6.1.4 源碼清單105
6.2 串口發(fā)送:用printf打印系統(tǒng)信息106
6.2.1 任務(wù)要求及效果呈現(xiàn)106
6.2.2 實(shí)驗(yàn)原理107
6.2.3 源碼清單108
6.3 串口收發(fā):用C標(biāo)準(zhǔn)庫(kù)輸入輸出函數(shù)110
6.3.1 任務(wù)要求及效果呈現(xiàn)110
6.3.2 實(shí)驗(yàn)原理110
6.3.3 源碼清單112
6.4 串口收發(fā):中斷方式115
6.4.1 任務(wù)要求及效果呈現(xiàn)115
6.4.2 實(shí)驗(yàn)原理116
6.4.3 源碼清單119
第7章 ADC實(shí)驗(yàn)122
7.1 測(cè)量芯片內(nèi)部溫度和供電電壓122
7.1.1 任務(wù)要求及效果呈現(xiàn)122
7.1.2 實(shí)驗(yàn)原理123
7.1.3 源碼清單127
7.2 測(cè)量光照強(qiáng)度130
7.2.1 任務(wù)要求及效果呈現(xiàn)130
7.2.2 實(shí)驗(yàn)原理131
7.2.3 源碼清單132
第8章 睡眠與喚醒實(shí)驗(yàn)134
8.1 外部中斷喚醒134
8.1.1 任務(wù)要求和效果呈現(xiàn)134
8.1.2 實(shí)驗(yàn)原理135
8.1.3 源碼清單138
8.2 定時(shí)器喚醒144
8.2.1 任務(wù)要求和效果呈現(xiàn)144
8.2.2 實(shí)驗(yàn)原理145
8.2.3 源碼清單147
第9章 看門狗實(shí)驗(yàn)、FLASH讀寫實(shí)驗(yàn)149
9.1 看門狗實(shí)驗(yàn)149
9.1.1 任務(wù)要求和效果呈現(xiàn)149
9.1.2 實(shí)驗(yàn)原理150
9.1.3 源碼清單151
9.2 FLASH讀寫實(shí)驗(yàn)152
9.2.1 任務(wù)要求和效果呈現(xiàn)153
9.2.2 實(shí)驗(yàn)原理154
9.2.3 源碼清單155
第10章 總線實(shí)驗(yàn)159
10.1 單總線實(shí)驗(yàn)(DS18B20驅(qū)動(dòng))159
10.1.1 任務(wù)要求和效果呈現(xiàn)159
10.1.2 實(shí)驗(yàn)原理160
10.1.3 源碼清單163
10.2 SPI總線實(shí)驗(yàn)(諾基亞5110液晶屏驅(qū)動(dòng))167
10.2.1 任務(wù)要求和效果呈現(xiàn)167
10.2.2 實(shí)驗(yàn)原理169
10.2.3 源碼清單177
第三篇 BLE協(xié)議棧201
第11章 藍(lán)牙4.0協(xié)議棧基礎(chǔ)202
11.1 BLE協(xié)議棧整體構(gòu)架202
11.2 物理層(PHY)202
11.3 鏈路層(LL)203
11.3.1 鏈路層狀態(tài)機(jī)203
11.3.2 鏈路層報(bào)文205
11.3.3 設(shè)備發(fā)現(xiàn)205
11.3.4 關(guān)于廣播206
11.3.5 連接過程206
11.3.6 數(shù)據(jù)發(fā)送209
11.3.7 管理連接209
11.4 主機(jī)/控制器接口(HCI)210
11.4.1 物理接口與邏輯接口210
11.4.2 控制器的配置210
11.4.3 廣播與觀察211
11.4.4 發(fā)起連接212
11.4.5 連接管理213
11.5 邏輯鏈路控制和適配協(xié)議(L2CAP)213
11.6 屬性協(xié)議層(ATT)、通用屬性配置文件層(GATT)214
11.6.1 服務(wù)器與客戶端模型214
11.6.2 屬性214
11.6.3 屬性的訪問216
11.6.4 服務(wù)216
11.6.5 特性217
11.6.6 屬性協(xié)議218
11.6.7 通用屬性規(guī)范220
11.7 安全管理層(SM)223
11.7.1 安全概念223
11.7.2 配對(duì)和綁定223
11.7.3 數(shù)據(jù)簽名224
11.8 通用訪問配置文件層(GAP)224
11.8.1 GAP角色224
11.8.2 模式和規(guī)程224
11.8.3 廣播模式和觀察規(guī)程225
11.8.4 可發(fā)現(xiàn)性225
11.8.5 可連接性226
11.8.6 綁定227
第12章 TI藍(lán)牙協(xié)議棧開發(fā)平臺(tái)228
12.1 BLE協(xié)議棧開發(fā)平臺(tái)配置228
12.2 BLE協(xié)議棧軟件開發(fā)框架229
12.3 協(xié)議棧應(yīng)用程序運(yùn)行機(jī)理230
12.3.1 開始應(yīng)用程序:main()230
12.3.2 初始化系統(tǒng):osal_init_system()232
12.3.3 啟動(dòng)系統(tǒng):osal_start_system()234
12.3.4 系統(tǒng)運(yùn)行機(jī)理235
12.4 OSAL操作系統(tǒng)抽象層236
12.4.1 任務(wù)事件和事件處理237
12.4.2 內(nèi)存堆管理237
12.4.3 OSAL消息238
12.5 HAL硬件抽象層238
12.6 BLE協(xié)議棧239
12.6.1 通用訪問配置文件(GAP)239
12.6.2 通用屬性配置文件(GATT)240
12.6.3 GATT服務(wù)器應(yīng)用程序241
12.7 配置文件241
12.7.1 GAP外圍角色配置242
12.7.2 GAP外圍/廣播多重角色配置243
12.7.3 GAP Central Role Profile243
12.7.4 GAP綁定管理器244
12.7.5 簡(jiǎn)單屬性配置文件(Simple GATT Profile)244
12.7.6 簡(jiǎn)單按鍵屬性配置文件(SimpleKeys GATT Profile)250
12.7.7 設(shè)備信息服務(wù)251
12.7.8 其他屬性配置文件251
第13章 藍(lán)牙協(xié)議棧項(xiàng)目開發(fā)入門252
13.1.1 項(xiàng)目配置252
13.1.2 Linker Map文件255
13.1.3 simpleBLEPeripheral.c源碼分析255
13.2 簡(jiǎn)單BLE中央設(shè)備(SimpleBLECentral)270
13.2.1 項(xiàng)目配置270
13.2.2 Linker Map文件271
13.2.3 simpleBLECentral.c源碼分析271
第14章 定制硬件抽象層293
14.1 增加外設(shè)驅(qū)動(dòng)293
14.2 修改hal_board_cfg294
14.3 修改hal_led295
14.4 修改hal_key296
14.5 增強(qiáng)UART功能298
14.6 增加Nokia5110液晶屏驅(qū)動(dòng)305
第四篇 BLE通信實(shí)驗(yàn)293
第15章 簡(jiǎn)單的藍(lán)牙通信295
15.1 引言295
15.2 搭建藍(lán)牙通信實(shí)驗(yàn)平臺(tái)295
15.3 源碼相關(guān)配置修改297
15.3.1 修改 Simple BLE Peripherial 項(xiàng)目297
15.3.2 修改 Simple BLE Central 項(xiàng)目298
15.4 實(shí)驗(yàn)過程演示300
15.5 實(shí)驗(yàn):實(shí)現(xiàn)自動(dòng)連接和LED連接狀態(tài)指示303
15.5.1 任務(wù)要求與效果呈現(xiàn)303
15.5.2 實(shí)驗(yàn)原理305
15.5.3 源碼修改305
第16章 我的藍(lán)牙感知器(iSensor)309
16.1 控制LED309
16.1.1 任務(wù)要求與效果呈現(xiàn)310
16.1.2 實(shí)現(xiàn)外圍設(shè)備311
16.1.3 實(shí)現(xiàn)中央設(shè)備315
16.2 感知外設(shè)CPU溫度323
16.2.1 任務(wù)要求與效果呈現(xiàn)323
16.2.2 實(shí)現(xiàn)外圍設(shè)備325
16.2.3 實(shí)現(xiàn)中央設(shè)備327
16.3 感知外設(shè)環(huán)境溫度329
16.3.1 任務(wù)要求與效果呈現(xiàn)330
16.3.2 實(shí)現(xiàn)外圍設(shè)備331
16.3.3 實(shí)現(xiàn)中央設(shè)備335
16.4 感知外設(shè)光照強(qiáng)度336
16.4.1 任務(wù)要求與效果呈現(xiàn)336
16.4.2 實(shí)現(xiàn)外圍設(shè)備338
16.4.3 實(shí)現(xiàn)中央設(shè)備342
16.5 定時(shí)獲取外設(shè)光照強(qiáng)度343
16.5.1 任務(wù)要求與效果呈現(xiàn)344
16.5.2 實(shí)現(xiàn)外圍設(shè)備347
16.5.3 實(shí)現(xiàn)中央設(shè)備353
16.6 無線串口透?jìng)?55
16.6.1 任務(wù)要求與效果呈現(xiàn)355
16.6.2 NPI模塊原理與串口透?jìng)?57
16.6.3 實(shí)現(xiàn)外圍設(shè)備358
16.6.4 實(shí)現(xiàn)中央設(shè)備362
第17章 藍(lán)牙USB366
17.1 iSensorHid(藍(lán)牙鍵鼠)366
17.1.1 任務(wù)要求與效果呈現(xiàn)367
17.1.2 實(shí)現(xiàn)外圍設(shè)備375
17.1.3 實(shí)現(xiàn)中央設(shè)備379
17.2 iSensorCDC(藍(lán)牙USB串口)384
17.2.1 任務(wù)要求與效果呈現(xiàn)384
17.2.2 實(shí)現(xiàn)外圍設(shè)備386
17.2.3 實(shí)現(xiàn)中央設(shè)備387
17.3 iHostTest(網(wǎng)絡(luò)處理機(jī))388
17.3.1 實(shí)現(xiàn)iHostTest388
17.3.2 系統(tǒng)初始化389
17.3.3 建立連接390
17.3.4 測(cè)試GATT屬性服務(wù)393
第18章 藍(lán)牙通信測(cè)試與支持402
18.1 藍(lán)牙協(xié)議分析儀(Sniffer)402
18.2 藍(lán)牙支持405
參考文獻(xiàn)408
圖目錄
圖 1-1 物聯(lián)網(wǎng)—感知世界3
圖 1-2 藍(lán)牙在醫(yī)療設(shè)備上的應(yīng)用7
圖 1-3 藍(lán)牙防丟產(chǎn)品7
圖 1-4 SENSORY的前端語音識(shí)別技術(shù)通過藍(lán)牙耳機(jī)實(shí)現(xiàn)安全行駛8
圖 2-1 IAR官方主頁(yè)12
圖 2-2 IAR產(chǎn)品下載目錄12
圖 2-3 IAR8051-8.3評(píng)估版下載頁(yè)面13
圖 2-4 IAR8051-8.3下載任務(wù)對(duì)話框13
圖 2-5 EW8051-8303-Autorun.exe自解壓14
圖 2-6 程序安裝界面14
圖 2-7 準(zhǔn)備安裝14
圖 2-8 安裝向?qū)?5
圖 2-9 是否接受許可協(xié)議15
圖 2-10 自定義安裝還是完全安裝16
圖 2-11 安裝路徑選擇16
圖 2-12 程序圖標(biāo)目錄選擇17
圖 2-13 準(zhǔn)備安裝程序17
圖 2-14 安裝程序過程18
圖 2-15 是否安裝USB dongles 驅(qū)動(dòng)18
圖 2-16 安裝結(jié)束18
圖 2-17 退出19
圖 2-18 破解IAR8051-8.319
圖 2-19 License manager界面20
圖 2-20 編譯錯(cuò)誤21
圖 2-21 增加一行“-Z(DATA)VREG=08-7F"21
圖 2-22 現(xiàn)在編譯正確了22
圖 2-23 IAR8051集成開發(fā)環(huán)境22
圖 3-1 世嵌科技官網(wǎng)26
圖 3-2 CC2540藍(lán)牙4.0低功耗最簡(jiǎn)配置開發(fā)板套件(2模塊+2底板+1仿真器)26
圖 3-3 WB2540MVA核心板27
圖 3-4 WB2540MVA核心板機(jī)械尺寸和元件布局28
圖 3-5 WX2530底板(綠色)+CC2540核心板(藍(lán)色)30
圖 3-6 開發(fā)板整體架構(gòu)31
圖 3-7 WX2530底板輸入接口31
圖 3-8 跳線使能USB接口32
圖 3-9 仿真器接口封裝圖34
圖 3-10 仿真器灰排母座應(yīng)朝板子外側(cè)插入仿真接口34
圖 3-11 CCDBG仿真器(上面雖未標(biāo)明支持CC2540,但實(shí)際完全支持)35
圖 3-12 某淘寶店推出的PL2303HX模塊37
圖 3-13 開發(fā)板與外配的硬件連接38
圖 3-14 復(fù)制安裝目錄下的藍(lán)牙協(xié)議棧到你的工作目錄39
圖 3-15 協(xié)議棧的項(xiàng)目范例39
圖 3-16 復(fù)制一個(gè)副本40
圖 3-17 項(xiàng)目改名40
圖 3-18 項(xiàng)目文件目錄40
圖 3-19 項(xiàng)目文件目錄41
圖 3-20 修改eww文件41
圖 3-22 新工程誕生42
圖 3-21 移除原工程文件1
圖 3-23 選中“Options...”選項(xiàng)1
圖 3-24 將常量和字符串置于RAM memory1
圖 3-25 將輸出的hex文件改為你喜歡的名字43
圖 3-26 將Driver設(shè)置為“Texas Instruments"43
圖 3-28 點(diǎn)擊“Add Files..."43
圖 3-27 選中三個(gè)文件1
圖 3-29 文件改名44
圖 3-31 文件已經(jīng)添加44
圖 3-30 清空編輯區(qū)1
圖 3-32 編寫代碼45
圖 3-33 編譯代碼45
圖 3-34 下載調(diào)試46
圖 3-35 調(diào)試開始46
圖 3-36 點(diǎn)亮綠燈1
圖 3-38 設(shè)置斷點(diǎn)47
圖 3-37 啟動(dòng)不下載的調(diào)試1
圖 3-39 調(diào)試開始1
圖 3-40 調(diào)試運(yùn)行到斷點(diǎn)處1
圖 3-42 按下"step over"圖標(biāo)48
圖 3-41 調(diào)試光標(biāo)進(jìn)入下一行語句1
圖 4-1 基礎(chǔ)實(shí)驗(yàn)一效果51
圖 4-2 LED原理圖52
圖 4-3 打開項(xiàng)目并另存源文件55
圖 4-4 將源文件改名并另存55
圖 4-5 將另存的文件添加56
圖 4-6 將“mTest.c”文件從項(xiàng)目編譯鏈接中排除56
圖 4-7 為mTestLedAllOpen.c編寫代碼56
圖 4-8 讓LED一閃一閃58
圖 4-9 流水燈效果60
圖 4-10 流水燈程序設(shè)計(jì)和調(diào)試界面60
圖 4-11 驅(qū)動(dòng)蜂鳴器發(fā)聲62
圖 4-12 蜂鳴器原理圖63
圖 4-13 按鍵控制LED亮滅65
圖 4-14 按鍵電路原理圖66
圖 4-15 按鍵按下和松開的電信號(hào)變化67
圖 4-16 按鍵控制LED(中斷方式)71
圖 5-1 中斷查詢方式的定時(shí)流水燈77
圖 5-2 中斷方式的定時(shí)流水燈83
圖 5-3 實(shí)驗(yàn)過程演示:按下鍵2,黃燈亮(左圖),釋放,黃燈熄滅(右圖)87
圖 5-4 200HZ聲音時(shí)的通道2和通道3的波形87
圖 5-5 2000HZ聲音時(shí)的通道2和通道3的波形88
圖 5-6 本人自購(gòu)的示波器91
圖 5-7 開發(fā)板與示波器連線圖92
圖 6-1 打印歡迎信息99
圖 6-2 CC2540串口與PC機(jī)串口的硬件連接圖104
圖 6-3 串口輸出系統(tǒng)硬件信息106
圖 6-4 使用C標(biāo)準(zhǔn)庫(kù)輸入輸出函數(shù)進(jìn)行串口收發(fā)實(shí)驗(yàn)110
圖 6-5 中斷方式下的串口數(shù)據(jù)收發(fā)實(shí)驗(yàn)116
圖 7-1 手指壓在CC2540上以測(cè)量芯片內(nèi)部溫度的變化122
圖 7-2 芯片內(nèi)部電壓和溫度(當(dāng)手指按在CC2540芯片上時(shí),溫度立即上升)123
圖 7-3 測(cè)量光敏電阻分壓130
圖 7-4 手指按住光敏電阻(分壓:1.805V)1
圖 7-5 手指離開光敏電阻(分壓:0.400V)1
圖 7-6 LED強(qiáng)光直射光敏電阻(分壓:0.071V)1
圖 7-7 相機(jī)袋壓在光敏電阻上(2.900V)1
圖 7-8 光敏電阻原理圖1
圖 8-1 按鍵控制休眠實(shí)驗(yàn)圖134
圖 8-2 串口打印的信息(按鍵催眠、喚醒CPU實(shí)驗(yàn))135
圖 8-3 進(jìn)入反匯編代碼查看PCON.IDLE=1指令地址137
圖 8-4 開發(fā)板的演示效果(睡眠定時(shí)器喚醒實(shí)驗(yàn))145
圖 8-5 串口控制臺(tái)打印的實(shí)驗(yàn)過程信息(睡眠定時(shí)器喚醒實(shí)驗(yàn))145
圖 9-1 正常的流水燈演示實(shí)驗(yàn)149
圖 9-2 沒有及時(shí)喂狗而導(dǎo)致反復(fù)重啟149
圖 9-3 控制臺(tái)顯示的反復(fù)重啟效果150
圖 9-4 Flash讀寫實(shí)驗(yàn)154
圖 10-1 手指按在DS18B20上面,溫度一直在上升159
圖 10-2 DS18B20實(shí)驗(yàn):手指按在DS18B20上面,使得溫度上升160
圖 10-3 DS18B20溫度測(cè)量模塊160
圖 10-4 初始?xì)g迎頁(yè)面1
圖 10-5 鍵2按下,背光打開1
圖 10-6 鍵1按下,開始測(cè)量氣溫1
圖 10-7 鍵2按下,背光關(guān)掉1
圖 10-8 實(shí)驗(yàn)過程在串口控制臺(tái)的演示1
圖 10-9 諾基亞5110顯示屏正反面(帶PCB小板)169
圖 10-10 CC2540與諾基亞5110的電路連接原理圖170
圖 10-11 PCD8544寫指令時(shí)序171
圖 10-12 PCD8544初始化時(shí)序171
圖 10-13 顯存結(jié)構(gòu)172
圖 10-14 用水平尋址方式(V=0)往RAM寫入數(shù)據(jù)的次序173
圖 10-15 漢字液晶點(diǎn)陣及對(duì)應(yīng)編碼176
圖 11-1 BLE協(xié)議棧構(gòu)架202
圖 11-2 鏈路層狀態(tài)機(jī)204
圖 11-3 兩個(gè)設(shè)備建立連接以實(shí)現(xiàn)可靠數(shù)據(jù)傳輸207
圖 11-4 連接事件208
圖 11-5 屬性結(jié)構(gòu)215
圖 11-6 服務(wù)聲明217
圖 11-7 特性聲明218
圖 11-8 特性數(shù)值218
圖 12-1 單一設(shè)備的配置228
圖 12-2 網(wǎng)絡(luò)處理器的配置229
圖 12-3 SimpleBLEPeripheral項(xiàng)目界面230
圖 12-4 系統(tǒng)運(yùn)行機(jī)理236
圖 12-5 屬性結(jié)構(gòu)240
圖 13-1 SimpleBLEPeripheral項(xiàng)目界面252
圖 13-2 選項(xiàng)框中設(shè)置預(yù)處理宏253
圖 13-3 配置文件中定義預(yù)處理宏253
圖 13-4 Linker Map文件255
圖 13-5 SimpleBLECentral項(xiàng)目界面271
圖 13-6 Linker Map文件271
圖 14-1 添加外設(shè)驅(qū)動(dòng)源文件294
圖 15-1 我的藍(lán)牙通信簡(jiǎn)易實(shí)驗(yàn)平臺(tái)296
圖 15-2 CCDBG端子擴(kuò)展296
圖 15-3 CCDBG端子擴(kuò)展板與CCDBG連接297
圖 15-4 增加和修改預(yù)定義宏297
圖 15-5 增加預(yù)定義宏299
圖 15-6 實(shí)驗(yàn)過程控制臺(tái)顯示(左圖:SimpleBLEPeripheral;右圖:SimpleBLECentral)300
圖 15-7 實(shí)驗(yàn)初始液晶顯示(左圖:SimpleBLEPeripheral;右圖:SimpleBLECentral)301
圖 15-8 實(shí)驗(yàn)過程液晶顯示(左圖:SimpleBLEPeripheral;右圖:SimpleBLECentral)301
圖 15-9 實(shí)驗(yàn)過程控制臺(tái)顯示(左圖:SimpleBLEPeripheral;右圖:SimpleBLECentral)304
圖 15-10 實(shí)驗(yàn)過程液晶顯示(左圖:SimpleBLEPeripheral;右圖:SimpleBLECentral)304
圖 16-1 串口控制臺(tái)打印實(shí)驗(yàn)過程(左圖:外圍設(shè)備端;右圖:中央設(shè)備端)310
圖 16-2 連接建立并參數(shù)更新后的LCD顯示及外圍設(shè)備LED顯示311
圖 16-3 單擊按鍵后的LCD顯示及外圍設(shè)備LED顯示311
圖 16-4 LCD顯示MCU溫度信息(左圖:外圍設(shè)備端;右圖:中央設(shè)備端)323
圖 16-5 串口控制臺(tái)打印實(shí)驗(yàn)過程(左圖:外圍設(shè)備端;右圖:中央設(shè)備端)324
圖 16-6 LCD顯示環(huán)境溫度信息(左圖:外圍設(shè)備端;右圖:中央設(shè)備端)330
圖 16-7 串口控制臺(tái)打印實(shí)驗(yàn)過程(左圖:外圍設(shè)備端;右圖:中央設(shè)備端)331
圖 16-8 LCD顯示光照強(qiáng)度(左圖:外圍設(shè)備端;右圖:中央設(shè)備端)337
圖 16-9 串口控制臺(tái)打印實(shí)驗(yàn)過程(左圖:外圍設(shè)備端;右圖:中央設(shè)備端)337
圖 16-10 中央設(shè)備串口控制臺(tái)打印實(shí)驗(yàn)過程(左圖:連接和發(fā)現(xiàn);右圖:四種定時(shí)模式)345
圖 16-11 外圍設(shè)備串口控制臺(tái)1
圖 16-12 LCD顯示即時(shí)光照強(qiáng)度(左圖:外圍設(shè)備端;右圖:中央設(shè)備端)346
圖 16-13 串口控制臺(tái)打印實(shí)驗(yàn)過程(左圖:外圍設(shè)備端;右圖:中央設(shè)備端)356
圖 16-14 LCD顯示當(dāng)前串口發(fā)送和接收信息(左圖:外圍設(shè)備;右圖:中央設(shè)備)357
圖 17-1 中央設(shè)備啟動(dòng)過程1(掃描期間,USB開始初始化)367
圖 17-2 中央設(shè)備啟動(dòng)過程2(框中部分是顯示的重合部分)368
圖 17-3 系統(tǒng)初始完成的初始LCD界面(PC自動(dòng)發(fā)送鍵盤燈狀體的USB報(bào)告)368
圖 17-4 藍(lán)牙鼠標(biāo)串口控制臺(tái)顯示(左圖:外圍設(shè)備;右圖:中央設(shè)備)369
圖 17-5 藍(lán)牙鼠標(biāo)PC桌面測(cè)試370
圖 17-6 藍(lán)牙鍵盤功能1串口控制臺(tái)顯示(左圖:外圍設(shè)備;右圖:中央設(shè)備)371
圖 17-7 藍(lán)牙鍵盤功能1 PC桌面測(cè)試371
圖 17-8 藍(lán)牙鍵盤功能2串口控制臺(tái)顯示(左圖:外圍設(shè)備;右圖:中央設(shè)備)372
圖 17-9 藍(lán)牙鍵盤功能2 播放器測(cè)試——快進(jìn)372
圖 17-10 藍(lán)牙鍵盤功能2 播放器測(cè)試——快退373
圖 17-11 藍(lán)牙鍵盤功能2 播放器測(cè)試——暫停373
圖 17-12 藍(lán)牙鍵盤燈控制實(shí)驗(yàn):串口信息輸出(左圖:外圍設(shè)備;右圖:中央設(shè)備)374
圖 17-13 藍(lán)牙鍵盤燈控制實(shí)驗(yàn):LED顯示(共三幅圖,每幅圖的左上:中央設(shè)備;右下:外圍設(shè)備)374
圖 17-14 藍(lán)牙鍵盤燈控制實(shí)驗(yàn):LCD顯示(共兩幅圖,每幅圖的左邊:中央設(shè)備;右邊:外圍設(shè)備)374
圖 17-15 插入U(xiǎn)SB口之后出現(xiàn)第3個(gè)串口(COM5:USB CDC虛擬串口)384
圖 17-16 系統(tǒng)啟動(dòng)界面,自動(dòng)配置串口透?jìng)?85
圖 17-17 串口透?jìng)魍ㄐ胚^程385
圖 17-18 啟動(dòng)BTool389
圖 17-19 bTool初始化界面390
圖 17-20 開始掃描391
圖 17-21 發(fā)現(xiàn)廣播設(shè)備392
圖 17-22 建立連接392
圖 17-23 讀寫屬性操作界面393
圖 17-24 利用特性UUID發(fā)現(xiàn)特性起始句柄394
圖 17-25 利用特性句柄讀特性值395
圖 17-26 利用特性UUID讀特性值396
圖 17-27 解決二進(jìn)制向浮點(diǎn)型轉(zhuǎn)換396
圖 17-28 利用多個(gè)特性句柄讀多個(gè)特性值397
圖 17-29 根據(jù)特性句柄寫LED特性值398
圖 17-30 寫入之后(LED全亮)1
圖 17-31 寫入之前(僅綠燈亮)1
圖 17-32 利用特性句柄寫環(huán)境溫度通知配置399
圖 17-33 利用特性句柄寫光照強(qiáng)度通知配置400
圖 18-1 選擇芯片對(duì)話框403
圖 18-2 SmartRF Packet Sniffer界面403
圖 18-3 Sniffer抓包結(jié)果404
圖 18-4 TI 低功耗藍(lán)牙技術(shù)主頁(yè)405
圖 18-5 CC254X PC端開發(fā)范例406
圖 18-6 CC254X 移動(dòng)智能設(shè)備開發(fā)范例406
圖 18-7 CC254X 嵌入式設(shè)備開發(fā)范例407
表目錄
表 1-1 始終增長(zhǎng)的傳輸速率8
表 3-1 核心板J3直插引腳定義28
表 3-2 核心板J4直插引腳定義28
表 3-3 核心板J5直插引腳定義29
表 3-4 LED接口31
表 3-5 按鍵接口32
表 3-6 傳感器接口32
表 3-7 UART接口(J13)33
表 3-8 電源接口(J11)33
表 3-9 底板J4直插引腳定義33
表 3-10 底板J5直插引腳定義33
表 3-11 底板仿真接口定義34
表 4-1 P1 (0x90)–端口152
表 4-2 P2(0xA0)–端口253
表 4-3 P1SEL (0xF4)–端口1 功能選擇53
表 4-4 P2SEL (0xF5)–端口2 功能選擇和端口1外設(shè)優(yōu)先級(jí)控制53
表 4-5 P1DIR (0xFE)–端口1方向54
表 4-6 P2DIR (0xFF)–端口2方向和端口0 外設(shè)優(yōu)先級(jí)控制54
表 4-7 P0 (0x80)–端口063
表 4-8 P0SEL (0xF3)–端口0 功能選擇63
表 4-9 P0DIR (0xFD)–端口0 功能選擇63
表 4-10 P0 (0x80)–端口066
表 4-11 P0SEL (0xF3)–端口0 功能選擇66
表 4-12 P0DIR (0xFD)–端口0 方向66
表 4-13 P0INP (0x8F)–端口0 輸入模式66
表 4-14 P2INP (0xF7)–端口2 輸入模式67
表 4-15 P0IFG(0x89)–端口P0.7到P0.0中斷狀態(tài)標(biāo)志72
表 4-16 PICTL(0x8C)位0–端口0中斷模式配置72
表 4-17 P0IEN(0xAB)–端口P0.7到P0.0中斷使能72
表 4-18 IEN0(0xA8)位7-使能所有中斷源72
表 4-19 IEN1(0xB8)位5-端口0中斷源使能72
表 4-20 IRCON(0xC0)位5-端口0中斷標(biāo)志72
表 5-1 T1CNTH(0xE3)–定時(shí)器1計(jì)數(shù)器高位77
表 5-2 T1CNTL(0xE2)–定時(shí)器1計(jì)數(shù)器低位78
表 5-3 T1CTL(0xE4)–定時(shí)器1的控制和狀態(tài)78
表 5-4 T1STAT(0xAF)–定時(shí)器1狀態(tài)78
表 5-5 T1CC0H(0xDD)–定時(shí)器1 通道1 捕獲/比較值高位79
表 5-6 T1CC0L(0xDA)–定時(shí)器1 通道0 捕獲/比較值低位79
表 5-7 CLKCONCMD(0xC6)與定時(shí)器相關(guān)的位–時(shí)鐘控制命令79
表 5-8 CLKCONSTA(0x9E)–時(shí)鐘控制狀態(tài)80
表 5-9 IEN0(0xA8)位7–中斷源使能總開關(guān)84
表 5-10 IEN1(0xB8)位1-定時(shí)器1中斷使能84
表 5-11 T1STAT(0xAF)位5–定時(shí)器1狀態(tài)84
表 5-12 IRCON(0xC0)位1-定時(shí)器1中斷標(biāo)志84
表 5-13 PERCFG(0xF1)-外設(shè)控制88
表 5-14 P2DIR(0xFF)-端口2方向和端口0外設(shè)優(yōu)先級(jí)控制88
表 5-15 P0SEL(0xF3)-端口0功能選擇89
表 5-16 P0DIR(0xFD)-端口0功能選擇89
表 5-17 T1CCTL3(0x62A3)-定時(shí)器1通道3捕獲/比較控制89
表 5-18 T1CC0H(0xDD)-定時(shí)器1通道1捕獲/比較值高位90
表 5-19 T1CC0L(0xDA)-定時(shí)器1通道0捕獲/比較值低位90
表 6-1 U0CSR (0x86)-USART0控制和狀態(tài)100
表 6-2 U0UCR(0xC4)-USART0的UART控制101
表 6-3 U0GCR (0xC5)-USART0通用控制102
表 6-4 U0BUF又名U0DBUF(0xC1)-USART0接收/傳送數(shù)據(jù)緩存102
表 6-5 U0BAUD(0xC2)-USART0波特率控制102
表 6-6 P2DIR (0xFF)–端口2方向和端口0外設(shè)優(yōu)先級(jí)控制103
表 6-7 32MHZ系統(tǒng)時(shí)鐘的常用波特率設(shè)置103
表 6-8 CHVER(0x6249)–芯片版本107
表 6-9 CHIPID (0x624A) –芯片ID107
表 6-10 CHIPINFO0(0x6276)–芯片信息字節(jié)0107
表 6-11 CHIPINFO1(0x6277)–芯片信息字節(jié)1108
表 6-12 TCON(0x88)–中斷標(biāo)志117
表 6-13 IRCON2(0xE8)–中斷標(biāo)志5117
表 6-14 串口收發(fā)中斷向量描述117
表 6-15 IEN0(0xA8)–中斷使能0117
表 6-16 IEN2 (0x9A)–中斷使能2117
表 7-1 APCFG (0xF2)–模擬外設(shè)I/O 配置123
表 7-2 ADCL (0xBA)-ADC 數(shù)據(jù)低位123
表 7-3 ADCH (0xBB) - ADC 數(shù)據(jù)高位123
表 7-4 ADCCON1 (0xB4)-ADC 控制1124
表 7-5 ADCCON2 (0xB5)-ADC控制2124
表 7-6 ADCCON3 (0xB6)-ADC 控制3125
表 7-7 TR0 (0x624B)–測(cè)試寄存器0126
表 7-8 ATEST (0x61BD)–模擬測(cè)試控制126
表 8-1 PCON(0x87)–供電模式控制136
表 8-2 SLEEPCMD(0xBE)–睡眠模式控制136
表 8-3 SLEEPSTA(0x9D)–睡眠模式控制狀態(tài)136
表 8-4 ST2(0x97)–休眠定時(shí)器2146
表 8-5 ST1(0x96)–休眠定時(shí)器1146
表 8-6 ST0(0x95)–休眠定時(shí)器0146
表 8-7 STLOAD(0xAD)–睡眠定時(shí)器加載狀態(tài)146
表 9-1 看門狗寄存器150
表 10-1 發(fā)送ROM 指令161
表 10-2 發(fā)送存儲(chǔ)器指令162
表 10-3 諾基亞5110液晶屏接口(帶PCB小板)169
表 10-4 USART功能配置169
表 10-5 PCD8544指令集171
表 10-6 上表有關(guān)字符的解釋172
表 10-7 PCD8544 SPI時(shí)鐘頻率172
表 10-8 PERCFG (0xF1)–外設(shè)控制173
表 10-9 U1CSR (0xF8)-USART 1 控制和狀態(tài)173
表 10-10 U1UCR (0xFB)-USART 1控制174
表 10-11 U1GCR (0xFC)-USART 1 通用控制174
表 10-12 U1BUF (0xF9) - USART 1 接收/傳送數(shù)據(jù)緩存175
表 10-13 U1BAUD (0xFA) - USART 1 波特率控制175
表 11-1 首要服務(wù)與次要服務(wù)的屬性數(shù)據(jù)庫(kù)樣例217
表 12-1 Simple GATT Profile 屬性表248
表 12-2 SimpleKeys GATT Profile 屬性表251