STM32单片机中AHB、APB1和APB2的区分

之前刚开始学32的时候,对于AHB、APB1和APB2始终不太理解具体的区别和用途,现在在这里总结一下。

总线

总线是一种用于连接处理器、内存和外设的通信架构,它可以传输数据和控制信号

区别

AHB(Advanced High Performance Bus),翻译为高级高性能总线。AHB用于高性能模块(如CPU、DMA和DSP等)之间的连接,连接处理器核心、高速存储器和高带宽外设。

AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。

APB(Advanced Peripheral Bus),翻译为高级外设总线APB主要用于低带宽的周边外设之间的连接。在STM32中APB又可分为APB1和APB2,APB1、2它们俩都是外设时钟使能寄存器,APB1(RCC_APB1ENR) 、APB2(RCC_APB2ENR) 

具体所连接的外设又有所不同,如下图(STM32F10xxx系统结构图

APB1APB2
最大频率36MHZ72MHZ
外设

1:DAC接口时钟使能

2:接口时钟使能

3:备份接口时钟使能

4 5:CAN2、1接口时钟使能

6 7:IIC2、1接口时钟使能

8-11:USART5、4、3、2接口时钟使能

12 13:SPI3、2接口时钟使能

14:窗口看门狗时钟使能(15-20) -7时钟使能

1:USART1接口时钟使能

2:SPI1接口时钟使能

3:定时器1时钟使能

4 5:ADC2、1接口时钟使能

6-10:端口A-E时钟使能

11:辅助功能IO时钟使能

可用位20位,都是R/W,一位对应一个外设0关闭,1打开11位,其余的bit保留(保留位读为0)

这里的外设是相对CortexM3的内核来讲的。这两个寄存器都是32的,占用四个字节。这两个寄存器都位于结构体RCC_TypeDef中,名字叫APB1ENR和APB2ENR(开头所说)。操作的时候就是 RCC->APB1ENR=xxxxxxxx

 AHB、APB总线和计算机总线的区别

学完组成原理后,总感觉这两者之间有点联系,后来查资料在这里总结两者的联系与区别

计算机组成原理中的总线分为:数据总线、地址总线和控制总线。它们用于处理器与内存和外设之间的数据传输、地址定位和控制信号传递。

在32中,AHB、APB属于处理器总线中的一种,而不是计算机三大总线中的数据总线、地址总线和控制总线。用于连接处理器和外设之间的数据传输和控制信号传递。

APB和AHB总线,类似于个人PC系统里的北桥和南桥总线。南桥总线上挂接的都是鼠标、键盘这些慢速的设备,北桥上挂接显卡等高速设备。南桥频率低,北桥频率高。另外,南桥最后也要接到北桥上。

尾话:其实《STM32F10xxx参考手册》中第二章“存储器和总线构架”有写,所以总是读一些参考手册,学习单片机还得脚踏实地 打好基础 搞清楚

  • 7
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

岂有此李呀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值