OV7725 搭配FPGA使用 笔记记录

正点原子资料参考,自己记录笔记精炼一点,方便回忆

1.摄像头结构构造

中心主要落在引脚上:

输入引脚:

电源类引脚

ADVDD:ADC电源输入引脚

AVDD:模拟电源输入

DVDD:

DOVDD:数字电源输入

VREFH:接一个0.1uf电容到地

VREFN:接一个0.1uf电容到地

ADGND:内部ADC用的地

AGND:模拟地

DOGND:数字地

XCLK:  时钟输入

FSIN:帧同步输入

RSTB:复位输入

PWDN:给0 摄像头普通模式                        给1摄像头POWER DOWN MODE(休眠模式)

SCL: SCCB协议的时钟输入(可以双向使用)

SDA:SCCB协议的数据输入

输出引脚:

HREF:行同步信号

PCLK:

VSYNC:场同步信号

D[0:9]:使用D0(低位)-D9(高位)时,是图像 原始 10bit数据并行输出脚

使用D2(低位)--D9(高位)时,是8bit YUV 或者RGB565/555

2.SCCB协议解析

SCCD类似于I2C协议

2.1接口解析

其中有两线版本和三线版本,两线只能控制一个从设备,三线可以控制多个从设备。

不管是两线还是三线都是有CLK线和DATA线

CLK线,只能由主机(eg.FPGA STM32)配置 

DATA线,双向引脚,可以主写给从也可以从写给主

三线版本就多了个片选线,来认从机是哪个

2.2时序解析

起始位:当SCL高电平时,突然来个下降沿(1-》0),代表起始位,开始传输

数据传输:

在SCL高电平时,DATA线上的数据必须保持稳定

在SCL低电平时,DATA线上的数据可以改变

停止位:当SCL高电平时,突然来个上升沿(0-》1),代表停止位,接收传输

不管是主给从机写数据,还是主机读取从机发来的数据都是这个时序

2.3本次实验具体数据格式要求

主机写数据给从机:

起始位(下降沿 1bit)

+0x42(包含写控制指令和ov7725地址0x21)(8bit)+x(1bit)

+器件地址(8bit)+x(1bit)

+写入的数据(8bit)+x(1bit)

+停止位(上升沿 1bit)

主机读取从机的数据:

起始位(下降沿,1bit)

+0x42(包含写控制指令和ov7725地址0x21)(8bit)+x(1bit)

+器件地址(8bit)+x(1bit)

+停止位(上升沿 1bit)

                间隔

+起始位(下降沿 1bit)

+0x43(包含读控制指令和ov7725地址0x21)(8bit)+x(1bit)

+要读的数据(8bit)+NA(1bit,和x不同必是高电平)

+停止位(上升沿 1bit)

3.寄存器解析

3.1时钟控制寄存器:

如果要实现30帧及其以上的帧率,则必须提高频率,这里同配置此地址的寄存器来PLL倍频

          

输出时钟的计算公式:输入时钟*COM4/(CLLKRC[5:0]+1)*2

CLKRC默认00

当输入时钟=12Mhz时

eg.COM4=01

01:24M=12Mhz*4/2(刚好30帧需要的时钟)

03:48M=12*8/2(60帧)

3.2性能控制寄存器:

3.3数据手册时钟资料代码查看

帧率和时钟的写入代码eg,官方手册中有

4.RGB565时序分析(较VGA简单,没有行场信号的概念)

历程里输入12Mhz时钟,经过寄存器等公式转化,PCLK=24Mhz时钟

HREF高电平时,像素数据D[9:2]的数据有效

反之无效

16bit数据为一组完整的数据,所以由8bit的并行数据发送两组

所以虽然clk是24Mhz,单完整的发送一组要两个周期的clk,所以相当于12Mhz

eg.如图

first byte :        D[9]-D[5]=R4-R0          D[4]-D[2]=G5-G3

second byte:   D[9]-D[7]=G2-G0          D[6]-D[2]=B4-B0

R:5bit G:6bit B:5bit             一共16bit

5.VGA时序分析

一帧画面输出时间:每一帧一共用时510  个t_LINE

1 t_LINE=784tp=784*2*t_PCLK(乘以2是因为连个时钟周期拼成一个完整的周期)

1s/一帧画面输出时间=1s能输出多少个画面=多少帧

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值