《STM32W108嵌入式無線感測器網路》融合了當前物聯網技術發展的最新動向編著而成的。在內容設計上,本書採取了循序漸進的原則,對物聯網技術底層硬體知識進行精心組織,以大量的實例說明
技術難點,深入淺出,使物聯網技術初學者能夠以“ARM CortexM3技術→STM32W108晶片體系結構→套用開發→綜合套用實例”為主線,以階梯式前進的方式,能夠低起點、高效率地學習理論、深入
實踐,從而為開發物聯網技術打下堅實的基礎。
基本介紹
- 書名:STM32W108嵌入式無線感測器網路
- 作者:邱鐵,夏鋒,周玉
- ISBN:9787302346388
- 頁數:415
- 定價:49.5
- 出版社:清華大學出版社
- 出版時間:2014-4-1
- 裝幀:普裝
- 開本:16
圖書簡介,圖書目錄,
圖書簡介
物聯網技術(Internet of Things, IoT)是無線感測器網路、嵌入式控制技術和網路技術的綜合體,是近年來套用開發與研究的熱點。現在,物聯網相關產品已廣泛套用到智慧型感知和監控領域,並開始在環境監測、智慧型家居、安全監控、一體化智慧型網路、國防工業、物理信息系統等領域得到全面套用。我們可以預見,基於物聯網套用的資訊時代已經到來,它正在改變著我們的生產和生活的各個方面。
為了適應物聯網技術專業人才培養的需求,國家教育部於2010年設立物聯網專業,全國各大高校紛紛設立物聯網專業並招生。因此,迫切地需要一本與當前物聯網專業發展相適應的教材,本書正是在這一背景下完成的。本書以當前最為流行的基於ARM CortexM3核心的32位低功耗處理器STM32W108設計無線組網和控制節點,其性能是當前無線感測器網路晶片中的最高配置。本書力求使複雜問題簡單化,為了說明一個問題,可能不惜篇幅,圖表並用,並設有實例解析,以便每一個物聯網技術開發的初學者都能快速上手,為物聯網相關設計打下堅實的基礎。
本書的內容安排如下。
為了適應物聯網技術專業人才培養的需求,國家教育部於2010年設立物聯網專業,全國各大高校紛紛設立物聯網專業並招生。因此,迫切地需要一本與當前物聯網專業發展相適應的教材,本書正是在這一背景下完成的。本書以當前最為流行的基於ARM CortexM3核心的32位低功耗處理器STM32W108設計無線組網和控制節點,其性能是當前無線感測器網路晶片中的最高配置。本書力求使複雜問題簡單化,為了說明一個問題,可能不惜篇幅,圖表並用,並設有實例解析,以便每一個物聯網技術開發的初學者都能快速上手,為物聯網相關設計打下堅實的基礎。
本書的內容安排如下。
◆嵌入式與物聯網技術概述: 給出了物聯網的整體結構,並對其內部的功能模組單元進行分析,給出了典型的設計方案,並對其關鍵技術進行了綜述。
◆ARM CortexM3技術: 介紹了ARM CortexM3技術架構,對核心模組及最新的Thumb2高效指令集進行了詳細分析。
◆基於ARM CortexM3核心的32位低功耗處理器STM32W108的物聯網套用設計: 採用意法半導體(ST)晶片STM32W108,對晶片的體系結構、內部存儲器與無線射頻模組、通用IO接口、中斷機制、串列通信接口(UART通信和SPI通信)、AD轉換器、802.15.4/ZigBee協定棧接口函式(API接口函式)、STM32W108兩節點及多點間通信、多感測器環境參數監測、基於嵌入式實時作業系統μCOSⅡ的移植及實時環境監測實例、節點定位方法和大規模節點自組織與移動智慧型體導航技術進行了詳細的分析,並給出具體套用開發實例和解決方案。
◆ARM CortexM3技術: 介紹了ARM CortexM3技術架構,對核心模組及最新的Thumb2高效指令集進行了詳細分析。
◆基於ARM CortexM3核心的32位低功耗處理器STM32W108的物聯網套用設計: 採用意法半導體(ST)晶片STM32W108,對晶片的體系結構、內部存儲器與無線射頻模組、通用IO接口、中斷機制、串列通信接口(UART通信和SPI通信)、AD轉換器、802.15.4/ZigBee協定棧接口函式(API接口函式)、STM32W108兩節點及多點間通信、多感測器環境參數監測、基於嵌入式實時作業系統μCOSⅡ的移植及實時環境監測實例、節點定位方法和大規模節點自組織與移動智慧型體導航技術進行了詳細的分析,並給出具體套用開發實例和解決方案。
圖書目錄
第1章嵌入式物聯網技術緒論
1.1物聯網的組成
1.2無線感測器網路
1.2.1無線感測器網路結構
1.2.2無線感測器網路特點
1.3嵌入式物聯網控制技術
1.3.1帶有可移動節點的大規模WSNs組網技術
1.3.2智慧型移動體設計
1.3.3嵌入式終端設計
1.3.4無線感測器節點設計
1.4基於ARM CortexM3核心ZigBee技術的優勢
1.5思考與練習題
第2章ARM CortexM3技術
2.1概述
2.2核心模組
2.2.1內部架構
2.2.2暫存器
2.3指令系統
2.3.1指令列表
2.3.2運算元
2.3.3使用PC或SP的限制
2.3.4第二運算元的構成
2.3.5移位操作
2.3.6地址對齊
2.3.7相對於程式計數器PC的表達式
2.3.8條件執行
2.3.9指令寬度選擇
2.3.10存儲器訪問指令
2.3.11一般數據處理指令
2.3.12乘法和除法指令
2.3.13飽和指令
2.3.14位域指令
2.3.15跳轉和控制指令
2.3.16其他指令
2.4軟體編程接口
2.5思考與練習題
第3章STM32W108體系結構
3.1STM32W108架構
3.1.1片內結構
3.1.2功能單元描述
3.2封裝與引腳說明
3.2.1封裝
3.2.2引腳說明
3.3思考與練習題
第4章 STM32W108功能模組設計
4.1功能模組概述
4.2電源模組
4.2.1內部穩壓電源
4.2.2外部穩壓電源
4.2.3外部穩壓電源電路設計
4.3復位模組
4.3.1復位原理
4.3.2復位電路設計
4.4時鐘管理模組
4.4.1時鐘模組總體結構
4.4.2時鐘功能模組原理
4.5系統定時器模組
4.5.1看門狗定時器
4.5.2睡眠定時器
4.6電源管理模組
4.6.1喚醒源
4.6.2基本睡眠模式
4.6.3深睡眠選項
4.7思考與練習題
第5章內部存儲器與無線射頻模組
5.1STM32W108內部存儲空間
5.2Flash存儲器
5.3RAM數據存儲器
5.4STM32W108射頻模組
5.4.1接收模組
5.4.2傳送模組
5.4.3集成MAC模組
5.4.4隨機數發生器
5.5思考與練習題
第6章STM32W108通用IO接口
6.1通用IO功能描述
6.1.1GPIO連線埠
6.1.2配置
6.1.3增強功能
6.1.4復位
6.1.5nBOOTMODE
6.1.6GPIO模式
6.1.7喚醒監控
6.2通用IO配置暫存器
6.2.1連線埠配置暫存器(低位)(GPIO_PxCFGL)
6.2.2連線埠配置暫存器(高位)(GPIO_PxCFGH)
6.2.3連線埠輸入數據暫存器(GPIO_PxIN)
6.2.4連線埠輸出數據暫存器(GPIO_PxOUT)
6.2.5連線埠輸出清除暫存器(GPIO_PxCLR)
6.2.6連線埠輸出設定暫存器(GPIO_PxSET)
6.2.7連線埠喚醒監控暫存器(GPIO_PxWAKE)
6.2.8GPIO喚醒濾波暫存器(GPIO_WAKEFILT)
6.2.9中斷選擇暫存器(GPIO_IRQxSEL)
6.2.10GPIO中斷配置暫存器(GPIO_INTCFGx)
6.2.11GPIO中斷標誌暫存器(INT_GPIOFLAG)
6.2.12GPIO調試配置暫存器(GPIO_DBGCFG)
6.2.13GPIO調試狀態暫存器(GPIO_DBGSTAT)
6.3套用實例解析
6.3.1開發環境與硬體說明
6.3.2軟體設計與規劃
6.3.3LED控制程式設計
6.3.4測試程式編寫
6.3.5測試結果及分析
6.4思考與練習題
第7章STM32W108中斷機制
7.1中斷控制
7.1.1嵌套向量中斷控制器(NVIC)
7.1.2事件管理器
7.2中斷配置暫存器
7.2.1頂級置位中斷配置暫存器(INT_CFGSET)
7.2.2頂級清除中斷配置暫存器(INT_CFGCLR)
7.2.3頂級置位中斷掛起暫存器(INT_PENDSET)
7.2.4頂級清除掛起中斷標誌暫存器(INT_PENDCLR)
7.2.5頂級激活中斷暫存器(INT_ACTIVE)
7.2.6頂級丟失中斷暫存器(INT_MISS)
7.2.7輔助故障狀態暫存器(SCS_AFSR)
7.3套用實例解析
7.3.1開發環境與硬體說明
7.3.2軟體設計與規劃
7.3.3中斷處理程式設計
7.3.4測試程式編寫
7.3.5測試結果及分析
7.4思考與練習題
第8章STM32W108串列通信
8.1串列通信控制模組
8.1.1功能描述
8.1.2通信配置
8.2UART
8.2.1UART模組
8.2.2UART暫存器
8.3UART通信套用實例
8.3.1開發環境與硬體平台
8.3.2軟體設計與規劃
8.3.3測試程式編寫
8.3.4測試結果及分析
8.4SPI模組
8.4.1SPI主模式
8.4.2SPI從模式
8.4.3SPI暫存器
8.5思考與練習題
第9章STM32W108 AD轉換器
9.1功能描述
9.1.1配置
9.1.2GPIO使用
9.1.3參考電壓
9.1.4偏置/增益校正
9.1.5DMA
9.1.6ADC輸入
9.1.7模擬電壓輸入範圍
9.1.8採樣時間
9.1.9AD轉換
9.1.10校準
9.1.11注意事項
9.1.12中斷
9.2ADC暫存器
9.2.1ADC配置暫存器(ADC_CFG)
9.2.2ADC偏移暫存器(ADC_OFFSET)
9.2.3ADC增益暫存器(ADC_GAIN)
9.2.4ADC DMA配置暫存器(ADC_DMACFG)
9.2.5ADC DMA狀態暫存器(ADC_DMASTAT)
9.2.6ADC DMA起始地址暫存器(ADC_DMABEG)
9.2.7ADC DMA緩衝區大小暫存器(ADC_DMASIZE)
9.2.8ADC DMA當前地址暫存器(ADC_DMACUR)
9.2.9ADC DMA計數暫存器(ADC_DMACNT)
9.2.10ADC中斷標誌暫存器(INT_ADCFLAG)
9.2.11ADC中斷配置暫存器(INT_ADCCFG)
9.3套用實例解析
9.3.1開發環境與硬體說明
9.3.2軟體設計與規劃
9.3.3感測器數據採集程式設計
9.3.4測試程式編寫
9.3.5測試結果及分析
9.4思考與練習題
第10章802.15.4/ZigBee協定棧接口函式
10.1802.15.4/ZigBee協定棧
10.2STM32W108的802.15.4/ZigBee協定棧
10.3協定棧接口
10.4啟動協定棧實例解析
10.4.1開發工具及協定棧安裝
10.4.2工程創建
10.4.3STM32W108協定棧實例解析
10.5思考與練習題
第11章STM32W108兩節點間通信
11.1實例開發環境說明
11.2軟體設計與規劃
11.3程式設計與實現
11.4測試結果及分析
11.5思考與練習題
第12章多節點間通信
12.1實例任務規劃
12.2實例開發環境
12.3軟體設計與規劃
12.4編程與實現
12.5測試結果及分析
12.6思考與練習題
第13章多感測器環境參數監測實例
13.1實例開發環境說明
13.2硬體電路設計
13.3軟體設計與規劃
13.4感測器數據採集程式設計與實現
13.4.1溫度感測器
13.4.2溫濕度感測器
13.4.3超音波感測器
13.4.4煙霧感測器
13.4.5聲音感測器
13.4.6光敏感測器
13.5測試程式編寫
13.6實例結果及分析
13.7實例注意事項及說明
13.8思考與練習題
第14章μCOSII的移植及實時環境監測
14.1開發環境說明
14.2軟體設計與規劃
14.3工程創建及檔案添加
14.4相關源檔案更改
14.5測試程式設計
14.6實驗結果及分析
14.7思考與練習題
第15章無線感測器網路節點定位技術
15.1RSSI與通信距離15.2距離計算經驗公式的確定
15.3N次三邊質心加權定位法介紹
15.4算法設計
15.4.1符號定義說明
15.4.2數據包的接收保存及實時距離的計算
15.4.3N次三邊質心加權法
15.5定位算法實現
15.5.1軟體設計流程
15.5.2經驗公式獲取程式設計
15.5.3N次三邊質心加權定位程式設計
15.6定位實驗及結果分析
15.6.1經驗公式確定
15.6.2N次三邊質心加權定位實驗
15.7思考與練習題
第16章節點自組織與移動智慧型體導航技術
16.1開發環境與定位方法說明
16.2系統設計
16.2.1相關符號說明
16.2.2總體設計
16.2.3網路模型
16.2.4無線自組網
16.2.5移動節點定位
16.2.6移動智慧型體導航分析
16.2.7電子羅盤模組工作原理
16.2.8移植智慧型體導航設計
16.3程式設計與實現
16.3.1大規模自組網程式
16.3.2移動智慧型體導航程式
16.3.3主函式程式設計
16.4調試與結果分析
16.4.1無線自組織網路
16.4.2移動智慧型體導航
16.5思考與練習題
1.1物聯網的組成
1.2無線感測器網路
1.2.1無線感測器網路結構
1.2.2無線感測器網路特點
1.3嵌入式物聯網控制技術
1.3.1帶有可移動節點的大規模WSNs組網技術
1.3.2智慧型移動體設計
1.3.3嵌入式終端設計
1.3.4無線感測器節點設計
1.4基於ARM CortexM3核心ZigBee技術的優勢
1.5思考與練習題
第2章ARM CortexM3技術
2.1概述
2.2核心模組
2.2.1內部架構
2.2.2暫存器
2.3指令系統
2.3.1指令列表
2.3.2運算元
2.3.3使用PC或SP的限制
2.3.4第二運算元的構成
2.3.5移位操作
2.3.6地址對齊
2.3.7相對於程式計數器PC的表達式
2.3.8條件執行
2.3.9指令寬度選擇
2.3.10存儲器訪問指令
2.3.11一般數據處理指令
2.3.12乘法和除法指令
2.3.13飽和指令
2.3.14位域指令
2.3.15跳轉和控制指令
2.3.16其他指令
2.4軟體編程接口
2.5思考與練習題
第3章STM32W108體系結構
3.1STM32W108架構
3.1.1片內結構
3.1.2功能單元描述
3.2封裝與引腳說明
3.2.1封裝
3.2.2引腳說明
3.3思考與練習題
第4章 STM32W108功能模組設計
4.1功能模組概述
4.2電源模組
4.2.1內部穩壓電源
4.2.2外部穩壓電源
4.2.3外部穩壓電源電路設計
4.3復位模組
4.3.1復位原理
4.3.2復位電路設計
4.4時鐘管理模組
4.4.1時鐘模組總體結構
4.4.2時鐘功能模組原理
4.5系統定時器模組
4.5.1看門狗定時器
4.5.2睡眠定時器
4.6電源管理模組
4.6.1喚醒源
4.6.2基本睡眠模式
4.6.3深睡眠選項
4.7思考與練習題
第5章內部存儲器與無線射頻模組
5.1STM32W108內部存儲空間
5.2Flash存儲器
5.3RAM數據存儲器
5.4STM32W108射頻模組
5.4.1接收模組
5.4.2傳送模組
5.4.3集成MAC模組
5.4.4隨機數發生器
5.5思考與練習題
第6章STM32W108通用IO接口
6.1通用IO功能描述
6.1.1GPIO連線埠
6.1.2配置
6.1.3增強功能
6.1.4復位
6.1.5nBOOTMODE
6.1.6GPIO模式
6.1.7喚醒監控
6.2通用IO配置暫存器
6.2.1連線埠配置暫存器(低位)(GPIO_PxCFGL)
6.2.2連線埠配置暫存器(高位)(GPIO_PxCFGH)
6.2.3連線埠輸入數據暫存器(GPIO_PxIN)
6.2.4連線埠輸出數據暫存器(GPIO_PxOUT)
6.2.5連線埠輸出清除暫存器(GPIO_PxCLR)
6.2.6連線埠輸出設定暫存器(GPIO_PxSET)
6.2.7連線埠喚醒監控暫存器(GPIO_PxWAKE)
6.2.8GPIO喚醒濾波暫存器(GPIO_WAKEFILT)
6.2.9中斷選擇暫存器(GPIO_IRQxSEL)
6.2.10GPIO中斷配置暫存器(GPIO_INTCFGx)
6.2.11GPIO中斷標誌暫存器(INT_GPIOFLAG)
6.2.12GPIO調試配置暫存器(GPIO_DBGCFG)
6.2.13GPIO調試狀態暫存器(GPIO_DBGSTAT)
6.3套用實例解析
6.3.1開發環境與硬體說明
6.3.2軟體設計與規劃
6.3.3LED控制程式設計
6.3.4測試程式編寫
6.3.5測試結果及分析
6.4思考與練習題
第7章STM32W108中斷機制
7.1中斷控制
7.1.1嵌套向量中斷控制器(NVIC)
7.1.2事件管理器
7.2中斷配置暫存器
7.2.1頂級置位中斷配置暫存器(INT_CFGSET)
7.2.2頂級清除中斷配置暫存器(INT_CFGCLR)
7.2.3頂級置位中斷掛起暫存器(INT_PENDSET)
7.2.4頂級清除掛起中斷標誌暫存器(INT_PENDCLR)
7.2.5頂級激活中斷暫存器(INT_ACTIVE)
7.2.6頂級丟失中斷暫存器(INT_MISS)
7.2.7輔助故障狀態暫存器(SCS_AFSR)
7.3套用實例解析
7.3.1開發環境與硬體說明
7.3.2軟體設計與規劃
7.3.3中斷處理程式設計
7.3.4測試程式編寫
7.3.5測試結果及分析
7.4思考與練習題
第8章STM32W108串列通信
8.1串列通信控制模組
8.1.1功能描述
8.1.2通信配置
8.2UART
8.2.1UART模組
8.2.2UART暫存器
8.3UART通信套用實例
8.3.1開發環境與硬體平台
8.3.2軟體設計與規劃
8.3.3測試程式編寫
8.3.4測試結果及分析
8.4SPI模組
8.4.1SPI主模式
8.4.2SPI從模式
8.4.3SPI暫存器
8.5思考與練習題
第9章STM32W108 AD轉換器
9.1功能描述
9.1.1配置
9.1.2GPIO使用
9.1.3參考電壓
9.1.4偏置/增益校正
9.1.5DMA
9.1.6ADC輸入
9.1.7模擬電壓輸入範圍
9.1.8採樣時間
9.1.9AD轉換
9.1.10校準
9.1.11注意事項
9.1.12中斷
9.2ADC暫存器
9.2.1ADC配置暫存器(ADC_CFG)
9.2.2ADC偏移暫存器(ADC_OFFSET)
9.2.3ADC增益暫存器(ADC_GAIN)
9.2.4ADC DMA配置暫存器(ADC_DMACFG)
9.2.5ADC DMA狀態暫存器(ADC_DMASTAT)
9.2.6ADC DMA起始地址暫存器(ADC_DMABEG)
9.2.7ADC DMA緩衝區大小暫存器(ADC_DMASIZE)
9.2.8ADC DMA當前地址暫存器(ADC_DMACUR)
9.2.9ADC DMA計數暫存器(ADC_DMACNT)
9.2.10ADC中斷標誌暫存器(INT_ADCFLAG)
9.2.11ADC中斷配置暫存器(INT_ADCCFG)
9.3套用實例解析
9.3.1開發環境與硬體說明
9.3.2軟體設計與規劃
9.3.3感測器數據採集程式設計
9.3.4測試程式編寫
9.3.5測試結果及分析
9.4思考與練習題
第10章802.15.4/ZigBee協定棧接口函式
10.1802.15.4/ZigBee協定棧
10.2STM32W108的802.15.4/ZigBee協定棧
10.3協定棧接口
10.4啟動協定棧實例解析
10.4.1開發工具及協定棧安裝
10.4.2工程創建
10.4.3STM32W108協定棧實例解析
10.5思考與練習題
第11章STM32W108兩節點間通信
11.1實例開發環境說明
11.2軟體設計與規劃
11.3程式設計與實現
11.4測試結果及分析
11.5思考與練習題
第12章多節點間通信
12.1實例任務規劃
12.2實例開發環境
12.3軟體設計與規劃
12.4編程與實現
12.5測試結果及分析
12.6思考與練習題
第13章多感測器環境參數監測實例
13.1實例開發環境說明
13.2硬體電路設計
13.3軟體設計與規劃
13.4感測器數據採集程式設計與實現
13.4.1溫度感測器
13.4.2溫濕度感測器
13.4.3超音波感測器
13.4.4煙霧感測器
13.4.5聲音感測器
13.4.6光敏感測器
13.5測試程式編寫
13.6實例結果及分析
13.7實例注意事項及說明
13.8思考與練習題
第14章μCOSII的移植及實時環境監測
14.1開發環境說明
14.2軟體設計與規劃
14.3工程創建及檔案添加
14.4相關源檔案更改
14.5測試程式設計
14.6實驗結果及分析
14.7思考與練習題
第15章無線感測器網路節點定位技術
15.1RSSI與通信距離15.2距離計算經驗公式的確定
15.3N次三邊質心加權定位法介紹
15.4算法設計
15.4.1符號定義說明
15.4.2數據包的接收保存及實時距離的計算
15.4.3N次三邊質心加權法
15.5定位算法實現
15.5.1軟體設計流程
15.5.2經驗公式獲取程式設計
15.5.3N次三邊質心加權定位程式設計
15.6定位實驗及結果分析
15.6.1經驗公式確定
15.6.2N次三邊質心加權定位實驗
15.7思考與練習題
第16章節點自組織與移動智慧型體導航技術
16.1開發環境與定位方法說明
16.2系統設計
16.2.1相關符號說明
16.2.2總體設計
16.2.3網路模型
16.2.4無線自組網
16.2.5移動節點定位
16.2.6移動智慧型體導航分析
16.2.7電子羅盤模組工作原理
16.2.8移植智慧型體導航設計
16.3程式設計與實現
16.3.1大規模自組網程式
16.3.2移動智慧型體導航程式
16.3.3主函式程式設計
16.4調試與結果分析
16.4.1無線自組織網路
16.4.2移動智慧型體導航
16.5思考與練習題