【STM32】00_单片机基本知识补充 --- 未完成

参考文档:野火F7 https://doc.embedfire.com/mcu/stm32/f767_h743_h750/hal_general/zh/latest/index.htmlc

参考文档:STM32F76xxx and STM32F77xxx_Reference manual (网上可以搜 F1 F4 F7 都可以)

1.芯片结构

我们看到的STM32芯片已经是已经封装好的成品,主要由内核和片上外设组成。若与电脑类比,内核与外设就如同电脑上的CPU与主板、内存、显卡、硬盘的关系。


以 STM32F767为例, 他采用的是Cortex-M7内核,内核即CPU,由ARM公司设计ARM公司并不生产芯片,而是出售其芯片技术授权。

芯片生产厂商(SOC) 如ST、TI、NXP等,负责在内核之外设计部件并生产整个芯片,这些内核之外的部件被称为核外外设或片上外设。 如GPIO、USART(串口)、I2C、SPI等都叫做片上外设。

芯片主系统架构基于两个子系统,一个是AXI转多层AHB桥,多层AHB总线矩阵(参考下图)。

1.AXI 转多层 AHB 桥

AXI转多层AHB桥,从AXI4协议转成AHB-Lite协议, 其中包含3个AXI转32-bit AHB桥通过32-bit的AHB总线矩阵连接到外部存储器FMC接口、 外部存储器Quad SPI接口、内部SRAM(SRAM1 and SRAM2)。 还包含一个AXI转64-bit AHB桥通过64-bit总线矩阵连接到内部FLASH。

主设备有:

  1. ARM Cortex-M7(带 I-Cache、D-Cache、TCM)
    128 KB ITCM RAM ← 指令紧耦合存储器,CPU取指零等待
    16 KB DTCM RAM ← 数据紧耦合存储器,CPU数据零等待
    这两块 TCM 不走 AXI,也不走总线矩阵,CPU 像访问 cache 一样直接访问
  2. DMA1 / DMA2(通用 DMA)

  3. DMA2D(Chrom-ART 图形加速器,专做 2D 搬图)

  4. Ethernet MAC(带 DMA 主端口)

  5. USB OTG HS(内置 DMA 主端口)

  6. LCD-TFT 控制器(带 DMA 主端口)

以上所有主端口都先汇到 64-bit AXI 总线矩阵。

2.多层AHB总线矩阵

多层AHB总线矩阵,其中32-bit多层AHB总线矩阵互联11个主设备和8个从设备,64-bit多层AHB总线矩阵则是CPU通过AXI转AHB桥通过这个64-bit多层AHB总线矩阵连接到内部Flash。 DMA主设备通过32-bit AHB总线矩阵通过这个64-bit多层AHB总线矩阵连接到内部Flash。 主控总线通过一个总线矩阵来连接被控总线,总线矩阵用于主控总线之间的访问仲裁管理,仲裁采用循环调度算法。 总线之间交叉的时候如果有个圆圈则表示可以通信,没有圆圈则表示不可以通信。

1.AXI-to-64-bit-AHB Bridge

  1. 64-bit AHB Bus Matrix
  2. 2 MB 内部 Flash(64-bit 宽接口,CPU 取指主通道)
    Flash 接口是 64 位,单周期可取 8 字节指令,最大化 M7 性能。

2.AXI-to-32-bit-AHB Bridge

  1. 32-bit AHB Bus Matrix
  2. SRAM1 368 KB
    SRAM2 16 KB
    FMC(外部 NOR/SRAM/SDRAM 并行存储器控制器)
    Quad-SPI(外部串行 Flash 控制器)

图形 DMA、LCD、USB、以太网都要大量搬数据,它们走 AXI转32-bit AHB 桥,再分到 SRAM/外存,避免与 CPU 取指通道抢带宽。

3.AHB → APB 桥(把高速 AHB 再降速到 APB)

32-bit AHB Matrix 还分出两条桥:

  1. AHB → APB1(低速外设,定时器、USART、I²C、SPI 等)

  2. AHB → APB2(高速外设,ADC、TIM1/8、SPI1、EXTI 等)

4.带宽和性能

1.双通道并行
  1. CPU 取指:ITCM + 64-bit Flash,几乎零等待。

  2. 数据搬运:DMA 们走 AXI→32-bit AHB→SRAM/外存,不占用 CPU 通道。

2.总线宽度匹配
  1. Flash 64 位 → 取指带宽 8 B/周期。

  2. SRAM/外设 32 位 → 满足 DMA 数据流即可,节省布线面积。

3.多层矩阵避免阻塞

AXI 矩阵、64-bit AHB 矩阵、32-bit AHB 矩阵三级并行,不同主设备访问不同从设备时可真正同时完成。

3.小结:

Cortex-M7 内核通过 64-bit AXI 总线矩阵 分成两路:

  1. 一路经 64-bit AHB 专供内部 Flash 指令/数据高速通道;
  2. 另一路经 32-bit AHB 矩阵把 SRAM、外部 FMC、Quad-SPI 和全部 APB 外设挂在一起,让 DMA、图形加速(DMA2D)、USB、以太网、LCD 等主设备可以并行搬数据,从而既保证 CPU 跑满 216 MHz,又保证外设数据流不冲突。


2.存储器映射

3.寄存器映射

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值