Arm® Cortex®-M4概述
32位Arm® Cortex®-M4处理器内核是Cortex-M阵容中首款采用专用数字信号处理(DSP) IP单元(包括可选浮点单元FPU)的内核。它适合需要高效率、易于使用的控制和信号处理能力的数字信号控制应用,如IoT、电机控制、电源管理、嵌入式音频、工业和家居自动化、医疗保健和健康应用。
正如Cortex-M3内核那样,Cortex-M4内核实现了1.25 DMIPS/MHz和3.42 CoreMark/MHz的线程性能。
Arm® Cortex®-M4内核的关键特征
- Armv7E-M架构
- 总线接口3x AMBA AHB-lite(哈佛总线架构) 适用于CoreSight调试组件的AMBA ATB接口
- Thumb/Thumb-2子集指令支持
- 3段流水线
- DSP扩展:单周期16/32位MAC、单周期双16位MAC、8/16位SIMD运算、硬件除法(2-12周期)
- 可选的单精度浮点单元(FPU),符合IEEE 754标准
- 可选的8个MPU区域,带子区域和背景区域
- 集成式位域处理指令和总线级位操作
- 不可屏蔽中断和1到240个物理中断,具有8到256个优先级
- 唤醒中断控制器
- 集成式WFI和WFE指令以及退出时睡眠功能,睡眠和深度睡眠信号,带Arm电源管理套件的可选保留模式
- 可选JTAG与串行线调试端口。多达8个断点和4个观察点
- 可选指令跟踪(ETM)、数据跟踪(DWT)和指令跟踪(ITM)
Arm® Cortex®-M4 MCU的关键优势
Armv7E-M架构
基于Cortex-M4内核的微控制器可从Armv7E-M架构中受益。Armv7E-M架构基于Cortex-M3内核的Armv7-M架构,并提供额外的DSP扩展,例如:
- 单指令多数据(SIMD)处理
- 饱和运算指令
- 可在单周期中执行的多种MAC指令
- 支持单精度浮点运算的可选FPU
此架构非常适合需要具有低循环计数执行、最短中断延迟、短流水线和可执行无缓存操作的实时控制应用。
数字信号处理
基于Cortex-M4的微控制器借助其内置高级DSP硬件加速器,使用数学计算来处理信号。DSP硬件加速器可处理任何模拟信号,如麦克风的输出信号、嵌入到电机控制系统的传感器的反馈、或传感器融合应用的输出。
得益于数字信号处理,仅需更少的周期即可运行控制回路算法,因此,有助于提高应用的性能与功率效率。事实上,当使用Q1.15或Float32数据格式处理算法时,运行在Cortex-M4上的MCU比基于Cortex-M3的MCU具有更高的性能。对于Q1.15格式,改进主要在于提供了SIMD指令,该指令允许Cortex-M4将所需的周期数一分为二。对于Float32数据格式,相比Cortex-M3 MCUs,浮点单元加速器将Cortex-M4 MCU的性能提高了一个数量级。
支持DSP的Cortex-M4 MCU有时被特别的MCU制造商作为Cortex-M4F MCUs推向市场。所有STM32 Cortex-M4 MCU均嵌入了Cortex-M4内核的DSP选项,其名称均为Cortex-M4 MCUs。
可扩展性与功率效率
Arm Cortex-M4微控制器支持Cortex微控制器软件接口标准(CMSIS),使开发人员能够为将来的项目从不同的微控制器来回移植代码。该接口也可以简化第三方软件的集成,有助于缩短上市周期。
Cortex-M4架构的灵活性与可扩展性,使设计人员能够运行大多数最新的机器学习算法。
它也具有极高的功率效率。因此,Cortex-M4微控制器是IoT边缘控制器或电池供电传感器节点以及消费者可穿戴设备的理想之选。
Cortex-M4内核主要嵌入到单核MCU中。但是,新一代的多核微控制器和微处理器打破了系统集成与性能优化的限制,并实现了双任务划分用例:
- Cortex-M4可用作主控制内核,该内核与能效更高的Cortex-M0+内核组合,后者可以更高效地运行无线协议。
- Cortex-M4内核可用作负责实时,通用处理的配套内核,配合具有强大计算能力的Cortex-M7内核,以及用于处理高级图形、复杂的数字信号处理算法或/和运行开源Linux操作系统和库的A7内核。
基于Arm Cortex-M4的微控制器
意法半导体将Arm Cortex-M4内核与其独特的专有、低功耗硅知识产权、非易失性嵌入式存储器技术、硬件加速器(用于三角和双曲线计算的Cordic和用于滤波的FMAC)、高性能架构和无线连接专业知识相结合,以便工程师运用STM32 Arm Cortex-M4 MCU克服许多技术与商业挑战。
STM32 Cortex-M4微控制器完全集成到STM32Cube开发环境中,并利用了意法半导体广泛的合作伙伴网络所提供的工具与解决方案。
Arm M4微控制器的单核系列
系列 | 速度 (MHz) | 性能 (CoreMark) | Flash (kB) | RAM (kB) | 电源 (V) | 封装 | 连接 | 模拟 |
STM32F3 | 72 | 245 | 16 至 512 | 16 至 80 | 1.8 至 3.6 | LQFP48/64/100、UFBGA100、UFQFPN32、WLCSP49/66/100 | USART、SPI、I2C、I2S、CAN、USB | 有 |
STM32L4 | 80 | 273 | 64 至 1024 | 40 至 320 | 1.7 至 3.6 | LQFP32/48/64/100/144、UFBGA64/100/132、UFQFPN32/48、WLCSP36/49/64/72/100 | USART、SPI、I2C、CAN、USB、chrom-ART | 有 |
STM32L4+ | 120 | 409 | 512 至 2048 | 320 至 640 | 1.7 至 3.6 | LQFP48/64/100/144、UFBGA132/169、UFQFPN48、WLCSP100 | USART、SPI、I2C、CAN、USB、TFT、MIPI DSI、Chrom-ART | 有 |
STM32G4 | 170 | 550 | 32 至 512 | 118 至 128 | 1.7 至 3.6 | LQFP32/48/64/80/100/128、UFBGA64/100/121、UFQFPN32/48、WLCSP48/64/81 | USART、SPI、I2C、CAN、USB | 丰富的模拟 |
STM32F4 | 84 至 180 | up 至 613 | 64 至 2048 | 32 至 384 | 1.7 至 3.6 | LQFP48/64/100/144/176/208、BGA100/144/176/216、UFQFPN48、WLCSP36/49/81/90/143/168 | USART、SPI、I2C、CAN、以太网、USB、TFT、MIPI DSI、Chrom-ART | 有 |
Arm M4微控制器的双核系列(无线)
系列 (Wireless) | Cortex M4速度 (MHz) | 处理器 2 | Flash (kB) | RAM (kB) | 电源 (V) | 封装 | 连接 | 无线连接 |
STM32WL5 | 48 | Cortex-M0+@48MHz | 64 至 256 | 20 至 64 | 1.8 至 3.6 | UFBGA73, UFQFPN48 | USART、SPI、I2C | 150至960MHz、LoRa、(G)FSK、(G)MSK、BPSK |
STM32WB | 64 | Cortex-M0+@32MHz | 256 至 1024 | 128 至 256 | 1.71 至 3.6 | UFBGA129, UFQFPN48, VFQFPN68, WLCSP100 | USART、SPI、I2C、USB | 2.4GHz、802.15.4、BLE5.0、Thread/OpenThread、Zigbee3.0 |
Arm M4微控制器的双核系列(高性能)
系列 (高性能) | Cortex M4 速度 (MHz) | 处理器 2 | Flash (kB) | RAM (kB) | 电源 (V) | 封装 | 连接 | 模拟 |
STM32H7 | 240 | Cortex-M7@480MHz +L1 | 1024 至 2048 | 1024 | 1.62 至 3.6 | UFBGA129/169、LQFP176/208、TFBGA240、WLCSP156 | USART、SPI、I2C、USB、TFT-LCD、MIPI-DSI | 高级模拟 |
STM32MP1 | 209 | 双 Cortex-A7@800MHz +L1+L2 3D GPU | na | 708 | 1.71 至 3.6 | LFBGA354/448、TFBGA257/361 | USART、SPI、I2C、USB HS GbE TFT-LCD、MIPI-DSI | 有 |
借助我们推荐的入门套件,开始Arm Cortex-M4内核的开发
了解基于STM32 MCU的解决方案
了解STM32生态系统
了解STM32 32位微控制器产品组合中的Arm® Cortex®-M内核:
Arm® Cortex®-M4
混合信号设备的控制与性能