目录
- 目标
- Eclipse使用流程
- 1.首先安装开发环境
- 2.在SDK目录下找到开发工具Eclipse,并打开
- 3.编译固件
- 4.进入烧录模式
- 5.烧录
- 6.如何调试?
- 串口调试
- GDB调试
- 配置CMOS
- CMOS转接电路
- 两个参数
- 新建CX3工程
- 当前问题
目标
这是Cypress的一个支持MIPI和UVC的模块,有例程支持OV5640,现在要替换替换成OG02B10。
Eclipse使用流程
1.首先安装开发环境
首先从官网下载下来它的SDK开发包(虽然淘宝也会给资料,但是资料最好还是用一手的)
链接: https://www.cypress.com/part/cyusb3065-bzxi
里面长这样
2.在SDK目录下找到开发工具Eclipse,并打开
3.编译固件
4.进入烧录模式
找到淘宝拿到硬件原理图,上面有写如何进入烧录模式。
但是正常还需要先安装下驱动
右键更新驱动,驱动位置在安装包目录下Cypress\EZ-USB FX3 SDK\1.3\driver\bin\Win10\x64
5.烧录
这里我们随便拿一个例程
编译
烧录进SPI FLASH
重启一下即可使用。
6.如何调试?
串口调试
在DebugInit函数中,需要更改打印的等级。
超出这个优先级级别会被输出。
GDB调试
第一步,去官网下载安装:https://www.segger.com/downloads/jlink
第二步,打开J-Link GDB Server,根据实际情况选择目标设备和调试接口
第三步,运行GDB Server
配置CMOS
CMOS转接电路
按照OG02B10的时序电路,在通过SCCB配置CMOS之前,需要三个电源上电,Xshutdown高电平和配置时钟电路。
因此,需要在转接板上提供三个电源,以及在MIPI口留出几个控制信号。
两个参数
这里有两个重要参数需要搞定,摄像头的 SCCB地址 和 寄存器参数,需要根据具体Sensor去配置。我的传感器是OG02B10,资源上传在文章顶部。
找到手册的第6章SCCB(跟IIC很像),可以看到SCCB的地址与SID引脚有关,这个需要到硬件原理图上确认下。一般write地址是SCCB ID地址+0;read地址是SCCB ID地址+1。
寄存器参数需要找到厂家的FAE,由他们提供,OG02B10的资料已经上传。
新建CX3工程
这里可以参考cypress官方论坛里的教程
基于CX3的UVC摄像头应用学习笔记-二(建立工程模板)
在这里填上SCCB的读写地址
寄存器地址和数据
当前问题
SCCB协议给CMOS传感器初始化未成功,通过逻辑分析仪发现问题是CMOS的XVCLK时钟没给。
解决方案:
(1)参考淘宝的电路都有外置时钟,转接板PCB加一个外置时钟。
(2)参考得宏的电路,时钟由主控提供,目前程序未实现。