stm32 AMBA 、AHB和APB总线的区别

 

AMBA

AMBA(Advanced Microprocessor Bus Architecture)是ARM公司提出的一种开放性的SoC总线标准,现在已经广泛的应用于RISC的内核上了。 
AMBA定义了一种多总线系统(mulTIlevel busing system),包括系统总线和等级稍低的外设总线。 
AMBA支持32位、64位、128位的数据总线,和32位的地址总线,同时支持byte和half-word设计。 

AHB,是Advanced High performance Bus的缩写,译作高级高性能总线,这是一种“系统总线”。

AHB主要用于高性能模块(如CPU、DMA和DSP等)之间的连接。AHB 系统由主模块、从模块和基础结构(Infrastructure)3部分组成,整个AHB总线上的传输都由主模块发出,由从模块负责回应。

APB,是Advanced Peripheral Bus的缩写,这是一种外围总线。

APB主要用于低带宽的周边外设之间的连接,例如UART、1284等,它的总线架构不像 AHB支持多个主模块,在APB里面唯一的主模块就是APB 桥。再往下,APB2负责AD,I/O,高级TIM,串口1;APB1负责DA,USB,SPI,I2C,CAN,串口2345,普通TIM。

AHB和APB都是总线,符合AMBA规范

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

你可能感兴趣的:(stm32)