Cortex-M3-STM32F1 开发:(三十六)APB1 和 APB2 总线的内部构成

上一篇 下一篇
脉冲计数

APB1 和 APB2 总线的内部构成

1)简介

它们是基于 ARM AMBA(Advanced Microcontroller Bus Architecture)规范 定义的两条 片上外设总线(On-Chip Peripheral Buses) ,用于连接微控制器(如 STM32)中的 CPU/DMA 等主控模块 与 各类外设寄存器,实现配置与数据交互。

它们完全位于芯片内部,不会引出到 PCB,用户无法直接接触其物理线路。

2)总线组成

每条 APB 总线都由一组 独立但协同工作的信号线 构成,包括:

信号类型 说明
时钟线 APB1 → PCLK1;APB2 → PCLK2(由 RCC 分频得到)
地址线 指定访问哪个外设的哪个寄存器
数据线 双向:写数据(PWDATA)、读数据(PRDATA)
控制线 如 PWRITE(读/写)、PSELx(选中外设)、PENABLE、PREADY 等

时钟线和数据线是分开的物理信号,但共同组成"APB 总线"这一逻辑接口。

3)APB1 与 APB2 的核心区别

特性 APB1(低速外设总线) APB2(高速外设总线)
最大频率 较低(如 STM32F1 中 ≤ 36 MHz) 较高(如 STM32F1 中 ≤ 72 MHz)
典型外设 I²C、UART2-5、SPI2/3、CAN、DAC、USB、WWDG、IWDG 等 GPIO、ADC、USART1、SPI1、TIM1/TIM8、SDIO、SYSCFG 等
时钟源 PCLK1(来自 HCLK 经 APB1 分频器) PCLK2(来自 HCLK 经 APB2 分频器)
设计目的 连接对带宽要求不高的外设,降低功耗 连接需要快速响应或高吞吐的外设

其中 IWDG 虽然时钟线是独立的内部时钟源,但是控制寄存器是需要通过 APB1 总线被 CPU 访问的。

4)协同工作方式

  • CPU 访问某个外设前,必须:
    1. 通过 RCC 使能该外设所在总线的时钟(APB1ENR 或 APB2ENR);
    2. 在正确的总线时钟(PCLK1/PCLK2)下进行寄存器读写。
  • 两条总线并行独立工作,互不影响,可同时被访问(由总线矩阵仲裁)。

5)常见误区澄清

  • ❌ APB1/APB2 不是"时钟线" → 它们是包含时钟、数据、地址、控制的完整总线系统。
    • 手册中那个总的框图,就用一条线来表示 APB1/APB2 ,容易让人以为只是时钟线
  • ❌ 它们不在 PCB 上 → 所有信号都在芯片内部,外部不可见。
  • ✅ "挂在 APB1 上" = 该外设通过 APB1 总线接口与 CPU 通信,并受 PCLK1 时钟同步。

6)总结:

APB1 和 APB2 是 STM32 等 ARM Cortex-M 微控制器内部的两条独立外设总线,各自包含分开的时钟线(PCLK1/PCLK2)、数据线、地址线和控制线,共同构成完整的同步通信接口;APB1 用于低速外设,APB2 用于高速或关键外设,二者通过不同的时钟域实现性能与功耗的优化平衡。


相关推荐
linweidong1 分钟前
RTC 走偏、时间跳变?嵌入式时间管理的工程避坑
嵌入式硬件·面试·实时音视频·rtc·嵌入式面经·嵌入式ntp·嵌入式对时
Yiran_G29 分钟前
ZigBee单播、广播与组播详解:从寻址机制到批量控制设计
嵌入式硬件·物联网·智能家居
youcans_1 小时前
【STM32C5教程】(9)DAC 模拟量信号输出实验
stm32·单片机·嵌入式硬件·stm32c5·cubemx2
智购科技自动售货机工厂1 小时前
省电40%的底层逻辑:冷热双温售货机基于SaaS的智能温控算法~YH
单片机·嵌入式硬件·百度·架构·emacs
深圳市恒锐丰科技杨生1 小时前
SS6203D 200V 单路半桥栅极驱动芯片|LeadPower 率能半导体
嵌入式硬件·硬件工程
深圳老胡1 小时前
STM32C5 系列 MCU 的 FreeRTOS 软件架构搭建指南:外设配置与应用实践
笔记·stm32·单片机·代码规范
霖霖7142 小时前
【ESP32笔记】I2S的音频录制与播放
笔记·单片机·mcu·音视频
深圳市恒锐丰科技杨生2 小时前
SS6200 半桥栅极驱动芯片|LeadPower 率能半导体
嵌入式硬件·硬件工程
HQB20262 小时前
EG11732|屹晶微电子 30V 内置 80A 功率管大电流同步降压 DC‑DC
嵌入式硬件·硬件工程
LCG米2 小时前
STM32 HardFault故障定位实测:压栈帧寄存器解析、CFSR故障源判读与出错地址回溯
前端·javascript·stm32·单片机·嵌入式