AXI Stream协议以及视频格式特例
AXI Stream关键的只有两根信号线,及tvalid核tready。tvalid是主设备驱动的信号,表示Stream上的数据是有效的,tready由从设备驱动,表示从设备下一个时钟到来时能够接收数据。AXI Stream的特点是这两个信号不存在互相等待的关系,及数据传输只发生再两者均有效的时候,从而效率很高,可以认为是连续传输,避免了死锁的情况。
AXI Stream还有一些附加信号,通常是伴随再数据中传输,主要包括tuser,tlast,tkeep等。tlast在标准流协议中表示一个数据包结束,伴随最后一个数据传出,tuser可以很多位,是用户定义信号,用来表达用户自己需要传输的数据。tkeep是字节修饰符,位数位数据宽度/8,当总线数据某字节有效时,tkeep对应位就为高。
Xilinx 所有与视频有关的IP均遵循一套AXI Stram视频流协议,其中对tlast与tuser赋予了特殊的含义。视频流中除了数据以外,包好start of frame和end of line信号,其中eol用tlast表示,sof用tuser表示。这两个信号均伴随像素数据传输,只保持一次有效传输的时间,sof和一帧第一个像素一起传出,eol和一行最后一个像素一起传输。视频流中有时会加入tkeep信号,无特殊情况时需全部拉高
vdma IP核配置界面