文章目录
- AXI口诀:AXI三种总线,三种接口,一个协议
- 背景知识
- 一、 AMBA:
- 二、AXI
- 2.1 通信协议与握手机制
- 2.2 AXI协议特点
- 2.3 三种AXI总线类型(AXI4、AXI4-lite、AXI4-stream)
- 2.3.1 AXI通道(5通道)
- 2.3.2 AXI读操作
- 2.3.3 AXI写操作
- 2.4 三种AXI接口(AXI_HP、AXI_ACP、AXI_GP)共9个
- 2.4.1 AXI_HP接口(0~3) Master:PL
- 2.4.2 AXI_ACP接口(1) Master:PL
- 2.4.3 AXI_GP接口(0~3) 两个PL主,两个PS主
- 2.5 三种AXI总线类型和三种AXI接口之间的匹配关系
- 2.6 AXI Interconnect 和 AXI SmartConnect 对比
AXI口诀:AXI三种总线,三种接口,一个协议
背景知识
AXI是ABMA的重要组成部分,因此开始介绍AXI之前先介绍一下AMBA总线。
一、 AMBA:
(Advanced Microcontroller Bus Architecture)高级微控制器总线架构。
在PS中,AMBA包括:
AXI总线
APB总线(Advanced Peripheral Bus),用于连接低带宽、低功耗的外围设备。访问简单的控制寄存器和状态寄存器,只支持单次传输,不支持突发传输。
AHB总线(Advanced High-performance Bus),用于连接高带宽、高性能的设备,支持突发传输,减少总线的仲裁和传输开销。
在PL中,AMBA包括:
- AXI
总结:三种AXI总线类型、三种AXI接口,都遵循一个AXI协议。
二、AXI
2.1 通信协议与握手机制
AXI 协议就是描述了主设备和从设备之间的数据传输方式,在该协议中,主设备和从设备之间通过握手信号建立连接。
Q:什么是通信协议?
A:通信协议就是指双方进行信息传递所遵循的规则和约定。
AXI协议最重要的就是握手机制。
Q:什么是握手机制?
A:在通信过程中,主从之间会进行协调,只有等接收方准备好之后,才能开始数据传输,这种机制我们称之为“握手”。
2.2 AXI协议特点
2.3 三种AXI总线类型(AXI4、AXI4-lite、AXI4-stream)
Q:什么是存储映射(Meamory Map)?
A:如果一个协议是存储映射的,那么主机所发出的会话(无论读或写)就会标明一个地址。这个地址对应于系统存储空间中的一个地址,表明是针对该存储空间的读写操作。
Q:使用的zynq7020芯片中,哪些io是低速的,哪些是高速的?
A:
由图中可以看出来zynq7020的IO接口包括: USB、GIGE、SD/SDIO、GPIO、UART、CAN、I2C、SPI
2.3.1 AXI通道(5通道)
2.3.2 AXI读操作
2.3.3 AXI写操作
2.4 三种AXI接口(AXI_HP、AXI_ACP、AXI_GP)共9个
2.4.1 AXI_HP接口(0~3) Master:PL
是高性能/带宽的标准的接口,PL 模块作为主设备连接。主要用于 PL 访问 PS 上的存储器(DDR 和 On-Chip RAM)
2.4.2 AXI_ACP接口(1) Master:PL
加速器一致性端口,是 ARM 多核架构下定义的一种接口,用来管理 DMA之类的不带缓存的 AXI 外设,PS 端是 Slave 接口。
2.4.3 AXI_GP接口(0~3) 两个PL主,两个PS主
是通用的 AXI 接口,包括两个 32 位主设备接口和两个 32 位从设备接口,使用该接口可以访问 PS 中的片内外设。
2.5 三种AXI总线类型和三种AXI接口之间的匹配关系
-
AXI4:
适用于 AXI_HP 接口(高性能数据传输)。
适用于 AXI_GP 接口(通用数据传输)。
适用于 AXI_ACP 接口(需要缓存一致性的应用)。 -
AXI4-Lite:
适用于 AXI_GP 接口(简单的控制寄存器访问)。
-
AXI4-Stream:
适用于 AXI_HP 接口(点对点高效数据流传输)。
2.6 AXI Interconnect 和 AXI SmartConnect 对比
共同点:
- 都是用于连接多个 AXI 主设备和从设备的模块
区别:
-
AXI SmartConnect
(适用于AXI4、AXI4_Stream总线类型),特点:更高性能、智能化,支持数据宽度和时钟域的转换,支持多达数十个主设备和从设备,适用于复杂的 SoC 设计、高性能应用、需要动态调整和优化的系统。 -
AXI Interconnect
(适用于AXI4_Lite总线类型),特点:需要手动配置,支持有限的主设备和从设备数量,适用于一般性能要求的系统,适用于简单到中等复杂度的设计、性能要求不高的系统、需要用户自定义配置的场景。