一、STM32 32 位 MCU 系列概述
參看:STM32 微控制器
參看:維基百科 – STM32
STM32 系列 32 位閃存微控制器基于 ARM? Cortex? M 處理器。 它提供的 32 位產品系列,具有超高性能、實時功能、數字信號處理、低功耗和低電壓工作等特性,同時還擁有全集成和易開發的優勢。
STM32 器件基于行業標準的 ARM? Cortex?-M0、M0+、M3、M4 和 M7 內核,配備種類繁多的工具和軟件可供選擇,使得該系列產品成為適合獨特項目乃至完整平臺決策的卓越之選。STM32 各系列之間可輕松移植,從而縮短上市時間。
我現在主要接觸到三款,一個是STM32F103、STM32F105、STM32F429.
那就看看下面這兩類:
1、STM32F1 系列主流 MCU
STMicroelectronics (意法半導體)的 STM32F1 系列主流 MCU,可滿足工業、醫療和消費電子市場的各種應用需求。 憑借這一系列,ST 在 ARM? Cortex?-M 微控制器領域占據領先地位,并樹立了嵌入式應用歷史的里程碑。
工作頻率最高達 72 MHz
1 MB 閃存
以太網 MAC、CAN 和 USB 2.0 OTG 通信接口
61 DMIPS / 177 CoreMark
該器件采用 LQFP64、LQFP100、LQFP144 和 WLCSP64 封裝。
2、具有 DSP 和 FPU 指令的 STM32F4 系列高性能 MCU
基于 ARM? Cortex?-M4 的 STM32F4 系列 MCU 采用 STMicroelectronics 的 NVM 技術和 ST 的 ART Accelerator?,在高達 180 MHz 的工作頻率下,從閃存執行高達 225 DMIPS / 608 CoreMark 的測試,結果達到業界所有 Cortex-M 型微控制器的最高基準分數。
STM32F4 系列包含 7 個系列的數字信號控制器 (DSC),完美結合了 MCU 的實時控制功能和 DSP 的信號處理性能:
STM32F401 – 84 MHz CPU/105 DMIPS,最小的高性價比解決方案,具有出色的功率效率(動態效率系列)
STM32F411 – 100 MHz CPU/125 DMIPS,具有出色的功率效率以及大 SRAM 和新智能 DMA,可優化數據批處理的功耗(帶批量采集模式的動態效率系列)
STM32F446 – 180 MHz/225 DMIPS,高達 512 KB 閃存,并配備雙 Quad SPI 和 SDRAM 接口
STM32F405/415 – 168 MHz CPU/210 DMIPS,高達 1 MB 閃存,配備高級連接功能和加密功能
STM32F407/417 – 168 MHz CPU/210 DMIPS,高達 1 MB 閃存,增加以太網 MAC 和相機接口
STM32F427/437 – 180 MHz CPU/225 DMIPS,高達 2 MB 雙組閃存,配備 SDRAM 接口、Chrom-ART Accelerator?、串行音頻接口,性能更高,靜態功耗更低
STM32F429/439 – 180 MHz CPU/225 DMIPS,高達 2 MB 雙組閃存,配備 SDRAM 接口、Chrom-ART Accelerator? 和 LCD-TFT 控制器
STM32F469/479 – 180 MHz CPU/225 DMIPS,高達 2 MB 雙組閃存,配備 SDRAM 和 QSPI 接口、Chrom-ART Accelerator?、LCD-TFT 控制器和 MPI-DSI 接口
記不住這些,器件選型怎么辦?
參看:ARM微控制器 - MCU,器件選型
二、Cortex內核
講Cortex內核不得不提下ARM架構.
1、ARM架構
參看:維基百科 – ARM架構
可以看到Cortex-M系列屬于ARMv7架構的。
ARMv7架構定義了三大分工明確的系列:
“A”系列:面向尖端的基于虛擬內存的操作系統和用戶應用
“R”系列:針對實時系統;
“M”系列:對微控制器。
參看:維基百科 – ARM架構英文
STM32F1 屬于Cortex-M系列中的Cortex-M3內核,采用ARMv7-M架構。
STM32F4 屬于Cortex-M系列中的Cortex-M4內核,采用ARMV7E-M架構。
Cortex-A5/A8采用ARMv7-A架構。
傳統的ARM7系列(ARM7TDMI、ARM7TDMI-S)采用的是ARMv4T架構。
2、Cortex-M家族
參看:維基百科 – Cortex-M
3、Cortex-M3
Cortex-M3內核的主要特性如下:
ARMv7-M架構
3級流水線與分支推測。
指令集:
Thumb-1(整個)。
Thumb-2(整個)。
32位硬件整數乘以32位或64位結果,有符號或無符號,乘法后加或減。32位乘法是1個周期,但是64位乘法和MAC指令需要額外的周期。
32位硬件整數除法(2-12個周期)。
飽和算術支持。
1到240個中斷,加上NMI。
12個周期中斷延遲。
集成的睡眠模式。
硅選項:
可選內存保護單元(MPU):0或8個區域。
4、Cortex-M4
從概念上講,Cortex-M4是Cortex-M3 plus DSP指令和可選的浮點單元(FPU)。如果內核包含FPU,則它被稱為Cortex-M4F,否則它是Cortex-M4。
Cortex-M4核心的主要特點是:
ARMv7E-M架構
3級流水線與分支推測。
指令集:
Thumb-1(整個)。
Thumb-2(整個)。
32位硬件整數乘以32位或64位結果,有符號或無符號,乘法后加或減。32位乘法和MAC是1個周期。
32位硬件整數除法(2-12個周期)。
飽和算術支持。
DSP擴展:單周期16/32位MAC,單周期雙16位MAC,8/16位SIMD算法。
1到240個中斷,加上NMI。
12個周期中斷延遲。
集成的睡眠模式。
硅選項:
可選浮點單元(FPU):僅符合IEEE-754標準的單精度。它被稱為FPv4-SP擴展。
可選內存保護單元(MPU):0或8個區域。
三、STM32概述
1、Cortex-M3芯片的基本結構
2、Cortex-M家族
3、STM32系列產品命名規則
四、舉個栗子
我使用的MCU為 STM32F105RCT6/GD32F105RCT6,根據上面的命名規則可知,Flash 256K,封裝 LQFP-64,最大時鐘頻率 72MHZ,數據RAM大小 64K。
參看:STM32F105RCT6 規格
通信接口 3xSPI;2xI2S;2xI2C;3xUSART;2xUART; USB OTG FS;2xCAN
外擴 SPI FLASH: W25Q32FVSSIG/GD25Q32BSI, 32Mb(4M字節)
上一篇:STM32開發 -- 串口詳解
下一篇: STM32開發 -- DMA詳解
推薦閱讀
史海拾趣