DS90UB913/914 I2C问题
时间:10-02
整理:3721RD
点击:
TI工程师,您好!
我们最近在调试DS90UB913/914这对FPD Link III串行传输时遇到如下I2C问题,
CPU与DS90UB914连接,远端图像传感器与DS90UB913连接,我们在透过DS90UB914/913初始化远端Sensor时出现每发送一byte数据会有一个比较长时间的延时,导致写远端sensor寄存器出错;波形如下图,(我们试过跳线通过CPU直接写sensor的I2C是正常的);速率为100K,已调整DS90UB914的0x40与0x41将913的I2C输出信号速率调至100K,请问如何能解决每发送一byte就会有150us左右的延时问题。
补充说明一下,同轴传输线长度为1点5米;图像输出稍有上下滚屏现象。
Gang Li19,您好
Sensor通过913和914回传给CPU的数据(包括应答信号,以及CPU从Sensor读取的数据)有一定的延时。当914未收到Sensor回传数据时,会把SCL强制拉低,让CPU等待。直到914收到Sensor发回来的数据,才会释放SCL,让CPU继续发送SCL时钟。这个功能叫做“时钟延展(Clock Stretch)”。在I2C的官方协议里面有详细定义。请确认CPU的I2C接口支持时钟延展功能,已确保I2C读写正常。
对于图像输出上下滚动问题,请使用示波器测试914的LOCK引脚波形。如果LOCK一直是高电平,那么913和914没有问题,请检查电路其他部分。如果LOCK有出现低电平,请检查硬件设计和Sensor输出时钟抖动。
谢谢!
Kevin Zhang