本文将介绍高级可扩展接口 (AXI),它是 AMBA 的扩展。
AXI 协议最初是为高频系统设计的,旨在满足各种组件的接口要求,同时允许这些组件的互连方式具有灵活性。适用于高频、低延迟设计,AXI 保持与之前 AMBA 版本的 AHB 和 APB 向后兼容。
了解 AXI 将使您深入了解 SoC 的工作原理,同时使您成为一名多才多艺的全面设计师。
AXI 架构
回想一下,AHB(高级高性能总线)是一个单通道总线,多个主机和从机使用它来交换信息。优先级仲裁器确定当前哪个主机使用总线,而中央解码器执行从机选择。操作以突发方式执行,可能需要多个总线周期才能完成。每个突发传输都包含一个地址和控制阶段,然后是一个数据阶段。
AXI 的设计理念类似,但使用多个专用通道进行读写。AXI 与其前身一样是基于突发的,并且在数据交换之前使用类似的地址和控制阶段。AXI 还包括许多新功能,包括乱序事务、未对齐的数据传输、缓存支持信号和低功耗接口。
AXI 通道
AXI 主设备和从设备之间有五个独立的通道。他们是:
读取地址通道
读取数据通道
写地址通道
写数据通道
写响应通道
地址通道用于在主机和从机之间执行基本握手时发送地址和控制信息。数据通道是放置要交换的信息的地方。
主机从从机读取数据并将数据写入从机。读响应信息放在读数据通道上,而写响应信息有一个专用通道。这样,master 可以验证写入事务是否已完成。
图 1 显示了通过五个 AXI 通道连接的 AXI 主设备和从设备。
图 1. AXI 通道
每次数据交换都称为事务。事务包括地址和控制信息、发送的数据以及任何响应信息。实际数据以包含多次传输的突发形式发送。图 1 显示了由 4 个节拍或数据传输组成的读取和写入突发。
我们将在本文后面更详细地讨论爆发。
AXI 信号
与之前 AMBA 版本中的 AHB、ASB 和 APB 信号非常相似,每个 AXI 通道都有许多与之关联的信号。有两个称为 ACLK 和 ARESETn 的全局信号。它们分别是系统的全局时钟和复位信号。ARESETn 上的“n”后缀表示该信号低电平有效。
图 2 显示了对应于读取通道的信号以及全局信号。
图 2. 读取地址、读取数据和全局信号
每个通道都有一个用于乱序交易的 ID 标签。任何具有相同 ID 的事务必须保持顺序,但具有不同 ID 的事务可以按任何顺序完成。这允许较快的事务在较慢的事务之前完成,即使较慢的事务是先发出的。例如,如果一个 master 正在向多个 slave 写入数据,事务 ID 将允许更快的 slave 更快地完成。
总线宽度是特定于实现的,但这些信号以 32 位总线宽度显示。从机使用 RLAST 信号向主机发送最后一个数据项正在传输的信号。
其他值得注意的信号包括突发大小、长度和类型。VALID 和 READY 信号用于主从之间的握手。这些将在本文后面讨论。
缓存、锁定和保护信号分别用于缓存、独占访问(原子操作)和非法访问保护。
图 3. 写地址、数据和响应信号
图 3 显示了写地址、数据和响应信号。这些信号反映了上面的读取信号,但被主机用来向从机发送数据。WLAST 向从站发出最后一个数据项正在发送的信号。专用的写响应信号允许主机知道写事务成功完成。
有关这些信号的更详细说明,请参阅 AMBA 版本 3.0,特别是AMBA AXI 协议 v1.0 规范。
AXI 交易
如前所述,AXI 数据传输称为事务。事务可以采用读取或写入的形式,包括地址/控制信息、数据和响应。数据以突发的形式发送,其中包括称为节拍的多个数据项。为了同步数据的发送和接收,AXI 主机和从机在事务开始时使用 READY 和 VALID 信号执行握手。
频道握手
每个 AXI 通道都包含一个 VALID 和一个 READY 信号。这些用于同步和控制传输速率。这里要记住的重要一点是源或发送者使用 VALID 信号来指示数据或控制信息可用。目的地或接收者在实际能够使用该信息时发出 READY 信号。因此,只有当 VALID 和 READY 信号都被断言时,才会发生传输。
图 4 显示了工作中的 AXI 握手。注意信息传输(用箭头表示)仅在 VALID 和 READY 都为高时发生,无论哪个先被断言。另请注意,AXI 对所有传输都使用时钟上升沿。
图 4. AXI 握手机制(改编自 AXI 规范 v1.0)
AXI 规范中的一个重要注意事项是,一个组件的 VALID 信号绝不能依赖于另一个组件的 READY 信号。READY 可以等待 VALID 信号,但不是必须的。遵循这些规则可以消除发生死锁的可能性。如果 VALID 依赖于 READY 并且 READY 依赖于 VALID,那么很容易看出这两个信号都不会被断言,因为每个信号都在等待另一个信号。
AXI 突发
AXI 中的数据交换采用突发的形式。每个突发由多个节拍或数据传输组成。在事务开始时发送的控制信息指示正在传输的突发的长度、大小和类型。
AXLEN[3:0],X 代表 R 或 W,表示突发中的节拍数。由于 4 位宽,这意味着一个突发中最多可以有 16 次传输。AXLEN = b0000 表示每连拍一拍。b0001、b0010、b0011的值分别代表2拍、3拍、4拍。这种格局一直延续到十六岁。组件必须完成 AXLEN 指定的所有节拍,无论是否使用数据。
AXSIZE[2:0]指定突发的每个节拍中有多少字节。AXSIZE 中的每个位代表 2 的另一个幂,“000”代表每拍 1 个字节,“111”代表每拍最多 128 个字节。这些节拍的大小不能超过总线宽度。
AXBURST[1:0]确定将执行的突发类型。
AXI 中有三种类型的突发。他们是:
固定爆发
递增爆发
包裹爆发
在固定突发中,每个节拍的地址都不会改变。一个典型的应用是 FIFO 队列/缓冲区。
递增突发表示更典型的传输类型,其中传输地址在每个节拍后递增。您可以将其视为与基地址的偏移量。
最后的突发类型是环绕突发。回绕突发类似于递增突发,不同之处在于存在回绕边界,其中一旦地址递增到该点,它就会回绕到较低地址。
图 5 显示了三种不同类型的 AXI 突发的简化视图。
图 5. AXI 突发类型
AXI 互连
AXI 互连允许多个主设备和/或多个从设备相互连接。AXI 规范定义了主机和从机、主机和互连以及从机和互连之间的接口。
实际上,互连包含连接到 AXI 主设备的从接口和连接到 AXI 从设备的主接口。互连中发生的事情——即不同的主机如何与不同的从机通信——取决于实现。互连可以允许共享地址总线、共享数据总线、两者共享或都不共享。
在下一篇文章中,我们将了解 AXI 互连、它们的工作原理以及如何在设计中使用它们。
结论
本文是对高级可扩展接口 (AXI) 协议的基本介绍。我们查看了 AMBA 第三版中指定的旧版 AXI。正如我上面提到的,您可以参考AMBA AXI 协议 v1.0(大约一百页)来更深入地了解 AXI 的第一个版本。AXI 在 AMBA 修订版 4 中出现了一些重大变化,其中包含 AXI4、AXI4-Lite 和 AXI4-Stream 等新版本的 AXI。
未来的 AMBA 文章将讨论 AXI4 和用于组件之间系统级缓存一致性的 ACE 协议(AXI Coherency Extensions)。AXI 已成为现代 SoC 设计中广泛使用的协议。在学习 AXI 时,像 Avalon 和 Wishbone 这样更简单的总线协议会变得容易得多。
这里还没有内容,您有什么问题吗?
电子电路资源推荐
- 开关电源设计(第3版)
来源:下载中心
- stm32f103c8t6单片机最小系统原理图
来源:下载中心
- simulink仿真教学视频
来源:大学堂
- 运算放大器噪声计算
来源:大学堂
- 常用的13种半导体功率器件介绍
来源:电路图
- 单片机运行原理的一点点总结
来源:电路图
推荐帖子 最新更新时间:2024-11-13 08:52
- BLE开发环境的搭建
- 1.1 硬件准备 要进行BLE的开发,首先我们需要一个硬件环境。 (1) MT254xBoard开发板(最好有两块,方便进行数据收发实验); (2) USBDongle-BLE抓包工具(多个固件,一个硬件多种用途),协议开发时辅助我们分析数据包;
- alan000345无线连接
- TI的CC254X系列中,那个广播出来的信息里面UUID在程序中在哪个函数里面啊?
- 各位亲,我想问一下,TI的CC254X系列中,那个广播出来的信息里面UUID在程序中在哪个函数里面啊? 我的芯片是CC2543,在例程中没看见关于UUID的初始化信息,新手,求解~谢谢! TI的CC254X系列中,那个广播出来的信息里面UUID在程序中在哪个函数里面啊? 只
- 火火山无线连接
- 2016新电子——ELMOS
- 2016新电子——ELMOS 感谢
- lemonade815汽车电子
- 请教大家一个问题
- 想做一个基于51的电压采集显示电路,A/D 采用ADC0808, 要求是:1.输入的电压是线性变化的,0-12V可调的. 变化的时间大概是0.2s。 2.将在这0.2S内采集到的数据 进行处理,找出最大值,并用数码管显示出来。 这个要求用ADC0808能否实
- kongqingcai111单片机
- 大学要学点什么
- 本帖最后由 paulhyde 于 2014-9-15 09:17 编辑 自己大学已经朦朦胧胧的度过了一年 ,虽然成绩不错,但感觉这明显不是我想要的生活,大学,即是我们即将走向社会的过渡期,我们不得不去想想我们的将来,我们会是如此平凡的活下去,还是要努力学习,好好工作,让自己
- 蝴蝶好小子电子竞赛
- 电阻选型很简单吗?进来看看这篇
- 什么是电阻?导体对电流的阻碍作用就叫该导体的电阻。电阻(Resistance,通常用 R 表示)是一个物理量,在物理学中表示导体对电流阻碍作用的大小。导体的电阻越大,表示导体对电流的阻碍作用越大。不同的导体,电阻一般不同,电阻是导体本身的一种性质。导体的电阻通常用字母R
- eric_wang综合技术交流
- DSP发展趋势
- flash 驱动的SECTOR, block的size,BlockNum配置问题
- 【求助】关于MSP430的中断等候问题
- dxf文件中LWPOLYLINE和POLYLINE有什么区别
- 【超小型 Linux 开发套件Quantum Tiny Linux】MPU6050驱动编写
- 有用过AD9951的朋友请进,求指导,十万火急
- LLC电路实现zvs
- 买了 飞行器 是空心杯的电机 这是不是 参加竞赛不行啊
- win CE 5.0 开发乱码问题
- 利用电量计芯片实现双节串联锂电池的快速智能充电
- 略论2007年全国大学生电子设计大赛E题_开关电源设计.pdf
- 大家都用TI Stellaris吧,性价比出乎你的想象
- 在msp430在使用P1口使用中断的时候,怎么能使管脚是出于高电平呢?
- 便携式示波器的技术原理和应用场景
- 精密检波器
- 数据结构要点精析--C语言版
- 我也来玩玩多线程(续)-LPC1114
- OPT3004 在电池供电camera中 的应用
- 【雅特力AT32WB415系列蓝牙BLE 5.0 MCU】第一篇:环境搭建及烧录通过方法
- DIY led贴片灯制作方法,不易错过
- 555电路田析霖1810300141
- 二维避障激光雷达
- 使用 Microchip Technology 的 SY89532L 的参考设计
- DC500A-B,使用 LTC3406ES5-1.5 的演示板,2.7V 至 5.5Vin,1.5Vout @ 600mA max 同步降压稳压器
- MC78M05ABDTG 5V 电流升压稳压器的典型应用
- TS79M 三端500mA负电压稳压器典型应用
- ESCORT Driver
- 使用 NXP Semiconductors 的 MC33908AE 的参考设计
- LM358DR2G 电压基准运算放大器的典型应用
- LT3467ES6 演示板、1.2MHz、SOT-23 升压 DC/DC 转换器