定 價:88 元
叢書名:智能芯片開發(fā)與應(yīng)用叢書
- 作者:譚暉
- 出版時間:2022/3/1
- ISBN:9787121431494
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TN926
- 頁碼:272
- 紙張:
- 版次:01
- 開本:16開
本書主要介紹低功耗藍(lán)牙5.x的開發(fā)技術(shù),主要內(nèi)容包括開發(fā)環(huán)境的搭建、最小硬件系統(tǒng)、廣播的實(shí)現(xiàn)、雙向通信的實(shí)現(xiàn)、電池電量服務(wù)的添加、私有服務(wù)的添加、配對和綁定功能的實(shí)現(xiàn)、主機(jī)掃描、主機(jī)連接、主從一體的實(shí)現(xiàn)、多主多從的實(shí)現(xiàn)、高速率通信的實(shí)現(xiàn)、長距離通信的實(shí)現(xiàn)、擴(kuò)展廣播數(shù)據(jù)包的實(shí)現(xiàn)、基于QSPI驅(qū)動LCD、基于FreeRTOS的復(fù)雜應(yīng)用、FDS的實(shí)現(xiàn)、OTA的實(shí)現(xiàn)、基于串口的DFU實(shí)現(xiàn)、PTR9818模塊的開發(fā)等內(nèi)容。通過本書的學(xué)習(xí),讀者不僅可以掌握低功耗藍(lán)牙5.x的開發(fā)技術(shù),也可以學(xué)習(xí)物聯(lián)網(wǎng)的知識、培養(yǎng)物聯(lián)網(wǎng)的思維,還可以提高自身的動手能力和創(chuàng)新能力。
譚暉,男,博士,畢業(yè)于哈爾濱工業(yè)大學(xué),現(xiàn)任深圳市藍(lán)科迅通科技有限公司總經(jīng)理。在哈爾濱工業(yè)大學(xué)多年從事專用通信科研工作,曾獲國家科技進(jìn)步獎,國家教委科技進(jìn)步獎,省科技進(jìn)步獎等,擁有國內(nèi)外多項(xiàng)發(fā)明專利,長期從事中短距離無線技術(shù),低功耗智能藍(lán)牙,物聯(lián)網(wǎng)及相關(guān)技術(shù)的研究及創(chuàng)新應(yīng)用。
目 錄
第1章 低功耗藍(lán)牙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低功耗藍(lán)牙模塊評估板 (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章 實(shí)驗(yàn)1:低功耗藍(lán)牙5.x SoC之nRF52840最小硬件系統(tǒng) (41)
2.1 實(shí)驗(yàn)?zāi)繕?biāo) (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è)計(jì)的注意事項(xiàng) (48)
2.4 實(shí)驗(yàn)小結(jié) (50)
第3章 實(shí)驗(yàn)2:低功耗藍(lán)牙5.x廣播的實(shí)現(xiàn) (51)
3.1 實(shí)驗(yàn)?zāi)繕?biāo) (51)
3.2 實(shí)驗(yàn)準(zhǔn)備 (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 實(shí)驗(yàn)步驟 (54)
3.4.1 低功耗藍(lán)牙5.x廣播的初始化 (54)
3.4.2 低功耗藍(lán)牙5.x廣播名稱的修改 (55)
3.4.3 廣播內(nèi)容和廣播參數(shù)的修改 (56)
3.4.4 代碼實(shí)戰(zhàn) (60)
3.5 實(shí)驗(yàn)小結(jié) (65)
第4章 實(shí)驗(yàn)3:低功耗藍(lán)牙5.x雙向通信的實(shí)現(xiàn) (67)
4.1 實(shí)驗(yàn)?zāi)繕?biāo) (67)
4.2 實(shí)驗(yàn)準(zhǔn)備 (67)
4.3 背景知識 (67)
4.3.1 低功耗藍(lán)牙5.x雙向通信的基本概念 (67)
4.3.2 低功耗藍(lán)牙5.x雙向通信的連接建立過程 (70)
4.4 實(shí)驗(yàn)步驟 (70)
4.4.1 低功耗藍(lán)牙5.x串口通信服務(wù)的實(shí)現(xiàn) (71)
4.4.2 main函數(shù)的解析 (75)
4.4.3 協(xié)議棧初始化分析 (75)
4.5 低功耗藍(lán)牙5.x的傳輸速率 (77)
4.5.1 傳輸速率的理論值 (77)
4.5.2 影響傳輸速率的主要因素 (79)
4.5.3 代碼實(shí)例測試 (79)
4.5.4 實(shí)際測試 (81)
4.5.5 實(shí)驗(yàn)分析 (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 實(shí)驗(yàn)小結(jié) (89)
第5章 實(shí)驗(yàn)4:添加電池電量服務(wù) (91)
5.1 實(shí)驗(yàn)?zāi)繕?biāo) (91)
5.2 實(shí)驗(yàn)準(zhǔn)備 (91)
5.3 背景知識 (91)
5.4 實(shí)驗(yàn)步驟 (92)
5.5 應(yīng)用固件的燒寫和調(diào)試 (103)
5.5.1 編譯和燒寫 (103)
5.5.2 查看電池電量服務(wù)數(shù)據(jù) (103)
5.5.3 添加電池電量服務(wù)的注意事項(xiàng) (104)
5.5.4 實(shí)驗(yàn)觀察 (104)
5.6 實(shí)驗(yàn)小結(jié) (104)
第6章 實(shí)驗(yàn)5:添加私有服務(wù) (105)
6.1 實(shí)驗(yàn)?zāi)繕?biāo) (105)
6.2 實(shí)驗(yàn)準(zhǔn)備 (105)
6.3 背景知識 (105)
6.4 實(shí)驗(yàn)步驟 (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)用的實(shí)驗(yàn)與測試 (114)
6.5.1 應(yīng)用固件的燒寫與測試 (114)
6.5.2 實(shí)驗(yàn)觀察 (115)
6.6 實(shí)驗(yàn)小結(jié) (115)
第7章 實(shí)驗(yàn)6:添加配對、綁定功能 (117)
7.1 實(shí)驗(yàn)?zāi)繕?biāo) (117)
7.2 實(shí)驗(yàn)準(zhǔn)備 (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 實(shí)驗(yàn)步驟 (121)
7.4.1 綁定模塊移植 (121)
7.4.2 在例程ble_app_hrs中添加NUS (122)
7.4.3 Passkey配對模式的實(shí)現(xiàn) (124)
7.4.4 數(shù)字比較的實(shí)現(xiàn) (125)
7.5 實(shí)驗(yàn)拓展 (127)
7.6 實(shí)驗(yàn)小結(jié) (128)
第8章 實(shí)驗(yàn)7:低功耗藍(lán)牙的主機(jī)掃描 (129)
8.1 實(shí)驗(yàn)?zāi)繕?biāo) (129)
8.2 實(shí)驗(yàn)準(zhǔn)備 (129)
8.3 背景知識 (129)
8.3.1 廣播的概念 (129)
8.3.2 掃描的概念 (130)
8.3.3 主機(jī)掃描的原理 (130)
8.3.4 主動掃描和被動掃描 (131)
8.4 實(shí)驗(yàn)步驟 (131)
8.4.1 掃描例程講解 (131)
8.4.2 掃描附近所有設(shè)備 (132)
8.4.3 篩選廣播數(shù)據(jù)包中的數(shù)據(jù) (134)
8.5 實(shí)驗(yàn)小結(jié) (135)
第9章 實(shí)驗(yàn)8:低功耗藍(lán)牙的主機(jī)連接 (137)
9.1 實(shí)驗(yàn)?zāi)繕?biāo) (137)
9.2 實(shí)驗(yàn)準(zhǔn)備 (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 實(shí)驗(yàn)步驟 (139)
9.5 實(shí)驗(yàn)小結(jié) (141)
第10章 實(shí)驗(yàn)9:低功耗藍(lán)牙主從一體的實(shí)現(xiàn) (143)
10.1 實(shí)驗(yàn)?zāi)繕?biāo) (143)
10.2 實(shí)驗(yàn)準(zhǔn)備 (143)
10.3 背景知識 (143)
10.4 實(shí)驗(yàn)步驟 (144)
10.4.1 低功耗藍(lán)牙主從一體功能的實(shí)現(xiàn) (144)
10.4.2 低功耗藍(lán)牙主從一體功能的演示 (149)
10.5 實(shí)驗(yàn)小結(jié) (151)
第11章 實(shí)驗(yàn)10:低功耗藍(lán)牙多主多從的實(shí)現(xiàn) (153)
11.1 實(shí)驗(yàn)?zāi)繕?biāo) (153)
11.2 實(shí)驗(yàn)準(zhǔn)備 (153)
11.3 背景知識 (153)
11.4 實(shí)驗(yàn)步驟 (154)
11.4.1 低功耗藍(lán)牙多主多從功能的實(shí)現(xiàn) (154)
11.4.2 低功耗藍(lán)牙多主多從功能的演示 (157)
11.5 實(shí)驗(yàn)小結(jié) (158)
第12章 實(shí)驗(yàn)11:LE 2M PHY高速率通信的實(shí)現(xiàn) (159)
12.1 實(shí)驗(yàn)?zāi)繕?biāo) (159)
12.2 實(shí)驗(yàn)準(zhǔn)備 (159)
12.3 背景知識 (159)
12.3.1 低功耗藍(lán)牙LE 2M PHY高速率通信 (159)
12.3.2 低功耗藍(lán)牙數(shù)據(jù)包的組成 (160)
12.3.3 低功耗藍(lán)牙數(shù)據(jù)包的完整傳輸周期 (161)
12.3.4 低功耗藍(lán)牙的數(shù)據(jù)吞吐率 (162)
12.3.5 低功耗藍(lán)牙LE 2M PHY高速率通信的應(yīng)用 (163)
12.4 實(shí)驗(yàn)步驟 (163)
12.4.1 SDK例程測試 (163)
12.4.2 LE 2M PHY高速率通信的實(shí)現(xiàn) (166)
12.5 實(shí)驗(yàn)小結(jié) (167)
第13章 實(shí)驗(yàn)12:低功耗藍(lán)牙長距離通信的實(shí)現(xiàn) (169)
13.1 實(shí)驗(yàn)?zāi)繕?biāo) (169)
13.2 實(shí)驗(yàn)準(zhǔn)備 (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 實(shí)驗(yàn)步驟 (173)
13.4.1 長距離通信的PHY配置和數(shù)據(jù)吞吐率測試 (173)
13.4.2 低功耗藍(lán)牙5.x長距離通信的實(shí)現(xiàn) (176)
13.4.3 長距離通信的測試 (177)
13.5 實(shí)驗(yàn)小結(jié) (177)
第14章 實(shí)驗(yàn)13:低功耗藍(lán)牙擴(kuò)展廣播數(shù)據(jù)包的實(shí)現(xiàn) (179)
14.1 實(shí)驗(yàn)?zāi)繕?biāo) (179)
14.2 實(shí)驗(yàn)準(zhǔn)備 (179)
14.3 背景知識 (179)
14.3.1 低功耗藍(lán)牙5.x擴(kuò)展廣播數(shù)據(jù)包的格式 (180)
14.3.2 低功耗藍(lán)牙5.x擴(kuò)展廣播數(shù)據(jù)包的應(yīng)用場景 (182)
14.4 實(shí)驗(yàn)步驟 (182)
14.5 實(shí)驗(yàn)小結(jié) (184)
第15章 實(shí)驗(yàn)14:基于SPI驅(qū)動OLED (185)
15.1 實(shí)驗(yàn)?zāi)繕?biāo) (185)
15.2 實(shí)驗(yàn)準(zhǔn)備 (185)
15.3 背景知識 (185)
15.3.1 SPI簡介 (185)
15.3.2 SPI的工作方式 (186)
15.3.3 OLED簡介 (187)
15.4 實(shí)驗(yàn)步驟 (187)
15.5 實(shí)驗(yàn)小結(jié) (193)
第16章 實(shí)驗(yàn)15:基于QSPI驅(qū)動LCD (195)
16.1 實(shí)驗(yàn)?zāi)繕?biāo) (195)
16.2 實(shí)驗(yàn)準(zhǔn)備 (195)
16.3 背景知識 (195)
16.3.1 QSPI簡介 (195)
16.3.2 LCD模塊簡介 (196)
16.3.3 QSPI接口與LCD模塊的連接 (196)
16.4 實(shí)驗(yàn)步驟 (198)
16.5 實(shí)驗(yàn)小結(jié) (206)
第17章 實(shí)驗(yàn)16:基于FreeRTOS實(shí)現(xiàn)復(fù)雜應(yīng)用 (207)
17.1 實(shí)驗(yàn)?zāi)繕?biāo) (207)
17.2 實(shí)驗(yàn)準(zhǔn)備 (207)
17.3 背景知識 (207)
17.3.1 FreeRTOS簡介 (207)
17.3.2 在RTOS中自定義線程 (208)
17.3.3 RTOS的移植 (209)
17.4 實(shí)驗(yàn)步驟 (209)
17.5 實(shí)驗(yàn)小結(jié) (214)
第18章 實(shí)驗(yàn)17:FDS的實(shí)現(xiàn) (215)
18.1 實(shí)驗(yàn)?zāi)繕?biāo) (215)
18.2 實(shí)驗(yàn)準(zhǔn)備 (215)
18.3 背景知識 (215)
18.3.1 FDS簡介 (215)
18.3.2 FDS的實(shí)現(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的注意事項(xiàng) (219)
18.4 實(shí)驗(yàn)步驟 (219)
18.4.1 FDS模塊的移植 (219)
18.4.2 FDS存儲功能的實(shí)現(xiàn) (220)
18.5 實(shí)驗(yàn)小結(jié) (225)
第19章 實(shí)驗(yàn)18:固件空中升級(OTA)的實(shí)現(xiàn) (227)
19.1 實(shí)驗(yàn)?zāi)繕?biāo) (227)
19.2 實(shí)驗(yàn)準(zhǔn)備 (227)
19.3 背景知識 (227)
19.3.1 DFU簡介 (227)
19.3.2 OTA簡介 (229)
19.3.3 基于Nordic的SDK實(shí)現(xiàn)DFU的原理 (229)
19.4 實(shí)驗(yàn)步驟 (230)
19.5 實(shí)驗(yàn)關(guān)鍵代碼與實(shí)驗(yàn)要點(diǎn) (233)
19.5.1 ble_app_buttonless_dfu服務(wù)的關(guān)鍵代碼 (233)
19.5.2 Bootloader程序的關(guān)鍵代碼 (238)
19.5.3 實(shí)驗(yàn)要點(diǎn) (241)
19.6 實(shí)驗(yàn)小結(jié) (241)
第20章 實(shí)驗(yàn)19:基于串口的DFU實(shí)現(xiàn) (243)
20.1 實(shí)驗(yàn)?zāi)繕?biāo) (243)
20.2 實(shí)驗(yàn)準(zhǔn)備 (243)
20.3 背景知識 (243)
20.4 實(shí)驗(yàn)步驟 (244)
20.5 實(shí)驗(yàn)要點(diǎn) (247)
20.6 實(shí)驗(yàn)小結(jié) (247)
第21章 實(shí)驗(yàn)20:基于低功耗藍(lán)牙模塊PTR9818的開發(fā) (249)
21.1 實(shí)驗(yàn)?zāi)繕?biāo) (249)
21.2 實(shí)驗(yàn)背景 (249)
21.3 實(shí)驗(yàn)配置 (250)
21.3.1 低頻時鐘源的配置 (250)
21.3.2 外設(shè)的配置 (251)
21.3.3 UART的配置 (253)
21.4 實(shí)驗(yàn)小結(jié) (253)
參考文獻(xiàn) (255)
后記 (256)