OV5640 外部时钟版本技术手册

知识库
知识库文档
/firmware/传感器/OV5640 外部时钟版本/OV5640 外部时钟版本技术手册.md

文档

OV5640 外部时钟版本技术手册

一、概述

OV5640 外部时钟版本是 OmniVision 500万像素 CMOS 图像传感器的变体,与内部时钟版本最大的区别在于:不使用内部PLL,系统时钟直接由外部 XVCLK 引脚输入的时钟信号驱动。该版本适用于 FPGA 或主控芯片能够提供精确高质量时钟的场景,具有上电更快、配置更简单、帧率更精准等优势。

主要特性

  • 500万像素(2592×1944)分辨率
  • 1/4英寸光学格式,1.4μm像素尺寸
  • DVP 并行接口和 MIPI CSI-2 双通道接口
  • 外部时钟直驱——XVCLK 直接作为系统主时钟
  • 无 PLL 锁定等待,上电更快
  • 帧率由外部时钟精确控制
  • 嵌入式自动对焦引擎
  • AE/AWB/AGC 全自动处理

二、引脚定义

引脚号 引脚名称 类型 描述
1 AVDD PWR 模拟电源 2.8V
2 DVDD PWR 数字内核电源 1.5V
3 DOVDD PWR I/O电源 1.8V/2.8V
4 AGND GND 模拟地
5 DGND GND 数字地
6 XVCLK I 外部系统时钟输入(直接驱动,无PLL)
7 PCLK O 像素时钟输出
8 HREF O 行同步信号
9 VSYNC O 帧同步信号
10-19 Y0-Y9 O 像素数据输出
20 SCL I SCCB接口时钟
21 SDA I/O SCCB接口数据
22 PWDN I 掉电控制(高有效)
23 RESET I 复位信号(低有效)

三、电气特性

绝对最大额定值

参数 最小值 最大值 单位
AVDD -0.3 3.6 V
DVDD -0.3 2.0 V
DOVDD -0.3 3.6 V
XVCLK频率 6 96 MHz
工作温度 -30 +70

推荐工作条件

参数 典型值 单位
AVDD 2.8 V
DVDD 1.5 V
DOVDD 1.8/2.8 V
XVCLK(推荐) 24 MHz
XVCLK 占空比 45~55 %

XVCLK 时钟要求(外部时钟版本关键参数)

参数 规格 单位
频率范围 6 ~ 96 MHz
占空比 45% ~ 55% -
上升/下降时间 ≤3 ns
抖动(RMS) ≤100 ps
输入高电平 ≥0.7 × DOVDD V
输入低电平 ≤0.3 × DOVDD V

四、外部时钟架构

外部时钟版本的时钟路径非常简单:

FPGA/MCU/有源晶振
        │
        │  精准时钟信号
        │  (6-96MHz, 低抖动)
        ▼
   ┌─────────┐
   │ XVCLK   │ (引脚6)
   │         │
   │ OV5640  │────→ SCLK (系统时钟) = XVCLK / system_divider
   │ 外部    │────→ PCLK (像素时钟) = SCLK / pclk_divider
   │ 时钟版  │
   └─────────┘

   ⚠ 无PLL,无倍频,无锁定等待
   XVCLK频率 = 系统所需基础时钟频率

与内部时钟版本对比

特性 内部时钟版本 外部时钟版本
PLL 有,需配置 无,旁路
XVCLK作用 参考时钟 直接系统时钟
上电延迟 需PLL锁定≥5ms 几乎无延迟
寄存器配置 复杂(PLL相关寄存器) 简单
抗抖动能力 强(PLL可滤除) 弱(直接传递)
适用场景 MCU/DSP等 FPGA/精准时钟源
帧率精度 取决于PLL精度 取决于外部时钟精度

五、典型应用电路

5.1 电源方案

+3.3V ─┬── LDO 2.8V → AVDD (10μF∥100nF)
       ├── LDO 1.5V → DVDD (10μF∥100nF)
       └── LDO 1.8V → DOVDD (10μF∥100nF)

5.2 FPGA提供外部时钟(推荐方案)

FPGA (如Xilinx/Intel)
    │
    ├─ PLL输出 ────→ OV5640 XVCLK (精准24MHz, 低抖动)
    │
    ├─ I2C主控 ────→ OV5640 SCL/SDA (SCCB配置)
    │
    └─ 并行接口 ◀─── OV5640 D[7:0], PCLK, HREF, VSYNC

5.3 外部时钟版本特别注意

⚠ 外部时钟版本必须确保:
1. XVCLK 在传感器上电后、复位释放前就已稳定提供
2. XVCLK 信号质量(抖动、占空比)直接影响图像质量
3. PCB走线:XVCLK走线尽量短,远离噪声源,可加33Ω源端匹配电阻
4. 建议在XVCLK引脚附近放置一个100nF去耦电容

六、SCCB 寄存器配置(外部时钟版本专用)

外部时钟版本的核心——PLL被旁路:

// 外部时钟版本关键寄存器设置
OV5640_WriteReg(0x3103, 0x03);  // 系统时钟源选择:外部时钟直通(无PLL)
                                 // bit[1:0] = 11 → 选择XVCLK直接作为系统时钟

OV5640_WriteReg(0x3034, 0x0A);  // PLL charge pump 设为最低(不使用PLL)
OV5640_WriteReg(0x3035, 0x01);  // 系统分频器 = /1
OV5640_WriteReg(0x3036, 0x00);  // PLL倍频系数 = 0(禁用)

帧率计算公式(外部时钟版本)

PCLK = XVCLK / pclk_divider
帧率 = PCLK / (HTS × VTS)

其中:
- XVCLK: 外部输入时钟频率
- pclk_divider: PCLK分频系数(寄存器0x3824等)
- HTS: 行总长度(寄存器0x380C/D)
- VTS: 帧总行数(寄存器0x380E/F)

示例计算

  • XVCLK = 24MHz, pclk_divider = 2, HTS=1880, VTS=1968
  • PCLK = 24/2 = 12MHz
  • 帧率 = 12,000,000 / (1880 × 1968) ≈ 3.24fps(不适合实时)
  • → 需提高XVCLK至84MHz或降低分辨率

七、上电时序(外部时钟版本)

步骤1: 拉低 RESET 和 PWDN
步骤2: 依次上电 AVDD → DVDD → DOVDD
步骤3: 等待电源稳定(≥1ms)
步骤4: ⚠ 提供 XVCLK 时钟信号 ← 关键!需在PWDN释放前稳定
步骤5: 释放 PWDN(拉高)
步骤6: 等待 ≥1ms(外部时钟版本无需PLL锁定,等待时间短)
步骤7: 释放 RESET(拉高)
步骤8: 等待 ≥20ms
步骤9: 通过SCCB写入初始化寄存器
步骤10: 输出图像数据

⏱ 总上电时间:外部时钟版本比内部时钟版本快约5-10ms

八、注意事项

  1. 时钟质量是生命线:外部时钟版本对 XVCLK 抖动极其敏感,劣质时钟源会直接导致图像条纹、噪点增多。
  2. 频率选择:XVCLK 频率决定了系统时钟基准,需根据目标分辨率/帧率反推所需频率。
  3. 占空比要求:必须保持在 45%~55%,偏离太大会导致像素采样错误。
  4. 与内部版本PCB不通用:外部时钟版本可能需要不同的外围电路(如 XVCLK 端接电阻)。
  5. 不建议使用MCU GPIO模拟XVCLK:GPIO翻转产生的时钟抖动过大,建议使用有源晶振或专用时钟输出。
  6. 长距离传输:如需长距离传输 XVCLK,使用 LVDS 差分传输后在传感器端转换回单端。
  7. 寄存器初始化序列更精简:无需配置 PLL 相关寄存器,初始化序列比内部版本短约 20%。

信息

路径
/firmware/传感器/OV5640 外部时钟版本/OV5640 外部时钟版本技术手册.md
更新时间
2026/5/26