一、项目概述
本项目基于 STAR/SF-AT7 FPGA 开发板搭建完整的实时视觉处理链路,实现 CMOS 图像传感器数据采集、片外 DDR3 帧缓存、VGA 高清显示的全流程硬件加速。系统支持标清图像输入到 720P 高清输出的规格转换,采用模块化设计与流水线架构,兼具稳定性与可扩展性,可作为 FPGA 图像处理算法的基础验证平台。
二、系统功能定义与整体数据流架构
2.1 硬件平台与核心指标
- 核心控制单元:STAR / SF-AT7 FPGA 开发板,通过 Verilog 编程实现全链路逻辑控制,最终生成
.bit配置文件固化 - 图像输入:兼容 OV7670 等主流 CMOS 图像传感器,原始输出规格为 752×480 分辨率 @56fps,8bit 并行像素数据
- 图像输出:标准 VGA 接口,最终输出 1280×720(720P)@60Hz 高清显示画面
- 存储单元:板载 DDR3 芯片作为帧缓存,解决 FPGA 片内存储资源不足的问题,支撑高帧率数据吞吐
2.2 全链路数据流走向
系统采用 "采集→缓存→显示" 三级流水线架构,数据沿单向链路稳定传输,各环节功能与参数如下:
-
图像采集环节 传感器输出的原始像素流进入 FPGA 图像采集模块,模块完成时序对齐、有效像素提取与格式规整,输出 640×480 @56fps 的标准图像数据,支持 8bit/16bit 像素位宽配置,为后端缓存提供标准化输入。
-
图像缓存环节 采集后的数据流先写入片内异步 FIFO 完成跨时钟域缓冲,再通过 DDR3 控制器 IP 写入片外 DDR3 芯片完成整帧存储;读取侧同样通过 FIFO 做速率匹配,为显示模块提供连续稳定的像素流。其中 DDR3 数据接口位宽为 128bit,可充分满足 720P@60Hz 的带宽需求。
-
显示驱动环节 从 DDR3 缓存中逐行读取图像数据,经显示驱动模块生成标准 VGA 行同步、场同步时序,同时完成分辨率上变换,最终输出 720P@60Hz 的视频信号,直接驱动 VGA 显示器完成实时画面显示。
2.3 时钟系统设计
系统时钟由外部 50MHz 晶振(pclk)提供输入,通过 FPGA 内部 PLL 锁相环 IP 核进行分频与倍频,生成采集时钟域、DDR3 控制器时钟域、VGA 显示时钟域等多组独立时钟,满足不同模块的时序要求,同时通过异步 FIFO 隔离各时钟域,避免亚稳态风险。
三、模块划分与接口信号定义
系统按功能解耦为三大核心模块:图像采集模块 、图像缓存模块 、VGA 显示驱动模块,模块间通过标准握手信号交互,便于单独调试与功能扩展。
3.1 图像采集模块(capture_image)
该模块对接前端 CMOS 传感器,负责提取有效像素数据并完成初步格式整理。
- 输入信号(传感器侧):传感器像素时钟、行同步 / 场同步信号、8bit 并行像素数据输入
- 输出信号(对接缓存写端口) :
capture_image_clk:采集域输出时钟,同步所有输出信号capture_image_vld:像素数据有效标志,高电平时数据有效capture_image_data[7:0]:8bit 标准像素数据输出- 帧同步标志:用于帧缓存的地址切换与帧同步
3.2 图像缓存模块
本模块是系统的速率匹配核心,采用 "写 FIFO + DDR3 控制器 IP + 读 FIFO" 的三级缓存架构,实现跨时钟域数据交互与整帧存储。
- 写端口(对接采集模块):写时钟、写使能信号、8bit 写入数据总线、FIFO 满标志(用于反压采集模块,防止数据溢出)
- 读端口(对接显示驱动模块) :
display_image_clk:显示域读取时钟display_image_rden:读使能信号,由显示驱动模块主动发起display_image_data[7:0]:8bit 像素数据输出- FIFO 空标志:提示显示模块当前数据状态
- 全局控制信号 :
clr全局清零信号,系统复位或帧同步时清空 FIFO 缓存,避免错误数据残留
3.3 VGA 显示驱动模块
该模块负责生成标准 VGA 时序,从缓存中读取像素数据并输出至显示器。
- 输入信号(缓存读端口):像素数据、读使能应答、数据有效标志
- 输出信号(VGA 接口侧):VGA 行同步(HS)、场同步(VS)时序信号、RGB 像素数据输出,输出规格为 1280×720 @60Hz
四、设计核心技术要点
-
跨时钟域安全处理 采集时钟域与显示时钟域相互独立,通过异步 FIFO 实现数据的跨域传输,从物理上隔离两个时钟域,有效避免亚稳态问题,同时完成不同速率数据流的匹配。
-
DDR3 帧缓存架构 采用片外 DDR3 存储整帧图像,突破 FPGA 片内 BRAM 资源限制;可扩展双缓冲 / 三缓冲机制,实现读写帧分离,彻底解决画面撕裂问题,提升显示流畅度。
-
模块化解耦设计 三大模块接口定义清晰、职责单一,可单独进行仿真与板级调试;后续可直接在采集与缓存之间插入灰度转换、滤波、边缘检测等图像处理算法模块,无需改动整体架构。
-
分辨率自适应转换 系统支持输入输出分辨率的灵活配置,通过裁剪、插值或居中显示等方式,实现标清输入到高清输出的适配,兼容多种传感器与显示设备。
五、后续扩展方向
本系统是 FPGA 图像处理的基础框架,后续可从以下方向进行功能升级:
- 加入图像预处理算法:灰度化、高斯滤波、Sobel 边缘检测等硬件加速模块
- 扩展图像输入输出接口:支持 HDMI 输出、MIPI 摄像头输入
- 增加字符叠加、矩形框绘制等 OSD 功能
- 接入 AI 加速 IP,实现目标检测等高级视觉功能