ZYNQ中的AXI总线时序详解
AXI总线是一种高性能、高带宽、低延迟的片内总线,AXI协议描述了主从设备数据传输的方式。主设备和从设备通过握手信号建立连接(VALID和READY),握手信号包括主机发送的VALID信号,表示数据有效,从机发送的READY信号,表示从机准备好了接收数据。当VALID和READY都有效的时候传输开始。
AXI总线分为五个通道:
1. 写地址通道,包含AWVALID,AWADDR, AWREADY信号;
2. 写数据通道,包含WVALID, WDATA,WSTRB, WREADY信号;
3. 读地址通道,包含ARVALID, ARADDR, ARREADY信号;
4. 读数据通道,包含RVALID, RDATA, RREADY, RRESP信号;
5. 写应答通道,包含BVALID, BRESP, BREADY信号;
额外还有系统通道,包含:ACLK,ARESETN信号;
1. write data channel是一种从master到slave的传输,在一个写操作中,返回一个整体的response。
写操作顺序为主与从进行写地址通道握手并传输地址内容,然后在写数据通道握手并传输所读内容,最后再写回应通道握手,并传输写回应数据,时钟上升沿有效。如下图所示:
2. 突发式写时序图如下:
这一过程的开始时,主机发送地址和控制信息到写地址通道中,然后主机发送每一个写数据到写数据通道中。当主机发送最后一个数据时,WLAST信号就变为高。当设备接收完所有数据之后他将一个写响应发送回主机来表明写事务完成。
3. 突发式读的时序图如下:
读操作顺序为主与从进行读地址通道握手并传输地址内容,然后在读数据通道握手并传输所读内容以及读取操作的回应,时钟上升沿有效。如图所示:
当地址出现在地址总线后,传输的数据将出现在读数据通道上。设备保持VALID为低直到读数据有效。为了表明一次突发式读写的完成,设备用RLAST信号来表示最后一个被传输的数据
4. 还可以进行重叠突发式读,连续的发送读地址,时序图如下:
5. 下面对具体的5组信号具体说明
1、全局信号
信号 |
源 |
描述 |
ACLK |
Clock source |
全局时钟信号 |
ARESETn |
Reset source |
全局复位信号,低电平有效 |
2、写地址通道信号
信号 |
源 |
描述 |
AWID[3:0] |
主机 |
写地址ID,这个信号是写地址信号组的ID tag。 |
AWADDR[31:0] |
主机 |
写地址。 |
AWLEN[3:0] |
主机 |
突发式写的长度。此长度决定突发式写所传输的数据的个数。 |
AWSIZE[2:0] |
主机 |
突发式写的大小。 |
AWBURST[1:0] |
主机 |
突发式写的类型。 |
AWLOCK[1:0] |
主机 |
锁类型。 |
AWCACHE[3:0] |
主机 |
Cache类型。这信号指明事务的bufferable、cacheable、write-through、write-back、allocate attributes信息。 |
AWPROT[2:0] |
主机 |
保护类型。 |
AWVALID |
主机 |
写地址有效。 1 = 地址和控制信息有效 0 = 地址和控制信息无效 这个信号会一直保持,直到AWREADY变为高。 |
AWREADY |
设备 |
写地址准备好。这个信号用来指明设备已经准备好接受地址和控制信息了。 1 = 设备准备好 0 = 设备没准备好 |
3、写数据通道信号
信号 |
源 |
描述 |
WID[3:0] |
主机 |
写ID tag,WID的值必须与AWID的值匹配 |
WDATA[31:0] |
主机 |
写的数据。 |
WSTRB[3:0] |
主机 |
写阀门。每一位对应一个字节,WSTRB[n]标示的区间为WDATA[(8*n)+7:(8*n)] |
WLAST |
主机 |
写的最后一个数据。 |
WVALID |
主机 |
写有效 1 = 写数据和阀门有效 0 = 写数据和阀门无效 |
WREADY |
设备 |
写就绪。指明设备已经准备好接受数据了 1 = 设备就绪 0 = 设备未就绪 |
4、写响应通道信号
信号 |
源 |
描述 |
BID[3:0] |
设备 |
响应ID , 这个数值必须与AWID的数值匹配。 |
BRESP[1:0] |
设备 |
写响应。这个信号指明写事务的状态。可能有的响应:OKAY、EXOKAY、SLVERR、DECERR。 |
BVALID |
设备 |
写响应有效。 1 = 写响应有效 0 = 写响应无效 |
BREADY |
主机 |
接受响应就绪。该信号表示主机已经能够接受响应信息。 1 = 主机就绪 0 = 主机未就绪 |
5、读地址通道信号
信号 |
源 |
描述 |
ARID[3:0] |
主机 |
读地址ID。 |
ARADDR[31:0] |
主机 |
读地址。 |
ARLEN[3:0] |
主机 |
突发式读长度。 |
ARSIZE[2:0] |
主机 |
突发式读大小。 |
ARBURST[1:0] |
主机 |
突发式读类型。 |
ARLOCK[1:0] |
主机 |
锁类型。 |
ARCACHE[3:0] |
主机 |
Cache类型。 |
ARPROT[2:0] |
主机 |
保护类型。 |
ARVALID |
主机 |
读地址有效。信号一直保持,直到ARREADY为高。 1 = 地址和控制信息有效 0 = 地址和控制信息无效 |
ARREADY |
设备 |
读地址就绪。指明设备已经准备好接受数据了。 1 = 设备就绪 0 = 设备未就绪 |
6、读数据通道信号
信号 |
源 |
描述 |
RID[3:0] |
设备 |
读ID tag。RID的数值必须与ARID的数值匹配。 |
RDATA[31:0] |
设备 |
读数据。 |
RRESP[1:0] |
设备 |
读响应。这个信号指明读传输的状态:OKAY、EXOKAY、SLVERR、DECERR。 |
RLAST |
设备 |
读事务传送的最后一个数据。 |
RVALID |
设备 |
读数据有效。 1 = 读数据有效。 0 = 读数据无效。 |
RREADY |
主机 |
读数据就绪。 1 = 主机就绪 0 = 主机未就绪 |
7、低功耗接口信号
信号 |
源 |
描述 |
CSYSREQ |
CLOCK controller |
系统低功耗请求。此信号来自系统时钟控制器,使外围设备进入低功耗状态。 |
CSYSACK |
外围设备 |
低功耗请求应答。 |
CACTIVE |
外围设备 |
Clock active 1 = 外围设备时钟请求 0 = 外围设备时钟无请求 |
ZYNQ中的AXI总线时序详解相关推荐
- AXI接口协议详解-AXI总线、接口、协议
转自:https://cloud.tencent.com/developer/article/1695010 AXI接口协议详解-AXI总线.接口.协议 AXI 总线 上面介绍了AMBA总线中的两种, ...
- 计算机网络中的语法 语义 时序的概念,网络iso协议及语义语法时序详解
网络iso协议及语义语法时序详解 计算机学习 网络协议的三要素 在计算机网路中,通信发生在不同系统的实体之间,,实体(entity)是能够发送和接收信息的任何事物.然而,两个实体间仅发送比特流就指望能 ...
- Linux中/proc目录下文件详解
Linux中/proc目录下文件详解(一) 声明:可以自由转载本文,但请务必保留本文的完整性. 作者:张子坚 email:zhangzijian@163.com 说明:本文所涉及示例均在fedora ...
- Linux中/proc目录下文件详解(二)
Linux中/proc目录下文件详解(二) /proc/mdstat文件 这个文件包含了由md设备驱动程序控制的RAID设备信息. 示例: [root@localhost ~]# cat /proc/ ...
- Linux中/proc目录下文件详解 /proc/devices文件 /proc/modules文件
http://blog.chinaunix.net/uid-10449864-id-2956854.html 原来对linux系统中的/proc目录不是很了解,只知道可以查看cpu,内存等相关的信息, ...
- linux在当前目录下创建pic目录,Linux中/proc目录下文件详解
文章转自: Linux中/proc目录下文件详解(一) ------------------------------------------------------------------------ ...
- php调用linux摄像头,Linux_Linux中开发USB摄像头驱动详解,USB摄像头以其良好的性能和低 - phpStudy...
Linux中开发USB摄像头驱动详解 USB摄像头以其良好的性能和低廉的价格得到广泛应用.同时因其灵活.方便的特性,易于集成到嵌入式系统中.但是如果使用现有的符合Video for Linux标准的驱 ...
- 开发中避免延时操作技巧详解
这篇文章主要为大家介绍了开发中避免延时操作技巧详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪 前言 开发中我们或多或少会涉及到一些场景需要使用延时操作,而延时操作其实 ...
- spi总线 上层调用_spi总线驱动详解
spi总线驱动详解 spi总线驱动详解 Spi总线在实际应用得比较多,所以这篇为文章讲解以实际应用为主,bus总线类型细节不做讲解,感兴趣的读者可以分析源码,研究内核源码我觉得是一件非常有趣的事情,同 ...
最新文章
- 对象冒充_使用您的精神探照灯进行冒充冒名顶替综合症
- ECS TAG功能详解
- poj 2892 Tunnel Warfare
- 自定义IP原来如此简单
- 把mysql部署在局域网的服务器上,远程连接mysql时报错误代码1130 Host ‘***.***.***.***’is not allowed to connect to this MySQL
- 函数式编程里的Materialization应该翻译成什么?
- aurora 初学页面元素
- xp系统 服务器访问账号,winxp系统下的网站出现访问的用户过多的解决办法
- 【java学习之路】(java SE篇)(练习)3个经典小问题
- caffe之代码学习
- 一元线性回归预测:销售收入与广告支出实战
- 【OpenCV学习笔记】【编程实例】四(获取一个或多个感兴趣区域)
- java gbk编码_java 中文转GBK码
- Spring Boot电商项目6:数据库设计与项目初始化一:数据库表设计;
- 前端 DOM、BOM(二)
- amCharts 5.2.31 Crack
- 小程序中时间计算(时、分、秒)
- Spark之任务流程和角色
- 基于JAVA项目任务跟踪系统计算机毕业设计源码+数据库+lw文档+系统+部署
- TearDrops(泪滴攻击)教程
热门文章
- javascript 实现购物车多项物品累计求总价案例 ,价格保留两位小数
- 与网友“阵春风”交流
- 【手写汉字识别】基于深度学习的脱机手写汉字识别技术研究
- linux检查网络是否通畅_Linux检测网络通畅命令
- Windows MVSC编译器实现Xtended Flow Guard(XFG)保护机制的原理分析
- 港版支付宝上线,支付宝和微信海外大战谁的胜算更大?
- 关于重装vscode打不开的三种解决方法,亲测有用
- 解决前端跨域的问题.Access to XMLHttpRequest at http://xxx.xxx from origin 'http://localhost:8000' has been bl
- 因增强导致BDC录屏执行异常的梗
- qq 表情gif免费下载