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

6455 I2C配置为从发送模式最后一个字节发送不出去?

6455DSP与FPGA通过I2C相连,DSP的I2C配置为从发送模式,每次传输时最后一个字节发送不出去,查看I2C发送缓存寄存器,发现最后一个字节的数据在该寄存器中,没有发送出去。例如:DSP发送32个字节的数据,FPGA只能收到前31个字节。请问这是什么原因?

Shine:

你好,

请问ICCNT寄存器配了多少? 是32吗?

Binggao Ji:

回复 Shine:

是的。I2C配置为从接收模式时,接收的字节数是对的。I2C配置为从发送时,使用EDMA搬运的。EDMA搬运ACNT配置为1,BCNT配置为32,I2C的ICCNT配置为32。

Shine:

回复 Binggao Ji:

先把EDMA关掉试试, 看是I2C的问题还是EDMA的问题.

Binggao Ji:

回复 Shine:

DSP配置为从接收模式,接收是对的。可以排除EDMA的问题。I2C使用EDMA搬运内闭环是对的。我还是对DSP的I2C细节不是很清楚,DSP的I2C配置为从发送模式时,DSP是什么时候把第一个字节放在I2C的ICDXR和ICXSR寄存器中?

Binggao Ji:

回复 Shine:

I2C配置为从接收模式,DSP发送数据,产生了EDMA完成中断,(证明EDMA没有问题)可以看到最后一个字节在I2C的ICDXR中,查看示波器,发现最后一个数据没有从ICDXR中发送出去。(主I2C的时钟一直有),SDA线一直为高电平。请问ICDXR中的数据搬运到ICXSR是自动完成的吗?为什么会出现上述情况?

user6027759:

回复 Shine:

请问这个问题该如何解决

赞(0)
未经允许不得转载:TI中文支持网 » 6455 I2C配置为从发送模式最后一个字节发送不出去?
分享到: 更多 (0)