5509A有用IIC接口写SCCB的么?我用CSL的API函数可以读到从设备SCCB寄存器的初始值 但是写操作之后没效果 依然读到的只是初始值 。需要什么特殊操作 或者怎么解决呢?非得要软件模拟么?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
SCCB 是简化的I2C 协议, SCCB的总线时序与I2C基本相同, 它的响应信号ACK被称为一个传输单元的第9位, 分为Don’t care和NA。Don’t care位由从机产生;NA位由主机产生,由于SCCB不支持多字节的读写,NA位必须为高电平。另外,SCCB没有重复起始的概念,因此在SCCB的读周期中,当主机发送完片内寄存器地址后,必须发送总线停止条件。不然在发送读命令时,从机将不能产生Don’t care响应信号。由于I2C 和SCCB的一些细微差别, 所以采用GPIO 模拟SCCB总线的方式。SCL所连接的引脚始终设为输出方式,而SDA所连接的引脚在数据传输过程中,通过设置IODIR的值,动态改变引脚的输入/输出方式。SCCB的写周期直接使用I2C 总线协议的写周期时序;而SC-CB的读周期,则增加一个总线停止条件。