秉火OV7725驱动日志 第一天

来源:互联网 发布:电影特效软件 编辑:程序博客网 时间:2024/05/19 02:42
一.管脚作用
     1.ov7725
          SCL,SDA:OV7725的控制寄存器,通过SCL和SDA引脚写入,使用SCCB通信协议。
          PCLK:像素同步时钟。是由OV7725输出的信号
          HREF:行同步信号
          VSYNC:帧同步信号
          RSTB:该引脚为低电平的时候,用于复位整个传感器芯片。
          PWDN:用于控制芯片进入低功耗模式。
          XCLK:和PCLK是完全不同的,XCLK是用于驱动整个传感器芯片的时钟信号,是外部输入到OV7725的信号。
          D[0:9]:数据经过转换之后通过D0-D9引脚输出,一般用8根数据线即D2-D9引脚
 
     2.FIFO
          D[0:7]: 输入 数据输入引脚
          WCK  :输入 数据输入同步时序
          WE    :写使能信号,低电平有效
          WRST:写指针复位信号,低电平有效
          DO[0:7]:数据输出引脚
          RCK    : 输入 数据输出同步时钟
          RE      :读使能信号,低电平有效
          RRST  :读指针复位信号,低电平有效
          OE:数据输出使能,低电平有效
          TST:测试引脚,实际使用时设置为低电平

     3.秉火版引脚
      
          
     4.丑丑的图
          

二.SCCB时序
          开始:SCL处于高电平时SDA出现一个下降沿时开始传输
          停止:在SCL为高电平时SDA出现一个上升沿,则SCCB停止传输。
          数据有效性:除了开始和停止状态,在数据传输中,当SCL为高电平时,必须保证SDA上的数据的稳定,也                         就是SDA上的电平变化只发生在SCL为高电平的时候,SDA的信号在SCL为高电平时被采集。

三.像素数据输出时序
          主控器控制OV7725时用SCCB协议写其寄存器,而它输出的图像则使用VGA或QVGA的时序,从左到右从上到下一个像素一个像素的输出。

四.FIFO时序
     1.写时序
     
当WE为低电平时,FIFO写入处于使能状态,随着度读时钟WCK的运转,D[0:7]表示的数据就会按地址递增的方式存入FIFO;当WE管脚为高电平时,关闭输入,D[0:7]的数据不会被写入FIFO。
在控制写入数据时,一般会先控制写指针做一个复位操作,把WRST设置为低电平,写指针会复位到FIFO的0地址,然后FIFO接收到的数据会从该地址开始按自增的范式写入。
     
     2.读时序
     
与写时序相似
    
四.摄像头采集数据过程
     (1) 利用 SIO_C,SIO_D引脚通过SCCB协议向OV7725的寄存器写入初始化设置;
     (2) 初始化完成后,OV7725传感器会使用VGA时序输出图像数据,他的VSYNC会首先输出帧有效信号(低电平跳变),当外部的控制器检测到该信号时,把WEN引脚设置为高电平,并且使用WRST引脚复位FIFO的写指针到0地址。(ft:WEN共受多少个信号控制,若只受帧有效信号控制,则使用assign语句进行操作。但由于VSYNC信号表示一帧图像已储存完毕,所以WEN实际上在控制图像的存储。再从新开始进行储存的时候要进行复位
     (3) 随着OV7725继续按VGA时序输出图像数据,他在传输每行有效数据的时候,HREF引脚都会持续输出高电平,由于WEN和HREF同时为高电平输入至与非门,使得其连接到FIFO WE引脚的输出为低电平,允许向FIFO写入数据,所以在这期间,OV7725通过他的PCLK和D[0:7]信号线把图像数据储存到FIFO中,由于前面复位了写指针,所以图像数据是从FIFO的0地址开始记录的;(ft:这段话仿佛找不到一个下笔的地方,由于是OV7725和FIFO之间的联系,并未发现有需要设计的电路,只是对内部连线的阐述
     (4)各行图像数据持续传输至FIFO,受HREF控制的WE引脚确保写入到FIFO中的都是有效的图像数据,OV7725输出完一帧数据时,VSYNC会再次输出帧有效信号,表示一帧图像已输出完成。
    
     (5)控制器检测到上述VSYNC信号后,可知FIFO中已经存好一帧图像数据,这时控制WEN引脚为低电平,使得FIFO禁止写入,防止OV7725持续输出的下一帧数据覆盖当前FIFO数据;(ft:WEN信号是受VSYNC控制的,VSYNC信号在行数计满时触发,在状态二的时候,检测到VSYNC说明数据开始可以储存,再检测到VSYNC信号时即已储存好一帧图像。在状态转移的过程中,WEN每检测到VSYNC就进行一次翻转
     (6)控制器使用RRST复位读指针到FIFO的0地址,然后通过FIFO的RCLK和DO[0:7]引脚,从0地址开始把FIFO缓存的整帧图像读取出来。在此期间,OV7725是持续输出它采集到的图像的,但由于禁止写入FIFO
,这些数据被丢弃了。(ft:在接收到一帧图像接收结束后,复位读指针,RCLK是输入的时钟,所以要将RCLK设置和VGA显示时钟一致。


今天就先到这里。。。未完待续。。。还没有配置成功,代码也乱乱的,,,。。。。配置尚未成功,仍需努力啊。。。。
原创粉丝点击