目录
1.AXI4 Stream
1.1接口介绍
1.2 TVAILD和TREADY的握手过程
1.2.1TVALID先有效
1.2.2TREADY先有效
1.2.3同时有效
2.VDMA学习
2.1接口介绍
2.1.1时钟以及复位接口
2.2.2总线相关接口
2.2.3同步信号
2.2时序介绍
2.2.1MM2S读
2.2.2 2SMM写
现在开始实现MIPI接口的摄像头采集模块以及视频回显模块。在这之前,需要学习一些相关知识。
AXI4 Stream是一个连接交换数据组件的标准接口。一端连接发送数据的主设备,一端连接接受数据的从设备。有关AXI4 Stream其他基本概念查看官方文档:AXI Stream文档
我们重点关注TVALID和TREAD。从文档中我们可以看出TVALID表示主机的设备驱动信号,该信号表示stream中的数据是有效的;TREADY表示从机设备驱动信息,表示从机在下一个时钟到来时候可以接收数据。并且不存在两个信号互相等待的情况,即当两个信号都有效,开始传输数据
我们知道,要想使得发生数据传输,TVALID和TREADY必须都有效。因此,存在以下几种情况:TVALID先有效、TREADY先有效、或者两者在同一周期内有效。
在TVALID有效之前,主设备不允许等待TREADY有效。一旦TVAILD有效,需要一直等待TREADY有效;但是允许从设备等待TVALID;并且在TREADY有效时候,TVALID还未有效,允许从设备取消TREADY。
TVALID先有效,在没有等待到TREADY有效之前,其中的数据和控制信息不能更改,一旦TREAD有效,传输开始。
TREADY先有效,一旦TVALID有效,传输开始
其余引脚暂时不做介绍。
针对视频处理做出了特殊的设计,即是为一个特殊的DMA。它可以很方便的处理数据存取操作以及方便实现多缓存机制。
官方文档:pg020
VDMA框图如下:将AXI4 Stream数据格式转换为Memory Map或者将Memory Map转换为AXI4 Stream。
从上图我们可以看出VDMA包含以下几种接口:
1.AXI-Lite:PS通过该接口配置VDMA
2.AXI Memory Map write:存储器写
3.AXI Memory Map read:存储器读
4.AXI Stream Write(S2MM:Stream to Memory Map):AXI Stream视频流写入
5.AXI Stream Read(MM2S:Memory Map to Stream):AXI Stream视频流读出
axi_resetn复位时钟以及同步时钟s_axi_lite_aclk,低电平有效且需要至少保持16个时钟周期。
S表示Slave,M表示Master。
Fsync:none、s2mm tuser、s2mm sync
s2mm sync:当这个信号发生一个下降沿的时候开始传输,如果没有这个下降沿,即使mm2s_stream通道tready拉高也不会传输
同步信号mm2s_fsync有效后,总共发出五次有效的m_axi_mm2s_arvalid。当收到了axi-stream的tvalid有效信号后,将数据发送到了axi-stream中。并且伴随了5次的m_axis_mm2s_ylast有效。
在收到s2mm_fsync信号后,VDMA发出s2mm_fsync_out和s_axis_s2mm_tready表明已经准备好接收来自axi-stream端的数据。读取到的数据存储在行缓存里,m_axi_s2mm_awvalid有效后,紧接着有效m_axi_s2mm_wvalid信号,同时将数据放至m_axi_s2mm_wdata。
本文发布于:2024-01-29 04:04:20,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170647226312560.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |