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、测试摄像头展示

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

基于CC1606 FPGA评估板移植iCamera程序小结的更多相关文章

  1. 基于FPGA的DW8051移植(三)

    总结一下问题: 1) http://www.cnblogs.com/sepeng/p/4137405.html  基于FPGA的DW8051移植(一)里面用modelsim观测波形发现程序进入了ida ...

  2. 关于DE2-115 FPGA开发板无法烧写程序的解决方法

    友晶科技推出的DE2-115 FPGA开发板,有时候莫名奇妙,无法烧写或者固化程序.利用JTAG 向DE2-115开发板烧写.sof文件失败,并提示以下错误,如图1和图2所示 图1 图2 解决方法:只 ...

  3. FPGA课设-基于Xilinx Basys2开发板的除法器设计

    介绍一下Basys开发板: Basys2 FPGA开发板是一个电路设计实现平台,任何人都可以通过它来搭建一个真正的数字电路.Basys2是围绕着一个Spartan-3E FPGA芯片和一个Atmel ...

  4. [FPGA] 1、Artix-7 35T Arty FPGA 评估套件学习 + SiFive risc-v 指令集芯片验证

    目录 1.简介 2.深入 3.DEMO 4.SiFive基于risc-v指令集的芯片验证 LINKS 时间 作者 版本 备注 2018-10-09 08:38 beautifulzzzz v1.0 到 ...

  5. CH02基于ZYNQ的嵌入式LINUX移植

    CH02基于ZYNQ的嵌入式LINUX移植 1.1概述 实验环境: Windows 10 专业版 Vmware workstation 14.1.1 Ubuntu 16.04.3 Xilinx SDx ...

  6. 基于FPGA的光口通信开发案例|基于Kintex-7 FPGA SFP+光口的10G UDP网络通信开发案例

    前言 自著名华人物理学家高锟先生提出"光传输理论",实用化的光纤传输产品始于1976年,经历了PDH→SDH→DWDM→ASON→MSTP的发展历程.本世纪初期,ASON/OADM ...

  7. 基于Xilinx FPGA的视频图像采集系统

    本篇要分享的是基于Xilinx FPGA的视频图像采集系统,使用摄像头采集图像数据,并没有用到SDRAM/DDR.这个工程使用的是OV7670 30w像素摄像头,用双口RAM做存储,显示窗口为320x ...

  8. PCIE_DMA实例四:xapp1052在Xilinx 7系列(KC705/VC709)FPGA上的移植

    PCIE_DMA实例四:xapp1052在Xilinx 7系列(KC705/VC709)FPGA上的移植 一:前言 这段时间有个朋友加微信请求帮忙调试一块PCIe采集卡.该采集卡使用xilinx xc ...

  9. Xilinx Zynq FPGA Boards板

    Xilinx Zynq FPGA Boards板 Xilinx Zynq FPGA Boards 介绍 Styx是一个易于使用的Zynq开发模块,具有Xilinx的Zynq ZC7020 SoC和FT ...

随机推荐

  1. thinkphp5中取消了3.2版本中的单字母函数,初用tp5可能不大适应,下边给出两者的对应参照表,以便查阅。

    3.2版本 5.0版本 C config E exception G debug L lang T 废除 I input N 废除 D model M db A controller R action ...

  2. 张孝祥java高新技术 --- jkd1.5 新特性 -- 精华总结

    1. 抽象方法的使用 如果一个方法中大量出现if语句, 那么, 就应该考虑使用抽象来处理. 如下例: package com.lxl; public class Weekend { //周日 publ ...

  3. java编程思想第四版第五章总结

    1. 构造器 构造器的一个重要的作用: 保证对象被使用之前初始化了. 构造器是一种特殊类型的方法, 因为他没有返回值.这与返回值为空(void)明显不同.对于空返回值,尽管方法本身不会自动返回什么, ...

  4. 【SSM】自定义属性配置的使用

    首先,建立xxx.properties 文件在resource文件夹中,此处我们自定义的配置文件是oj-config.properties 然后,在applicationContext.xml中注册这 ...

  5. CentOS 7安装图形界面步骤和问题解决方法

    CentOS 7图形安装步骤: 首先需要进行必要的图形组件安装--命令为: yum groupinstall "X Window System " yum groupinstall ...

  6. 结合源码,重温 Android View 的事件处理知多少 ?

    前言 Android View 的 事件处理在我们的编程中,可谓是无处不在了.但对于大多数人而言,一直都是简单的使用,对其原理缺乏深入地认识. 学 Android 有一段时间了,最近发现,很多基础知识 ...

  7. Openlayers 实现轨迹播放/暂停/重新播放/从点击处播放/提速/减速

    说明: 我的需求是需要实现轨迹播放/暂停/重新播放/从点击处播放,因此封装了一个类 解决方案: 1.初始化:主要是处理一下图层以及数据,通过插值构造一个全局数组 /** * @description ...

  8. iOS开发tips-PhotoKit

    概述 PhotoKit应该是iOS 8 开始引入为了替代之前ALAssetsLibrary的相册资源访问的标准库,后者在iOS 9开始被弃用.当然相对于ALAssetsLibrary其扩展性更高,ap ...

  9. Java标识符(Identifier)(关键字和保留字)

    Java标识符(Identifier) 1. 只能由英文字母(A~Z)或(a~z).下划线(_).美元符号($)和数字(0~9)组成,且开头不能为数字. 2. 区分大小写! 3. 无长度限制! _3_ ...

  10. 设置颜色的函数:rgb,hsv,color palettes

    1.grb函数 (1)功能: 通过对给定的三个基本色红,绿,蓝的颜色饱和度(intensity)的设定,而创造颜色. 阿尔法透明度(alpha transparent):其值也能被指定,从0到max ...