ARM Cortex-M4F 控制器原理與創新設計 — 基於 TI SimpleLink MSP432 處理器
內容描述
本書根據作者多年MSP432微控制器開發設計經驗,從實用性和先進性出發,遵循由淺入深、循序漸進的原則,較全面地講解了MSP432微控制器的知識體系。全書主要內容包括:Cortex-M4F內核、MSP432微控制器特點、硬件結構與軟件設計開發基礎、通用輸入/輸出埠、復位控制器、系統控制器、中斷系統、時鐘系統、定時器、常用通信接口eUSCI、電源管理、內部存儲、模擬轉換與比較器、高級加密標準模塊(AES256)、循環冗餘校驗模塊(CRC32)、MSP432E401設計與開發、基於MSP432的簡易電路特性測試儀系統—2019年全國大學生電子設計競賽最高獎(TI杯)作品。本書以培養學生的MSP432微控制器的應用能力為目標,理論聯系實際,可操作強。本書既可作為高等學校自動化、電氣工程、電子信息、儀器儀表、機電一體化及電腦相關專業的單片機課程基礎教材,也可供相關領域的工程技術人員學習、參考。
目錄大綱
目 錄
第1章 概述 1
1.1 Cortex-M4F內核 1
1.1.1 Cortex-M4F內核簡介 1
1.1.2 Cortex-M4F內核結構 2
1.2 Cortex-M4F外設 4
1.2.1 功能外設 4
1.2.2 調試外設 5
1.3 第一個MSP432實例 6
1.3.1 MSP432P401簡介 6
1.3.2 MSP432P401最小系統設計 10
1.3.3 Keil MDK軟件安裝 11
1.3.4 SimpleLink? MCU SDK
簡介與安裝 15
1.3.5 Keil MDK軟件編譯與調試 17
1.4 小結與思考 20
習題與思考 20
第2章 軟硬件設計基礎 21
2.1 C語言基礎知識 21
2.1.1 標識符與關鍵字 21
2.1.2 數據基本類型 22
2.1.3 運算符 23
2.1.4 程序基本結構 27
2.1.5 函數 33
2.1.6 數組與指針 37
2.1.7 預處理 41
2.1.8 結構體 44
2.1.9 MSP432 C語言擴展特性 49
2.2 規範化編程 51
2.2.1 微控制器基本程序框架 51
2.2.2 編程規範 53
2.3 MSP432硬件平台介紹 56
2.3.1 基本輸入/輸出外設 56
2.3.2 通信接口外設 59
2.4 基於寄存器的MSP432編程 61
2.4.1 新建工程 61
2.4.2 程序下載與調試 65
2.4.3 寄存器程序設計相關
注意事項 67
2.5 基於庫函數的MSP432編程 72
2.5.1 庫函數與寄存器程序開發
比較 72
2.5.2 驅動庫DriverLib說明 74
2.5.3 基於庫函數的工程模板 76
2.6 小結與思考 80
習題與思考 81
第3章 輸入/輸出端口 82
3.1 通用輸入/輸出端口(GPIO) 82
3.1.1 GPIO原理 82
3.1.2 GPIO寄存器 84
3.2 GPIO寄存器編程 87
3.2.1 GPIO輸出 87
3.2.2 GPIO輸入 88
3.2.3 GPIO中斷 89
3.3 GPIO驅動庫編程 90
3.3.1 庫函數說明 90
3.3.2 GPIO庫函數編程實例 93
3.4 端口映射控制器(PMAP) 97
3.4.1 PMAP原理 97
3.4.2 PMAP寄存器 98
3.4.3 PMAP庫函數 99
3.4.4 PMAP應用實例 99
3.5 端口電容觸摸(CAPTIO) 101
3.5.1 CAPTIO原理 101
3.5.2 CAPTIO庫函數 103
3.5.3 CAPTIO應用實例 104
3.6 小結與思考 106
習題與思考 106
第4章 復位控制器與系統控制器 107
4.1 復位控制器(ResetCtl) 107
4.1.1 ResetCtl原理 107
4.1.2 ResetCtl庫函數 109
4.1.3 ResetCtl應用實例 111
4.2 系統控制器(SysCtl) 112
4.2.1 SysCtl原理 112
4.2.2 SysCtl庫函數 114
4.2.3 SysCtl應用實例 117
4.3 小結與思考 119
習題與思考 119
第5章 內嵌向量中斷控制器 120
5.1 中斷概述 120
5.1.1 中斷基本概念 120
5.1.2 嵌套向量中斷
控制器(NVIC) 121
5.2 中斷源與庫函數 122
5.2.1 中斷源說明 122
5.2.2 庫函數說明 123
5.3 NVIC應用實例 126
5.4 小結與思考 128
習題與思考 129
第6章 時鐘系統與低功耗模式 130
6.1 時鐘系統(CS) 130
6.1.1 時鐘系統原理 130
6.1.2 低頻振盪器(LFXT) 132
6.1.3 高頻振盪器(HFXT) 132
6.1.4 內部超低功率
低頻振盪器(VLO) 133
6.1.5 內部低功率
低頻振盪器(REFO) 133
6.1.6 模塊振盪器(MODOSC) 134
6.1.7 系統振盪器(SYSOSC) 134
6.1.8 數字可控振盪器(DCO) 134
6.1.9 時鐘系統寄存器 135
6.2 低功耗模式(LPM) 135
6.2.1 LPM原理 135
6.2.2 LPM編程 137
6.3 CS庫函數說明 137
6.4 CS編程實例 141
6.5 小結與思考 150
習題與思考 150
第7章 定時器 151
7.1 16位定時器(Timer_A) 151
7.1.1 Timer_A原理 151
7.1.2 Timer_A庫函數 156
7.1.3 Timer_A編程實例 162
7.2 32位定時器(Timer32) 181
7.2.1 Timer32原理 181
7.2.2 Timer32庫函數 182
7.2.3 Timer32編程實例 184
7.3 滴答定時器(SysTick) 186
7.3.1 SysTick原理 186
7.3.2 SysTick庫函數 187
7.3.3 SysTick編程實例 188
7.4 看門狗定時器(WDT_A) 190
7.4.1 WDT_A原理 190
7.4.2 WDT_A庫函數 192
7.4.3 WDT_A編程實例 193
7.5 實時時鐘(RTC_C) 198
7.5.1 RTC_C原理 198
7.5.2 RTC_C庫函數 202
7.5.3 RTC_C編程實例 205
7.6 小結與思考 208
習題與思考 208
第8章 增強型通用串行通信接口
eUSCI 209
8.1 UART模式 209
8.1.1 UART模式原理 209
8.1.2 UART庫函數 219
8.1.3 UART應用實例 223
8.2 SPI模式 226
8.2.1 SPI模式原理 226
8.2.2 SPI庫函數 231
8.2.3 SPI應用實例 234
8.3 IIC模式 242
8.3.1 IIC模式原理 242
8.3.2 IIC庫函數 250
8.3.3 IIC應用實例 257
8.4 小結與思考 263
習題與思考 263
第9章 電源管理 264
9.1 電源控制模塊(PCM) 264
9.1.1 PCM原理 264
9.1.2 PCM庫函數 270
9.1.3 PCM應用實例 273
9.2 供電系統(PSS) 283
9.2.1 PSS原理 283
9.2.2 PSS庫函數 284
9.2.3 PSS應用實例 286
9.3 參考模塊(REF_A) 288
9.3.1 REF_A原理 288
9.3.2 REF_A庫函數 289
9.3.3 REF_A應用實例 291
9.4 小結與思考 293
習題與思考 294
第10章 內部存儲 295
10.1 直接存儲器訪問(DMA) 295
10.1.1 DMA原理 295
10.1.2 DMA庫函數 304
10.1.3 DMA應用實例 308
10.2 閃存控制器(FlashCtl) 311
10.2.1 FlashCtl原理 311
10.2.2 FlashCtl庫函數 314
10.2.3 FlashCtl應用實例 318
10.3 浮點處理單元(FPU) 320
10.3.1 FPU原理 320
10.3.2 FPU庫函數 323
10.3.3 FPU應用實例 324
10.4 內存保護單元(MPU) 326
10.4.1 MPU原理 326
10.4.2 MPU庫函數 327
10.4.3 MPU應用實例 328
10.5 小結與思考 330
習題與思考 330
第11章 模數轉換器與模擬比較器 331
11.1 模數轉換器(ADC14) 331
11.1.1 ADC14原理 331
11.1.2 ADC14庫函數 340
11.1.3 ADC14應用實例 345
11.2 模擬比較器(COMP_E) 361
11.2.1 COMP_E原理 361
11.2.2 COMP_E庫函數 365
11.2.3 COMP_E應用實例 368
11.3 小結與思考 371
習題與思考 371
第12章 高級加密標準模塊
與循環冗餘校驗模塊 372
12.1 高級加密標準模塊(AES256) 372
12.1.1 AES256原理 372
12.1.2 AES256庫函數 377
12.1.3 AES256應用實例 379
12.2 循環冗餘校驗模塊(CRC32) 382
12.2.1 CRC32原理 382
12.2.2 CRC32庫函數 384
12.2.3 CRC32應用實例 386
12.3 小結與思考 388
習題與思考 389
第13章 MSP432E401設計與開發 390
13.1 MSP432E401概述 390
13.1.1 MSP432E401特性 390
13.1.2 MSP432E401內部結構 391
13.2 MSP432E401電路設計 394
13.3 MSP432E401庫函數 395
13.3.1 GPIO相關庫函數 395
13.3.2 UA-RT相關庫函數 400
13.3.3 SSI相關庫函數 402
13.3.4 定時器相關庫函數 404
13.3.5 ADC相關庫函數 406
13.4 MSP432E401程序設計實例 410
13.4.1 GPIO實例 410
13.4.2 液晶顯示實例 411
13.4.3 UART通信實例 414
13.4.4 定時器實例 417
13.4.5 ADC實例 419
13.5 小結與思考 422
習題與思考 422
第14章 簡易電路特性測試儀
―2019年全國大學生電子設計
競賽最高獎(TI杯) 423
14.1 賽題要求 423
14.2 方案比較與選擇 424
14.3 理論分析與計算 426
14.4 系統具體設計 429
14.4.1 硬件電路設計 429
14.4.2 軟件程序設計 431
14.5 系統調試與測試結果 432
14.6 小結與思考 433
參考文獻 434
作者介紹
李勝銘,碩士,大連理工大學創新創業學院創新中心主任、機電創新實踐班教師,大連市人工智能協會秘書。
從事嵌入式、機器學習及物聯網等方面的研究。
負責教育部高等教育司產學合作協同育人項目6項、負責企業委託開發項目多項,參與國家自然科學基金項目等多項。
獲卓越大學聯盟高校青年教師教學創新大賽全國二等獎,獲得專利4項,軟件著作權登記10餘項,發表教學論文10餘篇。指導學生參加電子設計競賽與智能汽車競賽,競賽成績位居全國前列,其中連續獲得 2013、2015、2017 全國大學生電子設計競賽一等獎,2015 年獲全國電子設計競賽的獎―"瑞薩杯”;全國大學生智能車競賽一等獎、東北賽區冠軍;2012、2014、2016、2018 年獲遼寧省大學生電子設計競賽獎―"TI”杯。連續6年榮獲全國大學生電子設計競賽優秀指導教師、全國大學生智能車競賽優秀指導教師、創新創業學院優秀指導教師、創新創業學院教學優秀質量獎等榮譽稱號。