搜索
bottom↓
回复: 39

摄像头为什么要加FIFO?

[复制链接]

出0入0汤圆

发表于 2014-3-7 14:33:12 | 显示全部楼层 |阅读模式
如果FPGA的处理能力足够快的话何必加个FIFO呢?浪费吧?
但是如果处理能力一般的MCU的话,对摄像头加了个FIFO,可以采集到几帧完整的图像。但FIFO的容量有限,不是使得帧数丢失么?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

 楼主| 发表于 2014-3-7 14:33:49 | 显示全部楼层
帮忙分析下FIFO利弊吧~

出0入55汤圆

发表于 2014-3-7 15:36:19 | 显示全部楼层
你自己已经说了

出0入0汤圆

发表于 2014-3-7 16:56:00 | 显示全部楼层
1.当后级数据吞吐能力比前级弱时,不管你用什么手段(FIFO、乒乓操作)只要时间足够长,存储满了就会丢失数据。
2.不管是FIFO还是乒乓操作都是做“暂存”,当后级“实时”处理速率比前级慢时,将数据暂存下来,
   只要保证在暂存的这段时间内数据能被后级消化即可保证不丢数据。达到“速率”匹配的目的。
3.MCU执行多任务时是分时执行的,加个FIFO保证能接收到完整的帧,避免在执行中断的时候丢失摄像头数据。

出0入0汤圆

发表于 2014-3-7 17:31:34 | 显示全部楼层
楼上分析的不错,学习了,有收获!

出0入0汤圆

发表于 2014-3-7 19:20:15 来自手机 | 显示全部楼层
Codoox 发表于 2014-3-7 16:56
1.当后级数据吞吐能力比前级弱时,不管你用什么手段(FIFO、乒乓操作)只要时间足够长,存储满了就会丢失数 ...

学习了    顶一下

出0入0汤圆

 楼主| 发表于 2014-3-7 21:25:18 | 显示全部楼层
Codoox 发表于 2014-3-7 16:56
1.当后级数据吞吐能力比前级弱时,不管你用什么手段(FIFO、乒乓操作)只要时间足够长,存储满了就会丢失数 ...

“ 只要保证在暂存的这段时间内数据能被后级消化即可保证不丢数据。达到“速率”匹配的目的。”
这句话我不大理解。就像玻璃珠一个一个倒入竖着放的管子,我人在下面面接,和不通过管子直接接不都是一样的么?如何达到速率匹配呢?

出0入0汤圆

发表于 2014-3-7 21:47:45 | 显示全部楼层
zcy0517 发表于 2014-3-7 21:25
“ 只要保证在暂存的这段时间内数据能被后级消化即可保证不丢数据。达到“速率”匹配的目的。”
这句话 ...

你一个一个往里面扔,我一个个往里接。

你一秒扔一个,我可以接得住。
你一秒扔两个,我就接不住了,需要容器暂停一下。

如果你一直两秒扔一个,最后我还是接不住。
幸运地是,你只是偶尔一秒扔两个。大部分是见还是乖乖扔一个。

于是,容器大小就成了你任性发泄的地方,你发飙一次无所谓,两次无所谓,连续发飙十次可能就准备分手了
不过只要你乖一点,发飙少于10次。咱们最终还是能和好如初。

出0入0汤圆

发表于 2014-3-7 21:51:43 | 显示全部楼层
其中一个是为了做块处理吧

出1000入0汤圆

发表于 2014-3-7 21:57:34 | 显示全部楼层
aa440981 发表于 2014-3-7 21:47
你一个一个往里面扔,我一个个往里接。

你一秒扔一个,我可以接得住。

解释的很通俗,我做学生的时候,就喜欢这样的老师,再难的事,经他一讲,就很简单。

出0入0汤圆

发表于 2014-3-7 22:03:00 | 显示全部楼层
aa440981 发表于 2014-3-7 21:47
你一个一个往里面扔,我一个个往里接。

你一秒扔一个,我可以接得住。

这个就通俗很多了

出0入0汤圆

发表于 2014-3-7 22:27:21 | 显示全部楼层
8楼学习了···

出0入0汤圆

发表于 2014-3-7 22:43:05 来自手机 | 显示全部楼层
看完通俗的解释,我来一个学术一点的

http://zh.m.wikipedia.org/wiki/%E7%94%9F%E4%BA%A7%E8%80%85%E6%B6%88%E8%B4%B9%E8%80%85%E9%97%AE%E9%A2%98

出0入0汤圆

发表于 2014-3-7 22:44:49 来自手机 | 显示全部楼层
zcy0517 发表于 2014-3-7 21:25
“ 只要保证在暂存的这段时间内数据能被后级消化即可保证不丢数据。达到“速率”匹配的目的。”
这句话 ...

后级取一次数据,准备工作和善后工作是很耗时的,如果每次都是大量读取,就可以摊销这些不必要时间,类似于规模化生产可以降低单位成本一样

出0入0汤圆

发表于 2014-3-7 22:58:13 | 显示全部楼层
david1234 发表于 2014-3-7 21:57
解释的很通俗,我做学生的时候,就喜欢这样的老师,再难的事,经他一讲,就很简单。
...

做比方是最危险的解释方法,事物间共性远少于异处。

还是可泛化的典型事例在理解上危险性较小。

出0入0汤圆

发表于 2014-3-7 23:26:55 | 显示全部楼层
aa440981 发表于 2014-3-7 21:47
你一个一个往里面扔,我一个个往里接。

你一秒扔一个,我可以接得住。

你头像是谁呢

出0入0汤圆

 楼主| 发表于 2014-3-8 09:09:52 | 显示全部楼层
追问:一般加了FIFO后读取时会如何处理?

出0入0汤圆

发表于 2014-3-8 09:30:35 | 显示全部楼层
这就是一个很好的FIFO,为了防止速度不匹配 数据溢出,所以设计成蛇形路线,目的就是增大FIFO的容量

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2014-3-8 14:27:08 | 显示全部楼层
向大家学习了。

出0入0汤圆

发表于 2014-3-8 15:13:57 | 显示全部楼层
没有用过带fifo的摄像头,直接上无fifo摄像头与fpga连接,速度完全够了。

出0入0汤圆

发表于 2014-3-8 15:23:03 | 显示全部楼层
aa440981 发表于 2014-3-7 21:47
你一个一个往里面扔,我一个个往里接。

你一秒扔一个,我可以接得住。

够精辟!!!

出0入0汤圆

发表于 2014-3-9 00:01:52 | 显示全部楼层

前女友。今日刚好是交往纪念日。38节。那年本来约的是女生节。不过她偏偏拖到第二天才答应我。往事俱已,好笑的事都不在好笑了。

出0入0汤圆

发表于 2014-3-9 09:32:44 | 显示全部楼层
aa440981 发表于 2014-3-7 21:47
你一个一个往里面扔,我一个个往里接。

你一秒扔一个,我可以接得住。

神回复啊。。。。。。。。。。。

出0入0汤圆

 楼主| 发表于 2014-3-9 09:40:58 | 显示全部楼层
aa440981 发表于 2014-3-9 00:01
前女友。今日刚好是交往纪念日。38节。那年本来约的是女生节。不过她偏偏拖到第二天才答应我。往事俱已, ...

你初恋?还挂着她相片

出0入0汤圆

发表于 2014-3-9 21:28:29 | 显示全部楼层
aa440981 发表于 2014-3-9 00:01
前女友。今日刚好是交往纪念日。38节。那年本来约的是女生节。不过她偏偏拖到第二天才答应我。往事俱已, ...

搜噶    往事不堪回首,你还喜欢她不?

出1000入0汤圆

发表于 2014-3-10 20:56:15 | 显示全部楼层
goolloo 发表于 2014-3-7 22:58
做比方是最危险的解释方法,事物间共性远少于异处。

还是可泛化的典型事例在理解上危险性较小。 ...

呵呵,若我们具有佛性,一切可“一以贯之”

出0入0汤圆

 楼主| 发表于 2014-3-10 21:28:05 | 显示全部楼层
FIFO连一帧图像都装不下 要它何用?

出0入0汤圆

发表于 2014-3-11 16:41:59 | 显示全部楼层
fifo加的多大的呢? 求指导

出0入0汤圆

发表于 2014-3-11 17:36:28 | 显示全部楼层
SDRAM,DDRRAM都是突发读取,如果不用FIFO,你怎么突发?

出0入0汤圆

发表于 2014-3-28 21:20:13 | 显示全部楼层
FIFO的还有个作用是平滑作用

出0入0汤圆

发表于 2014-4-2 11:02:01 | 显示全部楼层
学习了     

出0入0汤圆

发表于 2014-4-2 19:19:53 | 显示全部楼层
jzb8736 发表于 2014-3-8 09:30
这就是一个很好的FIFO,为了防止速度不匹配 数据溢出,所以设计成蛇形路线,目的就是增大FIFO的容量 ...

怎么感觉像是武当山啊,你的图片

出0入0汤圆

发表于 2014-4-2 19:34:27 | 显示全部楼层
理论上什么都可能实现,但是实际上呢?

出0入0汤圆

发表于 2014-4-3 08:43:11 | 显示全部楼层
xuxms 发表于 2014-4-2 19:19
怎么感觉像是武当山啊,你的图片

北京地铁 ~~~~

出0入0汤圆

发表于 2014-4-5 12:12:19 | 显示全部楼层
有时候是为了不占用CPU的处理时间 ,可以比较方便的读取摄像头数据!

出0入0汤圆

发表于 2014-4-12 16:15:00 | 显示全部楼层
其实你用FPGA采集直接显示或者存到存储器里面速度是完全够的,而且可以做到很大的帧速率,没必要加FIFO。使用FIFO是因为用一般的MCU采集摄像头太慢了,如果降低摄像头速率,对于动态的物体就会有拖影,就像你第一行一秒前的东西,最后一行是两秒后的东西,可想而知。所以用个FIFO,在物体没动之前,快速把它采集进来。虽然说一个FIFO的大小还容不下一张图片,但是在FIFO非空的时候MCU就可以开始读取了,所以它会得到完整的一帧。

出0入0汤圆

发表于 2014-4-13 18:51:32 | 显示全部楼层
首先摄像头的数据是连续输出的,你的处理的接收以及处理的速度必须大于等于输出数据的数据流速度...........而FIFO就是一个缓冲区,能够帮你把一整的完整图像的信息给你保存下来,这样对你的处理速度的要求就降低了。不过在这个过程中可定会丢失数据。

出0入0汤圆

发表于 2014-4-19 11:48:58 | 显示全部楼层
aa440981 发表于 2014-3-7 21:47
你一个一个往里面扔,我一个个往里接。

你一秒扔一个,我可以接得住。

很形象!嘿嘿,要是我们老师这样讲课该多好。。。。

出0入0汤圆

发表于 2014-4-30 08:39:16 来自手机 | 显示全部楼层
例子很精辟,一看就明白了

出0入17汤圆

发表于 2014-4-30 15:20:54 | 显示全部楼层
FIFO是跨时钟的解决利器
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-27 02:41

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表