SCCB协议

1.简介

        SCCB是一种2/3线串行总线,3线支持一主多从,2线支持一主一从,相当于简易的IIC协议;

        在修改后的2条母线实现允许SCCB主设备只与一个从设备进行接口。这种2线应用是在相机减少针封装产品中实现的 关于SCCB_E信号在外部不可用。SCCB接口的2线实现的功能图,如下:

注意:SCCB与IIC区别

1).SCCB的应答位称为x,表示"Don't care",而iic应答位称为Ack.

2).SCCB只能单次读,而lIC除了单次读还支持连续读。

3).SCCB读操作中间有stop,而IIC读操作中间不需要stop,具体表现如下:

SCCB读: start_1 + phase_1 + phase_2 + stop_1 + start_2 + phase_3 + phase_3 + stop_2
 IIC读:start_1 + phase_1 + phase_2 +          start_2 + phase_3 + phase_4 + stop 2

        除去上面三点,SCCB和IIC并无区别,第一点和第二点也不叫区别,是兼容IIC的,真正的不同就在第三点。因此使用SCCB时,如果只需要配置寄存器(只用到写),那么完全可以直接拿IIC的时序来用;如果需要读,那么需要对IIC增加一个stop。

2.引脚

2.1 SCCB_E

        控制信号,用于控制数据传输,低有效.

2.2 SIO_C

        SIO_C信号是一个单向的控制信号,必须由主设备驱动。必须在逻辑1驱动SIO_C总线处于空闲状态。SIO_C = 0,开始数据传输。在数据传输过程中,SIO_C=1表示单个传输位。因此,SIO_D只能在SIO_C被驱动为0时发生。单个传输位的周期定义为tCYC最小值为10µs

2.3 SIO_D

inout(双向数据传输端口)

SIO_C=1,单位数据传输;SIO_C=0,SIO_D数据改变。除传输数据期间,SIO_D可以置为0。

3.数据传输

3.1 写数据传输

3.1.1 START

tPRC定义为SIO_D的预充电时间

tPRA被定义为SCCB_E的预激活时间。

3.1.2 STOP

当SIO_C拉高时,SIO_D停止数据传输;并保持高电平tpsc(>15ns)。

3.1.3 DATA

        在sccb协议中,一个基本传输单元称作一个相(phase, 一个相包括9bit,前8bit为数据,第9位为响应ACK,分为Don't care 和NA;Don't care由从机产生,NA由主机产生;由于 sccb 不支持多字节的读写,NA位必须为高电平。

        SCCB没有重复起始的概念,因此在SCCB读周期中,当主机发送完地址后,必须发送总线停止条件。不然在发送读命令时,从机将不能产生Don't care响应信号。

        当写数据到从机被定义为写传输,当从机读数据被定义为读传输,每一个传输开始都要有START和STOP;完整的数据传输包括2/3个phase,每一个包含9bit数据,其中高8位为要传输的数据,最低位根据器件读写情况有不同的取值:

每一个phase组成:8位数据 + don't care/na

如果是主机发送数据,即进行写操作,第9位就为don'tcare;

如果是从机发送数据,即为读操作,第九位就为na.

ID地址:高7位为器件ID值,最低位为读写控制位(0表示写,1表示读)。

3.1.3.1 写数据传输

3.1.3.2 读数据传输

  • 21
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值