良子USB的Blog http://liangziusb.21ic.org [收藏] [复制] [分享] [RSS] 本站专注于USB的学习与开发,将要推出基于USB接口的数据采集卡、逻辑分析仪等产品,欢迎志同道合的朋友加入,,,,

日志

FPGA+USB3.0开发板 CYUSB3014开发板 摄像头开发板 MT9V024 MT9P031

已有 138 次阅读2017-4-9 10:35 |个人分类:FPGA+USB3.0开发板|系统分类:嵌入式系统| CYUSB3014开发板, 摄像头开发板, MT9V024, MT9P031, CYUSB3014开发板, CYUSB3014开发板, CYUSB3014开发板, CYUSB3014开发板, CYUSB3014开发板

       驱动完摄像头后(在FPGA中查看到摄像头的LV和FV信号),还有一个事情就是需要驱动I2C总线。I2C总线硬件上可以有两种连接方法,一种是用FPGA去驱动摄像头的I2C,另一种是由CYUSB3014驱动,我这里设计的是第二种方法。USB3.0芯片的IO电压一般设置成3.3V,当然也可以设置成2.5V和1.8V等较低的接口电压。我的FPGA+USB3.0开发板设计的是3..3V电压,较高的电压有利于较快的IO翻转速度。摄像头的IO电压一般为2.8V或者1.8V,早期的摄像头IO电压一般为3.3V。MT9P031的IO电压是高可以到2.8V,也可以到1.8V。MT9V024的IO电压是3.3V,可以直接连接到FPGA+USB3.0开发板上。如果摄像头的IO电压不是3.3V,需要加一个I2C的桥接芯片。
       第一个摄像头,我测试的是MT9V024,与I2C通信的主要有两个控制传输指令0xBF和0xB5。以下是测试过程:
       1、首先确定MT9V024的I2C器件地址,器件地址由两根硬线确定,这两根硬线我是接地的,所以写地址是0x90,读地址是0x91。

       2、USB3的固件程序用WDS版本的,按下图输入MT9V024的器件地址,指令是0xBF,如下:

        控制传输指令0xBF,只需要发送一次就可以,只要电路板不断电,I2C器件地址0x90就一直保存在CYUSB3014中,除非你更换另外一个摄像头芯片。

       3、读回MT9V024的ID值。僌指令0xB5如下,

      读回的ID值是0x1324,和MT9V024寄存器手册中给出的值是一样的。上图中要读回的寄存器地址通过参数wValue传递给程序的。以上功能全部正确,没有问题。

      硬件电路板如下,是EP4CE10+USB3.0的结构,同样功能的SPARTAN6+USB3.0的板子,正在加工,稍后也会帖到网上。


良子,QQ:1345482533  

https://liangziusb.taobao.com


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

返回顶部