CYUSB3065配置CMOS

目录

  • 目标
  • 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)参考得宏的电路,时钟由主控提供,目前程序未实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/363432.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SAP同步异常5:继续处理获利能力异常WW291

Short text of error message: 派生过程中系统错误: CE01000-WW291 在ABAP辞典中不存在 Long text of error message: 诊断 带 CE01000-WW291 名字段派生参考的定制设置。这个字段在 ABAP 字典中不 存在。 系统响应 因为在定制中有矛盾,所以系统的程序崩溃。 步骤 …

类和对象-下篇

文章目录 一、再谈构造函数1. 构造函数体赋值2. 初始化列表3. explicit关键字 二、static成员1. 概念2. 特性 三、友元1. 友元函数2. 友元类 四、 内部类1. 概念2. 特性 五、再次理解封装 一、再谈构造函数 1. 构造函数体赋值 在创建对象时,编译器通过调用构造函数…

BFS的基本应用——flood fill 最短路

bfs的核心就是一层一层往外扩展,在bfs中会用到一个队列,又由于是一层一层往外扩展的,故而可以用来求连通的问题,同时相当于每次往外扩展的边权都是1,所以这个队列是有序的,相当于dijkstra算法中的优先队列&…

vue3学习——初始化项目及配置

初始化项目 环境 node 16pnpm 8.0.0 命令 pnpm create vite进行以下选择 👇 – 项目名 – VUe – Ts – cd/目录 – pnpm run dev 浏览器自动打开 package.json 配置eslint 安装依赖包 pnpm i eslint -D npx eslint --init // 生成配置文件进行以下选择 &a…

SpringBoot 使用WebSocket功能

实现步骤&#xff1a; 1.导入WebSocket坐标。 在pom.xml中增加依赖项&#xff1a; <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency>2.编写WebSocket配…

Redis学习——高级篇⑨

Redis学习——高级篇⑨ Redis7高级之Redlock算法和Redisson的使用&#xff08;十&#xff09; 10.1 Redlock 红锁算法1.解决手写分布式锁的单点故障问题2.设计理念3. 解决方案 10.2 Redisson进行代码改造10.3 多机案例&#xff08;解决单点故障&#xff09;10.4 R…

vue3使用is动态切换组件报错Vue received a Component which was made a reactive object.

vue3使用is动态切换组件&#xff0c;activeComponent用ref定义报错 Vue received a Component which was made a reactive object. This can lead to unnecessary performance overhead, and should be avoided by marking the component with markRaw or using shallowRef ins…

代码随想录算法训练营29期|day36任务以及具体安排

第八章 贪心算法 part05 435. 无重叠区间 class Solution {public int eraseOverlapIntervals(int[][] intervals) {Arrays.sort(intervals, (a,b)-> {return Integer.compare(a[0],b[0]);});if(intervals.length 1) return 0;int result 0;for(int i 1 ; i < interva…

结构体与共用体——共用体——C语言——day16

昨天介绍了下结构体&#xff0c;今天主要介绍共用体&#xff0c;枚举 共用体 概念&#xff1a;有时需要使几种不同类型的变量存放到同一段内存单元中。 例如&#xff0c;可把一个整型变量、一个字符型变量、一个浮点型变量放在同一个地址开始的内存单元中 。以上三个变量在内…

Python系列-字典

&#x1f308;个人主页: 会编程的果子君 ​&#x1f4ab;个人格言:“成为自己未来的主人~” ​ 目录 ​ 字典是什么 创建字典 查找key 新增/修改元素 删除元素 遍历字典元素 取出所有的key和value 合成的key类型 ​编辑 小结 字典是什么 字典是一种存储键值对的结…

云打印怎么收费?云打印需要付费吗?

随着云打印概念的火热发展&#xff0c;很多有打印需求的App或者个人用户都想使用易绘创云打印服务。那么易绘创云打印怎么收费&#xff1f;云打印需要付费吗&#xff1f;今天就带大家来了解一下。 云打印怎么收费&#xff1f;云打印需要付费吗&#xff1f; 很多有打印需求的小…

Linux网络状态查看与防火墙管理

网络状态查看 netstat [选项] Netstat是一款命令行工具&#xff0c;用于显示Linux系统中网络的状态信息&#xff0c;可以显示网络连接、路由表、连接的数据统计等信息。 使用 选项 -a&#xff1a;显示所有选项&#xff0c;包括监听和未监听的端口。 -t&#xff1a;仅显示tc…

IS-IS的LSP分片扩展

原理 IS-IS通过泛洪LSP来宣告链路状态信息,由于一个LSP能够承载的信息量有限,IS-IS将对LSP进行分片。每个LSP分片由产生该LSP的结点或伪结点的SystemID、PseudnodeID(普通LSP中该值为0,Pseudonode LSP中该值为非0)、LSPNumber(LSP分片号)组合起来唯一标识,由于LSPNumb…

微信小程序(二十四)简易的双向绑定

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.双向绑定实例 2.双向绑定的局限性 源码&#xff1a; index.wxml <!-- 1.placeholder:输入框为空时的占位提示语2.model:value 双向绑定&#xff08;其实就是在原先基础上加上了model:&#xff09; 3.目前双…

小白水平理解面试经典题目LeetCode 118 Pascal‘s Triangle【Java实现】

LeetCode 118 生成杨辉三角&#xff08;Pascal’s Triangle&#xff09; 小白渣翻译 给定一个非负整数 numRows&#xff0c;生成杨辉三角的前 numRows 行。 在杨辉三角中&#xff0c;每个数是它左上方和右上方的数的和。 例子 这里是小白理解 那么这种题目一上来看&#xf…

C++进阶(九)哈希概念哈希函数哈希冲突

&#x1f4d8;北尘_&#xff1a;个人主页 &#x1f30e;个人专栏:《Linux操作系统》《经典算法试题 》《C》 《数据结构与算法》 ☀️走在路上&#xff0c;不忘来时的初心 文章目录 一、哈希概念1、哈希介绍2、哈希与哈希表 二、哈希冲突三、哈希函数四、 哈希冲突解决 一、哈…

ElementUI Form:Checkbox 多选框

ElementUI安装与使用指南 Checkbox 多选框 点击下载learnelementuispringboot项目源码 效果图 el-checkbox.vue &#xff08;Checkbox 多选框&#xff09;页面效果图 项目里el-checkbox.vue代码 <script> const cityOptions [上海, 北京, 广州, 深圳] export def…

react 之 UseMemo

useMemo 看个场景 下面我们的本来的用意是想基于count的变化计算斐波那契数列之和&#xff0c;但是当我们修改num状态的时候&#xff0c;斐波那契求和函数也会被执行&#xff0c;显然是一种浪费 // useMemo // 作用&#xff1a;在组件渲染时缓存计算的结果import { useState …

【C++干货铺】哈希结构在C++中的应用

目录 unordered系列关联式容器 unordered_map unordered_map的接口说明 1.unordered_map的构造 2. unordered_map的容量 3. unordered_map的迭代器 4. unordered_map的元素访问 5. unordered_map的查询 6. unordered_map的修改操作 7. unordered_map的桶操作 底层结构 …

Nijijourney V6版本动漫图像生成模型发布

简介 这是一个最先进的AI&#xff0c;可以绘制任何二次元风格的绘画&#xff01;这是一个由 Spellbrush 与 Midjourney 所共同设计开发的魔法般工具。无论您是在寻找可爱的Q版角色还是充满动感的动作场景&#xff0c;niji・journey 都能将您的想象变为现实。 功能介绍 - 增强…