usb工业相机之硬件设计-双缓冲-双端口sdram-fpga
usb工业相机之硬件设计-双缓冲-双端口sdram-fpga
在前期的产品设计中,采用cb提供的结构,68013直接操作摄像头,iic配置摄像头寄存器,板载晶振提供时钟,摄像头的pclk直接接ifclk。
这样的好处在于成本最低,
缺点是帧率有限,实测ov7725及ov7670 在raw格式下帧率最高在50fps左右,再高就有错位了。
因为fifo时钟有限值,最高是48Mhz,所以pclk不能高于48Mhz,其实在24Mhz以上就很难工作稳定了,因为无fpga控制,写入fifo数据,未按时读出,导致溢出,以至于数据丢失。。
所以像素也很难提高,目前实测最高像素为1280*1024 帧率约8fps。
于是不得不进行以下设计
1、fifo控制,写fifo的时候满判断,如果写满,则停止写入
2、而sensor是主动时钟,像素持续输出,如68013的fifo写满,则应把当前的数据缓存起来,
3、因为各自sensor像素尺寸不同,需要缓存的像素大小不确定,所以按照最大处理,不得不选择sdram,至少可以存1副完整图片
参考cb VGA—sdram例程
双端口sdram
coms写端口
68013读端口
68013 ifclk时钟=读时钟
68013的fifo满的时候,禁止读端口使能,即终止对68013发数据,待到满标志结束又继续开始
此模型实现的是异步读写,即摄像头的帧率不等于显示的帧率。显示的帧率与usb设备或电脑相关,性能好即帧率高
实测
VGA模式 16bit rgb565 帧率可达 66fps raw格式即可达132fps,基本达到预期效果,上图为使用模拟数据测试效果。
昨天和老许折腾一天,终于搞定,感谢网友:许-sir 提供fpga程序支持!
参考硬件
http://item.taobao.com/item.htm?spm=a1z10.3-c.w4002-2707874652.27.fvFevQ&id=43769007820
下载资料:
链接:http://pan.baidu.com/s/1sjqhcoH 密码:i609 【手册】
最新文章
- js获取网站根目录
- 原生js基础问题的一些备忘
- asp.net 中给gridview添加自动序号
- DataGridView单元格显示GIF图片
- dmesg 程序崩溃调试
- 【Howie玩docker】-使用mono编译c#程序
- Linux下服务器环境的搭建和配置之一——Apache篇
- jQuery_第三章_工厂函数
- 【类与对象】--------java基础学习第六天
- [python 练习] 计算个税
- [工具]K8tools github/K8工具合集/K8网盘
- MultipartFile文件编码判断
- 「2017 山东一轮集训 Day6」子序列(矩阵快速幂)
- ABAP--如何创建自定义打印条码
- php 使用PHPExcel 导出数据为Excel
- 【我们开发有力量之二】利用javascript制作批量网络投票机器人(自动改IP)
- ZooKeeper常见问题
- 批量导入--EasyPOIPOI
- PHP闭包 function() use(){}
- Javascript的异常捕获机制
热门文章
- [LC]747题 Largest Number At Least Twice of Others (至少是其他数字两倍的最大数)
- 在linux (centos)上使用puppeteer实现网页截图
- mysql 创建用户及授权(1)
- shell配置文件
- 微信小程序 + thinkjs + mongoDB 实现简单的前后端交互
- 2019-10-10:渗透测试,基础学习,mysql语法基础,笔记
- 【集训Day1 测试】装饰
- 学习Python第一天:找了4本专属小白的书籍(前期入门打基础)
- day 36 html的补充
- RPM命令执行失败:bash: rpm: 未找到命令...