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.

[参考译文] TMS320F28052:在 I2C 主器件传输期间、NACK 后继续传输

Guru**** 2492385 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1556930/tms320f28052-continuation-of-transmission-after-nack-during-i2c-master-transmission

器件型号:TMS320F28052


工具/软件:

我对 C2000 系列内置 I2C 模块的操作有疑问。
目前、在 I2C 主设备写入模式下、我们将向 LCD 设备发送“地址+ 2 字节数据“。
但发送地址时、会发生 NACK 中断、此时通信停止。
我的要求是发送地址+ 2 个字节的数据、即使发生 NACK 也不会停止通信。

问题。
(1) 是否可以在发生 NACK 后使用硬 I2C 模块继续并恢复数据传输而不停止通信?
(2) 如果无法做到这一点、您能否解释原因以及如何解决?

如果您能“今天“回复我们、我们将不胜感激、因为这是我们发展计划中的一个重要问题。
提前感谢您。

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

    您好、

    目标端 NACK 的原因是什么? 通常、应处理所有 NACK、因为它们代表 I2C 通信中的错误。 您是否尝试过在已启用的中断寄存器中禁用 NACK 中断? 当收到 NACK 并且可能需要复位 I2C 模块时、这可能会导致通信停止

    此致、

    彼得

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

    感谢您的答复。
    但是、由于重点与我想知道的稍有不同、请允许我再次确认。

    我的问题可以概括如下:

    (1) I²C C2000 μ s 硬件模块的规格、即使在主器件发送时在地址阶段接收到 NACK、是否可以继续发送数据字节而不发出停止信号?
    ・如果可能,请解释方法,
    ・如果不可能,请解释为什么不能按照规范。

    (2) 即使发生 NACK、TI 是否有官方推荐的任何方法可以在不停止通信的情况下继续传输?
    ※我们希望对硬件规范的行为、而不是 NACK 的原因或对策有一个明确的答案。

    由此给您带来的不便、我们深表歉意、但我们希望您在 8 月 26 日前给予回复。

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

    I²C 我们之前关于 C2000 μ C 硬件模块运行情况的咨询、我们将再次与您联系。
    我们要求在 8 月 26 日之前作出答复、但尚未收到任何通知。

    这些信息对于我们的评估至关重要。
    请您立即关注此事。

    感谢您的合作。

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

    您好、

    (1) 作为 C2000 I²C 硬件模块的规格、即使在主器件发送时的地址阶段收到 NACK、是否可以继续发送数据字节而不发出 STOP?
    ・如果可能,请解释方法,
    ・如果不可能,请解释为什么根据规范不可能。

    根据 C2000 的 I2C 实现、在收到 NACK 时无法继续发送数据字节而不发出 STOP。  I2C 模块的配置经过设计、可在收到 NACK 时自动生成停止条件。 在其他 MCU 上、一些 I2C 实现可能具有 IGNACK 位、可以启用该位以完全忽略从目标收到的 NACK、但这在 F2805x 上不提供

    (2) TI 是否有任何正式推荐的方法、即使发生 NACK、仍可以在不停止通信的情况下继续传输?
    ※我们希望对硬件规范的行为、而不是 NACK 的原因或对策有一个明确的答案。
    [/报价]

    没有硬件机制来覆盖此行为。 NACK 之后的停止条件生成是一种硬件级实现。 即使在“重复模式“或其他特殊模式下、硬件仍将在地址阶段收到 NACK 后生成停止条件

    此致、

    彼得

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

    感谢您的持续支持。

    我们衷心感谢你对这一问题的迅速关注。

    感谢您的帮助、我们能够了解这种情况。

    我们期待着你继续合作。