01
FPGA基础与开发环境搭建
FPGA发展史、内部结构(CLB/BRAM/DSP/IOB)、主流厂商、Vivado/Quartus安装、Verilog/VHDL选择
环境入门
02
Verilog基础语法 (上)
模块结构、端口定义、wire/reg、assign/always、阻塞与非阻塞赋值
语法组合逻辑
03
Verilog基础语法 (下)
parameter/localparam、if-else/case、for/generate、函数与任务
参数化任务
04
组合逻辑设计
基本门电路、多路选择器、加法器/减法器、编码器/译码器、比较器
组合算术
05
时序逻辑设计
D-FF/T-FF、寄存器与移位寄存器、计数器(二进制/BCD/环形)、分频器
时序计数器
06
状态机设计
Moore/Mealy型、三段式写法、状态编码(二进制/格雷/独热)、序列检测器
FSM检测
07
按键消抖原理
机械抖动特性、消抖时间窗口(5-20ms)、硬件RC滤波与软件消抖对比
消抖基础
08
按键消抖Verilog实现
边沿检测、延时计数器、状态机消抖法、消抖参数可配置化
Verilog消抖
09
仿真与Testbench编写
仿真时间单位、initial/always、$display/$monitor/$time、波形查看
仿真TB
10
按键消抖仿真验证
编写消抖Testbench、模拟按键抖动、波形分析、覆盖率检查
验证抖动
11
图像传感器基础
CMOS vs CCD、Bayer阵列、像素时钟与同步信号、DVP/MIPI/LVDS接口
传感器接口
12
OV5640摄像头驱动 (上)
SCCB/I2C配置、分辨率设置(640x480/1920x1080)、输出格式(RGB565/YUV)
OV5640驱动
13
OV5640摄像头驱动 (下)
帧同步解析、像素数据采集、行缓存(FIFO/BRAM)、调试技巧
数据采集FIFO
14
DVP接口时序设计
PCLK与HREF/VSYNC关系、数据捕获窗口、跨时钟域同步(双级触发器/异步FIFO)
DVP跨时钟域
15
图像数据缓存设计
BRAM配置(单口/双口/真双口)、行缓存Line Buffer、帧缓存架构
BRAM缓存
16
VGA/HDMI显示驱动
VGA时序(640x480@60Hz)、HDMI编码(TMDS)、像素时钟生成(MMCM/PLL)
显示VGA
17
图像采集显示通路
摄像头→缓存→显示全链路、FIFO空满标志、帧同步与帧率控制
通路帧率
18
灰度化处理
RGB转灰度(Y = 0.299R+0.587G+0.114B)、流水线设计、FPGA实现与仿真
灰度流水线
19
图像二值化
全局/自适应阈值、大津法(OTSU)原理、FPGA直方图统计实现
二值化OTSU
20
边缘检测 (Sobel算子)
Sobel卷积核、3x3窗口生成(Shift Register)、梯度计算与阈值判断
Sobel边缘
21
图像缩放 (双线性插值)
插值原理、坐标映射、权重计算、FPGA流水线实现
缩放插值
22
图像旋转 (坐标变换)
旋转矩阵、坐标映射与边界处理、BRAM查找表优化
旋转LUT
23
帧差法运动检测
背景建模、帧差计算、运动区域标记、FPGA实时实现
运动帧差
24
目标跟踪 (质心法)
连通域标记、质心坐标计算、跟踪窗口更新、状态机控制
跟踪质心
25
按键控制图像处理模式
按键切换灰度/二值化/边缘检测、模式状态机、参数动态配置
按键模式
26
按键控制图像参数调节
调节阈值/亮度/对比度、增量式调节、EEPROM参数保存
参数EEPROM
27
多按键组合控制
组合键检测(同时/顺序按下)、长按与短按区分、防抖与防连击
组合键防连击
28
系统集成与调试
模块接口定义、时序收敛(Setup/Hold)、资源利用率优化、ILA/VIO调试
集成时序
29
上板验证与问题排查
硬件连接检查、时钟与复位、图像花屏/黑屏/卡顿分析、逻辑分析仪
上板调试
30
项目总结与扩展
完整架构回顾、性能评估(帧率/延迟/资源)、扩展方向(神经网络/3D视觉/多摄像头)
总结扩展