基于FPGA的CMOS图像传感器采集研究

写在前面:本人研究生阶段学习内容,以下为待补充的知识点,将努力学完。

1. 数电

(1)基础器件

D 触发器、寄存器、移位寄存器、多路选择器 MUX、加法器;

分清组合逻辑(无时钟)/ 时序逻辑(靠时钟),搞懂同步 / 异步复位。

(2)核心内容

建立时间 Setup、保持时间 Hold(LVDS、像素时序全靠这个);

有限状态机 FSM(SPI、传感器时序全部用状态机写);

跨时钟域 CDC(FPGA 内部好几个不同时钟,必学两级同步、异步 FIFO);

并行 / 串行转换、位拼接、高低字节拆分(LVDS 解串核心);

(3)计数器分频简单会用就行,复杂时序电路不用深究。

2. FPGA+Verilog

(1)Verilog 语法

  1. 基础框架:module 模块、input/output、wire/reg,阻塞 =、非阻塞 <=(最容易踩坑)
  2. 三种 always 块:组合 always@*、时序 always@(posedge clk)、仿真 initial
  3. 状态机标准写法(三段式,写 SPI、传感器时序必备)
  4. 移位寄存器、FIFO、参数 parameter、位宽截取拼接
  5. 仿真 Testbench(写波形看 SPI、LVDS 数据,不用上板反复试)

(2)开发工具(Xilinx Vivado)

  1. Vivado 完整流程:建工程、添加代码、综合、布局布线、时序报告、下载
  2. 约束文件 xdc:时钟约束、IO 电平标准、差分引脚约束(LVDS 必须配)
  3. ILA 在线逻辑分析仪(板子上抓波形,替代简易示波器)
  4. Modelsim 仿真(提前验证代码,避免焊完板子才发现逻辑错)

(3)必须写通的 5 个基础模块

  1. 分频模块(产生传感器 600MHz 差分输入时钟、SPI 低速时钟)
  2. SPI 主控制器(GSENSE 寄存器读写,配置曝光、增益、12/11bit 模式)
  3. 异步 FIFO(像素时钟与输出时钟跨域缓存)
  4. LVDS 差分接收解串模块(这款芯片 8/16 对 LVDS 输出像素)
  5. 帧缓存控制(外挂 DDR3/SDRAM 存一整幅 2048×2048 图像)

(4)进阶图像逻辑

  1. LVDS 训练对齐(手册专门讲 TRAIN 模式,多通道数据偏移校正)
  2. HDR 高低增益图像拼接(芯片同时输出 HG/LG 两路数据)
  3. 2-CMS 低噪声累加逻辑(可选拓展功能)
  4. 图像输出:网口 UDP/HDMI(把图传到电脑显示)

3. 硬件电路 & PCB 设计

(1)电源电路(最容易出噪点、花屏)

已有的手册明确多组电压:3.5V 模拟 VDD35A、2.0V 数字 VDD20D、0.8V VDDPIX_LDC 等

  1. LDO 线性电源(模拟电源不能用开关电源,噪声大)
  2. 电源滤波:0402 100nF+10uF 组合,磁珠分模拟 / 数字地
  3. 地分割:AGND、DGND 单点连接(防止数字噪声串进感光区)
  4. 看懂上电时序(手册有严格上电顺序,错了传感器不启动)

(2)高速差分电路(LVDS 核心)

  1. LVDS 电气标准:100Ω 差分阻抗、共模 1.25V
  2. PCB 布线规则:差分对内等长、组间等长控制、远离电源走线
  3. 差分缓冲器 OBUFDS/IBUFDS(FPGA 原生差分 IO 使用)

(3)控制接口电路

  1. SPI:4 根信号线,上拉电阻、ESD 防护 TVS
  2. 所有 ROW、TX、SYNC 等控制 3.3V 电平匹配,串电阻限流
  3. 晶振电路:FPGA 高速差分时钟源 600MHz

(4)配套外设

  1. DDR3 内存电路(4MP 图像数据量大,片内 RAM 存不下)
  2. 网口 PHY/HDMI 芯片电路(图像上传上位机)

(5)工具

Altium Designer:原理图绘制、PCB 布局、阻抗计算、DRC 检查

4. GSENSE2020BSI 专属知识(吃透手册)

(1)芯片基础参数

2048×2048、12bit (8 对 LVDS)/11bit (16 对 LVDS)、最大帧率、HDR 双通道读出

(2)SPI 寄存器体系

读写时序、PGA 增益、ADC 位数、LVDS 通道开关、全局复位、2-CMS 使能、黑电平校正寄存器

(3)时序逻辑(最难部分)

CLK_SEQ 时钟计算、行周期 560/330 个时钟、曝光时间计算公式、行读 / 复位地址时序

(4)LVDS 输出规范

上下双通道 LVDS、同步 SYNC 信号、训练对齐流程、12/11bit 数据打包格式

(5)硬件引脚功能

153pin PGA 封装:所有电源、差分 LVDS、SPI、ROW 地址、时序控制引脚定义

(6)工作模式区分

普通卷帘、全局复位、2-CMS 低噪声、HDR 高低增益融合四种模式切换逻辑

5. 仪器实操(示波器)

(1)基础测量:各路电源纹波、3.3V 控制信号高低电平、晶振频率

(2)差分测量:LVDS 时钟 / 数据眼图,判断阻抗匹配是否合格

(3)时序测量:SPI 读写时序、SYNC 同步信号、行场读出时序偏移

(4)故障定位:

无图像 = 查上电时序 / 电源;花屏丢行 = LVDS 失同步 / 时序违例;噪点大 = 模拟电源滤波差

6. 上位机辅助

Python:UDP 接收 FPGA 传的 RAW 图像,保存、显示、计算噪声 / 动态范围(论文实验数据采集)

参考学习路径:

  • 1 周:补数电核心(触发器、FSM、Setup/Hold、跨时钟)
  • 3 周:Verilog 基础 + 5 个基础模块(分频、SPI、FIFO、移位、ILA 调试)
  • 2 周:看懂 GSENSE 手册全部时序、SPI、LVDS 章节
  • 3 周:硬件原理图 + PCB 绘制(电源、LVDS、SPI、DDR)
  • 4 周:FPGA 核心采集代码(SPI 配置 + LVDS 解串 + 帧缓存 + HDR 拼接)
  • 2 周:焊接样板、示波器调试、上位机图像显示
  • 2 周:功能优化(2-CMS、曝光可调、噪声测试、论文实验)