RISC-V 架構嵌入式系統原理與應用 — CH32V103 單片機編程與項目實踐

RISC-V 架構嵌入式系統原理與應用 — CH32V103 單片機編程與項目實踐

作者: 裴曉芳
出版社: 北京航空航天大學
出版在: 2021-06-01
ISBN-13: 9787512435070
ISBN-10: 751243507X
裝訂格式: 平裝
總頁數: 356 頁





內容描述


本書以南京沁恆微電子股份有限公司自主研發的基於RISC-V內核的CH32V103單片機基本結構與原理為主線,
詳細闡述CH32V103的功能結構與應用系統開發的一般技術。
全書共19章。
前3章簡要敘述RISC-V架構的背景知識,第4章和第5章介紹CH32V103單片機的軟硬件開發環境,
第6~17章介紹CH32V103單片機的外設模塊及應用實例,
第18章和第19章是藍牙加密U盤和智能家居應用兩個綜合實驗案例。
本書可作為高等學校電子信息工程、通信工程、計算機科學與技術、物聯網工程、自動化等專業的教材,
也可作為對RISC-V處理器感興趣或者有應用需求的工程技術人員的參考書。
書中相關例程下載請見前言。


目錄大綱


目錄
第1章嵌入式系統簡介 1
1.1 嵌入式系統概述 1
1.1.1 嵌入式系統特點 1
1.1.2 嵌入式系統發展趨勢 2
1.2 ARM 架構介紹 3
1.2.1 ARM 的歷史背景 3
1.2.2 ARM 系列簡介 4
1.2.3 ARM 的發展趨勢 6
1.3 RISC-V架構介紹 7
1.3.1 RISC-V架構的歷史背景 7
1.3.2 RISC-V架構的發展趨勢 7
本章小結 7
第2章RISC-V指令集架構簡介 8
2.1 RISC-V架構設計特點 8
2.2 RISC-V架構特性 8
2.3 RISC-V與其他架構的比較14
2.4 RISC-V與CH32V103的關係15
本章小結15
第3章RISC-V架構的中斷和異常16
3.1 RISC-V中斷和異常概述16
3.1.1 中斷概述16
3.1.2 異常概述16
3.2 RISC-V中斷機制17
3.2.1 中斷類型17
3.2.2 中斷屏蔽17
3.2.3 中斷級別、優先級與仲裁18
3.2.4 進入中斷處理18
3.2.5 退出中斷處理18
3.2.6 中斷嵌套19
3.3 RISC-V異常機制19
3.3.1 異常屏蔽19
3.3.2 異常的優先級20
3.3.3 進入異常處理模式20
3.3.4 退出異常處理模式20
3.3.5 異常服務程序20
3.4 CSR寄存器介紹21
本章小結26
第4章CH32V103硬件基礎27
4.1 CH32系列單片機外部結構28
4.1.1 CH32系列單片機命名規則28
4.1.2 CH32系列單片機引腳功能29
4.2 CH32V103單片機內部結構30
4.2.1 CH32V103單片機內部總線結構30
4.2.2 CH32V103單片機內部時鐘系統32
4.2.3 CH32V103單片機內部復位系統34
4.2.4 CH32V103單片機內部存儲器結構35
4.3 CH32V103最小系統設計36
本章小結38
第5章CH32V103軟件開發環境39
5.1 開發軟件MRS簡介與安裝39
5.2 軟件環境42
5.3 創建項目43
5.4 編譯代碼45
5.5 下載代碼51
5.6 調試代碼52
本章小結55
第6章CH32單片機的輸入/輸出接口GPIO 56
6.1 GPIO主要特徵56
6.2 GPIO功能說明58
6.2.1 工作模式58
6.2.2 外部中斷58
6.2.3 復用功能58
6.2.4 鎖定機制59
6.3 GPIO庫函數59
6.4 GPIO使用流程63
6.4.1 普通GPIO配置63
6.4.2 引腳復用功能配置63
6.5 項目 實戰:流水燈66
6.5.1 硬件設計66
6.5.2 軟件設計66
6.5.3 系統調試68
本章小結69
第7章CH32單片機外部中斷EXTI 70
7.1 CH32V103中斷系統組成結構70
7.1.1 中斷源及中斷向量70
7.1.2 外部中斷系統結構73
7.2 中斷控制74
7.2.1 中斷屏蔽控制74
7.2.2 中斷優先級控制75
7.3 中斷控制常用庫函數介紹76
7.3.1 快速可編程中斷控制器庫函數76
7.3.2 CH32V103外部中斷EXTI庫函數78
7.4 外部中斷使用流程82
7.4.1 PFIC配置82
7.4.2 中斷端口設置82
7.4.3 中斷處理83
7.5 項目 實戰:按鍵中斷控制LED燈84
7.5.1 硬件設計84
7.5.2 軟件設計84
7.5.3 系統調試89
本章小結89
第8章通用同步異步收發器USART 90
8.1 串行通信簡介90
8.1.1 串行通信與並行通信90
8.1.2 單工通信、半雙工通信與雙工通信91
8.1.3 同步通信與異步通信91
8.1.4 串行異步通信的數據傳輸格式91
8.2 USART的結構及工作方式92
8.2.1 結構框圖92
8.2.2 工作模式94
8.2.3 CH32V103串行異步通信的工作方式95
8.3 常用庫函數介紹96
8.4 使用流程103
8.5 項目 實戰:串口數據查詢方式收發104
8.5.1 硬件設計104
8.5.2 軟件設計105
8.5.3 系統調試107
本章小結108
第9章定時器TIM 109
9.1 CH32V103定時器概述109
9.1.1 定時器類型109
9.1.2 計數模式110
9.1.3 主要功能介紹110
9.2 CH32V103通用定時器的結構111
9.2.1 輸入時鐘112
9.2.2 核心計數器112
9.2.3 比較捕獲通道112
9.2.4 通用定時器的功能寄存器113
9.2.5 通用定時器的外部觸發及輸入/輸出通道113
9.3 CH32V103通用定時器的功能113
9.3.1 輸入捕獲模式114
9.3.2 比較輸出模式114
9.3.3 強制輸出模式115
9.3.4 PWM 輸入模式115
9.3.5 PWM 輸出模式115
9.3.6 單脈沖模式116
9.3.7 編碼器模式116
9.3.8 定時器同步模式117
9.3.9 調試模式117
9.4 通用定時器常用庫函數117
9.5 通用定時器使用流程128
9.5.1 PFIC設置128
9.5.2 定時器中斷配置128
9.5.3 定時器中斷處理129
9.6 項目實戰1:精確定時實驗129
9.6.1 硬件設計129
9.6.2 軟件設計129
9.6.3 系統調試131
9.7 項目實戰2:脈寬調製131
9.7.1 硬件設計131
9.7.2 軟件設計132
9.7.3 系統調試133
本章小結134
第10章看門狗定時器135
10.1 CH32V103看門狗概述135
10.2 獨立看門狗135
10.2.1 獨立看門狗主要特徵135
10.2.2 獨立看門狗結構框圖136
10.3 窗口看門狗136
10.3.1 窗口看門狗主要特徵136
10.3.2 窗口看門狗結構框圖136
10.3.3 窗口看門狗功能說明137
10.4 常用庫函數介紹138
10.5 看門狗使用流程144
10.5.1 獨立看門狗使用流程144
10.5.2 窗口看門狗使用流程144
10.6 項目實戰1:獨立看門狗應用145
10.6.1 硬件設計145
10.6.2 軟件設計145
10.6.3 系統調試148
10.7 項目實戰2:窗口看門狗應用149
10.7.1 硬件設計149
10.7.2 軟件設計149
10.7.3 系統調試153
本章小結153
第11章直接存儲器訪問控制DMA 154
11.1 CH32V103的DMA控制器154
11.2 DMA功能描述155
11.2.1 仲裁優先級155
11.2.2 DMA配置155
11.2.3 循環模式156
11.2.4 DMA處理狀態156
11.2.5 可編程的數據傳輸總量/數據位寬/對齊方式156
11.2.6 DMA請求映射156
11.3 DMA常用庫函數158
11.4 DMA使用流程163
11.4.1 PFIC設置163
11.4.2 DMA模式及中斷配置163
11.4.3 DMA中斷服務程序164
11.5 項目 實戰:DMA存儲器到存儲器164
11.5.1 硬件設計164
11.5.2 軟件設計164
11.5.3 系統調試168
本章小結168
第12章串行設備通信接口SPI 169
12.1 SPI總線通信簡介169
12.1.1 SPI總線的組成169
12.1.2 SPI總線的功能170
12.2 SPI結構框圖170
12.3 SPI功能描述171
12.3.1 從選擇管理171
12.3.2 時鐘相位與極性172
12.3.3 主模式173
12.3.4 從模式173
12.3.5 單工模式173
12.3.6 CRC校驗174
12.3.7 DMA的SPI通信174
12.3.8 錯誤狀態174
12.3.9 中斷174
12.4 SPI常用庫函數175
12.5 SPI使用流程181
12.6 項目實戰:W25Q16讀寫實驗182
12.6.1 硬件設計183
12.6.2 軟件設計183
12.6.3 系統調試189
本章小結189
第13章內部集成電路總線I2C 190
13.1 I2C總線通信簡介190
13.1.1 I2C總線特點190
13.1.2 I2C總線術語191
13.1.3 I2C物理層191
13.1.4 I2C協議層192
13.1.5 數據傳輸格式193
13.2 CH32V103的I2C功能與結構框圖195
13.3 I2C的通信模式196
13.3.1 主模式196
13.3.2 從模式198
13.3.3 錯誤199
13.3.4 時鐘延長199
13.3.5 SMBus 200
13.3.6 DMA 200
13.3.7 中斷201
13.3.8 包錯誤校驗202
13.4 I2C常用庫函數介紹202
13.5 I2C使用流程213
13.6 項目實戰:讀寫EEPROM 芯片AT24C02 213
13.6.1 硬件設計213
13.6.2 軟件設計217
13.6.3 系統調試221
本章小結222
第14章實時時鐘RTC 223
14.1 CH32V103的RTC概述223
14.1.1 CH32V103的RTC 223
14.1.2 UNIX時間戳223
14.2 RTC結構框圖224
14.3 常用庫函數介紹225
14.4 使用流程230
14.5 項目 實戰:利用RTC實現萬年曆231
14.5.1 硬件設計231
14.5.2 軟件設計232
14.5.3 系統調試238
本章小結238
第15章循環冗餘校驗CRC 239
15.1 CRC校驗概述239
15.2 CH32V103中的CRC計算單元239
15.2.1 主要特徵239
15.2.2 功能描述239
15.2.3 結構框圖240
15.3 CRC應用240
15.4 常用庫函數介紹240
15.5 項目 實戰:CRC數據校驗243
15.5.1 硬件設計243
15.5.2 軟件設計243
15.5.3 系統調試244
本章小結244
第16章模/數轉換器ADC 245
16.1 ADC概述245
16.1.1 ADC分類245
16.1.2 ADC性能指標245
16.2 CH32V103的ADC簡介246
16.3 CH32V103的ADC結構框圖246
16.4 ADC的功能描述248
16.4.1 開關、時鐘及通道248
16.4.2 轉換模式控制249
16.4.3 中斷和DMA請求250
16.4.4 其他功能251
16.5 ADC常用庫函數介紹253
16.6 ADC使用流程269
16.7 項目實戰:外部電壓採集269
16.7.1 硬件設計269
16.7.2 軟件設計270
16.7.3 系統調試272
本章小結273
第17章USB全速主機/設備控制器USBHD 274
17.1 USB簡介及協議基礎274
17.1.1 USB簡介274
17.1.2 USB的電氣特性274
17.1.3 USB的插入檢測機制274
17.1.4 USB的描述符275
17.1.5 USB包的結構276
17.1.6 USB的四種傳輸類型277
17.2 CH32V103的USBHD主要特徵278
17.3 功能說明278
17.3.1 USB全局寄存器278
17.3.2 USB設備控制寄存器278
17.3.3 USB主機控制寄存器279
17.4 庫函數介紹279
17.5 項目 實戰1:U盤文件讀寫282
17.5.1 硬件設計282
17.5.2 軟件設計282
17.5.3 系統調試286
17.6 項目實戰2:實現CDC串口287
17.6.1 硬件設計287
17.6.2 軟件設計287
17.6.3 系統調試288
本章小結289
第18章綜合案例:藍牙加密U盤290
18.1 藍牙加密U盤介紹290
18.2 CH573簡介290
18.2.1 概述290
18.2.2 功能說明291
18.2.3 系統框圖292
18.2.4 無線通信介紹293
18.3 CH569簡介293
18.3.1 CH569概述293
18.3.2 功能說明293
18.3.3 系統框圖294
18.3.4 SD/EMMC控制器介紹296
18.3.5 USB 3.0控制器介紹296
18.4 硬件設計296
18.5 軟件設計299
18.6 系統調試304
18.6.1 CH573程序下載304
18.6.2 藍牙調試306
18.6.3 U盤功能測試308
本章小結308
第19章行業應用案例實戰:智能家居應用309
19.1 機智雲物聯網開發步驟309
19.1.1 創建新項目309
19.1.2 安裝手機App 311
19.1.3 自動生成代碼313
19.1.4 虛擬設備調試314
19.1.5 Wi Fi模塊固件燒錄316
19.1.6 移植機智雲代碼317
19.1.7 App綁定設備317
19.2 功能分析318
19.3 硬件設計318
19.4 軟件設計319
19.4.1 主程序功能軟件設計319
19.4.2 溫濕度檢測軟件設計319
19.4.3 機智雲控制設計321
19.4.4 物聯網功能實現321
19.5 系統調試322
本章小結324
附錄A RISC-V偽指令集325
附錄B RISC-V寄存器介紹327
B1 通用寄存器327
B2 控制和狀態寄存器328
附錄C RISC-V指令編碼列表336
C1 RV32I指令編碼336
C2 RV32M指令編碼337
C3 RV32F指令編碼337
C4 RV32A指令編碼338
C5 RV32D指令編碼338
C6 RV32Q指令編碼339
C7 RV32C指令編碼339
參考文獻341


作者介紹


裴曉芳
南京信息工程大學濱江學院電子信息工程學院副教授,一線授課老師。




相關書籍

Verilog 晶片設計, 3/e

作者 林灶生

2021-06-01

Digital Logic Design: A Rigorous Approach Reprint Edition

作者 Even Guy Medina Moti

2021-06-01

Automotive Embedded Systems Handbook (Hardcover)

作者 Nicolas Navet Francoise Simonot-Lion

2021-06-01