STM32三条总线(AHB、APB1、APB2)的外设映射情况

STM32的AHB、APB1和APB2总线承担不同外设的高速和低速连接。AHB总线包括Flash、DMA、复位和时钟控制等;APB1服务于低速设备如定时器TIM2-TIM7、RTC、I2C和UART等;APB2则连接高速外设如USART1、TIM1/TIM8及ADC。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

STM32三条总线(AHB、APB1、APB2)的外设映射情况
1、AHB
(1)Flash储存器
(2)DMA
(3)复位和时钟控制
(4)CRC
(5)以太网
(6)SDIO
2、APB1总线(支持低速状态下的工作)
(1)定时器TIM2到TIM7
(2)RTC
(3)WDT看门狗
(4)SPI2、SPI3
(5)USART2、USART3
(6)UART4、UART5
(7)I2C1、I2C2
(8)USB/CAN共享的512字节SRAM
(9)bXCAN1、bXCAN2;
(10)后备寄存器
(11)电源控制PWR
(12)DAC
3、APB2总线(支持高速状态下的工作)
(1)USART1
(2)高级控制定时器TIM1和TIM8
(3)模数转换器ADC1、ADC2、ADC3
(4)SPI1
(5)外部中断EXTI
(6)复用IO:AFIO
(7)通用IO:GPIOA-G

<think>我们正在处理关于STM32F407微控制器APB总线分布结构的问题。根据用户提供的引用[1]和引用[2],我们可以知道: - STM32F407的Block2地址空间(0x4000 0000~0x5FFF FFFF)用于片上外设寄存器。 - 该空间根据总线速度分为APBAHB,其中APB又分为APB1APB2AHB分为AHB1和AHB2。 - 速度关系:AHB2 > AHB1 > APB2 > APB1。 用户特别询问APB1APB2总线上挂载的外设分布。我们需要从STM32F407的参考手册中获取准确信息,但根据已知引用和一般知识,可以总结如下: ### APB1总线 APB1是低速外设总线,通常挂载以下外设(部分列举): - 定时器(TIM)2、TIM3、TIM4、TIM5、TIM6、TIM7、TIM12、TIM13、TIM14 - 窗口看门狗(WWDG) - SPI2、SPI3 - USART2、USART3 - I2C1、I2C2、I2C3 - CAN1、CAN2(注意:CAN在F4系列中通常挂载在APB1) - 电源接口(PWR) - DAC ### APB2总线 APB2是高速外设总线,通常挂载以下外设(部分列举): - 定时器(TIM)1、TIM8、TIM9、TIM10、TIM11 - ADC1、ADC2、ADC3 - SPI1 - USART1 - SDIO - 系统配置(SYSCFG) - 外部中断/事件控制器(EXTI) 注意:具体的挂载情况可能因芯片型号而异,但STM32F407通常遵循上述分布。 ### 地址分配 根据引用[2],我们可以知道外设寄存器的绝对地址可以在参考手册的存储器和总线架构章节找到。例如,GPIOB挂载在APB2总线上,其基地址为0x40020400(具体地址需查阅手册)。 ### 总结 - **APB1**:低速外设,如部分定时器、I2C、SPI、USART(除USART1)、CAN等。 - **APB2**:高速外设,如高级定时器(TIM1、TIM8)、ADC、SPI1、USART1、GPIO等。 为了更直观,我们可以用表格形式展示(但注意在文本中我们用列表代替表格): **APB1总线挂载外设(部分)**: - TIM2, TIM3, TIM4, TIM5, TIM6, TIM7, TIM12, TIM13, TIM14 - WWDG - SPI2, SPI3 - USART2, USART3 - I2C1, I2C2, I2C3 - CAN1, CAN2 - PWR - DAC **APB2总线挂载外设(部分)**: - TIM1, TIM8, TIM9, TIM10, TIM11 - ADC1, ADC2, ADC3 - SPI1 - USART1 - SDIO - SYSCFG - EXTI - GPIOA, GPIOB, ... (所有GPIO端口) 注意:以上信息基于STM32F4系列典型设计,具体请以STM32F407参考手册为准[^1][^2]。 §§相关问题§§ 1. STM32F407中AHB总线APB总线有什么区别? 2. 如何配置STM32F407的APB总线时钟? 3. STM32F407的GPIO外设挂载在哪个总线上?</think>### STM32F407 APB总线外设分布 根据STM32F407的存储映射架构[^1],APB总线分为**APB1**和**APB2**两个域,其外设分布如下: #### **APB1 总线(低速外设)** - **地址范围**:0x4000 0000 - 0x4000 7FFF - **挂载外设**: - 定时器:TIM2, TIM3, TIM4, TIM5, TIM6, TIM7, TIM12, TIM13, TIM14 - 通信接口:USART2, USART3, UART4, UART5, I2C1, I2C2, I2C3, SPI2, SPI3 - 电源控制:PWR - 看门狗:WWDG - CAN总线:CAN1, CAN2 - DAC数模转换器 - 传统外设:RTC/BKP(备份域) > 💡 **特点**:APB1时钟频率较低(最高84MHz),适合对速度要求不高的外设[^1]。 #### **APB2 总线(高速外设)** - **地址范围**:0x4001 0000 - 0x4001 3FFF - **挂载外设**: - 高级定时器:TIM1, TIM8, TIM9, TIM10, TIM11 - ADC模数转换器:ADC1, ADC2, ADC3 - 通信接口:USART1, SPI1 - 系统控制:SYSCFG, EXTI(外部中断) - GPIO端口:GPIOA-GPIOI(所有GPIO) - SDIO接口 - 高级功能:FSMC(存储器控制器) > 💡 **特点**:APB2时钟频率较高(最高168MHz),挂载需要高速操作的外设如ADC、高级定时器等[^2]。 #### **关键区别** | 特性 | APB1 | APB2 | |------------|-----------------------|-----------------------| | 最大频率 | 84MHz | 168MHz | | 典型外设 | 基础定时器, I2C, UART | ADC, 高级定时器, GPIO | | 地址起始 | 0x4000 0000 | 0x4001 0000 | | 性能需求 | 低速操作 | 高速操作 | > ⚠️ **注意**:具体外设地址需查阅《STM32F4xx参考手册》存储映射章节(如GPIOB基址为0x40020400)[^2]。 ### 总线访问示例 当配置**TIM14**(挂载在APB1)输出PWM控制LED时: 1. 通过APB1总线访问TIM14寄存器(基址0x40002000) 2. 设置预分频器和重装载值(频率需>50Hz避免闪烁)[^3] 3. 通过APB2总线操作GPIO(如PF9)输出PWM信号 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值