找回密码
 注册
关于网站域名变更的通知

梳理一下STM32单片机的内部总线

2025-1-10 10:38| 查看: 270| 评论: 0

摘要: STM32单片机内部有很多总线,各个总线负责的功能不同。今天以 STM32 单片机为例,梳理一下 ARM Cortex-M3 架构 MCU 的总线内容。聊一聊在介绍各个总线之前,先看一下系统框图(STM32F1xxx类型单片机)Cortex-M3 处理 ...
STM32单片机内部有很多总线,各个总线负责的功能不同。今天以 STM32 单片机为例,梳理一下 ARM Cortex-M3 架构 mcu 的总线内容。
聊一聊
在介绍各个总线之前,先看一下系统框图(STM32F1xxx类型单片机)
640.png
Cortex-M3 处理器总线接口是基于 AHB-Lite 和 APB 协议的。STM32单片机内部有以下几种总线接口:
  • I-Code 总线
  • D-Code 总线
  • 系统总线
  • DMA总线
  • 总线矩阵
  • AHB/APB桥

下边分别进行讲解
(1)I-Code 总线
指令总线。I-Code 总线是一条基于 AHB-Lite 总线协议的 32 位总线。
该总线将 Cortex™-M3 内核的指令总线与闪存指令接口相连接。指令预取在此总线上完成。
负责在存储器地址 0x0000_0000 – 0x1FFF_FFFF 之 间的取指操作。取指以字的长度执行,即使是对于 16 位指令也如此。因此 CPU 内核可以一次取出两条 16 位 Thumb 指令。
(2)D-Code总线
数据总线。是一条基于 AHB-Lite 总线协议的 32 位总线。
该总线将 Cortex™-M3 内核的 DCode 总线与闪存存储器的数据接口相连接,加载数据常量和调试访问。
负责在存储器地址 0x0000_0000 – 0x1FFF_FFFF 之间的数据访问操作 。连接到 D-Code 总线上的任何设备都只需支持 AHB-Lite 的对齐访问,不支持非对齐访问。
(3)系统总线
此总线连接Cortex™-M3内核的系统总线(外设总线)到总线矩阵,总线矩阵协调着内核和DMA间的访问。
负责在 0x2000_0000 – 0xDFFF_FFFF 和 0xE010_0000 – 0xFFFF_FFFF 之间的所有数据传送,取指和数据访问都算上。和 D-Code 总线一样,所有的数据传送都是对齐。
(4)DMA总线
此总线将DMA 的 AHB主控接口与总线矩阵相联,总线矩阵协调着 CPU 的DCode和DMA到 SRAM、闪存和外设的访问。
(5)总线矩阵
总线矩阵协调内核系统总线和DMA主控总线之间的访问仲裁,仲裁利用轮换算法。
总线矩阵包含 4 个驱动部件(CPU的 DCode、系统总线、 DMA1总线 和 DMA2总线)和 4 个被动部件(闪存存储器接口(FLITF)、 SRAM、 FSMC和AHB2APB桥)。
AHB外设通过总线矩阵与系统总线相连,允许DMA访问。
(6)AHB/APB桥(APB)
两个AHB/APB桥在AHB和2个APB总线间提供同步连接。APB1操作速度限于36MHz, APB2操作于全速(最高72MHz)。
当对APB寄存器进行8位或者16位访问时,该访问会被自动转换成32位的访问:桥会自动将8位或者32位的数据扩展以配合32位的向量。
接下来说一说从Flash中读取指令和数据的流程。
闪存的指令和数据访问是通过 AHB 总线完成的。预取模块是用于通过 ICode 总线读取指令的。仲裁是作用在闪存接口,并且 DCode 总线上的数据访问优先。
预取缓冲区有 2 个,每个缓冲区大小位 64位。在每一次复位以后被自动打开,由于每个缓冲区的大小(64位)与闪存的带宽相同,因此只通过需一次读闪存的操作即可更新整个缓冲区的内容。
由于预取缓冲区的存在, CPU可以工作在更高的主频。CPU每次取指最多为32位的字,取一条指令时,下一条指令已经在缓冲区中等待。这样提高了CPU获取指令的效率和执行指令的速度。
这也就是说,对于STM32单片机来说,会读取 Flash 中的指令到缓存。不是直接在 Flash 中执行。

本站资讯文章系编辑转载,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!
[声明]本站文章版权归原作者所有 内容为作者个人观点 本站只提供参考并不构成任何投资及应用建议。
本站拥有对此声明的最终解释权。
收藏 邀请
关闭

推荐内容上一条 /1 下一条

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-12 23:34 , Processed in 0.140625 second(s), 28 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

返回顶部