基于CC1606 FPGA评估板移植iCamera程序小结
0赞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、测试摄像头展示
更多摄像头,可以参考更多测试