FPGA Player

好记性不如烂笔头

导航

VIP之FrameBuffer

 

 2、VIP Frame Buffer
1、原来我是一直存在一个疑惑,demo上说VIP Frame Buffer输出是固定的60fps,但是在NiosII的程序中我没有找到设置输出为60fps的设置,怎么会这样呢?
 想来想去觉得是CVO的dout_rdy信号实现了所谓的60fsp.
2、搞明白了什么是双缓存和三缓存 
 
双缓存 
 
  在双缓存模式中,IP核会在外部存储器中开辟两帧缓存器。一个用于存储写入帧,另一个用于读取输出像素,当读和写都完成一个帧外,交换两个缓存器,输入的帧可以被从存储器中读出并发送给输出,
同时原来用于读取的帧缓存器,可以用于新数据写入和覆盖。这个特征主要用于输入和输出一侧或者两侧像素速率不规则。或者一帧必须在相对于整个帧率较短的时间内被接收或者发送。比如,在裁剪器IP
之后,或者Alpha混合器的前景层之前。
 
三缓存 
 
  在三缓存模式中,IP核在外部存储器中使用三个帧缓存器,一个缓存器用于存储输入像素,第二个缓存器用于从存储器读取输出像素。第三个缓存器是备用缓存,它允许输入和输出异步交换缓存。备用
缓存可以是"干净的"也可以是“脏的”,如果该帧还没有被发送过,则认为是“干净的”,如果它存放的是已经被读取过的帧,则认为是“脏的”。
如果输入数据被写完一帧后,且备用缓存是“脏的”,则备用缓存作为输入缓存,而原输入缓存则用作新的备用缓存并且它是“干净的”。
如果输入帧写完后,备用帧还是“干净的”,则要根据是否允许丢弃来作选择,如果允许丢弃,那么刚被写入的帧会被丢弃并被下一个要写入的帧覆盖;如果不允许丢弃帧,写操作会被停止,直到读出帧完成,
并把备用帧作为输出帧而原输出帧作为“脏的”备用帧。
当读操作帧读取完毕并且备用帧是“干净的”,就用读取帧与备用帧交换。如果读操作帧读取完毕而备用帧是“脏的”,则要考虑是否允许复制:
 
1、如果允许帧复制--读操作会再次读取刚被读完的帧
2、如果不允许帧复制--读操作会停止直到写操作完成并用“干净的”帧替换备用帧后再读取
 
 什么是锁定帧速率转换?
  锁定帧速率转换就是允许Frame Buffer IP通过avalon-mm从接口同步输入和输出帧速率。
Avalon-MM主接口的宽度一定应该与数据速率和存储器的时钟速率有关系。
如果同时存储多个通道时,是不是要选择不同的基地址呢?

posted on 2018-08-11 10:22  中国的孩子  阅读(375)  评论(0编辑  收藏  举报