STM32总线架构讲解

2024-01-31  

01前文

本文主要进行学习总结,为他人提供参考和学习,也为了记录自己的学习知识进行总结,并且望有错误之处,请各位技术大佬们提出修正,互相进步,也便认识自己的不足之处,查漏补缺。


02前情提要

在说总线架构之前,要了解一些知识点,AMBA是什么、总线、矩阵的作用,了解了这些才能明白总线为何这样走,为何要有矩阵。

1、AMBA

AMBA是ARM公司提出的一种开放性的SoC总线标准,现在已经广泛的应用于RISC的内核上了。

定义了一种多总线系统,包括系统总线和等级稍低的外设总线。

利用AMBA定义的一款总线架构:

AHB (Advanced High-performance Bus) 高级高性能总线

ASB (Advanced System Bus) 高级系统总线

APB (Advanced Peripheral Bus) 高级外围总线

AXI (Advanced eXtensible Interface) 高级可拓展接口

其中 AHB速度高,可连接芯片,或者搭载快速高效率的模块如内存,DMA。

APB频率较低,可由AHB经BUS-BRIDGE桥接而来,常用于搭载较低速度需求的外围设备,被称为外围总线。

AXI:属于AMBA3.0标准的产物,其中STM32F7中就采用了AXI总线,相对于AHB不仅频率高,数据宽度范围广和大,且数据和地址通道分离。

AHB和APB之间是通过Bridge(桥接器)连接起来的。

2总线桥接

众所周知,一个系统中的各个模块之间相互通信是通过总线,总线的作用,就是把数据和地址从设备A搬运到设备B上,
如果说设备A和设备B具有一致性,那么设备A和设备B可以直接挂在同一个总线上,并直接解读总线上的数据。
但是,如果设备A和设备B不具有一致性,那么设备A和设备B就必须挂在两条不同的总线上,这时候我们就需要一个“翻译”,把设备A上的总线上的数据和地址转换成设备B可以解析的格式,然后放到设备B的总线上。

3矩阵

矩阵的作用是按照访问关系将主从设备间连接起来。因此,多个从设备可以类似于并行地访问主设备,例如当多个从设备访问一个主设备时,那么如何工作?一个时刻只能有一个从设备访问主设备,因此当多个从设备访问同一个主设备时需要有优先级的参与。

矩阵内部有仲裁器,可根据优先级对每个从设备进行优先级判断来操作。

重点来了噢!

跟上图中的走线脚步一起前进

系统架构

主系统架构基于 2 个子系统:

一个 AXI 转 multi-AHB 总线桥,用于将 AXI4 协议转换为 AHB-Lite 协议:

① 一个连接到内嵌 flash 的 AXI 转 64 位 AHB 总线桥(图中标记为红色)

② 3 个连接到 AHB 总线矩阵的 AXI 转 32 位 AHB 总线桥(途中标记为蓝色)

一个 multi-AHB 总线矩阵

图片

multi-AHB 总线矩阵将所有主控总线和被控总线互连,它包括:

– 32 位 multi-AHB 总线矩阵 (图中32位总线矩阵:方框)

– 64 位 multi-AHB 总线矩阵(图中用紫色圈出的部分):它将来自 CPU 的 64 位 AHB 总线(图中黄线路径)(通过 AXI 转 AHB 总线桥)和来自 GP DMA 与外设 DMA(增至 64 位)的 32 位 AHB 总线连接到内部flash。

multi-AHB 总线矩阵可连接:十二个总线主控器:(以下部分可参照图2来走线:图一不太好理解)

图片

– 3x32 位 AHB 总线以及 64 位 Cortex®-M7 AXI 主控总线通过 AXI-AHB 总线桥分为 4 个总线主控器

– 连接到内嵌 flash 的 1x64 位 AHB 总线

–Cortex® -M7 AHB 外设总线

–DMA1 存储器总线

–DMA2 存储器总线

–DMA2 外设总线

– 以太网 DMA 总线

– USB OTG HS DMA 总线

–LCD 控制器 DMA 总线

– Chrom-Art 加速器™ (DMA2D) 存储器总线

八个总线从控制器:

–AHB 总线上的内嵌 Flash(用于 Flash 读/写访问、代码执行和数据访问) –Cortex®-M7 AHBS 从接口(仅用于 DTCM RAM 的 DMA 数据传输)

–主 SRAM1 (240 KB)

– 辅助 SRAM2 (16 KB)

–AHB1 外设(包括 AHB-APB 总线桥和 APB 外设)

–AHB2 外设(包括 AHB-APB 总线桥和 APB 外设)

–FMC – Quad SPI


结尾

总线架构需要了解的就这么多,我们只需要知道总线的作用,以及它大概连接的逻辑,怎样走线的,呃,这个词语也不是很专业。总得来说,知道有哪些东西在你的单片机上,如何运作的就差不多啦!如果想具体知道每一个设备是如何来连接运作的,可以单独查询。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。