打印
[开发工具]

关于AHB和APB总线知识

[复制链接]
656|33
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szt1993|  楼主 | 2023-12-24 12:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

AHB:Advanced High-performance Bus,即先进的高性能总线。

APB:Advanced Peripheral Bus,即先进的外围(外设)总线。

上面说了系统总线的架构引伸出来的就是AHB和APB总线,那为什么要讲述AHB和APB总线呢?

我们操作的外围设备一般都是位于AHB和APB总线上,而AHB可以引伸出AHB1、AHB2,甚至AHB3。同样APB也存在APB1、APB2等。

比如,USART1外设位于APB1总线上,GPIOA位于AHB1高速总线上。

请注意参考手册中“AHB/APB 总线桥”这一小节,有一条重要的内容:每次芯片复位后,所有外设时钟都被关闭( SRAM 和 Flash 接口除外)。使用外设前,必须在 RCC_AHBxENR 或 RCC_APBxENR 寄存器中使能其时钟。

使用特权

评论回复
沙发
中国龙芯CDX| | 2023-12-28 09:18 | 只看该作者
操作的外围设备一般都是位于AHB和APB总线上

使用特权

评论回复
板凳
中国龙芯CDX| | 2024-1-24 08:08 | 只看该作者
USART1外设位于APB1总线上

使用特权

评论回复
地板
sanfuzi| | 2024-2-2 20:13 | 只看该作者
AHB主要用于高性能核心组件之间的高速通信,如CPU、SRAM、Flash存储器以及DMA控制器等。

使用特权

评论回复
5
cemaj| | 2024-2-3 08:16 | 只看该作者
在STM32中,AHB总线的时钟(HCLK)‌是系统时钟,其频率取决于系统时钟源,如外部晶振或内部RC振荡器,并通过PLL进行倍频以达到所需的频率。而APB总线则分为APB1和APB2,它们分别运行在较低和较高的频率上。APB1的最高频率通常不超过36MHz,而APB2可以达到72MHz,这意味着连接到APB2的外设可以支持更高的操作频率。

使用特权

评论回复
6
loutin| | 2024-2-3 17:54 | 只看该作者
APB(Advanced Peripheral Bus)是一种外围总线,主要用于连接低带宽的外设,如UART、I2C、ADC等。APB总线架构不像AHB支持多个主模块,它只有一个主模块,即APB桥。APB总线能够降低系统复杂性和成本,因为它使用相对较低的频率和功耗。在STM32系统中,APB总线负责连接低速外设,实现外设之间的通信和控制。

使用特权

评论回复
7
plsbackup| | 2024-2-3 19:59 | 只看该作者
AHB(Advanced High-performance Bus)总线是一种高速总线,主要用于连接高性能模块,如CPU、DMA和DSP等。AHB总线由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。AHB总线支持多个主模块和从模块,并且具有高带宽和低延迟,可以满足高性能模块之间的数据传输需求。

APB(Advanced Peripheral Bus)总线是一种低速总线,主要用于连接低速外设,如UART、1284等。APB总线的总线架构不像AHB支持多个主模块,在APB里面唯一的主模块就是APB桥。APB总线分为APB1和APB2两个部分,其中APB2负责连接高速设备,如AD、I/O、高级TIM、串口1等;而APB1则负责连接低速设备,如DA、USB、SPI、I2C、CAN、串口2345、普通TIM等。

使用特权

评论回复
8
jimmhu| | 2024-2-3 22:13 | 只看该作者
RCC通过配置相关的寄存器来控制各个总线上的时钟使能,从而实现对设备的时钟控制。

使用特权

评论回复
9
jtracy3| | 2024-2-4 21:11 | 只看该作者
AHB总线是一种高性能、低延迟的总线,用于连接STM32内部的高速外设和存储器。AHB总线的主要特点如下:

数据宽度:AHB总线的数据宽度为32位,支持高速数据传输。
时钟源:AHB总线的时钟源通常来自于系统时钟(SYSCLK)或其他高速外部晶振。
总线矩阵:AHB总线通过一个总线矩阵(Bus Matrix)进行组织,将AHB主设备(如CPU、DMA等)和AHB从设备(如SRAM、Flash等)连接起来。总线矩阵负责处理总线访问请求,确保数据传输的正确性和高效性。
分频器:AHB总线的时钟可以通过分频器进行分频,以满足不同外设的速度需求。

使用特权

评论回复
10
macpherson| | 2024-2-5 12:12 | 只看该作者
AHB总线上的主设备可以通过AHB/APB桥控制APB总线上的从设备。
APB总线上的从设备可以通过APB总线主设备控制,也可以通过AHB总线主设备控制,但后者需要通过AHB/APB桥。

使用特权

评论回复
11
abotomson| | 2024-2-5 15:04 | 只看该作者
AHB负责处理高速核心组件间的通信,而APB则服务于速度要求不那么高的外设。

使用特权

评论回复
12
lihuami| | 2024-2-5 15:36 | 只看该作者
AHB和APB通过分层结构实现了灵活高效的系统资源分配,保证了整个系统的稳定性和性能。

使用特权

评论回复
13
macpherson| | 2024-2-5 21:49 | 只看该作者
AHB(Advanced High-performance Bus)是一种高性能总线,主要用于连接高性能模块,如CPU、DMA和DSP等。

使用特权

评论回复
14
minzisc| | 2024-2-6 12:04 | 只看该作者
AHB总线通常运行在更高的频率,以满足CPU与片上高速内存和内部外设间高效的数据交互需求。

使用特权

评论回复
15
nomomy| | 2024-2-6 14:04 | 只看该作者
AHB和APB总线在STM32系统中协同工作,确保数据在不同模块之间的高效传输。

使用特权

评论回复
16
maqianqu| | 2024-2-6 14:51 | 只看该作者
总线矩阵使用轮询算法或优先级算法来处理总线请求

使用特权

评论回复
17
geraldbetty| | 2024-2-6 16:49 | 只看该作者
STM32的AHB和APB总线是两种不同的总线类型,它们在STM32微控制器中扮演着重要的角色。

使用特权

评论回复
18
hearstnorman323| | 2024-2-6 23:21 | 只看该作者
AHB总线具有高带宽和低延迟,可以满足高性能模块之间的数据传输需求;而APB总线则具有较低的速度和简单的架构,可以满足低速外设的连接需求。

使用特权

评论回复
19
pixhw| | 2024-2-7 02:16 | 只看该作者
APB总线则是外围总线,主要用于低带宽的周边外设之间的连接。与AHB不同,APB不支持多个主模块,其唯一的“主模块”是APB桥,它负责与AHB总线通信,并将数据传输到各个APB从模块。APB总线适用于如UART、SPI、I2C等外设,这些外设通常不需要太高的传输速率。

使用特权

评论回复
20
rosemoore| | 2024-2-7 11:51 | 只看该作者
在STM32微控制器中,AHB和APB总线通过AHB/APB桥(AHB to APB bridge)相连。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

149

主题

1463

帖子

4

粉丝