AMBA总线架构简介

发布时间 2023-10-30 14:30:16作者: yooooooo

于是乎,我们想到了总线,用一个统一的接口协议,设计出一个符合要求的总线,然后将ARM核和各种外设模块挂载在总线上,这样,命令和数据似乎便可以在CPU和外设之间自由穿梭。

1 AMBA总线

AMBA,英文全称为Advanced Microcontroller Bus Architecture,即高级微控制器总线架构。
AMBA的简易发展历史:

  • AMBA 1.0:ASB总线,APB总线

  • AMBA 2.0:ASB总线,APB总线,AHB总线

  • AMBA 3.0:ASB总线,APB总线,AHB总线,AXI总线

AMBA中,APB总线、AHB总线和AXI总线的使用较多,所以进行较为详细的介绍。

1.1 APB总线

1、特点

  • 低速总线,低功耗。
  • 接口简单。
  • 在桥接器中锁存地址信号和控制信号。
  • 适用于多种外设,例如Timer,UART等。
  • 上升沿触发。

2、组成

  • ahb_to_apb(桥接器),可以锁存所有的地址、数据和控制信号,进行二级译码来产生APB从设备选择信号。

  • APB总线上的所有其它模块都是APB从设备。

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)后备寄存器BKP;
(11)电源控制PWR;
(12)DAC

APB2总线:

(1)USART1;
(2)高级控制定时器TIM1和TIM8;
(3)模数转换器ADC1、ADC2、ADC3;
(4)SPI1;
(5)外部中断EXTI;
(6)复用IO,AFIO;
(7)通用IO:GPIOA~G;

1.2 AHB总线

1、特点

  • 高速总线,高性能。
  • 可支持多个总线主设备(最多16个)。
  • 支持burst传输。
  • 总线带宽:8、16、32、64、128bits。
  • 上升沿触发。

2、组成

  • AHB主设备(master)。
  • AHB从设备(slave)。
  • AHB仲裁器(arbiter)。
  • AHB译码器(decoder)。

AHB总线连接着PCIE、USB、HDMI、ROM等高速接口设备

1.3 AXI总线

AXI(Advanced eXtensible Interface)是一种总线协议,是AMBA(Advanced Microcontroller Bus Architecture)3.0协议中最重要的部分,是一种面向高性能、高带宽、低延迟的片内总线。它的地址/控制和数据相位是分离的,支持不对齐的数据传输,同时在突发传输中,只需要首地址,同时分离的读写数据通道、并支持Outstanding传输访问和乱序访问,并更加容易进行时序收敛。

AXI总线连接嵌入式处理器、片内RAM、DMA主机、ISP、CODEC等高速设备