AXI4-stream协议介绍
AXI4-stream
总线协议不同于AXI4-lite
是AXI4-full
协议。后者是基于内存映射的,传输时需要提供要操作的内存地址。而AXI4-stream
是面向流的传输,不涉及到内存地址。就像串口发送数据的时候,只按一定的波特率往出发送,不关心接收者存放的细节。因此,它不具有五个独立的协议通道。但握手过程和AXI4-lite
是AXI4-full
一样。关于握手过程,请参看AXI总线协议介绍。
信号线详细描述
- 全局信号
- ACLK 全局时钟信号,在上升沿时对信号采样。所有的输入信号都通过上升沿采集,所有的输出信号都在上升沿时变化。
- ARESETn 全局复位信号,低电平有效。在复位期间,所有的
xxVALID
信号必须复位为低电平。其他的信号可以是任意值。
- 主机(master)控制的信号
- TVALID 握手信号
- TDATA 数据信号线
- TSTRB
TDATA
的内容修饰符,用于指示是数据字节还是位置字节。初学者默认为1即可. - TKEEP
TDATA
的内容修饰符,用于指示是此字节是否为有效字节,和TSTRB
配合使用。如下表。xilinx封装的ip中不使用此信号,所以默认为1。TSTRB TKEEP data type high high 数据字节 high low 位置字节 low low 无效字节 low low 保留 - TLAST 置高表示本次流传输中的最后一个数据。
- TID 表示不同数据流的数据流标识符。xilinx封装的ip中没有此信号。
- TDEST 用于提供路由信息,xilinx封装的ip中没有此信号。
- TUSER AXI4协议留给用户自定义的。xilinx封装的ip中没有此信号。
- 从机(slave)控制的信号
- TREADY 握手信号
AXI4-stream主从交互仿真
- vivado创建AXI外设。
- 添加主从接口。
- 编写仿真tb文件。仿真相关的文件见附件axi-stream.zip。
下图是AXI4-stream主从交互的时序图,
文档参考
- IHI0022G_amba_axi_protocol_spec.pdf
- IHI0051A_amba4_axi4_stream_v1_0_protocol_spec.pdf
- ug761_axi_reference_guide.pdf
关于技术交流
此处后的文字已经和题目内容无关,可以不看。
qq群:825695030
微信公众号:嵌入式的日常
如果上面的文章对你有用,欢迎打赏、点赞、评论。