SCCB接口

文章目录

  • 概述
  • 引脚
  • 传输时序
    • 起始/结束信号
      • 三线模式
      • 两线模式
  • 传输周期
    • 3阶段写传输周期
    • 2阶段写传输周期
    • 2阶段读传输周期
    • 阶段一 ID Address
    • 阶段二 子地址/读数据
    • 阶段三 写数据
  • SCCB与IIC区别
  • 未完待续(还有代码)...

概述

SCCB(Serial Camera Control Bus,串行摄像头控制总线)是由OV(OmniVision的简称)公司定义和发展的三线式串行总线,该总线控制着摄像头大部分的功能,包括图像数据格式、分辨率以及图像处理参数等。结构框图如下所示:

在这里插入图片描述

引脚

在这里插入图片描述

OV公司为了减少传感器引脚的封装,现在SCCB总线大多采用两线式接口总线,包括SIO_C串行时钟输入线和SIO_D串行双向数据线,分别相当于IIC协议的SCL信号线和SDA信号线。SIO_C的最小时间为10us,即最大频率为100K。一般来说,100K-400K之间都可以。
在这里插入图片描述

传输时序

在这里插入图片描述

起始/结束信号

三线模式

  • 起始:SCCB_E由高变低
  • 结束:SCCB_E由低变高

两线模式

  • 起始:SIO_C为高时,SIO_D由高变低
  • 结束:SIO_C为高时,SIO_D由低变高

参数说明

  • tPRC:SCCB_E拉低之前,SIO_D必须保持高电平的最短时间,15ns
  • tPRA:SIO_D拉低之前,SCCB_E必须保持低电平的最短时间,1.25us
  • tPSA:SCCB_E拉高之前,SIO_D必须保持高电平的最短时间,15ns
  • tPSC:SIO_D拉低之前,SCCB_E必须保持低电平的最短时间,0ns

在这里插入图片描述

传输周期

每个阶段包含9bits,高位优先传输,第9bit为 Don’t care 或 NA

在这里插入图片描述

3阶段写传输周期

用于主设备写单byte数据至从设备

  • 第一阶段:传输从设备地址
  • 第二阶段:传输写寄存器地址
  • 第三阶段:传输写数据
  • 三阶段的第9bit均为Don’t care

在这里插入图片描述

2阶段写传输周期

用于指示从设备读寄存器地址

  • 读数据前需要先指明从设备读寄存器地址

  • 两阶段的第9bit均为Don’t care

在这里插入图片描述

2阶段读传输周期

阶段一 ID Address

主设备通过阶段1来识别所选的从设备,以便读取或写入数据。每个从设备都有一个唯一的ID地址,由7位组成,从高到低依次编号为位7到位1。第8位(即位0)是读/写选择器位,用于指定当前周期的传输方向。逻辑0表示写入周期,逻辑1表示读取周期。

  • SIO_D_OE_M、SIO_D_OE_S低有效,分别为主设备和从设备的I/O使能信号
  • SIO_D_OE_S 先变为低,即从设备输出SIO_D信号,主设备作为输入端
  • tCYC :单bit传输周期,最短10us,对应时钟频率100KHz

在这里插入图片描述

阶段二 子地址/读数据

在阶段2中,主设备向所选的从设备发送子地址信息。子地址用于指定要读取或写入的特定寄存器地址。


子地址

在这里插入图片描述


读数据

第9bit 主设备回复 NA(逻辑1)

在这里插入图片描述

阶段三 写数据

在阶段3中,主设备向所选的从设备发送数据信息。如果是写入周期,则主设备将数据写入所选寄存器地址;如果是读取周期,则从设备将请求数据发送回主设备。

在这里插入图片描述

SCCB与IIC区别

  • SCCB的应答位称为X,表示“Don’t care”,而IIC应答位称为ACK。

  • SCCB只能单次读,而IIC除了单次读还支持连续读。

  • SCCB读操作中间有stop,而IIC读操作中间可以有stop也可以不需要stop,具体表现如下

SCCB读:start_1 + phase_1 + phase_2 + stop_1 + start_2 + phase_1+ phase_2 + stop_2
IIC读:start_1 + phase_1 + phase_2 + + start_2 + phase_1 + phase_2+ stop_2

除去上面三点,SCCB和IIC再无区别,因此如果只需要配置寄存器(只用到写),可以直接拿IIC的时序来当做SCCB用,如果需要读,读操作中间必须有一个stop。

  • start_2 + phase_1 + phase_2+ stop_2

除去上面三点,SCCB和IIC再无区别,因此如果只需要配置寄存器(只用到写),可以直接拿IIC的时序来当做SCCB用,如果需要读,读操作中间必须有一个stop。

未完待续(还有代码)…

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ElementUI简介以及相关操作

ElementUI是一套基于Vue.js的桌面端组件库,提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。以下是ElementUI的简介以及相关操作: 简介:ElementUI是一套为开发者、设计师和产品经理准备的基于Vue 2.0的桌面端组件库&#xff…

aspose-cells-20.7.jar 去除水印及次数限制

1.使用 jd-gui.exe 反编译查看,直接搜索 License 1.修改 public static boolean isLicenseSet() {return (a ! null);}改成 public static boolean isLicenseSet() {return true;}2.修改 public void setLicense(InputStream stream) {Document document null;if (…

【EI会议征稿通知】2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)

2024年第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024) 2024 4th International Conference on Artificial Intelligence, Automation and High Performance Computing 2024第四届人工智能、自动化与高性能计算国际会议(AIAHPC 2024)将于20…

SpringMVC:拦截器

一般我们会做一些统一的操作这个时候我们需要使用springmvc提供的拦截器,例如token的验证,字段必填的操作,接口超时判断,签名验证,字段加密等操作,所以我们需要了解执行先后顺序。 我们来简单介绍下实现过程…

第6章-路由器、交换机及其操作系统介绍

目录 1. 路由器与交换机的作用与特点 1.1. 路由器 1.2. 交换机 1.3. 路由交换 2. H3C路由器与交换机介绍 3. H3C网络设备操作系统Comware 1. 路由器与交换机的作用与特点 1.1. 路由器 1、定义:路由器(Router)是连接两个或多个网络的硬…

穿越Flink的时间隧道:解锁实时数据之窗,掌握流处理之巅

目录 Flink中的时间和窗口 1时间语义 1.1Flink中的时间语义 1.1.1处理时间 1.1.2事件时间 1.2那种时间语义更重要 2 水位线 2.1 事件时间和窗口 2.2 什么是水位线 2.3 如何生成水位线 2.3.1使用WatermarkGenerator 2.3.2使用SourceFunction 2.4 水位线的传递 2.5 水位…

bvh转fbx python实战代码

目录 参数含义: bvh转fbx python实战代码 参数含义: 参考: Export Scene Operators — Blender Python API filepath (string, (optional, never None)) – File Path, Filepath used for exporting the file check_existing (boolean

R语言中数据框是什么?

在数据分析过程中离不开表格,通常使用Excel来做数据分析,行和列用来存放不同的数据,表格能清晰直观的展示数据,而且可以将多张表组合联系起来,这种不约而同的规范也同样适用于R语言。 R语言中的数据框(Data…

2023年度环境电器行业数据分析(洗地机、扫地机器人、吸尘器等)

在家电行业整体消费不振的环境下,环境电器市场也受到影响,2023年度市场大盘销售呈下滑趋势。根据鲸参谋平台的数据显示,2023年京东平台环境电器市场的销量累计约7100万,同比下滑约12%;销售额约360亿,同比下…

移动端自适应解决方法(原理是rem布局)

adaptive 点击跳转官方Git地址 此博客参考笔记 也可以直接复制下方的js文件直接使用 index.js var adaptive {}; (function (win, lib) {var doc win.document;var docEl doc.documentElement;// 设备像素比var devicePixelRatio win.devicePixelRatio;// 我们设置的布…

JavaScript 示例: jsencrypt 私钥 16位密码短语 + cryptojs AES加解密

JavaScript 示例: jsencrypt 私钥 16位密码短语 cryptojs AES加解密 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"…

[go] Stringer 类型

Stringer是Golang的fmt包中的一个类型。 Stringer由任何具有String方法的值来实现。 实现Stringer的类型与字符串的打印方式相同。Stringer会返回一个字符串。 type Stringer type Stringer interface {String() string }让我们看一个例子&#xff0c;我们有一个结构&#…

【图形学】实现二维几何变换

二维点类 class CPoint2 { public:CPoint2();CPoint2(double x, double y);~CPoint2();friend CPoint2 operator (const CPoint2& p0, const CPoint2& p1);friend CPoint2 operator -(const CPoint2& p0, const CPoint2& p1);friend CPoint2 operator *(const…

云原生 - 微信小程序 COS 对象存储图片缓存强制更新解决方案

问题描述 遇到一个这样的情况&#xff1a;在微信小程序里图片缓存十分麻烦&#xff0c;网上很多说在腾讯云里的 COS 存储对象服务里设置对应的图片缓存&#xff08;Header 头 Cache-Contorl&#xff09;&#xff0c;说实话真不好用&#xff0c;一会儿生效&#xff0c;一会儿没…

excel学习1

直接ctrl cctrl v会报错位移选择粘贴时用123那个数字粘贴而不是ctrl V 只要结果不要公式 上面复制的为数值这里是复制的公式他们两个不一样 这个方法太麻烦了直接用格式刷&#xff0c;选择一个区域一个单元格&#xff0c;不要选择多个一刷就出来了 第一个计算后向下拖就行了&…

FastDFS分布式文件存储

为什么会有分布式文件系统&#xff1f; 分布式文件系统是面对互联网的需求而产生。因为互联网时代要对海量数据进行存储。很显然靠简单的增加硬盘个数已经满足不了我们的要求。因为硬盘传输速度有限但是数据在急剧增长&#xff0c;另外我们还要要做好数据备份、数据安全等。采用…

Git的安装与配置

目录 前言 Linux-centos&#xff1a;下安装 Linux_ubuntu下安装 创建Git本地仓库 配置用户名和Email 前言 Git是一种版本控制器&#xff0c;能够让我们了解一个文件的历史&#xff0c;以及它的发展过程。通俗的将就是可以记录一个工程的每一次改动和版本迭代的一个管理系统…

【vscode】6、调试 shell

文章目录 经常在 IDE 下使用 高级语言后&#xff0c;往往并不习惯 shell 编程&#xff0c;因为没有酷炫的界面。但现在 vscode 可以很方便的调试 shell 脚本。 配置方法如下&#xff1a; vscode 下载 Bash Debug 插件 mac 升级 bash 版本&#xff08;因为此 vscode 插件需要 b…

蓝桥杯重要知识点和赛题直通车

<蓝桥杯软件赛>零基础备赛20周 第 1周(2023-10-23): 蓝桥杯软件赛介绍官方链接零基础能得奖吗&#xff1f; 第 2周(2023-10-30): 常考知识点蓝桥杯怎么判题备赛计划 第 3周(2023-11-06): 填空题&#xff08;分数少但越来越不好做&#xff09; 第 4周(2023-11-13): &#…

Qt系统托盘的学习

参考&#xff1a; Qt系统托盘程序的实现_qt托盘程序-CSDN博客 QT系统托盘应用程序-CSDN博客 代码&#xff1a; #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QSystemTrayIcon> #include <QDebug> #include <QMenu> #include &l…