基于FPAGA的图像采集显示(2)

基于FPGA的图像采集/显示在生活中应用越来越广泛,同时,对图像处理的要求也越来越高,对实时性的数据吞吐量要求同样如此。传统的视频技术使用的


基于FPGA的图像采集/显示在生活中应用越来越广泛,同时,对图像处理的要求也越来越高,对实时性的数据吞吐量要求同样如此。传统的视频技术使用的DSP,但是DSP技术采用的时单指令结构,如果有DSP的主频不满足要求,在处理比较多的数据时就比较困难了,这也是限制视频图像传输技术的进一步发展的重要原因,由于这样的原因,普通的传统芯片以及设备已经不能满足市场。现场可编程逻辑器件(FPGA)采用的是并行执行结构,工作带宽较宽泛,能很好的解决处理大数据困难的问题。

研究基于FPGA的图像采集/显示设计有助于我们进一步理解FPGA技术以及它给我们带来的便利之处。

2 总体设计

方案设计是整个设计中的重要阶段,选择合适的方案需要考虑多方面的因素,是一个较为繁琐的过程,但又极其具有创造性。该阶段有助于对系统合理的评估,选择合理的技术系统来满足设计要求。

2.1整体工作流程

首先,摄像头在上电之后,开始启动采集图像数据,采集到的为拜耳图像数据,然后传给图像提取子模块,图像提取模块在将提取到的图像数据传给图像处理子模块,图像处理子模块将拜耳图像转换成像素点RGB值,转换完成后再将RGB值进行缓冲,然后将缓存输出到DDR3SDRAM中存储,图像显示模块DDR3SDRAM中读取出图像RGB数据通过算法处理最后用VGA时序显示出采集图像的轮廓图。

图2.1 系统整体设计框图

2.2图像采集过程

  一个完整的像素点是由RGB三种像素组成的,如果要采集一个像素点的色彩,那么就需要三个CMOS传感器,这样就增加了成本,而且像素也不是完全对其。使用拜耳格式来采集图像色素就能很好的解决这个问题。通过分析人眼对颜色的感知发现,人眼对绿色比较敏感。因为对绿色更加敏感,所以采集色素的时候绿色的比例占的大一些。如果对红色敏感,也可让红色的比例占多一些。

  其实相机内部的最原始的图片数据格式就是拜耳格式的图像。有很多软件都可以去查看这种格式的图片, 比如PS。当使用相机拍好照片存储在存储卡上的其它格式的图片例如jpg是从拜耳图像格式转换之后的图像格式。如图2.2,是拜耳数据采集模式,由1/2的G,1/4的R,1/4的B组成。

图2.2 拜耳图像采集阵列

2.3 DDR3数据缓存过程

首先,从摄像头传过来的数据经过简单的处理通过DDR3的写模块先写入到DDR3控制气的数据FIFO中,当给出写入DDR3的命令之后,数据再从数据FIFO中传输到DDR3内部,这样做的作用是为了方便于以突发的形式写入。

同样的,当AN430显示时,需要给DDR控制器一个读取数据的命令,之后控制器将DDR3内部的数据读取出来。

图2.3 图像数据缓存模块设计框图

2.4 图像显示过程

图像数据从DDR3读取出来之后,将数据拆分成单个像素点,再通过AN430显示时序将图像数据传输给AN430。图像采集、缓存、显示完成。

3 开发环境

3.1 硬件开发环境

硬件的选择,会影响性能与可靠性,如果选择不合理,那么就很难做到理想的效果。因此硬件平台的选择是一个很重要的问题,与设计完成后的效果及稳定性有相当大的关系。故选择的硬件平台需具备可靠性高、成本低等特点,可广泛适应于各类常用的操作。

因为本设计需要的资源比较多,因此选择了AX516这款功能比较完善,资源足够的开发板

3.1.1黑金AX516开发板

1.功能简介

FPGA 黑金XILINX 开发平台发布了AX516的开发板。它是使用Xilinx 的Spartan6 系列XC6SLX16 可编程逻辑器件作为核心处理器。拥有足够本次设计使用的硬件资源和外围电路接口。它始终坚持以“精致、实用、简洁” 为设计理念。它相当适合软件无线电的开发应用、工业控制的应用、多媒体应用和开发、IC 验证设计、并行运算处理等项目开发。同时也可用于FPGA 培训、个人研究学习、高校教学、和DIY 等等。