1. 课程导入与平台总览

嵌入式视觉并不是把摄像头接到处理器上就能自然成立的技术。它要求在有限的功耗、体积和成本预算内,稳定完成图像采集、预处理、特征提取、目标判断与结果输出这一整条链路。Lattice FPGA之所以在这个领域占有一席之地,核心原因在于它把“可编程并行硬件”和“低功耗小封装”这两件事结合到了一起:一方面,像素级运算、卷积、阈值分割、帧缓存调度这类任务天然适合用并行逻辑实现;另一方面,Lattice 的 Nexus、CertusPro-NX、CrossLink-NX 等器件在待机功耗、封装尺寸和接口灵活性上,适合放在摄像头模组旁边、工业相机内部或电池供电的边缘节点中。

从系统定位看,Lattice FPGA通常不单独承担“完整智能视觉”的全部任务,而是处在传感器与主控之间的关键位置。它可以直接接收 MIPI CSI-2、LVDS、DVP 等图像接口,完成去马赛克、坏点校正、自动曝光统计、白平衡统计、缩放、色彩空间转换、帧差、二值化、连通域标记、简单卷积或模板匹配,再把结构化结果通过 SPI、I2C、UART 或 PCIe 送给 MCU、SoC 或上位机。这样做的价值是:主控不必被高带宽像素流拖住,系统可以在更低主频、更低功耗下获得确定的实时性。

典型应用场景可以归纳为四类:第一类是“看得见”的辅助视觉,如工业扫码、定位标记识别、显示屏缺陷检测;第二类是“看得快”的实时预处理,如高速相机前端去噪、ROI 提取、多路视频拼接;第三类是“看得省”的电池或能量采集设备,如智能门锁、可视门铃、AR 眼镜中的低功耗唤醒;第四类是“看得准”的确定性检测,如生产线上的边缘检测、尺寸测量、缺陷计数。它们共同要求平台具备稳定的像素时钟、可预测的延迟、可裁剪的资源和可验证的接口时序。

本课程的平台设计目标不是做一个“能跑通摄像头”的演示,而是建立一个可复现、可扩展、可调试的嵌入式视觉处理平台。具体包括:以 Lattice FPGA 为核心,构建从图像输入、缓存、处理到输出的完整数据通路;用 Verilog/SystemVerilog 描述像素级流水线,并理解时序收敛与资源占用的关系;掌握 MIPI/LVDS 接收、DDR 帧缓存、跨时钟域处理、图像算法硬件化、结果输出与上位机联调等关键环节;最终能够根据分辨率、帧率、位宽和功耗约束,做出合理的架构取舍。

整体学习路径按“先通链路,再优算法,后做系统”推进。第一阶段建立平台认知:明确 FPGA 在视觉链路中的位置,理解像素时钟、行有效、帧有效、消隐区等基本时序,完成最小图像直通实验。第二阶段进入接口与缓存:掌握 MIPI CSI-2 或 LVDS 接收、DDR 读写调度、乒乓缓存与行缓存设计,解决跨时钟域和带宽匹配问题。第三阶段做算法硬件化:从灰度化、阈值、Sobel、中值滤波到简单卷积,理解流水线、并行度、行缓冲和乘加资源之间的权衡。第四阶段做系统集成:加入 ROI、多路视频、结果上报、参数在线配置和调试观测,形成可交付的视觉处理平台。

Lattice FPGA 嵌入式视觉平台总览 从传感器输入到结构化结果输出,以及四阶段学习路径 图像传感器 MIPI CSI-2 / LVDS / DVP 像素时钟 · 行有效 · 帧有效 RAW / RGB / YUV 分辨率与帧率约束 Lattice FPGA 视觉处理平台 接口接收与同步 CSI-2 解包 · 跨时钟域 帧缓存与调度 DDR · 乒乓 · 行缓存 像素级预处理 去马赛克 · 灰度 · 缩放 特征与判断 阈值 · 卷积 · 连通域 结果封装与输出 坐标 · 计数 · 标志 · 图像流 关键约束:像素时钟频率 · 带宽 · 延迟 · 资源 · 功耗 主控 / 上位机 MCU / SoC / PC SPI · I2C · UART · PCIe 决策 · 显示 · 存储 参数下发与状态回读 反馈:参数 / 触发 / 状态 学习路径 ① 平台认知与直通 时序 · 最小图像链路 ② 接口与缓存 CSI-2 · DDR · 跨时钟域 ③ 算法硬件化 流水线 · 并行度 · 行缓冲 ④ 系统集成与联调 ROI · 多路 · 在线配置

为了让平台设计有明确的工程抓手,可以把关键参数先固定成一组“教学基线”,后续章节再按需调整。例如:输入分辨率 1280×720,帧率 60 fps,像素格式 RAW10 或 YUV422,像素时钟约 74.25 MHz;FPGA 内部采用 8 bit 灰度处理,行缓存深度 3 行,卷积窗口 3×3;DDR 帧缓存按 2 帧乒乓分配,每帧约 1280×720×1 Byte ≈ 0.92 MB,两帧约 1.84 MB;输出结果通过 UART 以 115200 bps 上报目标坐标和计数,或通过 SPI 以 10 MHz 回读状态寄存器。这些数值不是唯一答案,而是帮助读者建立“分辨率—带宽—缓存—资源—功耗”之间量化关系的起点。

判断平台是否达到设计目标,不能只看“图像有没有出来”。至少应观察四类证据:第一,时序是否稳定,像素时钟、行有效、帧有效与消隐区是否符合传感器手册;第二,数据是否完整,帧计数是否连续、有无丢行丢帧、DDR 读写是否溢出;第三,处理结果是否正确,用已知测试图验证阈值、卷积、连通域标记的输出是否符合预期;第四,资源与功耗是否可接受,LUT、寄存器、EBR、DSP 的占用率以及静态/动态功耗是否落在目标器件范围内。只有这四类证据同时成立,平台才具备继续扩展的基础。

学习本课程时,建议始终带着三个问题看每一节:这条数据通路从哪里来、经过哪些处理、最终到哪里去;每个处理模块的输入输出时序和位宽是什么;当分辨率、帧率或算法复杂度变化时,最先成为瓶颈的是接口带宽、缓存容量、逻辑资源还是功耗。把这三个问题贯穿始终,后续的接口、缓存、算法和系统集成就不会变成零散知识点的堆叠。