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. 【笔记】nginx部署静态网站

    安装nginx 本地到官网下载,然后把压缩包传到服务器上 安装三个依赖 apt-get install libpcre3 libpcre3-dev apt-get install zlib1g-dev ...

  2. [ch01-03]神经网络基本原理

    系列博客,原文在笔者所维护的github上:https://aka.ms/beginnerAI, 点击star加星不要吝啬,星越多笔者越努力. 前言 For things I don't know h ...

  3. nyoj 458-小光棍数 (471)

    458-小光棍数 内存限制:64MB 时间限制:1000ms 特判: No 通过数:6 提交数:6 难度:1 题目描述: 最近Topcoder的XD遇到了一个难题,倘若一个数的三次方的后三位是111, ...

  4. connected datagram 与TCP连接的区别

    TCP连接流程是TCP协议的一部分,需要经过三次握手.而connected datagram虽然使用了socket的同样的函数connect,但是UDP协议并不包含连接流程,也就是UDP实际上并没有真 ...

  5. ZeroC ICE的远程调用框架

    想搞清楚slice为我们生成了什么样的框架代码,就先搞明白Ice的远程调用框架暗中为我们做了些什么? Ice将Ice Object的方法调用分为三个阶段(或步骤),分别是begin,process和e ...

  6. java的Io流机制的学习

    IO流机制 File类的使用 File类的构造方法 File(URI uri) File(String pathname) File(File parent, String child) File(S ...

  7. 扛把子组20191121-10 Scrum立会报告+燃尽图 06

    此作业的要求参见http://edu.cnblogs.com/campus/nenu/2019fall/homework/10070 一.小组情况: 队名:扛把子 组长:孙晓宇 组员:刘信鹏 韩昊 宋 ...

  8. scss--函数 (Functions)--unit

    (Sass::Script::Value::String) unit($number) Returns the unit(s) associated with a number. Complex un ...

  9. Python-beautifulsoup库

    #beautifulsoup库的安装 pip install beautifulsoup4 python -m pip install --upgrage pip from bs4 import Be ...

  10. Java多线程编程(5)--线程间通信

    一.等待与通知   某些情况下,程序要执行的操作需要满足一定的条件(下文统一将其称之为保护条件)才能执行.在单线程编程中,我们可以使用轮询的方式来实现,即频繁地判断是否满足保护条件,若不满足则继续判断 ...