SCCB协议

SCCB(OmniVision serial camera control bus),即串行摄像机控制总线。OmniVision 公司已经定义和

采纳的SCCB总线是一种三线结构的串行总线,用于完成对绝大多数OmniVision 系列图像传芯片功能的控制。

在简化的引脚封装中,SCCB总线可以工作在改进的两线工作方式下。

两线SCCB接口有两条通迅连接线,即SIO_D(数据线)和 SIO_C(时钟线),下面是双总线功能原理图:

在双总线情况下,要求主控机有以下两种功能之一来支持SCCB通迅:

1、主控器件支持并能保持数据在三态模式;

2、如果不支持三态,

二、管脚功能

主控器件管脚描述

从控器件管脚描述

SCCB——E 信号

低电平有效,一个高到低的转换表明数据传输开始;一个低到高的转换表明数据传输结束;数据传输过程保持为低

电平;高电平表明总线处于空闲状态。在SCCB——E表明数据传输开始之前主机必须将数据线SIO——D置为1,这样可以避免

总线数据传输开始之前的总线不确定状态的出现。

SIO——C 信号

高电平有效,当处于空闲状态时必须被拉高;当启动传输后,SIO——C被拉低表明数据传输的开始,传输过程中高电平

表明一位数据正在传输,所以SIO——D的数据变化只能在SIO——C为低时发生,一位传输时间定义为tCYC,最小为10us

三总线数据传输

SIO——D信号

可以被主机和从机驱动,当总线处于空闲时保持悬浮或三态;

在传输Don‘t-Car()e或NA位时,总线浮动和争用是允许的

SIO——C的一个高电平表明一位数据的传输,SIO——D只能在SIO——C的低电平期间发生变化,但在传输的开始和结束

也有例外,在SCCB——E断言并且SIO——C拉低之前,SIO——D可以被拉低,在SIO——C拉高之前和去断言之前,SIO——D

也可以被拉低。

数据传输的起始

SCCB——E由高到低的变化,表明数据传输的开始,在SCCB——E断言之前,主机必须把SIO——D拉高,这样可以避免

在数据传输之前传输一个不确定的总线状态;在SCCB——E去断言之后,主机必须把SIO——D拉高在一个定义的时间段

内,来再次避免一个不确定状态的总线状态传输。

在启动传输过程中有两个时间参数,TPRA和TPRC,TPRC被定义为SID——D预充电时间,这表明SIO——D必须先于

SCCB——E被拉高的时间,最小值为15ns,TPRA被是指在SIO——D拉低之前,SID——E必须被断言的时间,最小为1.25us。

数据传输的终止

TPSC是SCCB——E去断言后,SIO——D保持逻辑高电平的时间,最小为15ns,TPSA

是SIO——D去断言后,SCCB——E必须保持低电平的时间,最小为0ns

自我总结:

首先,要有开始信号。

开始信号是在clock为高的时候,data的下降沿作为起始信号。

void startSCCB(void)
{
    SCCB_SID_H();     //数据线拉高
    DDelay_us(500);
    SCCB_SIC_H();   //在时钟线高的时候数据线由高至低
    DDelay_us(500);
    SCCB_SID_L();
    DDelay_us(500);
    SCCB_SIC_L(); //数据线恢复低电平,单操作函数必要
    DDelay_us(500);
}

再就是写数据的时序。

SIO_D的改变只能在clock为低时改变,clock为高时数据发送出去。每发送完一帧后有个应答信号,由SCL为高时SDA的低电平作为应答信号。

for(j=0;j<8;j++) //循环8次发送数据
{
if((m_data<<j)&0x80)
{
SCCB_SID_H();
}
else
{
SCCB_SID_L();
}
DDelay_us(500);
SCCB_SIC_H();
DDelay_us(500);
SCCB_SIC_L();
DDelay_us(500);

}
DDelay_us(100);
SCCB_SID_IN;/*设置SDA为输入*/
DDelay_us(500);
SCCB_SIC_H();
DDelay_us(100);
if(SCCB_SID_STATE){tem=0;}   //SDA=1发送失败,返回0}
else {tem=1;}   //SDA=0发送成功,返回1
SCCB_SIC_L();
DDelay_us(500);
        SCCB_SID_OUT;/*设置SDA为输出*/

再就是结束信号,由SCL为高时,SDA的高电平跳变作为结束信号。

void stopSCCB(void)
{
    SCCB_SID_L();
    DDelay_us(500);
 
    SCCB_SIC_H();
    DDelay_us(500);

SCCB_SID_H();
    DDelay_us(500);
   
}

SCCB(I2C)时序相关推荐

  1. S5PV210之GPIO模拟I2c时序之pcf8591与at24xx linux3.0.8驱动

    目录:一. 说明 二. 驱动程序说明及问题 三. 案例一       四. 案例二 一. 说明 mini210开发板上带了at24c08, 看了linux内核自带的at24.c的驱动程序,编译下载到看 ...

  2. linux下I2C驱动发送IO时序,I2C驱动情景分析——怎样控制I2C时序

    内核版本:linux-3.4.2 源程序:    linux-3.4.2\drivers\i2c\busses\I2c-s3c2410.c 这次要解决的问题是:如何配置soc的I2C模块,输出想要的时 ...

  3. s5pv210——I2C基础详解、I2C时序详解

    以下内容源于朱有鹏嵌入式课程的学习,如有侵权,请告知删除 . 参考博客: http://blog.csdn.net/oqqhutu12345678/article/details/65445338 h ...

  4. 11.SCCB接口时序的实现

    SCCB接口时序的实现 SCCB接口时序与IIC协议基本一致,是其简化版本,且SCCB协议兼容IIC协议. 基本时序介绍 最常用的时序是3线控制数据传输的方式,基本时序图如下. 具体的控制信号,则是先 ...

  5. STM32模拟I2C时序读写EEPROM精简版

    平台:STM32ZET6(核心板)+ST-LINK/V2+SD卡+USB串口线+外部EEPROM(不需要上拉电阻) 工程介绍:主要文件在USER组中,bsp_i2c_ee.c,bsp_i2c_ee.h ...

  6. OV7670 的SCCB (I2C)波形记录

    前两天,客户的YACD511SBDBC与我们的芯片无法通信,根据分析是,hold time 的问题,顺便测了几个好使的OV7670的SCCB(其实就是I2C) 读写的波形(数字模式),反正也不能浪费了 ...

  7. I2C协议---I2C时序图解析

    一.I2C协议简介   I2C 通讯协议(Inter-Integrated Circuit)是由 Phiilps 公司开发的,由于它引脚少,硬件实现简单,可扩展性强,不需要 USART.CAN 等通讯 ...

  8. s5pv210 i2c 时序

    1 低层时序 ①. 底层时序 ******** 低层时序: ①.空闲: scl clk都是高电平②.起始位: 一个时间段,这个段时间内,SCL高电平, SDA 出现下降沿 , 接收方收到以后,知道了, ...

  9. i2c时序图的详细讲解

    i2c简易时序图 启动信号: SCL为高电平的时候,SDA由高电平向低电平跳变.结束信号:SCL为高电平的时候,SDA由低电平向高电平跳变. 应答信号: I2C总线上的所有数据都是以8位字节传送的,发 ...

最新文章

  1. java desktop类 能打开共享文件夹中的文件吗_计算机二级之JAVA篇
  2. Web服务集成CRM的应用
  3. 老公和老婆的15个关于......
  4. 2440启动代码分析
  5. 邪恶的编码魔咒,你中招没?
  6. POJ - 3494
  7. sscom32串口测试软件连接串口时有时会造成设备异常,更换别的串口软件后正常,特此记录
  8. 对接第三方顺丰丰桥电子面单打印接口教程
  9. Hadoop3.3.1详细教程(四)Linux集群搭建+免密登录
  10. PS CC2018替换/修改图片上的文字内容
  11. Python for s60[1_pys60简介]
  12. 网站PV,UV是什么意思?
  13. 使用python的模拟退火算法估计heston期权定价模型的五个参数(新)
  14. python画喜羊羊_PYTHON养成日记 DAY-8
  15. 7-2 单词首字母大写 (15 分)
  16. 无法为数据库中的对象分配空间,因为'PRIMARY'文件组已满问题处理方式
  17. 香港4月1日5G商用,月费198港元起
  18. 读取.nc文件数据及可视化
  19. 零数科技受邀加入中国信通院隐私计算联盟
  20. MATLAB测试一阶惯性滞后系统、PID参数采用Simulink整定结果

热门文章

  1. 地铁小记 - 网上苹果店
  2. 国产芯片---带使能端、轨到轨的运算放大器MS8093
  3. Windows使用msys+mingw编译imagemagick
  4. LPDDR4特点和基本概念--基于Hynix H9HCNNNBPUMLHR系列
  5. 神舟笔记本安装Windows系统
  6. fm24c16c语言程序,铁电存储器FM24C16驱动程序(转)
  7. Windows 10与UOS之间共享文件夹和打印机
  8. 什么是SOA架构?为什么使用SOA架构?
  9. 动态磁盘和基本磁盘及转换
  10. 用正交变换将二次型化为标准形