TI中文支持网
TI专业的中文技术问题搜集分享网站

DS90UB914/DS90UB913 I2C ACK延迟出现的问题

图1 使用DS90UB914和DS90UB913后的波形,Sensor的ACK出现延迟160ms的异常。

图2 未使用DS90UB914和DS90UB913直接让CPU和Sensor对接的I2C波形,ACK无延迟,波形正常。

TI的专家您好!我使用DS90UB914和DS90UB913传输sensor视频到CPU的DVP并口。我用同样的程序和CPU,当使用DS90UB914和913转接时,出现图1所示I2C发出时钟信号先发前8个时钟,延迟160ms时,再发第9个时钟,接受sensor的ACK信号,连续写超过两个字节时,会包NACK错误。不用914和913时,如图2所示,I2C波形正常。请问:

1、DS90UB914和DS90UB913对I2C的ACK校验位和对应的时钟有160m的延时吗?这个现象正常吗?

2、在DS90UB914/913数据手册的寄存器表中地址0x03的第3位AUTO ACK默认为0,配置为“1”能解决这个ACK及其对应时钟延迟出现NACK的问题吗?

user1210068:

我提的问题中,主机发送的第8个时钟和第9个时钟之间的时间是160us,不是160ms.

Amy Luo:

您好,

您的问题我正在处理,我会尽快回复您。

Amy Luo:

您好,对于通过双向控制信道的FPD-Link通信,必须使用I2C时钟拉伸,以便事务能够缓冲和传输相关的延迟。您可以在下面文档中阅读更多信息:
www.ti.com/…/snla131a.pdf
通过启用AUTO ACK可以提高吞吐量,但这也意味着如果有一个真正的NACK,您将不会收到它。

user1210068:

回复 Amy Luo:

非常感谢您的回复。我想咨询以下,当需要启用AUTOACK时,是不是要把DS90UB914和DS90UB913的AUTOACK位都设置为1?

Amy Luo:

回复 user1210068:

您说的是DS90UB913的哪个寄存器的AUTOACK位?在数据手册中Table7是DS90UB913Q-Q1 Control Registers,Table8是DS90UB914Q-Q1 Control Registers表格。

赞(0)
未经允许不得转载:TI中文支持网 » DS90UB914/DS90UB913 I2C ACK延迟出现的问题
分享到: 更多 (0)