AHB和APB的学习

AHB分频器输出的时钟送给5大模块使用:

1.送给AHB总线、内核、内存、DMA使用的HCLK时钟。

2.通过8分频送给系统定时器的定时时钟(嘀嗒定时器)。

3.直接送给Cortex的空闲时钟FCLK。

4.送给APB1分频器可选择1、2、4、8、16分频,其输出一路供APB1外设使用(PCLK1,最大频率36M)另一路送给定时器(Timer)2、3、4倍频器使用。该倍频器可选择1或着2倍频,时钟输出供定时器2~7使用。

5.送给APB2分频器可选择1、2、4、8、16分频,其输出一路供APB2外设使用(PCLK2,最大频率72M)另一路送给定时器(Timer)1倍频器使用。该倍频器可选择1或着2倍频。时钟输出供定时器1、8使用。另外,APB2分频器还有一路输出供ADC分频器使用,分频后送给ADC模块使用。ADC分频器可选 择为2、4、6、8分频。

连接在APB1(低速外设)上设备有:电源接口、备份接口、CAN、USB、I2C1、I2C2、UART2、UART3、SPI2、窗口看门狗、TIMER2、TIMER3、TIMER4。

连接在APB2(高速外设)上设备有:UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口、第二功能IO口。

STM32CubeMX配置时钟图

### AHBAPB总线的作用 在STM32微控制器中,AHB(Advanced High-performance Bus)APB(Advanced Peripheral Bus)是AMBA总线协议的一部分,分别承担着不同的通信任务。 AHB是高速总线,主要用于连接高性能组件,如CPU内核(Cortex-M系列)、DMA控制器、SRAM、Flash接口等。这些组件通常需要高带宽低延迟的访问,因此AHB的设计支持突发传输(burst transfer),允许连续的数据传输而不需要每个传输都进行地址设置,从而提高了传输效率。此外,AHB支持多个主设备,这意味着多个主设备可以在同一总线上竞争总线使用权,以实现更灵活的数据传输机制。 APB则是为低带宽的外围设备设计的总线,如UART、SPI、I²C等。APB总线的特点是简单性低成本,它不支持等待周期回应信号,简化了总线协议,降低了硬件复杂度。APB总线上只有一个主设备,即APB桥,这个桥接器负责将AHB上的数据传输转换为APB上的数据传输,反之亦然。APB总线上的传输通常需要两个时钟周期完成,并且只有四个基本的控制信号来管理数据传输过程。 ### AHBAPB总线的区别 AHBAPB的主要区别在于它们的设计目的服务对象不同。AHB旨在提供高性能的数据传输能力,适用于需要快速访问内存高速外设的情况;而APB则专注于简化低速外设的连接,减少功耗硬件成本。 具体来说,AHB支持多主设备架构,可以处理复杂的传输请求,包括突发传输模式,这使得它非常适合用于需要大量数据吞吐的应用场景。相反,APB由于其单一主设备的设计,更适合那些数据传输需求较低的外设。 在时钟频率方面,AHB通常运行在系统主频(SYSCLK)下,这意味着它的速度非常快,能够匹配CPU的速度要求。APB则分为APB1APB2两种类型,其中APB1的最大时钟频率一般为36MHz,而APB2的最大时钟频率可以达到72MHz,这反映了APB2更适合连接那些需要更高性能的外设[^3]。 ### AHBAPB总线的功能 在STM32微控制器中,AHBAPB的功能也有所不同。AHB不仅负责连接处理器、DMA等内部接口,还支持多个主模块之间的数据传输。整个AHB总线上的数据传输由主模块发起,从模块响应请求。这种设计使得AHB能够支持复杂的传输模式,如单次传输突发传输,适应不同的应用需求。 APB的主要功能是连接外围设备,它通过APB桥与AHB相连。APB桥充当了AHBAPB之间的中介,使得AHB上的高速数据传输能够转换为适合APB上低速外设处理的形式。APB的这种特性使其成为连接那些不需要高速数据传输的外设的理想选择,比如串行通信接口等。 在实际应用中,正确理解使用AHBAPB对于STM32开发至关重要。例如,在开启外设时钟时,必须使用对应的总线(APB1ENR / APB2ENR)寄存器或库函数来使能目标外设的时钟。如果错误地选择了总线,外设可能无法正常工作。同样,在配置外设参数时,了解外设所在总线的实际时钟频率(PCLK1或PCLK2)对于计算波特率、定时器周期、ADC采样率等参数至关重要。此外,理解DMA路径也很重要,因为DMA在AHB外设(APB)之间传输数据时需要经过桥接器[^3]。 ```c // 示例代码:开启APB2总线上的GPIO时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); ``` 通过以上分析可以看出,AHBAPB在STM32微控制器中各自扮演着重要角色,它们的设计特点决定了各自适用的应用场景。正确利用这两种总线的优势,可以有效地提高系统的性能效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值