首页 OV7670摄像头彻底解读

OV7670摄像头彻底解读

举报
开通vip

OV7670摄像头彻底解读   序 本文 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 应用 ...

OV7670摄像头彻底解读
  序 本文 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]    
本文档为【OV7670摄像头彻底解读】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_286514
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:23
分类:互联网
上传时间:2013-11-12
浏览量:139