序
本文
1.
2.
3.
文档
一、
图
序
文档旨在解决
OV7670 是什
OV7670 怎么
OV7670 怎么
档适合在 FPG
、OV7670
OV7670
图 1 OV7670摄
1. 传感器封
OV7670
2013‐2‐21
OV7
决 OV7670 开
什么;
么用;
么用好。
GA 上开发 O
0是什么
0 摄像头主要
摄像头主要特
封装结构
0 传感器有下
HTT
7670摄
开发的过程中
OV7670 应用
要特性
特性(源自于
下列两种封装
[艾曼
TP:// AM
1 / 23
摄像头
中的 3 个问题
用的开发人员
于 OV7670 Pre
装形式。
曼电子技
MFPGA.
头彻底解
题:
员。
eliminary Dat
技术文档
.TAOBA
解读
tasheet Versio
AO.COM]
on 1.4 Page 1
1)
右图
引
2
3
4
5
6
7
8
9
1
1
1
1
1
图中管脚定义
引脚 名称
1 NC
2 NC
3 Y2
4 Y1
5 Y3
6 Y0
7 Y4
8 PCLK
9 Y5
10 DGND
11 Y6
12 XCLK
13 Y7
14 DOVD
2013‐2‐21
义如下:
称 引
O
O
O
O
O
O
O
K O
O
D P
O
K1 I
O
DD P
HTT
图 2 OV7
脚类型
Output
Output
Output
Output
Output
Output
Output
Output
Output
Power
Output
Input
Output
Power
[艾曼
TP:// AM
2 / 23
7670摄像头封
Outp
Ou
O
Output bi
Digital
曼电子技
MFPGA.
封装形式
put bit[0] -
utput bit[1
Ou
Ou
Ou
Output bit[2
Ou
Pixe
Ou
Di
Ou
Crys
it[9] - MSB
power supp
技术文档
.TAOBA
功能定义
- LSB for 1
] - for 10-
utput bit[4
utput bit[3
utput bit[5
2] - LSB fo
utput bit[6
el clock ou
utput bit[7
igital grou
utput bit[8
tal clock i
B for 10-bi
ply (VDD-IO
AO.COM]
10-bit RGB
-bit RGB on
4]
3]
5]
or 8-bit YU
6]
utput
7]
und
8]
input
t RGB and
O= 2.5 to 3
only
nly
UV
8-bit YUV
3.3 VDC)
2013‐2‐21
[艾曼电子技术文档
HTTP:// AMFPGA.TAOBAO.COM]
3 / 23
15 DVDD Power
Power supply (VDD-C= 1.8 VDC + 10%) for digital
output drive
16 HREF Output HREF output
17 PWDN
Function
(default = 0)
Power Down Mode Selection - active high, internal
pull-down resistor. 0:Normal mode 1: Power down
mode
18 VSYNC Output Vertical sync output
19 RESET
Function
(default = 0)
Clears all registers and resets them to their
default values. Active high,internal pull-down
resistor.
20 SIO_C Input SCCB serial interface clock input
21 AVDD Power Analog power supply (VDD-A= 2.45 to 2.8 VDC)
22 SIO_D I/O SCCB serial interface data I/O
23 AGND Power Analog ground
24 NC
2. OV7670 功能模块图
图 3 OV7670
由图 3 可知
测试图案发
SCCB通信接
3.1 Image Se
Ov7670
总共是 307
2.2 Timing G
有以下功
1) 图像
2) 内部
3) 帧率
4) 自动
(C
5) 外部
2013‐2‐21
0功能模块图
知,模块由 5
发生器(Test
接口。
ensor Array
0 传感器阵列
,200 像素。
Generator
功能:
像阵列控制和
部时序信号产
率时序
动曝光控制
COM1=0x04;A
部时序输出
HTT
图(源自于 O
大部分构成
Pattern Gene
列为 656X488
和图像帧产生
产生和分发;
(AEC)相关
AECHH=0x07;
(VSYNC,HRE
[艾曼
TP:// AM
4 / 23
OV7670 Prelim
,分别是,1
erator);3:数
8,总共有 3
生;
寄存器
;AECH=0x10,
F/HSYNC,和
曼电子技
MFPGA.
minary Datas
1:图像模数
数据输出;4:
20,128 像素点
COM8=0x13
PCLK)
技术文档
.TAOBA
sheet Version
数转换(Analog
656X488 图
点,其中有效
)
AO.COM]
n 1.4 Page 2)
g Processing)
图像传感器整
效的为 640X
;2:
列;5:
480,
2013‐2‐21
[艾曼电子技术文档
HTTP:// AMFPGA.TAOBAO.COM]
5 / 23
二、 OV7670摄像头怎么用
1. 摄像头硬件电路
所使用摄像头的电路原理图如图 4所示。U1 为 OV7670 摄像头传感器,采用 BGA
封装。P1 为外部接口,信号电平为 3.3V TTL,可以跟 3.3V电平的外设直接连接。
VCC为 3.3V电压。在电路上特别要注意的是,SCCB的两根信号线 SIO_D,SIO_C需
要上拉 4.7K电阻。 图 5为摄像头模块实物图;
图 4 OV7670摄像头模块电路原理图
AVDDA1
SIO_DA2
SIO_CA3
D1A4
D3A5
PWDNB1
VREF2B2
AGNDB3
D0B4
D2B5
DVDDC1
VREF1C2
VSYNCD1
HREFD2
PCLKE1
STROBEE2
XCLKE3
D7E4
D5E5
DOVDDF1
RESET#F2
DOGNDF3
D6F4
D4F5
U1
OV7670
R1
1K
C1
104
C3
104
C2
104
GND
GND
AVDD
SIO_D
SIO_C
D1
D3
PWDN
VREF2
AGND
D0
D2
DVDD
VREF1
VSYNC
HREF
PCLK
STROBE
XCLK
D7
D5
DOVDD
RESET#
DOGND
D6
D4
AVDD
R2
4K7
R3
4K7
SIO_D
SIO_C
VCC
VCC
R4
10K
C8
104
VCC
RESET#
GND
C4
104
C5
104
C6
104
C7
104
GND
VREF2
DVDD
VREF1
VCC
GND
VCC
GND
1 2
3 4
5 6
7 8
9 10
11 12
13 14
15 16
P1
Header 8X2
VCC GND
SIO_C SIO_D
VSYNC HREF
PCLK XCLK
D0D1
D2D3
D4D5
D6D7
像传
片上
2. OV7670
OV7670 接口
2.1 SCCB接
SCCB 是欧姆
传感器上。SCC
上缩减为 2根线
2.2 起始和终
2013‐2‐21
0 接口时序
口时序包括两
接口
姆尼图像技术
CB 是一种 3 线
线,SIO_C 和
终止时序
HTT
图 5 OV
两部分:1)S
术公司(OmniV
线的总线,它
和 SIO_D。
图
[艾曼
TP:// AM
6 / 23
V7670摄像头
SCCB接口时
图 6 SCCB功
Vision)开发
它由 SCCB_E、
图 7 SCCB 起
曼电子技
MFPGA.
头模块实物图
时序;2)图像
功能图
发的一种总线
SIO_C、SIO_
起始信号
技术文档
.TAOBA
图
像数据输出时
,并广泛的应
_D 组成。在为
AO.COM]
时序;
应用于 OV 系列
为了减少引脚
列图
脚的芯
在启
明 S
前,
数据
tPSC
tPSA
+ W‐
启动传输过程
SIO_D 必须先
SIO_E 被拉
据传输的终止
C 是 SCCB—
A 是 SIO_D
2.3 SCCB 写
写时序由 3相
Data。OV7670
2013‐2‐21
中有两个时间
先于 SCCB_
拉低的时间,不
——E 上升沿
上升沿,SC
时序
相构成。先写设
0的设备地址为
HTT
间参数,tPRA
E 被拉高的时
不能小于 1.2
图
,SIO_D 保
CCB_E 必须保
设备地址,再写寄
为 0x42,最后一
[艾曼
TP:// AM
7 / 23
A 和 tPRC,t
时间,最小值
25us。
图 8 SCCB 终
保持逻辑高电平
保持低电平的
寄存器地址,最
一位用来判断读
曼电子技
MFPGA.
tPRC 被定义
值为 15ns,tP
终止信号
平的时间,最
的时间,最小
最后写寄存器的
读写,即读的时
技术文档
.TAOBA
义为 SIO_D 预
PRA 被是指在
最小为 15ns;
为 0ns。
的值,即 ID‐Ad
时候为 0x43。
AO.COM]
预充电时间,
在 SIO_D 拉
;
ddress + SUB‐Ad
这
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
拉低之
ddress
每次
W‐Da
手册
华为质量管理手册 下载焊接手册下载团建手册下载团建手册下载ld手册下载
也就
if(W
次发送 8 个数据
ata 。
2.4 SCCB 读
读时序由 4
册中特别提到
就是在 Read D
3. SCCB的
WR) //
2013‐2‐21
据,SDAT 设置为
时序
相构成,分别
到,
Data 环节里
的 Verilog程序
I2C Write: ID
begin
case(SD_C
//IDLE
6'd0 :
HTT
图 9 SC
为输入,接收一
别是 ID Addr
,有个 NA,
序解析
‐Address + SU
COUNTER)
begin
SCLK <= 1;
I2C_BIT <= 1
[艾曼
TP:// AM
8 / 23
CCB 读写传输
一个从机反馈的
ess+Sub-Add
即第 9 位要
UB‐Address +
;
曼电子技
MFPGA.
输时序图
的信号。依次发
dress+ID Add
要驱动 SIO_D
+ W‐Data
技术文档
.TAOBA
发送 ID‐Addres
dress+Read D
为高电平。
AO.COM]
ss + SUB‐Addr
Data 。
ress +
2013‐2‐21
[艾曼电子技术文档
HTTP:// AMFPGA.TAOBAO.COM]
9 / 23
ACKW1 <= 1; ACKW2 <= 1; ACKW3 <= 1;
ACKR1 <= 1; ACKR2 <= 1; ACKR3 <= 1;
END <= 0;
end
//Start
6'd1 : begin
SCLK <= 1;
I2C_BIT <= 1;
ACKW1 <= 1; ACKW2 <= 1; ACKW3 <= 1;
END <= 0;
end
6'd2 : I2C_BIT <= 0; //I2C_SDAT = 0
6'd3 : SCLK <= 0; //I2C_SCLK = 0
//SLAVE ADDR‐‐ACK1
6'd4 : I2C_BIT <= I2C_WDATA[23]; //Bit8
6'd5 : I2C_BIT <= I2C_WDATA[22]; //Bit7
6'd6 : I2C_BIT <= I2C_WDATA[21]; //Bit6
6'd7 : I2C_BIT <= I2C_WDATA[20]; //Bit5
6'd8 : I2C_BIT <= I2C_WDATA[19]; //Bit4
6'd9 : I2C_BIT <= I2C_WDATA[18]; //Bit3
6'd10 : I2C_BIT <= I2C_WDATA[17]; //Bit2
6'd11 : I2C_BIT <= I2C_WDATA[16]; //Bit1
6'd12 : I2C_BIT <= 0; //High‐Z, Input
6'd13 : ACKW1 <= I2C_SDAT; //ACK1
6'd14 : I2C_BIT <= 0; //Delay
//SUB ADDR‐‐ACK2
2013‐2‐21
[艾曼电子技术文档
HTTP:// AMFPGA.TAOBAO.COM]
10 / 23
6'd15 : I2C_BIT <= I2C_WDATA[15]; //Bit8
6'd16 : I2C_BIT <= I2C_WDATA[14]; //Bit7
6'd17 : I2C_BIT <= I2C_WDATA[13]; //Bit6
6'd18 : I2C_BIT <= I2C_WDATA[12]; //Bit5
6'd19 : I2C_BIT <= I2C_WDATA[11]; //Bit4
6'd20 : I2C_BIT <= I2C_WDATA[10]; //Bit3
6'd21 : I2C_BIT <= I2C_WDATA[9]; //Bit2
6'd22 : I2C_BIT <= I2C_WDATA[8]; //Bit1
6'd23 : I2C_BIT <= 0; //High‐Z, Input
6'd24 : ACKW2 <= I2C_SDAT; //ACK2
6'd25 : I2C_BIT <= 0; //Delay
//Write DATA‐‐ACK3
6'd26 : I2C_BIT <= I2C_WDATA[7]; //Bit8
6'd27 : I2C_BIT <= I2C_WDATA[6]; //Bit7
6'd28 : I2C_BIT <= I2C_WDATA[5]; //Bit6
6'd29 : I2C_BIT <= I2C_WDATA[4]; //Bit5
6'd30 : I2C_BIT <= I2C_WDATA[3]; //Bit4
6'd31 : I2C_BIT <= I2C_WDATA[2]; //Bit3
6'd32 : I2C_BIT <= I2C_WDATA[1]; //Bit2
6'd33 : I2C_BIT <= I2C_WDATA[0]; //Bit1
6'd34 : I2C_BIT <= 0; //High‐Z, Input
6'd35 : ACKW3 <= I2C_SDAT; //ACK3
6'd36 : I2C_BIT <= 0; //Delay
//Stop
6'd37 : begin SCLK <= 0; I2C_BIT <= 0; end
6'd38 : SCLK <= 1;
2013‐2‐21
[艾曼电子技术文档
HTTP:// AMFPGA.TAOBAO.COM]
11 / 23
6'd39 : begin I2C_BIT <= 1; END <= 1; end
default : begin I2C_BIT <= 1; SCLK <= 1; end
endcase
end
else //I2C Read: {ID‐Address + SUB‐Address} + {ID‐Address + R‐Data}
begin
case(SD_COUNTER)
//IDLE
6'd0 : begin
SCLK <= 1;
I2C_BIT <= 1;
ACKW1 <= 1; ACKW2 <= 1; ACKW3 <= 1;
ACKR1 <= 1; ACKR2 <= 1; ACKR3 <= 1;
END <= 0;
end
//I2C Read1: {ID‐Address + SUB‐Address}
//Start
6'd1 : begin
SCLK <= 1;
I2C_BIT <= 1;
ACKR1 <= 1; ACKR2 <= 1; ACKR3 <= 1;
END <= 0;
end
6'd2 : I2C_BIT <= 0; //I2C_SDAT = 0
6'd3 : SCLK <= 0; //I2C_SCLK = 0
//SLAVE ADDR‐‐ACK1
6'd4 : I2C_BIT <= I2C_WDATA[23]; //Bit8
2013‐2‐21
[艾曼电子技术文档
HTTP:// AMFPGA.TAOBAO.COM]
12 / 23
6'd5 : I2C_BIT <= I2C_WDATA[22]; //Bit7
6'd6 : I2C_BIT <= I2C_WDATA[21]; //Bit6
6'd7 : I2C_BIT <= I2C_WDATA[20]; //Bit5
6'd8 : I2C_BIT <= I2C_WDATA[19]; //Bit4
6'd9 : I2C_BIT <= I2C_WDATA[18]; //Bit3
6'd10 : I2C_BIT <= I2C_WDATA[17]; //Bit2
6'd11 : I2C_BIT <= I2C_WDATA[16]; //Bit1
6'd12 : I2C_BIT <= 0; //High‐Z, Input
6'd13 : ACKR1 <= I2C_SDAT; //ACK1
6'd14 : I2C_BIT <= 0; //Delay
//SUB ADDR‐‐ACK2
6'd15 : I2C_BIT <= I2C_WDATA[15]; //Bit8
6'd16 : I2C_BIT <= I2C_WDATA[14]; //Bit7
6'd17 : I2C_BIT <= I2C_WDATA[13]; //Bit6
6'd18 : I2C_BIT <= I2C_WDATA[12]; //Bit5
6'd19 : I2C_BIT <= I2C_WDATA[11]; //Bit4
6'd20 : I2C_BIT <= I2C_WDATA[10]; //Bit3
6'd21 : I2C_BIT <= I2C_WDATA[9]; //Bit2
6'd22 : I2C_BIT <= I2C_WDATA[8]; //Bit1
6'd23 : I2C_BIT <= 0; //High‐Z, Input
6'd24 : ACKR2 <= I2C_SDAT; //ACK2
6'd25 : I2C_BIT <= 0; //Delay
//Stop
6'd26 : begin SCLK <= 0; I2C_BIT <= 0; end
6'd27 : SCLK <= 1;
6'd28 : begin I2C_BIT <= 1; /*END <= 1;*/end
2013‐2‐21
[艾曼电子技术文档
HTTP:// AMFPGA.TAOBAO.COM]
13 / 23
//I2C Read2: {ID‐Address + R‐Data}
//Start
6'd29 : begin
SCLK <= 1;
I2C_BIT <= 1;
end
6'd30 : I2C_BIT <= 0; //I2C_SDAT = 0
6'd31 : SCLK <= 0; //I2C_SCLK = 0
//SLAVE ADDR‐‐ACK3
6'd32 : I2C_BIT <= I2C_WDATA[23]; //Bit8
6'd33 : I2C_BIT <= I2C_WDATA[22]; //Bit7
6'd34 : I2C_BIT <= I2C_WDATA[21]; //Bit6
6'd35 : I2C_BIT <= I2C_WDATA[20]; //Bit5
6'd36 : I2C_BIT <= I2C_WDATA[19]; //Bit4
6'd37 : I2C_BIT <= I2C_WDATA[18]; //Bit3
6'd38 : I2C_BIT <= I2C_WDATA[17]; //Bit2
6'd39 : I2C_BIT <= 1'b1; //Bit1 Read Data Flag
6'd40 : I2C_BIT <= 0; //High‐Z, Input
6'd41 : ACKR3 <= I2C_SDAT; //ACK3
6'd42 : I2C_BIT <= 0; //Delay
//Read DATA‐‐ACK4
6'd43 : I2C_BIT <= 0; //Delay
6'd44 : I2C_BIT <= 0; //High‐Z, Input
6'd45 : I2C_RDATA[7] <= I2C_SDAT; //Bit8 , Input
6'd46 : I2C_RDATA[6] <= I2C_SDAT; //Bit7 , Input
2013‐2‐21
[艾曼电子技术文档
HTTP:// AMFPGA.TAOBAO.COM]
14 / 23
6'd47 : I2C_RDATA[5] <= I2C_SDAT; //Bit6 , Input
6'd48 : I2C_RDATA[4] <= I2C_SDAT; //Bit5 , Input
6'd49 : I2C_RDATA[3] <= I2C_SDAT; //Bit4 , Input
6'd50 : I2C_RDATA[2] <= I2C_SDAT; //Bit3 , Input
6'd51 : I2C_RDATA[1] <= I2C_SDAT; //Bit2 , Input
6'd52 : I2C_RDATA[0] <= I2C_SDAT; //Bit1 , Input
6'd53 : I2C_BIT <= 1; //Output //ACK4 NACK
6'd54 : I2C_BIT <= 0; //Delay
//Stop
6'd55 : begin SCLK <= 0; I2C_BIT <= 0; end
6'd56 : SCLK <= 1;
6'd57 : begin I2C_BIT <= 1; END <= 1; end
default : begin I2C_BIT <= 1; SCLK <= 1; end
endcase
end
end
4. OV7670 配置信息
主要寄存器配置信息如下
SET_OV7670 + 0 : LUT_DATA = 16'h1204; // 复 位 , VGA , RGB565
(00:YUV,04:RGB)(8x 全局复位)
SET_OV7670 + 1 : LUT_DATA = 16'h40d0; //RGB565, 00‐FF(d0)(YUV 下要
改 01‐FE(80))
SET_OV7670 + 2 : LUT_DATA = 16'h3a04; //TSLB(TSLB[3],
COM13[0])00:YUYV, 01:YVYU, 10:UYVY(CbYCrY), 11:VYUY
SET_OV7670 + 3 : LUT_DATA = 16'h3dc8;//COM13(TSLB[3], COM13[0])00:YUYV,
01:YVYU, 10:UYVY(CbYCrY), 11:VYUY
SET_OV7670 + 4 : LUT_DATA = 16'h1e31; //默认 01,Bit[5]水平镜像,Bit[4]
2013‐2‐21
[艾曼电子技术文档
HTTP:// AMFPGA.TAOBAO.COM]
15 / 23
竖直镜像
SET_OV7670 + 5 : LUT_DATA = 16'h6b00; //旁路 PLL 倍频;0x0A:关闭内
部 LDO;0x00:打开 LDO
SET_OV7670 + 6 : LUT_DATA = 16'h32b6; //HREF 控制(80)
SET_OV7670 + 7 : LUT_DATA = 16'h1713; //HSTART 输出格式 ‐行频开始
高 8 位(11)
SET_OV7670 + 8 : LUT_DATA = 16'h1801; //HSTOP 输出格式‐行频结束
高 8 位(61)
SET_OV7670 + 9 : LUT_DATA = 16'h1902; //VSTART 输出格式 ‐场频开始
高 8 位(03)
SET_OV7670 + 10 : LUT_DATA = 16'h1a7a;//VSTOP 输出格式‐场频结束高 8位
(7b)
SET_OV7670 + 11 : LUT_DATA = 16'h030a; //VREF 帧竖直方向控制(00)
SET_OV7670 + 12 : LUT_DATA = 16'h0c00; //DCW 使能 禁止(00)
SET_OV7670 + 13 : LUT_DATA = 16'h3e00; //PCLK 分频 00 Normal,10(1
分频),11(2 分频),12(4 分频),13(8 分频)14(16 分频)
SET_OV7670 + 14 : LUT_DATA = 16'h7000; //00:Normal, 80:移位 1, 00:彩条,
80:渐变彩条
SET_OV7670 + 15 : LUT_DATA = 16'h7100; //00:Normal, 00:移位 1, 80:彩条,
80:渐变彩条
SET_OV7670 + 16 : LUT_DATA = 16'h7211; //默认 水平,垂直 8 抽样(11)
SET_OV7670 + 17 : LUT_DATA = 16'h7300; //DSP缩放时钟分频 00 Normal,
10(1 分频),11(2 分频),12(4 分频),13(8分频)14(16 分频)
SET_OV7670 + 18 : LUT_DATA = 16'ha202; //默认 像素始终延迟 (02)
SET_OV7670 + 19 : LUT_DATA = 16'h1180; //内部工作时钟设置,直接使用
外部时钟源(80)
三、如何用好 OV7670 摄像头
1.
2.
以上
1 )VG
2 )水
3 )关
4 )PC
5 )不
VGA
判断摄像头模
通过读取以上
SignalTapII Lo
主要配置信息
上配置信息是
GA 分辨率,
水平镜像
关闭PLL,直接
CLK 正常模式
不设置彩条
A接口时序如
2013‐2‐21
模块是否正常
图 10
上 4 个寄存
ogic Analyzer
息解析
是将 OV7670 设
RGB565 模
接使用外部时
式,不分频,
如下:
HTT
常工作
0 OV7670 Pro
存器,将读取
r的方式来检
设置成下面模
模式
时钟,打开LD
XCLK = PCLK
[艾曼
TP:// AM
16 / 23
oduct ID和 M
取的值通过 IO
检测是否工作
模式:
DO,使用内
K
曼电子技
MFPGA.
Manufacturer
O 口输出显示
作正常。
部电源
技术文档
.TAOBA
ID 寄存器
示,或者在
AO.COM]
QUARTUSII
中用
计算
VSY
HRE
HSY
VGA
PCL
简单
动产
收每
续的
始,
要分
算PCLK 的参
YNC: 510*
EF: 784*t
YNC: 784*
A RGB565,
LK = 784 *
单的说OV76
产生的,而O
每一个像素
的,每一行
第一个行有
分两次送。
2013‐2‐21
参数,如下
* Line = 3
P = 640*t
*tP = 80*t
YUV 30fps
* 510 * 30
670图像的时
OV7670时序
素的数据。以
行有行有效信
有效信号的
HTT
图 11
下所示:
3*tLine +
P + 144*t
P + 45*tP
:
0 * 2(byt
时序跟VGA时
序是主动输
以下是RGB5
信号,每一
的第一个数据
[艾曼
TP:// AM
17 / 23
VGA输出时
17*tLine
tP
P + 640*tP
te) = 239
时序非常雷
出的。这需
565的OV767
一场有场有效
据便是第一
曼电子技
MFPGA.
时序图
+480*tLin
P + 19*tP
990400 = 2
雷同,只不过
需要我们根据
70摄像头的
效信号,在
一个像素的
技术文档
.TAOBA
ne+10*tLin
24MHz
过VGA 时序
据固定的时
的图像时序图
在场有效信号
高八位数据
AO.COM]
ne
序是FPGA需要
时序,来准确
图,PCLK 是
号开
据。每一个像
要主
确接
是连
像素
此处
默认
取摄
在 R
位图
处需要注意的
认 Bit[5]设置
摄像头数据时
RGB565 输出时
图像数据。
下面罗列下
2013‐2‐21
的是,PCLK 是
置成 0,则是
时,程序时钟
时序中,HRE
下跟 HREF 相关
HTT
图 12 OV767
是否连续输出
图 1
是一直输出 PC
钟是 PCLK 驱动
EF 高电平时图
关的寄存器功
[艾曼
TP:// AM
18 / 23
70 输出 RGB5
出脉冲信号是
13 COM10 寄
CLK。此处需
动,所以一般
图像数据有效
功能:
曼电子技
MFPGA.
565 数据格式
是可以配置的
存器
需要关注 PCLK
般设置成一直
效,此时 FPG
技术文档
.TAOBA
式
,其配置寄存
K 的原因是,
直有脉冲输出
GA 可以在 PC
AO.COM]
存器如下所示
在 FPGA 程
出。
CLK 上升沿读
示:
程序读
读取 8
3.
4.
设置结果
经过上述设置
FPGA读取 O
1)模块输入
在开发板提供
先看下模块
2013‐2‐21
置后,得到下
OV7670 摄像
入输出
供的程序中,
的输入输出:
HTT
下述 VGA RG
图 14 RG
头输出数据
,CMOS_Cap
:
[艾曼
TP:// AM
19 / 23
GB565 的输出
GB565 输出逻
pture.v模块对
曼电子技
MFPGA.
出时序。
逻辑
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
波形
对摄像头数据
技术文档
.TAOBA
形
据进行采集。
AO.COM]
主要的输入信
CMOS_Captu
其中第一张
一行数据总
CMOS_oCLK
从下图可以看
块可以通过
2)模块总体
检测 VSYNC
该信号用于对
2013‐2‐21
信号是 OV76
ure.v模块输
图是一行图像
总共是 5120/
脉冲宽度。
看出,CMOS
CMOS_oCLK
体框架
信号上升沿
对图像帧进行
HTT
670 输出的图
出时序如下图
像数据,下面
/8=640,即一
S_oCLK 的下
K 的下降沿锁
沿。CMOS_VSY
行计数,在下
[艾曼
TP:// AM
20 / 23
图像数据信号
图:
面两张是对起
一行有 640
降沿数据稳定
锁存数据。
YNC_over 信号
下面模块里面
曼电子技
MFPGA.
号,其时序如
起点和终点的
个数据。上
定,因此 CM
号一个高电平
面用到。
技术文档
.TAOBA
如下图:
的放大图。从图
上述计算里面
MOS_Capture
平脉冲输出意
AO.COM]
图中可以计算
面 8 指的是
e.v 的后续连
意味着一帧数
算出,
一个
连接模
数据。
此处
Fram
这么
信号
下面
用 1
当 if
处进行 10 帧
me_Cont 进行
么做,请看 OV
号有效),需要
面这段程序是
16 Bits 来表示
f(~CMOS_VSY
2013‐2‐21
帧计数,当计
行清零,所以
V7670 数据手
要至少等待 1
是把 OV7670 输
示一个像素点
YNC & CMOS
HTT
计数到时输出
以当 Frame_va
手册 Page6 的
10 帧。
输出的 RGB5
点。
_HREF)有效时
[艾曼
TP:// AM
21 / 23
出 Frame_va
alid 变为高后
的
说明
关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书
,寄存
565 的 8 位数
时,图像数据
曼电子技
MFPGA.
alid 信号高电
后,一直保持
存器设置好后
数据转换成 1
据进行传输。
技术文档
.TAOBA
电平有效。因
持高电平不变
后(即,上图
6 位。因为 R
AO.COM]
因为之后并
变。此处为什
158行 Init_D
RGB565格式
未对
什么要
Done
式是采
回顾
包含
CMO
时假
取反
上述
据稳
顾一下 RGB56
含的 R,G,B三种
OS_oCLK 为数
假设是刚开始
反后变为 1;
述分析得出,
稳定,外部模
2013‐2‐21
65 的数据格式
种颜色的顺序
数据同步信号
始传输图像数
当 byte_state
CMOS_oCLK
模块可以读取
HTT
式,16 位数据
序请看下图。
号,当 byte_s
数据,由于初始
e为 0 时,此
K 上升沿表示
取数据。
[艾曼
TP:// AM
22 / 23
据是由前后
。
state为 1时
始 CMOS_oC
此时进行 8位
示 16 位数据开
曼电子技
MFPGA.
2 个 8 位数据
时,在进行 8 位
CLK <= 0,则
位数据的暂存
开始有效,C
技术文档
.TAOBA
据组合,具体
位转 16 位数
CMOS_oCLK
存,CMOS_oC
MOS_oCLK下
AO.COM]
体的 16 位数
数据转换操作
<= ~CMOS_o
CLK 变为 0。
下降沿时 16
数据里
作,此
oCLK;
经过
位数
至此此 CMOS_Cap
2013‐2‐21
ture.v模块分
HTT
分析完毕。
[艾曼
TP:// AM
23 / 23
曼电子技
MFPGA.
技术文档
.TAOBA
AO.COM]