FPGA视频图像之高清需要多大的ddr2

来源:互联网 发布:今日头条直达淘宝链接 编辑:程序博客网 时间:2024/04/30 13:01

          随着技术的发展,我们接触的高清视频越来越多。首先普及一些小知识吧。

      目前我们接触的高清视频最大的1080p,也就是1920*1080,逐行扫描。1080i就是隔行扫描的,隔行扫描就少了一倍的数据量。可是从视觉角度上看,实在是看不出什么。从理论角度上讲,如果拍摄的是高速运行的物体,就会有隔行现象。这只是理论,必定如果是这样的情况,它飞过摄像头也就是那么100ms,根本看不到什么的。而且视频和照片还是有差别的。如果视频停下了,你会发现很多地方都是模糊的,而且有锯齿现象。照片就没有。这就是运动图像和静止图像的差别。

       进入正题

      1080p,高清图像的数据流是24位真彩,时钟频率148.5M。DDR2,我选用的是镁光公司的这一块芯片,这块芯片是我查到最通用的一款了,MT47H64M16HR。三星公司的也有一个也很通用,大概的内容也都是一样的。我就用镁光的这个举例说明了。

       这款芯片是16位的,最大速率是200M,也就是内部400M。如果按照148.5M,24位来讲,好像是够用了,一片用来输入一片用来输出。2片ddr2,就可以实时显示了。我告诉你,这样是不行的,(如果用ip核完成ddr2控制器的话)。从很多公司给提供的图像处理开发板,你发现都是用的2片ddr2,就可以了。可是我想告诉你的是,那些都不支持1080p输入的 。好吧,我大概给你算一下,为什么支持不了。

       altera  arria II  gx的芯片。中端芯片。cyclone iv系列的片子,淘宝上最多也是这一款,C6系列,最大支持200M,双沿结构。400M。ddr2存储器的性能16位,400m,1080p的是150M,24位。这两个已经很临近了。在加上控制器本身的效率问题。所以,就一片ddr2,进行数据的存储,很难做到。所以至少2片需要作为同时输入,那输出呢??也需要2片。所以,真的要支持到1080p的话,需要4片ddr2.在我的实际应用中,发现控制器的效率太差了。2片DDR2,也不能支持1080p的数据输入。(其实提高一点点效率就可以了。)

        可以将4片ddr2连接到一起。它就能支持到1080p的实时显示。这样控制读写,可以提高效率(对于我的程序算有提高吧)。减少了控制器,地址线复用减少了引脚数量。

        如果ddr2配置成200M,对于FPGA的连接上,也需要注意很多,必须使用芯片的顶和底bank才行。左右两侧的bank支持最大的是167m。(其实某种程度上,差不多167m也足够了。当然了,我的承认,我写的控制器,效率很低。)我还是200m吧。


微笑本人能力有限,但是我还在努力着,如果我哪里写错了,请各位指点

3 0
原创粉丝点击