微控制器原理與應用:基於STM32 ARM Cortex-M4F處理器
作  者╱
張國清、陳延華、柯松源、廖冠雄
出版社別╱
五南
出版日期╱
2022/09/25   (2版 1刷)
  
即日起五南舊官網僅提供書籍查詢,如欲購書,請至五南新官網 https://www.wunan.com.tw/
I  S  B  N ╱
978-626-343-236-9
書  號╱
5R27
頁  數╱
424
開  數╱
16K
定  價╱
550 (特價 435)



本書主要內容包括ARM Cortex-M4處理器與STM32F4微控制器簡介、STM32CubeMX、Keil MDK-ARM與STM-Studio開發工具的介紹、通用輸入輸出埠技術、中斷技術、串列通信技術、TFT LCD顯示與觸控控制技術、FATFS檔案系統與SD卡讀寫控制技術。本書附有完整的範例程式與詳盡的實驗步驟,帶領讀者逐步完成微控制器程式的設計撰寫,培養讀者微控制器系統的開發能力。

張國清
臺灣大學電機工程學博士
現任義守大學資訊工程學系專任副教授。其研究專長為微處理器架構、嵌入式系統、作業系統、物聯網、人工智慧等。曾參與過中華電信多項專案研究計畫,曾榮獲Altera亞洲創新設計大賽卓越指導老師獎,也曾獲得義守大學電機資訊學院傑出教學獎,擁有豐富的實務及教學經驗。

陳延華
義守大學電機研究所博士
目前任職於義守大學資工系專任教授,本書作者從事程式設計領域教學多年,廣泛接觸各種不同背景與程度的學生,對於毫無基礎或不同程度的初學者,學會如何撰寫程式,有獨特見解與教學方法。

柯松源
英國克倫菲爾大學博士
從事嵌入式系統設計與分析的工作多年,對微處理器的架構有深入的研究。專長為數位信號處理、雷達工程。曾帶領學生獲得「全國大專院校嵌入式軟體設計競賽」多媒體應用組的優等獎,也曾獲得國科會自由軟體嵌入式系統計畫類績優計畫獎,擁有豐富的實務及教學經驗。

廖冠雄
清華大學資訊工程學博士
現任義守大學資訊工程學系專任助理教授。其研究專長為無線網路、物聯網、網際網路電信、光波網路等。擁有多年網路相關課程授課經驗,參與過多項物聯網相關磨課師課程教材開發,對嵌入式系統軟體開發也具有相當的實務經驗。

第1章 ARM Cortex-M4處理器與STM32F4微控制器簡介
1-1 Cortex-M處理器家族
1-2 ARM Cortex-M4F處理器基本結構
1-3 STM32F412ZGT6微處理器

第2章 STM32F4系列微控制器開發平台與開發工具介紹
2-1 開發平台:STM32F412G-DISCO探索板
2-2 系統需求
2-3 開發工具

第3章 最小軟體系統
3-1 最小軟體系統製作
3-2 開機啟動程式

第4章 通用輸入輸出埠GPIO與LED顯示控制
4-1 GPIO簡介
4-2 GPIO埠基本結構介紹
4-3 LED閃爍的實驗:使用GPIO輸出控制LED顯示
4-4 LED_Blink專案程式碼解說
4-5 BSP函數庫:使用BSP函數控制LED顯示

第5章 JOYSTICK輸入控制
5-1 GPIO輸入模式
5-2 JOYSTICK單鈕控制LED燈(On/Off)
5-3 JOYSTICK多鈕控制LED燈狀態
5-4 使用BSP函數實作多按鈕控制LED燈狀態

第6章 TFT LCD顯示控制
6-1 TFT LCD裝置
6-2 FSMC介面
6-3 利用STM32CubeMX創建TFT LCD專案
6-4 TFT LCD顯示文字的實驗
6-5 TFT LCD顯示棋盤圖案的實驗
6-6 TFT LCD顯示動態圖案的實驗

第7章 基本計時器(Timer)
7-1 基本計時器簡介
7-2 定時中斷控制LED燈閃爍

第8章 外部中斷控制
8-1 外部中斷控制器簡介
8-2 外部中斷控制專案配置與中斷處理程式設計與測試
8-3 JOYSTICK單鈕中斷觸發改變LED燈閃爍速度
8-4 JOYSTICK多按鈕中斷控制LED顯示

第9章 脈波寬度調變控制
9-1 計時器PWM模式
9-2 PWM控制的實驗

第10章 即時時鐘控制
10-1 RTC簡介
10-2 RTC日曆
10-3 RTC鬧鐘
10-4 RTC日曆與鬧鐘功能實驗

第11章 觸控螢幕控制
11-1 觸摸晶片簡介
11-2 I2C介面簡介
11-3 建立觸控螢幕專案
11-4 TFT LCD觸控螢幕控制的實驗

第12章 類比至數位轉換器(ADC)
12-1 逐次逼近型(SAR:Successive Approximation Register)ADC原理
12-2 ADC的主要參數
12-3 STM32F412ZGT6上的ADC
12-4 利用ADC量測MCU內部溫度

第13章 UART通訊界面
13-1 UART簡介
13-2 輪詢式(Polling)UART通訊
13-3 中斷式(Interrupt) UART通訊
13-4 直接記憶體存取式(DMA) UART通訊

第14章 音訊錄製與播放
14-1 原理簡介
14-2 音訊錄製與播放之STM32CubeMX配置
14-3 音訊錄製與播放的軟體設計

第15章 FATFS檔案系統與SD卡讀寫控制
15-1 SD/SDIO MMC卡介面
15-2 FATFS簡介
15-3 利用STM32CubeMX創建SD卡讀寫控制的專案
15-4 SD卡讀寫控制的實驗

第16章 圖像播放器
16-1 利用STM32cubeMX創建圖像播放器
16-2 圖像播放的軟體設計

Illustr
ator設計新
手必學工作術
Python程
式設計的12堂
必修課
資料結構:使用
Visual
C#
ChatGPT
在資訊科技的萬
用技巧
資料結構:使用
Python
資料結構:使用
Java



5R27_ED2-DATA FILE.RAR



ARM Cortex-M4處理器與STM32F4微控制器簡介

ARM Cortex處理器屬於ARMv7架構,如圖1-1,分為Cortex-A、Cortex-R和Cortex-M三子系列。Cortex-A是一種應用處理器(application processor),它是針對高效能應用平台系統而設計,通常用於行動運算、智慧型手機、高能效伺服器等。Cortex-R是一種即時處理器(real-time processor),其設計強化了即時應用系統的性能與可靠度,適用於硬碟控制器、汽車傳動系統和無線通訊的基頻控制等領域。Cortex-M是一種微控制處理器(microcontroller processor),專門用於嵌入式微控制領城,具有高成本效益比的優勢,通常用於智能電表、穿戴式裝置、汽車與工業控制系統、消費電子產品和物聯網等。
本書選擇一款STMicroelectronics(意法半導體)STM32F412G-DISCO探索板作為開發平台(如圖1-2),此探索板含有STM32F412ZGT6高效能微控制器與豐富的周邊介面,如TFT LCD觸控螢幕、LED、I2S音訊編解碼器、數位MEMS麥克風、搖桿、USB OTG FS、四路SPI快閃記憶體及microSD記憶卡連接器。其中,STM¬32F412ZGT6微控制器(如圖1-3)是基於高性能ARM Cortex-M4F 32位元RISC內核的高效能微控制器,工作頻率高達100 MHz,125 DMIPS性能,Cortex-M4F內核具有單精確度浮點單元(Floating Point Unit, FPU),支援多有ARM單精確度資料處理指令和資料類型,嵌入高速記憶體(1MB快閃記憶體,256 KB SRAM)。此探索板售價在台幣1000元以下,讀者可於以下網站購得。
https://www.mouser.tw/、https://www.digikey.tw/
本章將介紹Cortex-M處理器家族、Cortex-M4F內核的基本結構,以及基於Cortex-M4F內核的高效能STM32F412ZGT6微處理器。

1-1  Cortex-M處理器家族
ARM Cortex-M架構,依照系統功能需求分成M0至M4與M7的等級,Cortex-M0 用於初階8/16位元應用,Cortex-M3針對中階的16/32位元應用,Cortex-M4主打高階32位元與數位信號控制應用,而Cortex-M7是Cortex-M家族最新和最高性能的處理器內核,適合用於旗艦級消費者、工業、醫療和物聯網(IoT)設備。因此,Cortex-M處理器家族包含各式功能的處理器類型來滿足不同的需求:

1-2  ARM Cortex-M4F處理器基本結構
Cortex-M4F處理器是基於ARMv7-M架構的32位元高性能處理器內核,採用三級管線(three-stage pipeline)的哈佛架構,支援Thumb-2技術的指令集,確保高代碼密度和降低程式存儲需求,該處理器提供符合IEEE754的單精確度浮點運算單元、一系列單週期乘加(MAC)指令、單指令多資料(SIMD)指令和飽和運算,以及專用的硬體除法器,大大減少數位信號分析、濾波、波形合成等功能所需要的執行週期數,用以滿足需要高效的控制和數位信號處理(DSP)功能混合的嵌入式微控制器應用的市場。
Cortex-M4F處理器基本結構如圖1-4所示,包含處理器內核、FPU、DSP、巢狀向量中斷控制器( Nested Vectored Interrupt Controller,NVIC)、記憶體保護單元( Memory Protection Unit,MPU )、匯流排介面單元和追蹤除錯單元等。

1-2-1  處理器內核
一、處理器工作模式和軟體執行的特權級別
Cortex-M4F處理器具有兩種工作模式,如圖1-5:
1. 執行緒模式(thread mode)
用於執行應用程式軟體。處理器重置後,進入執行緒模式。
2. 處理器模式(handler mode)
用於處理異常。當處理器完成異常的處理之後返回到執行緒模式。
Cortex-M4F有兩種許可權級別:特權級(privileged)與非特權級(unprivileged)。