STM32微控制器中的APB1和APB2的区别
STM32微控制器中的APB1和APB2是两种不同的外设总线,主要区别在于时钟速度、连接的外设以及用途。以下是它们的详细对比:
1. 时钟速度
-
APB1 (Advanced Peripheral Bus 1):
-
低速总线,时钟频率通常为系统时钟的一半(例如,系统时钟为72MHz时,APB1为36MHz)。
-
适用于对速度要求不高的外设。
-
-
APB2 (Advanced Peripheral Bus 2):
-
高速总线,时钟频率通常与系统时钟相同(例如,系统时钟为72MHz时,APB2也为72MHz)。
-
适用于需要高速操作的外设。
-
2. 连接的外设
-
APB1:
-
连接低速外设,例如:
-
TIM2, TIM3, TIM4(通用定时器)
-
USART2, USART3(串口通信)
-
I2C1, I2C2(I2C接口)
-
SPI2(SPI接口)
-
CAN(控制器局域网)
-
PWR(电源控制)
-
DAC(数模转换器)
-
-
-
APB2:
-
连接高速外设,例如:
-
TIM1(高级定时器)
-
USART1(高速串口)
-
ADC1, ADC2(模数转换器)
-
GPIOA, GPIOB, etc.(通用输入输出)
-
AFIO(复用功能I/O)
-
EXTI(外部中断)
-
-
3. 用途
-
APB1:
- 用于控制和管理低速外设,适合对实时性要求不高的任务。
-
APB2:
- 用于控制和管理高速外设,适合对实时性和速度要求较高的任务。
4. 时钟控制
-
APB1:
- 通过 RCC_APB1ENR 寄存器控制时钟使能。
-
APB2:
- 通过 RCC_APB2ENR 寄存器控制时钟使能。
总结
-
APB1 是低速总线,连接低速外设,时钟频率较低。
-
APB2 是高速总线,连接高速外设,时钟频率较高。