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主接口的宽度一定应该与数据速率和存储器的时钟速率有关系。
如果同时存储多个通道时,是不是要选择不同的基地址呢?

VIP之FrameBuffer的更多相关文章

  1. Altera SOPC FrameBuffer系统设计教程

    Altera SOPC FrameBuffer系统设计教程 小梅哥编写,未经授权,严禁转载或用于任何商业用途 在嵌入式系统中,LCD屏作为最友好的人机交互方式,被大量的应用到了各个系统中.在基于ARM ...

  2. .NET 提升教育 第一期:VIP 付费课程培训通知!

    为响应 @当年在远方 同学的建议,在年前尝试进行一次付费的VIP培训. 培训的课件:点击下载培训周期:10个课程左右,每晚1个半小时培训价格:1000元/人.报名方式:有意向的请加QQ群:路过秋天.N ...

  3. 通过 floating IP 访问 VIP - 每天5分钟玩转 OpenStack(126)

    前面我们是直接用 curl 测试 VIP,在更为真实的场景中通常会使用 floating IP 访问 VIP. 下面我们给 VIP 关联一个 floating IP,再进行测试. 访问 Project ...

  4. 【需求设计1】VIP积分系统无聊YY

    RT,想到什么就写什么呗,这是最简单的方式,顺便给自己做一个记录,反正自己记忆力也不太好.本文是仿陆金所的积分系统,自己YY的一套东西. 首先我想做一个VIP兑换投资卷的功能: 我们先来确定一些我知道 ...

  5. 搭建属于自己的VIP积分系统(1)

    很久没写博客了,如果有写得不好的地方,还请多多见谅. 架构设计 需求分析 这篇文章主要是介绍此VIP系统的基础架构.说实在的,我其实对 架构方面也不是很懂,我这套框架 还是拿别人的东西改过来的,并不是 ...

  6. keepalived从机接管后主机恢复不抢占VIP

    在lvs+keepalived环境中,为了减小keepalived主从切换带来的意外风险,,设置主机恢复后不抢占VIP.待进行vrrp协议通告备机不可用时切换.主要修改两个地方.(红色部分) 只需修改 ...

  7. 全网络最正确的让 Linux 开机进入字符界面的方法及设置 FrameBuffer 分辨率的方法

    引言 这个标题有点长,是为了在标题中就把问题说清楚,以便搜索引擎能够把有需要的朋友准确地带到我这里来.目前在网络上,很多关于 Linux 方面的知识是过时的和错误的.我标题中指出的两个知识点就是其中的 ...

  8. CSharpGL(29)初步封装Texture和Framebuffer

    +BIT祝威+悄悄在此留下版了个权的信息说: CSharpGL(29)初步封装Texture和Framebuffer +BIT祝威+悄悄在此留下版了个权的信息说: Texture和Framebuffe ...

  9. 创建 Pool & VIP - 每天5分钟玩转 OpenStack(122)

    上节完成了 LBaaS 配置,今天我们开始实现如下 LBaaS 环境. 环境描述如下: 1. 创建一个 Pool “web servers”. 2. 两个 pool member “WEB1” 和 “ ...

随机推荐

  1. swift - 指定VC隐藏导航栏 - 禁用tabbar的根控制器手势,防止两个tabbar跳转 手势冲突

    1. viewdidload 设置代理 self.navigationController?.delegate = self 2.代理里面指定VC 隐藏 //MARK: - 导航栏delegate e ...

  2. 5-去掉a标签下划线,禁止a标签的跳转

    1.去下划线: 写样式,a{text-decoration:none; 或在a标签内联里面写style="text-decoration:none;": 2.禁用a标签跳转: a标 ...

  3. YII2中使用控制台命令

    有些时候我们需要通过crontab在后台跑一些定时脚本,这时候就需要用到控制台命令了. 我们在commands目录下创建TestController.php,当然脚本的位置是可以随意指定的,只需要在c ...

  4. Js 怎么遍历json对象所有key及根据动态key获取值(根据key值获取相应的value值)

    Js代码 <script type="text/javascript"> getJson('age'); function getJson(key){ var json ...

  5. pop_heap(_RAIter,_RAIter,_Compare)

    make_heap()是生成一个堆,大顶堆或小顶堆 make_heap(_RAIter,_RAIter) 默认生成大顶堆 make_heap(_RAIter,_RAIter,_Compare) _Co ...

  6. vue2.0细节剖析

    1.样式切换 单个切换样式 /*html部分*/ <div class="bg" v-bind:class="{active:isActive}"> ...

  7. js验证前后密码是否一致,为什么当我输入不一致密码时,不会弹出警告啊

    <form name="form" action="#"><input type="password" id=" ...

  8. 7.Mysql存储引擎

    7.表类型(存储引擎)的选择7.1 Mysql存储引擎概述 mysql支持插件式存储引擎,即存储引擎以插件形式存在于mysql库中. mysql支持的存储引擎包括:MyISAM.InnoDB.BDB. ...

  9. nginx默认配置和默认站点启动

    1.nginx的配置文件nginx.conf cd /etc/nginx/ vim nginx.conf 打开后的文件为: user nginx;worker_processes 1; error_l ...

  10. Luogu 3690 LCT - 模板

    推荐几篇比较好的博客: FlashHu 的 讲解比较好 : 传送门 Candy 的 代码~ : 传送门 以及神犇Angel_Kitty的 学习笔记: 传送门 Code V 模板 #include< ...