如何理解并学会看STM32的总线架构


在这里插入图片描述

怎么看:

S总线是图中标号5的位置,M总线是标号6位置,分别对应的是主控总线和被控总线,横纵总线相交处有圆圈的为:可直接访问,如标号1,反之则不可以直接访问,如标号2.
如图的I总线(指令总线)和被控总线的M0,M2,M6可直接访问,即指令总线访问的对象是包含代码的存储器(内部 Flash/SRAM 或通过 FSMC 的外部存储器)。 同理D(数据)总线能够和 64 KB CCM 数据 RAM 连接到总线矩阵。区别在于I总线访问的对象是包含指令代码的存储器,D总线访问的对象是包含代码或者数据的存储器。ARM的结构上,指令和数据不在一条总线上(就Cortex-M4来说)。
哈佛结构:
在这里插入图片描述

对应的结构:冯诺依曼结构,参考文章(很不错):哈佛结构与冯诺依曼结构(含STM32系统结构解析)_单片机哈佛结构-CSDN博客

总线含义:

(查手册:一般手册的总线架构下面都有解释)
2.1.2 S0:I 总线
此总线用于将 Cortex™-M4F 内核的指令总线连接到总线矩阵。内核通过此总线获取指令。
此总线访问的对象是包含代码的存储器(内部 Flash/SRAM 或通过 FSMC 的外部存储器)。
2.1.2 S1:D 总线
此总线用于将 Cortex™-M4F 数据总线和 64 KB CCM 数据 RAM 连接到总线矩阵。内核通过
此总线进行立即数加载和调试访问。此总线访问的对象是包含代码或数据的存储器(内部
Flash 或通过 FSMC 的外部存储器)。
2.1.3 S2:S 总线
此总线用于将 Cortex™-M4F 内核的系统总线连接到总线矩阵。此总线用于访问位于外设
或 SRAM 中的数据。也可通过此总线获取指令(效率低于 ICode)。此总线访问的对象是
112 KB、64 KB 和 16 KB 的内部 SRAM、包括 APB 外设在内的 AHB1 外设、AHB2 外设以
及通过 FSMC 的外部存储器。
2.1.4 S3、S4:DMA 存储器总线
此总线用于将 DMA 存储器总线主接口连接到总线矩阵。DMA 通过此总线来执行存储器数据
的传入和传出。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB、16 KB)
以及通过 FSMC 的外部存储器。
2.1.5 S5:DMA 外设总线
此总线用于将 DMA 外设主总线接口连接到总线矩阵。DMA 通过此总线访问 AHB 外设或执
行存储器间的数据传输。此总线访问的对象是 AHB 和 APB 外设以及数据存储器:内部
SRAM 以及通过 FSMC 的外部存储器。
2.1.6 S6:以太网 DMA 总线
此总线用于将以太网 DMA 主接口连接到总线矩阵。以太网 DMA 通过此总线向存储器存取
数据。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB 和 16 KB)以及通过
FSMC 的外部存储器。
2.1.7 S7:USB OTG HS DMA 总线
此总线用于将 USB OTG HS DMA 主接口连接到总线矩阵。USB OTG DMA 通过此总线向存储
器加载/存储数据。此总线访问的对象是数据存储器:内部 SRAM(112 KB、64 KB 和 16 KB)
以及通过 FSMC 的外部存储器。
2.1.8
总线矩阵
总线矩阵用于主控总线之间的访问仲裁管理。仲裁采用循环调度算法。 提升了访问效率,同时也降低了功耗。需要注意的是,虽然总线矩阵使得多个主设备可以并行访问不同的从设备,但在一个定义的时间段内,只有一个主设备拥有总线矩阵的控制权,如果有多个主设备同时出现总线请求时就得进行仲裁。所以有了总线仲裁器,就能保证每个时刻只有一个主设备通过总线矩阵对从设备进行访问。
2.1.9 AHB/APB 总线桥 (APB)
借助两个 AHB/APB 总线桥 APB1 和 APB2,可在 AHB 总线与两个 APB 总线之间实现完全
同步的连接,从而灵活选择外设频率。
有关 APB1 和 APB2 最大频率的详细信息,请参见器件数据手册;有关 AHB 和 APB 外设地址映射的信息每次芯片复位后,所有外设时钟都被关闭(SRAM 和 Flash 接口除外)。使用外设前,必须 在 RCC_AHBxENR 或 RCC_APBxENR 寄存器中使能其时钟。
注意: 对 APB 寄存器执行 16 位或 8 位访问时,该访问将转换为 32 位访问:总线桥将 16 位或 8 位数据复制后提供给 32 位向量。
另外还有一个对总线基本知识的文章很好,参考:【明解STM32】一文读懂STM32芯片总线_stm32总线-CSDN博客

  • 8
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值