定 價:88 元
叢書名:智能芯片開發(fā)與應(yīng)用叢書
- 作者:譚暉
- 出版時間:2022/3/1
- ISBN:9787121431494
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TN926
- 頁碼:272
- 紙張:
- 版次:01
- 開本:16開
本書主要介紹低功耗藍牙5.x的開發(fā)技術(shù),主要內(nèi)容包括開發(fā)環(huán)境的搭建、最小硬件系統(tǒng)、廣播的實現(xiàn)、雙向通信的實現(xiàn)、電池電量服務(wù)的添加、私有服務(wù)的添加、配對和綁定功能的實現(xiàn)、主機掃描、主機連接、主從一體的實現(xiàn)、多主多從的實現(xiàn)、高速率通信的實現(xiàn)、長距離通信的實現(xiàn)、擴展廣播數(shù)據(jù)包的實現(xiàn)、基于QSPI驅(qū)動LCD、基于FreeRTOS的復(fù)雜應(yīng)用、FDS的實現(xiàn)、OTA的實現(xiàn)、基于串口的DFU實現(xiàn)、PTR9818模塊的開發(fā)等內(nèi)容。通過本書的學(xué)習(xí),讀者不僅可以掌握低功耗藍牙5.x的開發(fā)技術(shù),也可以學(xué)習(xí)物聯(lián)網(wǎng)的知識、培養(yǎng)物聯(lián)網(wǎng)的思維,還可以提高自身的動手能力和創(chuàng)新能力。
譚暉,男,博士,畢業(yè)于哈爾濱工業(yè)大學(xué),現(xiàn)任深圳市藍科迅通科技有限公司總經(jīng)理。在哈爾濱工業(yè)大學(xué)多年從事專用通信科研工作,曾獲國家科技進步獎,國家教委科技進步獎,省科技進步獎等,擁有國內(nèi)外多項發(fā)明專利,長期從事中短距離無線技術(shù),低功耗智能藍牙,物聯(lián)網(wǎng)及相關(guān)技術(shù)的研究及創(chuàng)新應(yīng)用。
目 錄
第1章 低功耗藍牙5.x開發(fā)環(huán)境之搭建 (1)
1.1 基于Nordic nRF52840 DK開發(fā)環(huán)境之搭建 (1)
1.1.1 SES的搭建 (1)
1.1.2 Keil MDK的搭建 (8)
1.1.3 其他工具的安裝 (9)
1.2 nRF52840 DK開發(fā)板上的燒寫器介紹 (13)
1.2.1 簡介 (13)
1.2.2 nRF52840 DK開發(fā)板簡介 (13)
1.2.3 nRF52840 DK開發(fā)板的燒寫方式 (13)
1.2.4 PTR9818介紹 (15)
1.2.5 PTR9818模塊的固件燒寫方式 (16)
1.2.6 APTR-xxxx-EVB低功耗藍牙模塊評估板 (18)
1.3 nRF5 SDK介紹和目錄結(jié)構(gòu)解讀 (19)
1.4 SES集成開發(fā)環(huán)境的使用 (23)
1.5 如何將工程移植到不同的芯片 (26)
1.5.1 在SES中將nRF52832的工程移植到nRF52840 (26)
1.5.2 Softdevice協(xié)議棧介紹 (31)
1.5.3 Log打印功能 (36)
1.5.4 芯片選型表 (38)
第2章 實驗1:低功耗藍牙5.x SoC之nRF52840最小硬件系統(tǒng) (41)
2.1 實驗?zāi)繕?(41)
2.2 nRF52840最小硬件系統(tǒng)電路 (41)
2.2.1 供電方式 (42)
2.2.2 內(nèi)部電源穩(wěn)壓方式 (43)
2.2.3 時鐘電路 (45)
2.2.4 匹配電路 (46)
2.2.5 去耦電容 (46)
2.2.6 USB電路 (46)
2.2.7 NFC電路 (47)
2.3 nRF52840硬件設(shè)計的注意事項 (48)
2.4 實驗小結(jié) (50)
第3章 實驗2:低功耗藍牙5.x廣播的實現(xiàn) (51)
3.1 實驗?zāi)繕?(51)
3.2 實驗準備 (51)
3.3 背景知識 (51)
3.3.1 廣播 (51)
3.3.2 廣播數(shù)據(jù)包的格式 (52)
3.3.3 常見的廣播內(nèi)容 (52)
3.3.4 廣播數(shù)據(jù)包的類型 (53)
3.4 實驗步驟 (54)
3.4.1 低功耗藍牙5.x廣播的初始化 (54)
3.4.2 低功耗藍牙5.x廣播名稱的修改 (55)
3.4.3 廣播內(nèi)容和廣播參數(shù)的修改 (56)
3.4.4 代碼實戰(zhàn) (60)
3.5 實驗小結(jié) (65)
第4章 實驗3:低功耗藍牙5.x雙向通信的實現(xiàn) (67)
4.1 實驗?zāi)繕?(67)
4.2 實驗準備 (67)
4.3 背景知識 (67)
4.3.1 低功耗藍牙5.x雙向通信的基本概念 (67)
4.3.2 低功耗藍牙5.x雙向通信的連接建立過程 (70)
4.4 實驗步驟 (70)
4.4.1 低功耗藍牙5.x串口通信服務(wù)的實現(xiàn) (71)
4.4.2 main函數(shù)的解析 (75)
4.4.3 協(xié)議棧初始化分析 (75)
4.5 低功耗藍牙5.x的傳輸速率 (77)
4.5.1 傳輸速率的理論值 (77)
4.5.2 影響傳輸速率的主要因素 (79)
4.5.3 代碼實例測試 (79)
4.5.4 實際測試 (81)
4.5.5 實驗分析 (85)
4.6 開發(fā)調(diào)試工具 (85)
4.6.1 nrfjprog命令行工具 (85)
4.6.2 RTT打印Log (86)
4.7 資料學(xué)習(xí) (87)
4.8 實驗小結(jié) (89)
第5章 實驗4:添加電池電量服務(wù) (91)
5.1 實驗?zāi)繕?(91)
5.2 實驗準備 (91)
5.3 背景知識 (91)
5.4 實驗步驟 (92)
5.5 應(yīng)用固件的燒寫和調(diào)試 (103)
5.5.1 編譯和燒寫 (103)
5.5.2 查看電池電量服務(wù)數(shù)據(jù) (103)
5.5.3 添加電池電量服務(wù)的注意事項 (104)
5.5.4 實驗觀察 (104)
5.6 實驗小結(jié) (104)
第6章 實驗5:添加私有服務(wù) (105)
6.1 實驗?zāi)繕?(105)
6.2 實驗準備 (105)
6.3 背景知識 (105)
6.4 實驗步驟 (106)
6.4.1 移植庫文件 (106)
6.4.2 修改sdk_config.h中相應(yīng)的宏 (107)
6.4.3 初始化LBS (107)
6.4.4 修改LBS中LED的特性 (111)
6.4.5 修改按鍵的邏輯 (113)
6.5 應(yīng)用的實驗與測試 (114)
6.5.1 應(yīng)用固件的燒寫與測試 (114)
6.5.2 實驗觀察 (115)
6.6 實驗小結(jié) (115)
第7章 實驗6:添加配對、綁定功能 (117)
7.1 實驗?zāi)繕?(117)
7.2 實驗準備 (117)
7.3 背景知識 (117)
7.3.1 配對和綁定的定義 (117)
7.3.2 相關(guān)概念知識 (118)
7.3.3 綁定的流程 (119)
7.3.4 綁定的方式(等級) (120)
7.3.5 例程講解 (120)
7.3.6 與綁定功能相關(guān)的常用API函數(shù) (120)
7.4 實驗步驟 (121)
7.4.1 綁定模塊移植 (121)
7.4.2 在例程ble_app_hrs中添加NUS (122)
7.4.3 Passkey配對模式的實現(xiàn) (124)
7.4.4 數(shù)字比較的實現(xiàn) (125)
7.5 實驗拓展 (127)
7.6 實驗小結(jié) (128)
第8章 實驗7:低功耗藍牙的主機掃描 (129)
8.1 實驗?zāi)繕?(129)
8.2 實驗準備 (129)
8.3 背景知識 (129)
8.3.1 廣播的概念 (129)
8.3.2 掃描的概念 (130)
8.3.3 主機掃描的原理 (130)
8.3.4 主動掃描和被動掃描 (131)
8.4 實驗步驟 (131)
8.4.1 掃描例程講解 (131)
8.4.2 掃描附近所有設(shè)備 (132)
8.4.3 篩選廣播數(shù)據(jù)包中的數(shù)據(jù) (134)
8.5 實驗小結(jié) (135)
第9章 實驗8:低功耗藍牙的主機連接 (137)
9.1 實驗?zāi)繕?(137)
9.2 實驗準備 (137)
9.3 背景知識 (137)
9.3.1 連接的概念 (137)
9.3.2 連接的過程 (138)
9.3.3 連接的重要參數(shù) (138)
9.3.4 連接參數(shù)的優(yōu)化 (139)
9.3.5 iOS對連接參數(shù)的要求 (139)
9.4 實驗步驟 (139)
9.5 實驗小結(jié) (141)
第10章 實驗9:低功耗藍牙主從一體的實現(xiàn) (143)
10.1 實驗?zāi)繕?(143)
10.2 實驗準備 (143)
10.3 背景知識 (143)
10.4 實驗步驟 (144)
10.4.1 低功耗藍牙主從一體功能的實現(xiàn) (144)
10.4.2 低功耗藍牙主從一體功能的演示 (149)
10.5 實驗小結(jié) (151)
第11章 實驗10:低功耗藍牙多主多從的實現(xiàn) (153)
11.1 實驗?zāi)繕?(153)
11.2 實驗準備 (153)
11.3 背景知識 (153)
11.4 實驗步驟 (154)
11.4.1 低功耗藍牙多主多從功能的實現(xiàn) (154)
11.4.2 低功耗藍牙多主多從功能的演示 (157)
11.5 實驗小結(jié) (158)
第12章 實驗11:LE 2M PHY高速率通信的實現(xiàn) (159)
12.1 實驗?zāi)繕?(159)
12.2 實驗準備 (159)
12.3 背景知識 (159)
12.3.1 低功耗藍牙LE 2M PHY高速率通信 (159)
12.3.2 低功耗藍牙數(shù)據(jù)包的組成 (160)
12.3.3 低功耗藍牙數(shù)據(jù)包的完整傳輸周期 (161)
12.3.4 低功耗藍牙的數(shù)據(jù)吞吐率 (162)
12.3.5 低功耗藍牙LE 2M PHY高速率通信的應(yīng)用 (163)
12.4 實驗步驟 (163)
12.4.1 SDK例程測試 (163)
12.4.2 LE 2M PHY高速率通信的實現(xiàn) (166)
12.5 實驗小結(jié) (167)
第13章 實驗12:低功耗藍牙長距離通信的實現(xiàn) (169)
13.1 實驗?zāi)繕?(169)
13.2 實驗準備 (169)
13.3 背景知識 (169)
13.3.1 鏈路預(yù)算和無線電波傳播損耗 (170)
13.3.2 長距離通信的編碼 (171)
13.3.3 長距離通信的傳輸速率 (172)
13.3.4 長距離通信的應(yīng)用創(chuàng)新 (173)
13.4 實驗步驟 (173)
13.4.1 長距離通信的PHY配置和數(shù)據(jù)吞吐率測試 (173)
13.4.2 低功耗藍牙5.x長距離通信的實現(xiàn) (176)
13.4.3 長距離通信的測試 (177)
13.5 實驗小結(jié) (177)
第14章 實驗13:低功耗藍牙擴展廣播數(shù)據(jù)包的實現(xiàn) (179)
14.1 實驗?zāi)繕?(179)
14.2 實驗準備 (179)
14.3 背景知識 (179)
14.3.1 低功耗藍牙5.x擴展廣播數(shù)據(jù)包的格式 (180)
14.3.2 低功耗藍牙5.x擴展廣播數(shù)據(jù)包的應(yīng)用場景 (182)
14.4 實驗步驟 (182)
14.5 實驗小結(jié) (184)
第15章 實驗14:基于SPI驅(qū)動OLED (185)
15.1 實驗?zāi)繕?(185)
15.2 實驗準備 (185)
15.3 背景知識 (185)
15.3.1 SPI簡介 (185)
15.3.2 SPI的工作方式 (186)
15.3.3 OLED簡介 (187)
15.4 實驗步驟 (187)
15.5 實驗小結(jié) (193)
第16章 實驗15:基于QSPI驅(qū)動LCD (195)
16.1 實驗?zāi)繕?(195)
16.2 實驗準備 (195)
16.3 背景知識 (195)
16.3.1 QSPI簡介 (195)
16.3.2 LCD模塊簡介 (196)
16.3.3 QSPI接口與LCD模塊的連接 (196)
16.4 實驗步驟 (198)
16.5 實驗小結(jié) (206)
第17章 實驗16:基于FreeRTOS實現(xiàn)復(fù)雜應(yīng)用 (207)
17.1 實驗?zāi)繕?(207)
17.2 實驗準備 (207)
17.3 背景知識 (207)
17.3.1 FreeRTOS簡介 (207)
17.3.2 在RTOS中自定義線程 (208)
17.3.3 RTOS的移植 (209)
17.4 實驗步驟 (209)
17.5 實驗小結(jié) (214)
第18章 實驗17:FDS的實現(xiàn) (215)
18.1 實驗?zāi)繕?(215)
18.2 實驗準備 (215)
18.3 背景知識 (215)
18.3.1 FDS簡介 (215)
18.3.2 FDS的實現(xiàn)原理 (216)
18.3.3 FDS區(qū)域 (216)
18.3.4 FDS的操作類型 (217)
18.3.5 FDS的常用API函數(shù)簡介 (217)
18.3.6 使用FDS的注意事項 (219)
18.4 實驗步驟 (219)
18.4.1 FDS模塊的移植 (219)
18.4.2 FDS存儲功能的實現(xiàn) (220)
18.5 實驗小結(jié) (225)
第19章 實驗18:固件空中升級(OTA)的實現(xiàn) (227)
19.1 實驗?zāi)繕?(227)
19.2 實驗準備 (227)
19.3 背景知識 (227)
19.3.1 DFU簡介 (227)
19.3.2 OTA簡介 (229)
19.3.3 基于Nordic的SDK實現(xiàn)DFU的原理 (229)
19.4 實驗步驟 (230)
19.5 實驗關(guān)鍵代碼與實驗要點 (233)
19.5.1 ble_app_buttonless_dfu服務(wù)的關(guān)鍵代碼 (233)
19.5.2 Bootloader程序的關(guān)鍵代碼 (238)
19.5.3 實驗要點 (241)
19.6 實驗小結(jié) (241)
第20章 實驗19:基于串口的DFU實現(xiàn) (243)
20.1 實驗?zāi)繕?(243)
20.2 實驗準備 (243)
20.3 背景知識 (243)
20.4 實驗步驟 (244)
20.5 實驗要點 (247)
20.6 實驗小結(jié) (247)
第21章 實驗20:基于低功耗藍牙模塊PTR9818的開發(fā) (249)
21.1 實驗?zāi)繕?(249)
21.2 實驗背景 (249)
21.3 實驗配置 (250)
21.3.1 低頻時鐘源的配置 (250)
21.3.2 外設(shè)的配置 (251)
21.3.3 UART的配置 (253)
21.4 實驗小結(jié) (253)
參考文獻 (255)
后記 (256)