shenyae86

关注一下话题,欢迎大家一起交流 1、fpga应用设计 2、图像处理、图像加速 3、视频处理、接口转换 4、摄像头应用、图像采集 5、上位机编程、视频图像传输、显示 6、大阵列lcd驱动、tft显示、双缓冲技术 7、usb2.0、usb3.0、千兆、百兆以太网传输技术应用 8、智能物联网技术应用 技术交流群:柴草电子之层层惊涛 26210916

基于CC1606 FPGA评估板移植iCamera程序小结

0
阅读(2386)

iCamera作为柴草电子经典的摄像头开发工具,其强大的摄像头调试功能,深受广大网友喜爱,支持市面上各种摄像头。

目前现有的应用板卡支持:CC1601(CP601A)、 CC1602(CP601B)

iCamer:摄像头开发调试工具、摄像头效果评估、没有开源的代码和sdk,调试摄像头非常容易,非常简单

图1、cc1601,cc1602实物照片

图2、CC1601安装摄像头示意图(38*38mm)

该系列评估板简单轻巧,最小的尺寸与摄像头标准模块一致(38*38mm)

使用该模块可以轻松对市面上绝大多数摄像头进行测试评估:实时寄存器配置测试、不同分辨率、帧率测试、yuv、raw格式支持

当然也可以用市面上常见的开发板烧录对应固件程序实现此功能,仅需在官网购买一个注册号即可使用。

 

接下来我们重点讲解带FPGA的CC1606(CP611A)评估板移植使用iCamera经验小结。

首先先确认手上的板卡是否是最新的CC1606,以便可以直接在官网下载对应固件和jic文件直接使用。

图3、CC1601与CC1606对比图

图4、CC1606配合MT9P031工作效果

 

二、移植注意事项

1、参考CC1601和CC1606原理图纸对比控制管脚(OE、CS、RD、WR、sda、scl等)

2、下载usb固件(iCamera_noinit.iic)

3、升级fpga程序(jic)

4、确保驱动程序正常安装

三、开始移植

1、经确认,cc1601和cc1606的usb部分控制信号不同的有(OE、SDA、SCL)。

对于sda和scl,可以通过飞线方式联通(cmos的iic与68013的iic可以直接联通),注意fpga的iic必须设置为浮空输入

cc1601(OE接vcc),cc1606(oe通过上拉接gnd),可以飞线使oe直接接vcc即可

2、fpga程序的改造

 图5、fpga程序编写

主要代码如上:控制信号给定指定的值、各个信号联通,为摄像头提供时钟即可,非常简单

编译生成jic文件如下:《CC1606_iCamera_8bit_noiic.jic》

3、总结如下

如果使用官方现有的固件及软件

使用对应的固件

1、USB  68013  《iCamera_noinit.iic》

2、fpga 《CC1606_iCamera_8bit_noiic.jic》

3、飞线三根(对应fpga的sda、scl需要设置为悬空)

 

四、使用柴草电子无飞线版本固件

1、柴草电子针对CC1606用户特地发布了一版无飞线固件,方便强迫症朋友,没有给出源代码,请参考原理自行移植,使用如下

使用对应的固件

1、USB  68013  《iCAMERA_CC1606.iic》CC1606专用 icamera固件

2、fpga 《CC1606_iCamera_8bit_iic.jic》 无源码,有兴趣的朋友可以自行参考三完成

3、无需飞线

 

五、测试效果如下

 1、测试cs5642v3(ov5642)摄像头

图6、5642摄像头测试效果,未修改时钟时序

此时图像出现雪花,主要是时钟时序引起的问题,可以通过修改时钟极性进行完善,打开对应配置文件

图7、配置文件修改

最后一个参数0x01即代表时钟极性,可以根据情况修改为0或1,修改后效果如下。修改保存重新点击采集

图9、修改时钟极性后效果

所以根据现有情况,如果在后续各款摄像头中,出现此问题,可以通过修改时钟极性满足测试需求

2、测试mt9m001  130万摄像头

图10、mt9m001摄像头测试, 可以试试修改曝光

 

3、ov7725 摄像头测试

 

 

4、测试摄像头展示

 

 

 更多摄像头,可以参考更多测试