嵌入式系統原理與物聯網實踐

沈建華、王慈

  • 出版商: 清華大學
  • 出版日期: 2022-06-01
  • 售價: $479
  • 貴賓價: 9.5$455
  • 語言: 簡體中文
  • ISBN: 7302609659
  • ISBN-13: 9787302609650
  • 相關分類: 嵌入式系統物聯網 IoT
  • 立即出貨 (庫存=1)

  • 嵌入式系統原理與物聯網實踐-preview-1
  • 嵌入式系統原理與物聯網實踐-preview-2
  • 嵌入式系統原理與物聯網實踐-preview-3
嵌入式系統原理與物聯網實踐-preview-1

買這商品的人也買了...

商品描述

《嵌入式系統原理與物聯網實踐》系統介紹了嵌入式系統的基本原理和物聯網應用開發的基礎知識。詳細講述了 MCU 應用相關的各種外設模塊的工作原理和編程結構,包括 ARM Cortex-M4 內核、ARMv7 和 RISC-V 指令系統、MCU 系統控制、存儲器、通用輸入輸出、定時器、模擬外設、通信接口等。同時,對嵌入式軟件設計方法、RTOS、物聯網技術及應用架構等做了闡述。最後介紹了兩個基於阿裡雲 IoT 平臺的物聯網應用開發示例,以及低功耗系統設計和電磁兼容性的基礎知識。 《嵌入式系統原理與物聯網實踐》對嵌入式系統的基本原理和技術的描述具有通適性、不特別針對某個 MCU。本書配套有完整的教學資源,包括教學課件、實驗 PPT、MOOC 資源,以及基於 STTI、平頭哥等多種 MCU 開發板的配套實驗例程,方便師生選用。 《嵌入式系統原理與物聯網實踐》可作為高等院校電腦、電子與通信、自動化、儀器儀表等專業嵌入式系統、物聯網、微機接口、單片機等課程的教材,也適合廣大從事 MCU 和物聯網應用系統開發的工程技術人員作為學習、參考用書。

目錄大綱

目 錄

第 1 章 嵌入式系統與微控制器概述 1 

1.1 嵌入式系統概述  1 

1.1.1 嵌入式系統的發展 1 

1.1.2 嵌入式系統的特點 2 

1.1.3 嵌入式系統的組成 3 

1.1.4 嵌入式系統的種類 5 

1.1.5 嵌入式系統的調試方法 6 

1.1.6 嵌入式系統的應用 11 

1.2 嵌入式處理器概述  12 

1.2.1 嵌入式處理器 12 

1.2.2 嵌入式處理器的分類 13 

1.2.3 典型 MCU 介紹  18 

1.3 本章小結  25 

1.4 習題  26 

第 2 章 ARM Cortex-M 處理器27 

2.1 ARM 處理器概述  27 

2.2 ARM 處理器架構  28 

2.2.1 ARM 體系結構版本 28 

2.2.2 ARM 處理器 30 

2.3 Cortex-M 處理器內核及功能介紹 32 

2.4 ARM Cortex-M4 編程模型 37 

2.4.1 處理器的工作模式和特權級別 37 

2.4.2 ARM Cortex-M4 寄存器  38 

2.4.3 ARM Cortex-M4 異常處理 41 

2.5 本章小結  47 

2.6 習題  47 

第 3 章 指令系統 48 

3.1 ARM 指令格式  48 

3.2 條件碼  49 

3.3 ARM 指令的尋址方式  50 

3.4 ARMv7 架構指令集—Thumb-2 指令集  55 

3.4.1 存儲器訪問指令 56 

3.4.2 通用數據處理指令 60 

3.4.3 乘法和除法指令 65 

3.4.4 分支和分支控制指令 67 

3.4.5 飽和運算指令 SSAT 和 USAT  69 

3.4.6 位段操作指令 70 

3.4.7 雜項指令 71 

3.5 RISC-V 指令集簡介  75 

3.5.1 RISC-V 寄存器 75 

3.5.2 尋址方式和指令示例 76 

3.5.3 RISC-V 標準模塊和指令使用 77 

3.5.4 RISC-V 和其他指令集的比較 79 

3.6 匯編程序設計  80 

3.6.1 ARM 匯編語言格式規範 80 

3.6.2 ARM 匯編語言編寫格式示例 82 

3.7 本章小結  82 

3.8 習題  83 

第 4 章 系統控制 85 

4.1 功能組件  85 

4.1.1 復位控制 85 

4.1.2 時鐘控制 89 

4.1.3 電源管理 92 

4.1.4 嵌套向量中斷控制器 93 

4.1.5 DMA 控制器 98 

4.2 初始化配置  104 

4.3 操作實例  107 

4.3.1 時鐘例程一 107 

4.3.2 時鐘例程二 112 

4.4 本章小結  114 

4.5 習題  114 

第 5 章 存儲器  116 

5.1 存儲器分類  116 

5.1.1 RAM 存儲器 116 

5.1.2 ROM 存儲器 122 

5.1.3 Flash 存儲器 124 

5.1.4 鐵電存儲器 FRAM 129 

5.1.5 存儲控制器 132 

5.1.6 存儲器性能指標 136 

5.2 微控制器存儲器系統  137 

5.2.1 存儲器地址映射 137 

5.2.2 位帶操作 139 

5.2.3 存儲格式 140 

5.3 操作示例  143 

5.3.1 變量地址觀察例程 143 

5.3.2 Flash 擦寫例程 145 

5.4 本章小結  149 

5.5 習題  149 

第 6 章 基本外設  151 

6.1 通用輸入/輸出埠(GPIO)  151 

6.1.1 GPIO 簡介 151 

6.1.2 GPIO 示例 154 

6.1.3 初始化配置 155 

6.1.4 操作實例 155 

6.2 通用定時器/計數器 159 

6.2.1 通用定時器簡介 159 

6.2.2 定時器示例 161 

6.2.3 初始化配置 163 

6.2.4 操作實例 163 

6.3 脈沖寬度調制(PWM)  167 

6.3.1 PWM 簡介. 167 

6.3.2 PWM 示例. 169 

6.3.3 操作實例 170 

6.4 看門狗定時器(WDT) 174 

6.4.1 WDT 簡介 175 

6.4.2 MCU 中的看門狗 175 

6.4.3 操作實例 176 

6.5 實時時鐘(RTC)  179 

6.5.1 RTC 簡介  179 

6.5.2 RTC 示例  180 

6.5.3 操作實例 181 

6.6 本章小結  186 

6.7 習題  187 

第 7 章 通信外設  188 

7.1 數字通信系統概述  188 

7.2 UART 接口  189 

7.2.1 UART 簡介 189 

7.2.2 波特率 193 

7.2.3 UART 示例 193 

7.2.4 初始化配置 195 

7.2.5 操作實例 195 

7.3 SPI 接口 198 

7.3.1 SPI 簡介  198 

7.3.2 SPI 示例  200 

7.3.3 初始化配置 202 

7.3.4 操作實例 202 

7.4 I2C 接口 204 

7.4.1 I2C 簡介  204 

7.4.2 I2C 示例  209 

7.4.3 初始化配置 210 

7.4.4 操作實例 210 

7.5 USB 接口 215 

7.5.1 USB 接口概述  215 

7.5.2 USB 數據傳輸方式  218 

7.6 CAN 總線  220 

7.7 本章小結  221 

7.8 習題  222 

第 8 章 模擬外設  223 

8.1 模數轉換器(ADC) 223 

8.1.1 ADC 簡介  223 

8.1.2 ADC 性能指標  225 

8.1.3 ADC 類型  226 

8.1.4 初始化配置 231 

8.1.5 ADC 示例  231 

8.1.6 操作實例 233 

8.2 模擬比較器(AC)  237 

8.2.1 模擬比較器簡介 238 

8.2.2 初始化配置 239 

8.2.3 操作實例 240 

8.3 數模轉換器(DAC) 242 

8.3.1 DAC 簡介  242 

8.3.2 DAC 類型  243 

8.3.3 DAC 的技術指標  244 

8.3.4 操作實例 244 

8.4 本章小結  247 

8.5 習題  248 

第 9 章 嵌入式實時操作系統. 249 

9.1 常用的嵌入式操作系統  249 

9.2 RTOS 基礎 250 

9.2.1 RTOS 的基本概念  251 

9.2.2 使用 RTOS 的優勢 252 

9.2.3 RTOS 的功能組成  254 

9.3 FreeRTOS  258 

9.3.1 FreeRTOS 的體系結構 259 

9.3.2 FreeRTOS 的任務調度機制 259 

9.3.3 FreeRTOS 的任務管理 262 

9.3.4 FreeRTOS 任務通信機制 264 

9.3.5 FreeRTOS 任務同步機制 264 

9.3.6 FreeRTOS 移植到微控制器的方法 265 

9.3.7 Amazon FreeRTOS 265 

9.4 本章小結  265 

9.5 習題  266 

第 10 章 嵌入式軟件設計  267 

10.1 嵌入式系統軟件組成  267 

10.1.1 嵌入式系統軟件架構 267 

10.1.2 初始化引導程序 BootLoader 268 

10.1.3 板級支持包 BSP 269 

10.1.4 設備驅動程序 271 

10.1.5 庫函數 271 

10.2. 無 OS 的嵌入式軟件設計方法  272 

10.2.1 前後台系統 272 

10.2.2 中斷(事件)驅動系統 272 

10.2.3 巡迴服務系統 273 

10.2.4 基於定時器的巡迴服務系統 275 

10.3 基於 RTOS 的嵌入式軟件設計方法  275 

10.3.1 FreeRTOS 的任務創建及刪除示例 275 

10.3.2 FreeRTOS 的任務通信示例 280 

10.3.3 FreeRTOS 的任務同步(二進制信號量)示例  285 

10.3.4 FreeRTOS 軟件定時器示例 290 

10.4 基於 Linux 的嵌入式軟件設計方法  292 

10.5 本章小結  295 

10.6 習題  295 

第 11 章 物聯網技術 297 

11.1 物聯網概述  297 

11.1.1 技術及應用框架 298 

11.1.2 相關技術 299 

11.2 無線通信技術  300 

11.2.1 NFC 300 

11.2.2 ZigBee 301 

11.2.3 BLE 302 

11.2.4 Wi-Fi 303 

11.2.5 LoRa  304 

11.2.6 NB-IoT  305 

11.2.7 無線通信技術比較 306 

11.3 終端技術  306 

11.3.1 Android 系統 307 

11.3.2 iOS 系統  308 

11.3.3 Web 和 HTML 技術 309 

11.4 服務器和雲計算  310 

11.4.1 獨立服務器和雲主機 310 

11.4.2 雲計算 311 

11.5 開發平臺和操作系統  312 

11.5.1 IoT 開發平臺  312 

11.5.2 IoT 操作系統  313 

11.6 MQTT 概述 315 

11.6.1 MQTT 特點 315 

11.6.2 MQTT 協議原理 316 

11.7 物聯網系統應用開發  317 

11.7.1 基於單點服務器的物聯網系統  318 

11.7.2 基於物聯網接入平臺的物聯網系統  318 

11.7.3 基於物聯網應用平臺的物聯網系統  320 

11.8 設備聯網方式  321 

11.9 本章小結  322 

11.10 習題  322 

第 12 章 物聯網開發實踐  324 

12.1 實驗環境  324 

12.2 物聯網實驗一  325 

12.2.1 實驗流程 327 

12.2.2 阿裡雲物聯網平臺操作 327 

12.2.3 設備端操作 340 

12.2.4 實驗現象與結果 344 

12.2.5 設備端程序流程圖 349 

12.3 物聯網實驗二  350 

12.3.1 實驗流程 351 

12.3.2 物聯網應用開發平臺配置 351 

12.3.3 設備端配置 359 

12.3.4 應用端操作 362 

12.3.5 設備端實驗流程圖 366 

12.4 本章小結  367 

12.5 習題  367 

第 13 章 低功耗與電磁兼容  368 

13.1 低功耗設計方法  368 

13.1.1 利用 I/O 引腳為外部器件供電  368 

13.1.2 電源管理單元的設計 369 

13.1.3 動態改變 CPU 的時鐘頻率  369 

13.1.4 軟件系統的低功耗設計 370 

13.2 電源設計  372 

13.2.1 電池的選擇 373 

13.2.2 超低靜態電流 LDO  376 

13.2.3 直流/直流轉換器  377 

13.3 電磁兼容性  378 

13.3.1 電磁乾擾的形成 378 

13.3.2 電磁兼容常用元器件 380 

13.3.3 電磁兼容常用技巧 381 

13.4 本章小結  384 

13.5 習題  384 

參考文獻 386