本文转自http://zsmctfy.blog.163.com/blog/static/1168733252010420101731380/
引脚功能
SCCB是欧姆尼图像技术公司(OmniVision)开发的一种总线,并广泛的应用于OV系列图像传感器上。SCCB是一种3线的总线,它由SCCB_E、SIO_C、SIO_D组成。在为了减少引脚的芯片上缩减为2根线,SIO_C和SIO_D。
2线的SCCB总线只能是一个主器件对一个从器件控制,但3线SCCB接口可以对多个从器件控制。
2线的SCCB总线需要主机具备如下条件中的一个或多个:
一、主机必须能够使SIO_D处于第三态,即高阻态。
二、主机必须能够驱动SIO_D比正常识别电压更高或更低
引脚(主机)说明:
SIO_E:输出(主机发出,单向),低电平有效,总线空闲时主机驱动此引脚为1,驱动为0时表示开始传输或者挂起模式(在表面没有该引脚的芯片中,该引脚默认为可用的,并且保持高电平)。
它标志这数据传输的开始和结束,高电平向低电平转变表示开始传输,低电平向高电平转变表示结束传输。在数据传输过程中,SIO_E必须保持为0。
SIO_C:输出(主机发出,单向),总线空闲时主机驱动此引脚为1;当驱动SIO_E为0时,主机驱动此引脚为0或1;当挂起时主机驱动SIO_C为0;
它表明每一个传输位;SIO_C为1时表示一个传输位;SIO_D只能在SIO_C为0时发生变化。
SIO_D:I/O口,双向传输线,既可以由主机驱动也可以由从机驱动。当总线空闲时保持浮动,状态不固定(0、1或三态高阻)。当系统挂起时驱动该引脚为0。为了不让该引脚产生未知的状态,主机和从机有职责保持该引脚的电平。
SIO_C为1表示传输一位数据,SIO_D只能在SIO_C为0时发生变化。然而,在开始传输和结束传输时却可以存在例外。当SIO_E有效且SIO_C变为0之前,SIO_D可以被驱动为0。在SIO_E失效前,SIO_C转为1时,SIO_D也能被驱动为0。
数据传输
SCCB传输协议允许总线在数据传输期间保持浮动或者连接。向从机写数据时定义写传输协议,向从机读数据时定义读传输协议。
3线总线的数据传输的开始标志是SIO_E从高向低的转变。在SIO_E有效前,主机必须驱动SIO_D为1,这能够避免在开始传输数据之前衍生出未知的总线状态,在SIO_E失效之后,主机也必须驱动SIO_D为1。
图表 1 3线数据传输时序图
3线数据开始传输时的总线时序图:
数据开始传输的标志是SCCB_E的从高到低的电位变化,在SCCB_E有效之前主机必须驱动SIO_D为1,这可以避免在数据传输之前总线产生未知的状态,在SCCB_E有效之后,主机必须在一定时间内驱动SIO_D为1以避免出现未知的总线状态。这段时间称为 。
在开始传输数据的时序图中定义了两个时间参数, 和 。 表明在SCCB_E有效之前SIO_D必须驱动为1的时间, 的最小值是15ns; 表明SCCB_E有效后SIO_D必须保持高电平的时间, 的最小值是1.25μs;
3线数据传输结束时的总线时序图:
SCCB_E的从低到高的点平变化标志的数据的传输结束。定义了两个时间参数来描述此时序图, 和 。 表示SIO_D在SCCB_E失效后必须保持1的时间,它的最小值是15ns。 表明SCCB_E在SIO_D变为1后还必须保持为0 的时间,它的最小值是0ns。
数据传输周期
数据传输的基本单元是相。这部分讲述三种传输:
1. 3相写数据传输
2. 2相写数据传输
3. 2想读数据传输
传输相
一相包含9位。这9位是由连续的8位数据和跟在最后的第九位。第九位是NA位或自由位(DNC),取决于是读还是写。一次传输最多可以传输三个相。这三相的第九位都是自由位。
三相写传输周期
三相写周期是是一个完全的写周期,主机能够用这中传输方式写一个字节给一个特定的从机。
第一相(ID相)鉴别特定的从机,第二相(Sub-address相)鉴别从机的特定寄存器,第三相(Write Data相)包含要写的8位数据,第三相的第九位是NA位。
两相写传输周期
两相写传输周期后面跟着两相读周期。发送两相写周期的目的是识别特定从机的特定寄存器。
相
这部分讲述最具代表性的相
相1(ID Address)
第一相是主机发送出去用于寻找将要操作的从机的地址。每一个从机都有一个独特的地址。这个地址由七位组成[7:1],能够识别128个从机。第八位,[0],是读写选择位,指明数据传输方向。0表示写周期,1表示读周期。
第九位必须是自由位。
相2(Sub-address/Read Data)
主机和从机都能够发出第二相。主机发送的第二相为地址,是主机将要操作的从器件。从机发送的第二相是读出的寄存器数据,它将被主机收到。从机识别的寄存器地址是根据先前的3相或2相写周期而来的。如果是主机发送的第二相,那第九位是自由位。
如果是从机发送的第二相,那第九位是NA位,
相3(Write Data)
只有主机才可以发送第三相,第三相包含主机要写给从机的数据。第三相的第九位定义为自由位。