赞
踩
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。
控制信号,用于控制数据传输,低有效.
SIO_C信号是一个单向的控制信号,必须由主设备驱动。必须在逻辑1驱动SIO_C总线处于空闲状态。SIO_C = 0,开始数据传输。在数据传输过程中,SIO_C=1表示单个传输位。因此,SIO_D只能在SIO_C被驱动为0时发生。单个传输位的周期定义为tCYC最小值为10µs。
inout(双向数据传输端口)
SIO_C=1,单位数据传输;SIO_C=0,SIO_D数据改变。除传输数据期间,SIO_D可以置为0。
tPRC定义为SIO_D的预充电时间
tPRA被定义为SCCB_E的预激活时间。
当SIO_C拉高时,SIO_D停止数据传输;并保持高电平tpsc(>15ns)。
在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表示读)。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。