AXI总线协议的学习

1、AXI总线的初步认识

What is AXI?
AXI is part of ARM AMBA, a family of micro controller buses first introduced in 1996. The
first version of AXI was first included in AMBA 3.0, released in 2003. AMBA 4.0, released in
2010, includes the second major version of AXI, AXI4.
There are three types of AXI4 interfaces:
• AXI4: For high-performance memory-mapped requirements.
• AXI4-Lite: For simple, low-throughput memory-mapped communication (for example,
to and from control and status registers).
• AXI4-Stream: For high-speed streaming data.

这段是摘自xilinx的ug1037的对于AXI的简介。大概意思就是AXI是ARM AMBA的一部分,有常用的三种形式。感觉读完后还是什么都不知道。作为一个传输协议,主要的目的还是传输数据。如何能够快速地理解一个协议呢?找到这个协议的传输特点。

由于AXI的种类有多种,具体的设计一般只会使用一种(会一种基本上就可以会其他的)。所以,先看一下AXI4总线的优势。

Summary of AXI4 Benefits
AXI4 is widely adopted in Xilinx product offerings, providing benefits to Productivity,
Flexibility, and Availability:
• Productivity: By standardizing on the AXI interface, developers need to learn only a
single protocol for IP.
• Flexibility: Providing the right protocol for the application:
° AXI4 is for memory-mapped interfaces and allows high throughput bursts of up to
256 data transfer cycles with just a single address phase.
° AXI4-Lite is a light-weight, single transaction memory-mapped interface. It has a
small logic footprint and is a simple interface to work with both in design and
usage.
° AXI4-Stream removes the requirement for an address phase altogether and allows
unlimited data burst size. AXI4-Stream interfaces and transfers do not have address
phases and are therefore not considered to be memory-mapped.
• Availability: By moving to an industry-standard, you have access not only to the
Vivado IP Catalog, but also to a worldwide community of ARM partners.
° Many IP providers support the AXI protocol.
° A robust collection of third-party AXI tool vendors is available that provide many
verification, system development, and performance characterization tools. As you
begin developing higher performance AXI-based systems, the availability of these
tools is essential.

这里谈到了AXI4的效率、灵活性、可用性。简单来说,就是AXI对于设计者来说只需要知道IP协议,对于传输来说是应用程序协议,可以直接由程序调用。由于是ARM家族的,自然可以适用于各种ARM器件。这里就可以大致的了解AXI协议是什么了。AXI支持直接的硬件设计,可以由硬件描述语言构建发送和接受的模块。同时,该协议还支持APPLICATION直接调用,相当于实现了数据有硬件层向软件层跨越。对比串口协议,串口的数据只能通过软件端的库函数接受和发送,直接的软件是不能够直接访问传输中的数据的。换言之,软件无法直接操控传输。

2、AXI总线的设计思路

Both AXI4 and AXI4-Lite interfaces consist of five different channels:
• Read Address Channel
• Write Address Channel
• Read Data Channel
• Write Data Channel
• Write Response Channel

这是AXI总线的工作通道。从这里就可以看出AXI总线的复杂之处。同样对比串口,串口没有地址,数据通道的读写共用。写响应也是夹杂在数据位中。另外一个有代表性的通信协议是SCCB协议。SCCB协议的双向口具有数据、地址、响应这三个模块,加上状态线sio_e也是可以进行多机通信的。但是,显然,过于集中的数据流向限制了通信效率。而AXI作为内部总线协议,效率的考量是大于面积的。毕竟在芯片内部的布线资源要远大于IO口的资源。

作为协议,基本的功能就是数据传输。和其他协议一样,AXI的读操作也是需要读地址和读数据两个步骤。写操作需要写数据、写地址和写响应三个部分的操作。这只是单向操作。设计到多个从属设备时,情况会更加复杂。可以在后面的设计中有所体现。

3、AXI总线的开发概念

为什么会学到AXI,在ZYNQ内部集成了ARM内核,是一个可以搭载微型操作系统的内核。而FPGA被作为外设资源置于外围。这种片上系统的操作是明确的。通过FPGA设计出足够灵活的外设,将信号处理后传递到ARM,有ARM的稳定架构加工,即可快速实现各种功能。而在内部,PS和PL的连接协议就是芯片内部常用的AXI总线协议。使用这个协议的原因前面已经分析过了。

这种结构的优势是将ARM的稳定性和FPGA的灵活性融合在一起,用于实现特定的目的。所以,如果想要掌握这种设计方法,AXI总线会是躲不开的坎。你总不能用IO口去连接ARM和FPGA,这个太奢侈了。

小结一下,就是使用AXI是ARM结合FPGA的灵魂。

ARM之AXI总线协议初试的更多相关文章

  1. AXI总线协议

    AXI总线协议 (一).概述 AXI (高性能扩展总线接口,Advanced eXtensible Interface)是ARM AMBA 单片机总线系列中的一个协议,是计划用于高性能.高主频的系统设 ...

  2. zynq里面的AXI总线(2017-1-11)

    在ZYNQ中有支持三种AXI总线,拥有三种AXI接口,当然用的都是AXI协议.其中三种AXI总线分别为: AXI4:(For high-performance memory-mapped requir ...

  3. 自我生啃 AMBA AXI 总线笔记

    视频1:https://www.youtube.com/watch?v=1zw1HBsjDH8&list=PLkqJVNOiuuHtNrVaNK4O1BSgczja4obeW (What is ...

  4. AMBA总线协议AHB、APB、AXI对比分析【转】

    转自:https://blog.csdn.net/ivy_reny/article/details/56274412 一.AMBA概述    AMBA (Advanced Microcontrolle ...

  5. zedboard如何从PL端控制DDR读写(二)——AXI总线

     虽然Xilinx已经将和AXI时序有关的细节都封装起来,给出了官方IP和向导生成自定义IP,用户只需要关注自己的逻辑实现,但是还是有必要简单了解一下AXI的时序,毕竟咱是做硬件设计的. AXI(Ad ...

  6. AXI总线

    AXI(Advanced eXtensible Interface)是一种总协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture) ...

  7. AXI总线简介

    AXI全称Advanced eXtensible Interface,是Xilinx从6系列的FPGA开始引入的一个接口协议,主要描述了主设备和从设备之间的数据传输方式.在ZYNQ中继续使用,版本是A ...

  8. AXI总线介绍

    原帖地址:https://wenku.baidu.com/view/7c424c17e3bd960590c69ec3d5bbfd0a7956d5b9.html   1.AXI简介 AXI(Advanc ...

  9. AXI总线(转)

    AXI(Advanced eXtensible Interface)是一种总协议,该协议是ARM公司提出的AMBA(Advanced Microcontroller Bus Architecture) ...

  10. AHB总线协议

    https://blog.csdn.net/linton1/article/details/79649249 1. 简介 AHB(Advanced High Performance Bus)总线规范是 ...

随机推荐

  1. Java设计模式-建造者模式Builder

    介绍 建造者模式(Builder Pattern) 又叫生成器模式,是一种对象构建模式.它可以 将复杂对象的建造过程抽象出来(抽象类别),使这个抽象过程的不同实现方 法可以构造出不同表现(属性)的对象 ...

  2. Java集合框架学习(九) TreeMap详解

    TreeMap介绍 TreeMap 类实现了Map接口,和HashMap类类似. TreeMap是一个基于Red-Black tree的可导航map的实现. 它基于key的自然顺序排序. TreeMa ...

  3. .gitignore 无法工作

    在开发一个新项目时,发现每次编译时都会产生一些 .obj 无用的文件,这些文件并不需要 push 到 github 上 故使用 .gitignore 忽略这些文件 首先,我们可以设置这些文件的输出目录 ...

  4. 学习go语言编程之工程管理

    Go命令行工具 安装了Go语言的安装包后,就直接自带Go命令行工具. # 查看当前安装的Golang版本 go version # 查看go命令行工具的帮助信息 go help Go命令行工具可以完成 ...

  5. Apple设备屏幕尺寸和方向

    表格中包括了各种型号的iPad.iPhone.以及iPod touch等设备的详细信息,涵盖了从iPad Pro到各代iPhone和iPod touch的多个型号. 这些信息可用于开发应用程序时优化界 ...

  6. 通过paramiko模块操作服务器

    用于帮助开发者通过代码远程连接服务器,并对服务器进行操作. 如果下面运行错误了,可以看我另外一篇文章有解决办法解决paramiko连接远程服务器错误 pip3 install paramiko imp ...

  7. 【Azure 事件中心】Kafka 生产者发送消息失败,根据失败消息询问机器人得到的分析步骤

    问题描述 Azure Event Hubs -- Kafka 生产者发送消息存在延迟接收和丢失问题, 在客户端的日志中发现如下异常: 2023-06-05 02:00:20.467 [kafka-pr ...

  8. 面试官上来就让手撕HashMap的7种遍历方式,当场愣住,最后只写出了3种

    写在开头 今天有个小伙伴私信诉苦,说面试官上来就让他手撕HashMap的7种遍历方式,最终只写出3种常用的,怀疑面试官是在故意***难.这个问题大家怎么看? 反正我个人感觉这肯定不是***难,&quo ...

  9. 分组聚合不再难:Pandas groupby使用指南

    处理大量数据时,经常需要对数据进行分组和汇总,groupby为我们提供了一种简洁.高效的方式来实现这些操作,从而简化了数据分析的流程. 1. 分组聚合是什么 分组是指根据一个或多个列的值将数据分成多个 ...

  10. 虚拟机 centos web nodejs服务 外网映射

    虚拟机 centos web nodejs服务 外网映射 起因 为了不买云服务器也是拼了 1. 安装虚拟机 VMware-Workstation-Lite-15.5.1-15018445精简官方中文安 ...