UVC摄像头功能强大,应用广泛。这里简单记录了UVC摄像头的开发,摄像头(SENSOR)选择的是MT9M114,一款比较老的并口摄像头,720P格式的。CYPRESS官方提供了一个例程AN75779,就是基于MT9M114+CYUSB3014的,所以读者朋友最好也选择MT9M114,这样就可以实际运行固件,下载固件到电路板中看到图像了。MT9M114是支持DVP及MIPI输出接口的SENSOR,由于年代较早,目前已经不是很好找了,我也是托朋友定制了100只,方便学习测试用。CYUSB3014只能通过GPIF II 接口接收DVP的信号,如果需要开发MIPI接口,可能需要CYUSB3065芯片了。基于CYUSB3065的MIPI摄像头开发板,读者可以从淘宝上找到,地址为:
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-21201341831.10.32f0ebfdkIDyoM&id=584708422939
关于并口摄像头(DVP),除了CYUSB3014能够处理外,还有FTDI公司的FT602也能够处理,两者唯一的差别是CYUSB3014是单芯片的UVC方案,FT602Q是FPGA+FT602Q方案,读者可以根据自己项目的需求,选择这两个合适的UVC方案。FT602Q的开发板,可以从淘宝上找到:
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4023-21201341830.29.32f0ebfdkIDyoM&id=584815580701
1、关于硬件电路板。测试UVC功能,肯定需要实际的硬件电路板,方便更改代码及实际看图像效果,本次开发使用的电路板是基于MT9M114+CYUSB3014,参考官方的AN75779代码,完成所有代码的测试功能。这里单CYUSB3014的方案,优点是比较简单,常用的单目和双目摄像头,基本上都是这个方案,720P以下的SENSOR都可以用这个方案。如果读者想开发1080P的SENSOR,需要切换到FPGA+USB3.0的方案,带宽可以轻松到300M字节每秒(1080P带宽为240M),这也是我最后的目标。FPGA+USB3.0 的开发板,我这里有多种型号,可以加我企鹅392425239沟通。以下是本文使用的开发板:
开发板本身并不复杂,由两块板组成,图中红色的CYUSB3014主板+图中绿色的MT9M114子板。红色主板是一个CYUSB3014的最小系统,有3.3V+1.2V的两个LDO电源,设置启动方式的红色4位拔码开关,调试用的RS232串口,标准的20针JTAG调试座,加上电源开关组成,最大的特点是所有的GPIO,包括32位数据总线+十几根控制线+I2C两根线+I2S 4根线全部引出,可以方便连接任何外部并口SENSOR。绿色的SENSOR板主要是3路LDO电源,一个I2C的电平偏移芯片,一个24M时钟,4片数据锁存芯片,比较简单。
2、关于待测试的固件源代码。读者可以从CYPRESS官网下载AN75779的压缩包,含一份文件How to Implement an Image Sensor Interface Using EZ-USB FX3 in a USB Video Class (UVC) Framework,还有固件源代码的压缩包。读者可以在这个例程的基础上进行开发,毕竟用CYUSB3014芯片实现UVC功能,并不是一件很轻松的事情。这份针对MT9M114的代码,我测试了很长时间,稳定性还是可以的,当然我是在WIN7及WIN10系统上测试的,并没有在LINUX及安桌系统上测试。
3、关于UVC的上位机应用程序。常用的UVC显示程序,百度里有很多,如AMCAP、VirtualDub,MPC-HC等等,并且有很多是提供源代码的。不过这个专业源件内容复杂,还是需要专业的上位机开发人员来处理的,一般的电子工程师就不要浪费这个时间了。我测试用的E-CAM软件,类似AMCAP软件,或者你也可以自己开发一个UVC的上位机软件。
4、体验一下MT9M114的实际效果。从官网下载来的AN75779压缩包,含有一个IMG文件,通过CONTROL CENTER程序直接下载这个IMG文件到3014的RAM中就可以,实际的图像效果如下,拍摄的是我的工作台,上面全是电路板,显得比较乱。这里是连接到USB2接口上,显示的是VGA分辨率的图像,如果接在USB3接口上,显示的是720P的图像。另外,由于是在晚上拍摄的,夜晚的图像效果并不是很好,还有一个原因是十几年前的SENOSR了,图像效果没有后出的SENOSR效果好。
未完,接下一章。
良子USB,20200912
专注USB3.0、FPGA、PCIE、UVC摄像头开发
QQ:392425239
文章评论(0条评论)
登录后参与讨论