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