基于FPGA的图像接口的设计
2018-06-07李智中
韩 众, 李智中, 曹 飞
(1.中北大学仪器与电子学院, 山西 太原 030051;2.北京航天长征飞行器研究所, 北京 100076)
引言
随着图像设备广泛应用于社会的各行各业,图像数据的传输、存储问题也越来越被人们关注研究,以期获得高速传输、大容量存储的方案[1]。本文以SDRAM为存储介质,通过FPGA控制实现CMOS摄像头的图像获取,SDRAM的图像数据缓存,VGA对采集图像的实时显示,数据传输速率可达到32 MB/s,并设计了图像数据的乒乓式存储方式,实现了CMOS图像的SDRAM存储与VGA实时显示。
1 总体设计
设计实现过程如图1所示,系统上电后,程序先利用SCCB协议接口对CMOS OV7670摄像头的寄存器进行了配置,配置完成后OV7670模块就可以稳定、持续地输出采集到的图像数据;然后将图像数据通过WFIFO缓存写入到SDRAM中,再通过RFIFO缓存读出图像数据到VGA显示器中显示。程序中SDRAM读和写操作采用“乒乓结构”解决图像拖影的问题,当摄像头采集的数据写入到SDRAM的Bank0时,VGA从SDRAM的Bank3读取数据显示。当摄像头的一帧图像写入完成后,SDRAM读和写的Bank交换。
2 前端CMOS摄像头对图像的采集
CMOS摄像头图像采集的设计包括两部分:SCCB协议接口时序;RGB图像数据输出时序。

图1 设计总体实现过程
2.1 SCCB协议接口时序
SCCB协议是用于配置OV系列摄像头的专属总线。SCCB是一种3线的总线,它由SCCB_E、SIO_C、SIO_D组成。在为了减少引脚的芯片上缩减为2根线:SIO_C和SIO_D。
SCCB协议接口配置过程[2]:由三个阶段写完毕一个地址,第一阶段:发送设备的ID地址(ID Address);第二个阶段:发送此次所发数据的目的地寄存器地址(Sub_address);第三阶段:发送要写入的数据。……
