根据 基于CX3的UVC摄像头应用学习笔记-一(CX3 简介) ,用户可以选择一款适用于CX3的Image sensor 或者 Image ISP。本篇文章讨论如何利用 EZ-USB SDK 内置的CX3配置工具生成新的工程模板。

 

CX3 配置向导是一个图形化的工具,用户不需要写任何代码,即可从0开始建立一个可用的UVC工程。下面介绍详细的步骤。

  • 在SDK中点击相应的图标,如下图所示。

  • 在弹出的对话框中,选择Create a Configuration with Basic Settings 并输入相应的工程名称。

  • 点击 Finish。这时用户可以看到 内容为空的 Image sensor 配置窗口。

  • 在 Image sensor configuration 标签页,输入所需要的参数。这里,示例输入 Sensor 名称 为 OV5640,输入的MIPI信号为YUY2,CX3内部采用 16 bit接口传输。分辨率为1920*1080,帧率 30 fps。MIPI CSI clock 是315 MHz, 采用  2 lane传输。 用户可以根据实际情况输入或选择相应的参数。

 

  • 输入以上的sensor相关的参数后,点击 CX3 Receiver configuraion 标签页,将会看到 如下的窗口。从这里可以看到,刚才输入的参数位于窗口的左侧并且为灰色不可改。如果需要修改,则需要返回到上一标签页进行更改,本页只能编辑 CX3 MIPI 模块相关的参数。这里,用户需要参考 CX3 TRM 了解CX3内部的PLL的构成。这里,配置工具会根据输入的 sensor 参数,判断用户配置的参数是否合理,如果不合理,则会出现报错信息。用户需要调整参数以确认没有报错信息。

  • 在输入所有必须的参数,并且工具没有报错信息以后。依次点击右侧的标签保存生成的几个文件。

  • 保存后,可以在左侧的工程浏览器中看到,相应的文件已经保存并且包含到工程下。下图中,cyu3imagesensor.c 及其相应的.h文件用于具体实现对sensor 的配置。或者是说,这两个文件提供了配置sensor所必需的接口函数的实现。但是,具体的配置内容是空缺的。此时用户需要将sensor的配置参数填充到  cyu3imagesensor.c 中相应的结构体中。当然,这里用户同样需要修改默认的I2C设备地址为实际的地址。

BaiduShurufa_2019-2-22_11-32-21.png

BaiduShurufa_2019-2-22_11-32-10.png

  • 此处需要注意,按照以上的流程产生的工程,默认引用了 cy_ov5640.a 的库。如果工程中定义的配置分辨率的函数名又恰好与 OV5640.a 中已定义的函数重名,则CX3会执行库中的实现,而并非执行cyu3imagesensor.c 定义。因此,这里建议用户取消 对 cy_ov5640.a 的引用。

BaiduShurufa_2019-2-22_11-14-29.png

  • 完成以上的步骤后,编译工程。正常的话,会得到相应的Img文件。