登录/注册

stm32芯片架构

stm32芯片架构

更多

STM32 微控制器采用基于 ARM Cortex-M 处理器 的架构。简单来说,其核心架构包含以下几个关键部分:

  1. 处理器核心 (CPU Core):

    • 这是 STM32 的“大脑”,执行程序指令和处理数据。
    • ST 公司获得 ARM 公司的授权,使用其 Cortex-M 系列处理器内核设计 STM32 芯片。常见的 Cortex-M 内核包括:
      • Cortex-M0/M0+: 超低功耗、低成本、小尺寸,适用于简单应用。指令集精简 (Thumb/Thumb-2 子集)。
      • Cortex-M3: 性能、功耗和功能的良好平衡。支持完整的 Thumb-2 指令集,具有嵌套向量中断控制器 (NVIC),中断响应快。曾是最主流的内核。
      • Cortex-M4: 在 M3 基础上增加了单精度浮点单元 (FPU)DSP (数字信号处理) 指令集,非常适合需要数学运算(如电机控制、音频处理、传感器融合)的应用。
      • Cortex-M7: 高性能内核,带有可选双精度 FPU、更长的流水线、指令/数据缓存 (Cache),有时甚至有 TCM (紧耦合存储器)。适用于计算密集型应用。
      • Cortex-M33/M35P 等: 较新的内核,增加了TrustZone 硬件安全特性,适用于需要安全功能的应用(如物联网设备)。
    • 核心特点: 精简指令集 (RISC)、哈佛总线架构(指令和数据总线分离)、低中断延迟 (得益于 NVIC)。
  2. 总线矩阵 (Bus Matrix / Bus Fabric):

    • 这是一个复杂的片上互连网络,连接处理器核心、存储器和各种外设。
    • 它允许多个总线主设备(如 CPU, DMA 控制器)同时访问不同的从设备(如 SRAM, Flash, 外设),提高了系统并行度和整体效率。
    • 常见的总线类型:
      • I-Bus (Instruction Bus): CPU 通过它从 Flash 或 ROM 读取指令。
      • D-Bus (Data Bus): CPU 通过它访问数据(如加载/存储操作)。
      • S-Bus (System Bus): 访问外设和 SRAM。
      • AHB (Advanced High-performance Bus): 高性能总线,连接核心、DMA、主存储器(SRAM)、高速外设(如 USB OTG FS, Ethernet)。
      • APB (Advanced Peripheral Bus): 较低速总线,连接大部分外设(如 UART, SPI, I2C, GPIO, Timers)。通常分为 APB1 (低速) 和 APB2 (高速)。
    • 总线矩阵负责仲裁不同主设备对总线的访问请求,确保数据有序传输。
  3. 存储器 (Memory):

    • Flash 存储器:
      • 用于存储用户编写的应用程序代码、常量数据等。
      • 容量从几 KB 到几 MB 不等,具体取决于型号。
      • 通常是基于 NOR Flash 技术。
    • SRAM (Static RAM):
      • 用于存储程序运行时的变量、堆栈、堆等数据。
      • 访问速度快。
      • 容量从几 KB 到几百 KB 不等,高性能型号(如 M7)可能超过 1MB。
    • ROM:
      • 包含芯片出厂固化的启动引导程序 (Bootloader),用于初始启动和可能的串行编程。
    • 选项字节 (Option Bytes):
      • 特殊的 Flash/EEPROM 区域,用于配置芯片的读写保护、看门狗、复位模式、用户/备用区启动等关键启动和安全选项。
  4. 外设 (Peripherals):

    • STM32 拥有极其丰富且强大的片上外设,这是其核心竞争力之一。这些外设通过总线矩阵与 CPU 和存储器通信。
    • 常见外设包括:
      • GPIO (General Purpose Input/Output): 通用输入输出引脚,可配置为数字输入、输出或复用功能。
      • 定时器 (Timers - TIM, LPTIM): 基本定时器、通用定时器(支持输入捕获、输出比较、PWM 生成)、高级控制定时器(用于电机控制、数字电源转换)、低功耗定时器。
      • 模数转换器 (ADC): 将模拟信号(如传感器电压)转换为数字值。具有多通道、高精度版本。
      • 数模转换器 (DAC): 将数字值转换为模拟电压输出。
      • 通信接口:
        • USART/UART: 通用同步/异步收发器,常用于串行通信(如 RS-232, RS-485)。
        • SPI: 串行外设接口,高速全双工同步通信,常用于连接 Flash、显示屏、传感器等。
        • I2C/I2S: 集成电路总线/集成电路声音总线,用于连接低速外设(如传感器、EEPROM)或音频传输。
        • CAN: 控制器局域网络,用于汽车、工业自动化等可靠通信。
        • USB: 通用串行总线(Device/Host/OTG),用于连接 PC、外设或作为主机。
        • Ethernet MAC: 以太网媒体访问控制器(通常需要外接 PHY 芯片)。
        • SDIO: 用于连接 SD 卡、MMC 卡。
      • 直接存储器访问控制器 (DMA):
        • 极其重要的外设! 允许不占用 CPU 资源地在存储器之间或存储器与外设之间直接传输数据。
        • 大大提高数据传输效率,释放 CPU 处理核心任务。
      • 实时时钟 (RTC): 提供日历(年月日时分秒)和闹钟功能,通常由后备电池供电。
      • 看门狗 (IWDG, WWDG): 独立窗口看门狗,用于在软件跑飞或死锁时复位系统,提高可靠性。
      • 加密加速器 (某些型号): 如 AES, HASH, RNG (随机数生成器)。
      • 模拟比较器 (COMP)。
      • 运算放大器 (OPAMP - 某些型号)。
  5. 电源管理 (Power Management):

    • 提供多种功耗模式(运行、睡眠、停止、待机、关机),允许开发者在不同性能需求和功耗限制的场景下进行优化。
    • 包含稳压器、低功耗定时器、唤醒机制等。
  6. 时钟系统 (Clock Tree):

    • 为整个芯片提供精确的时钟信号。
    • 包含多种时钟源:
      • 高速外部时钟 (HSE - 外部晶振)。
      • 高速内部时钟 (HSI - RC 振荡器)。
      • 低速外部时钟 (LSE - 外部 32.768KHz 晶振,用于 RTC)。
      • 低速内部时钟 (LSI - RC 振荡器,用于看门狗和 RTC)。
      • 锁相环 (PLL):用于倍频输入时钟源,产生更高的系统主频。
    • 时钟控制器 (RCC) 负责配置和分配时钟源给 CPU 核心、总线和各个外设。

总结关键点:

理解 STM32 架构,核心是抓住 Cortex-M CPU 通过 总线矩阵 访问 Flash/SRAM 并控制大量 片上外设 这张大图,同时利用好 DMA 提升效率,并通过 时钟和电源管理 进行优化。具体型号的差异主要体现在使用哪种 Cortex-M 内核、Flash/SRAM 大小、包含哪些特定外设以及它们的数量和性能上。查阅具体型号的参考手册 (Reference Manual - RMxxxx) 是了解其详细架构和寄存器配置的最权威方式。数据手册 (Datasheet) 则提供电气特性和引脚定义。

交换芯片架构是什么意思 交换芯片架构怎么工作

交换芯片架构是指交换芯片内部的设计和组织方式,包括其硬件组件、处理单元、内存结构、接口以及其他关键部分的布局和相互作用。交换

2024-03-22 16:45:07

STM32存储器和总线架构学习

要学习一个MCU,首先要学习这个芯片的架构,比如这个芯片是32bit 的RSIC V还是哈佛

2023-07-21 14:14:07

梳理STM32芯片的内部架构

STM32芯片主要由内核和片上外设组成,STM32F103采用的是Cortex-M3内核,内核由ARM公司设计。

2023-07-08 16:05:29

梳理STM32芯片的内部架构

STM32芯片主要由内核和片上外设组成,STM32F103采用的是Cortex-M3内核,内核由ARM公司设计。

资料下载 佚名 2022-02-08 16:49:53

STM32软件架构设计

STM32软件架构1、架构设计的意义(1)应用代码逻辑清晰,且避免代码冗余;(2)代码通用性,方便软件高速、有效的移植;(3)各功能独立,低耦合

资料下载 打马过草原 2021-11-06 09:05:58

探索者STM32F407ZG芯片IO引脚表下载

探索者STM32F407ZG芯片IO引脚表下载

资料下载 Niansa 2021-08-09 09:20:19

STM32F1系列芯片中文参考手册

STM32F1系列芯片中文参考手册(嵌入式开发培训教程)-STM32F1系列芯片

资料下载 佚名 2021-07-30 09:32:01

基于ARM的32位MCU芯片STM32F103x4/103x6

基于ARM的32位MCU芯片STM32F103x4/103x6

资料下载 jf_42320578 2021-05-21 15:32:12

STM32单片机架构详解

是Cortex-M3内核 ,stm32f4系列是基于Cortex-M4内核。我在项目开发中,主要用到了这两个系列的片子,所以算是对自己知识的一个巩固。另外,知识都是相通的。所以如果理解了这两种架构,那么如果需要的话,

2023-06-12 16:43:13

STM32芯片内部架构的详细介绍

    STM32芯片主要由内核和片上外设组成,STM32F103采用的是Cortex-M3内核,内核由ARM公司设计。

2022-07-05 18:01:56

STM32芯片架构的简介

STM32的芯片架构以STM32F103ZET6为例简略图:官方详细图:

2022-02-24 07:33:36

STM32芯片架构

STM32的芯片架构STM32

2022-01-20 06:19:48

STM32芯片架构是如何构成的

STM32是什么?有哪几种分类?STM32芯片的架构是如何构成的?

2021-10-29 07:53:20

浅析ARM架构STM32系统架构

ARM架构是怎样构成的?STM32系统架构地基本原理是什么?

2021-10-20 06:10:22

STM32系统架构

这里所讲的 STM32 系统架构主要针对的 STM32F103 这些非互联型芯片

2021-07-22 08:01:01
7天热门专题 换一换
相关标签