1.STM32的总线:
AMBA(Advanced Microprocessor Bus Architecture):是ARM公司提出的一种开放式SO总线,有AMBA1.0 / 2.0 /3.0标准。定义了一种多总线结构,包括两类,系统总线和等级稍低的外设总线,目前已广泛用于RISC的内核上。其中系统总线是AHB(Advanced High-performance Bus)先进高性能总线,也叫做ASB(Advanced System Bus),速度高可连接芯片,或者搭载快速高效率的模块如内存,DMA;外设总线叫APB(Advanced peripheral Bus)先进外设总线,主要负责外设接口,被称为外围总线。AHB和APB之间通过BRIDGE桥接而来。桥接器的作用就是实现不同速度的设备通信匹配。
AXI:属于AMBA3.0标准的产物,其中STM32F7中就采用了AXI总线,相对于AHB不仅频率高,数据宽度范围广和大,且数据和地址通道分离。
看stm32的系统架构,其内部有system bus,其是内核与外部连接的总线,通过总线矩阵,然后与AHB,内存相连。
矩阵的主要作用就是按照访问关系实现对设备的正常访问(内部有仲裁器,避免发生冲突)
DMA总线:连接通道与总线矩阵,产生DMA请求。
总结:
system bus,其是内核与外部连接的总线,通过总线矩阵,然后与AHB,内存相连
AHB,高性能总线
APB,外设总线
总线矩阵,实现对设备的正常访问
桥接器,实现不同速度的设备通信匹配
2.时钟:
HCLK ,PCLK1,PCLK2的区别:
系统时钟SYSCLK经AHB分频器后产生AHB总线时钟(一般不分频),称为HCLK。而AHB的时钟HCLK通过APBx分频器产生APBx的外设时钟,如APB1分频后的时钟称为PCLK1(接的是APB1外设),APB2分频后产生的时钟称为PCLK2(接的是APB2外设)。