AMBA 协议之 AXI 总线

一、简介

1、AXI 简介

AXI,全称Advanced Extensible Interface,高级可扩展接口,是ARM在AMBA3中推出的核心成员,是现代SOC中实现高带宽、低延迟设备互联的标准接口。
AXI的核心设计理念是通道分离地址/数据解耦高效握手,能满足从简单寄存器配置到高速DDR存储的各类通信需求,其主要特点如下所示:

  • 分离的地址/控制和数据阶段
  • 通过字节选通方式支持非对齐的数据传输
  • 使用Burst传输,只需发出起始地址
  • 单独的读写数据通道,这可以提供低成本的直接内存访问(DMA)
  • 支持发布多个超前地址(outstanding)
  • 支持完成乱序事务(out-of-order)
  • 易于添加register stage来达到时序收敛
  • AXI协议包含实现功耗操作的可选扩展信号

2、AXI 版本

AXI3:在AMBA3中正式推出,定义了读写5个独立的通道,支持突发长度1~16拍,支持事务ID,支持out-of-order乱序完成,性能够用,但是突发长度受限,不适合超高速外设。

AXI4:是目前最主流、最常用的版本,分为3个子集:

  • AXI4(Full),突发长度扩展到1~256拍,支持更大的带宽,更高效的存储器访问,主要用在高性能通路上,如DDR,GPU,PCIe,DMA等;
  • AXI4-Lite,是一个轻量简化的版本,不支持突发,只能单次读写,接口信号最少,逻辑也最简单,一般用在寄存器配置,UART,I2C等低速外设上;
  • AXI4-Stream,没有地址,纯数据流,只负责传输数据,可以无限突发,用于视频、图像、DSP等高速串行数据的传输。

AXI5:在AXI4的基础上增加了安全特性(TrustZone、权限控制、隔离)、QoS优先级,更强的原子操作,更严格的时序和物理层设计,主要面向车规芯片、高端手机SOC、服务器、AI芯片等。

3、AXI 通道

AXI基于Burst传输,定义了五个独立的事务通道:

  • 读地址通道
  • 读数据通道
  • 写地址通道
  • 写数据通道
  • 写响应通道

五个通道的图示如下:

读/写地址通道携带着控制信息,用于描述传输数据的属性;读数据通道将数据从从机传输到主机;写数据通道将数据从主机传输到从机;并且在写事务中,从机通过写响应通道向主机指示传输完成。五个通道的特点如下所示:

通道特点
读/写地址通道读/写事务都有自己的地址通道,地址通道携带传输事务所需的所有地址和控制信息
读数据通道读数据通道既携带读数据,也携带Slave端到Master端的读响应信息,包括:
读数据总线:可以是8、16、32、64、128、256、512或1024位宽
读响应信号:表示读事务的完成状态
写数据通道写数据通道将写数据Master端传输到Slave端,包括:
写数据总线:可以是8、16、32、64、128、256、512或1024位宽
字节选通信号:每8个数据位对应一个字节通道选通信号,指示数据的哪些字节是有效的
写数据通道信息总是作为缓冲处理,这样Master就可以执行写事务,而不需要Slave确认先前的写事务
写响应通道Slave使用写响应通道来响应写事务,所有写事务都需要写响应通道上返回完成信号
对每个突发,完成信号只产生一次,而不是对事务中的每个数据传输都返回一个完成信号
没有读响应通道,因为写地址和写数据方向都是主->从,那么需要额外建立一个从->主的通道来响应写入成功。而读地址方向是主->从,读数据方向是从->主,所以不需要额外的通道。需要注意的是,虽然没有读响应通道,但是有读响应信号。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇