IIC与SCCB协议的联系与区别
IIC协议与SCCB协议是一个高度相似的协议类型,SCCB协议常用在摄像头传输数据的时候,是一个简化版的IIC协议,具体区别有一下几点:
以下内容存在错误,请参考连接协议——SCCB与IIC的区别 - 咸鱼IC - 博客园
数据结构的区别:
在IIC中规定了严格完整的通信流程,包括起始条件、停止条件、响应位以及多主从设备总裁机制,每个字节传出后必须要接收方发送给主机确认收到的信号(响应信号,ACK位)。
在SCCB协议中省略了由接收方向主机发送的响应信号,
传输数据时的区别:
在IIC中,SDA数据只能在SCL为低电平的时候改变,在SCL为高电平的时候保持已确认数据能够被正确的采样
在SCCB中,SCL允许在高电平的时候改变SDA的数据。只需要满足数据采集时的建立时间和保持时间即可。
数据帧的区别:
IIC数据帧如下:
起始位 → 地址帧(含读/写位) → 数据帧 → ACK/NACK → ... → 停止位
每次传输一个字节后需要有一个响应位ACK
SCCB数据帧如下:
Phase 1(写ID Address) → Phase 2(写Sub-Address) → Phase 3(写数据) → 停止序列
有三个阶段:先传输设备地址,然后再传输具体寄存器地址,然后加上寄存器的数据值。
类似“先敲门,再告诉具体房间号,最后告诉你的具体数据”