FPGA通过I2C配置ADV7180有写应答,无读应答
时间:10-02
整理:3721RD
点击:
大家好
FPGA(主)通过I2C配置ADV7180(从)的时候,
对于写命令,ADV7180应答,
但是对于读命令, ADV7180无读应答
请问下,这个问题可能的原因是什么?谢谢
写过程的具体操作过程是:
1)
START启动
2)
寻址0x40(写命令),
3)
寻址ADV7180的sub-addr
4)
写数据
5)
STOP停止
【上面的2~4步,都能收到ADV7180的低电平ACK】
读过程和写过程一样,并且都是寻址同个sub-addr,没有ACK应答(2~4步骤都没有应答)
FPGA(主)通过I2C配置ADV7180(从)的时候,
对于写命令,ADV7180应答,
但是对于读命令, ADV7180无读应答
请问下,这个问题可能的原因是什么?谢谢
写过程的具体操作过程是:
1)
START启动
2)
寻址0x40(写命令),
3)
寻址ADV7180的sub-addr
4)
写数据
5)
STOP停止
【上面的2~4步,都能收到ADV7180的低电平ACK】
读过程和写过程一样,并且都是寻址同个sub-addr,没有ACK应答(2~4步骤都没有应答)
如果按你说的步骤2没应答,那应该是fpga向ADV7180发送地址和读写位时没应答,估计是地址错了,ADV7180就没有响应。
是先写后读的(对同个地址)
写是可以收到ACK,但是读则是没有
读操作是主机发送应答吧
量波形确认发送是否有错,SCL频率和脉宽是否满足要求
谢谢大家的建议,问题找到了
是读时序错了,此前没有仔细看ADV7180的DATASHEET
正确的时序是:
START -> SLAVE_ADDR -> SUB_ADDR -> START -> SLAVE_ADDR -> "READ DATA FROM SLAVE" -> STOP.
这个I2C应用,好像不同的IC,时序细节存在差异?
ADI产品需要技术支持和免费样品申请或批量订货的,可电话13480757143,QQ:794843349
