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.

[参考译文] TMS320F28379D:从 Delfino 到 FPGA 的 I2C 通信

Guru**** 2539500 points
Other Parts Discussed in Thread: TMS320F28379D

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/650411/tms320f28379d-i2c-communication-from-delfino-to-fpga

器件型号:TMS320F28379D

我们正在努力在 TMS320F28379D (主器件)和 Altera / Intel FPGA (从器件)之间建立 I2C 通信。  FPGA 从接口协议如下:

START (从主机发送)
字节0:7位从器件地址+ R/W'位= 1 (从主器件发送)
字节1-4:特定于协议的数据(从主器件发送)
字节5-6:特定于协议的数据(从器件发送)
NAK (从主器件发送)
停止(从主器件发送)

此外、上面未列出的每个字节之间是否有适当的 ACK。

这似乎与7位或10位寻址模式不兼容、因此我们使用的是自由数据格式。

我们已经执行了一些测试、在这些测试中、我们可以向从器件发送起始位和5个字节的信息(使用来自从器件的适当 ACK)、但我们无法使主器件在不插入另一个起始信号的情况下发送时钟来接收最后两个字节。

是否有办法实现这个协议:开始-发送5字节-接收2字节- NAK -停止、而无需在发送和接收之间插入 START 信号?

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Eric:

    在 I2C 协议下、如果没有一个在传输方向改变之前的启动或者重复启动条件、这是不可能的。

    您描述的内容与 I2C 规范中讨论的组合格式最为相似。 请参阅以下内容:

    希望这对您有所帮助、

    Kevin