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.

[参考译文] TMS320F28P551SG:控制器和目标的 I2C 通用调用行为

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1655723/tms320f28p551sg-i2c-general-call-behaviors-for-controllers-and-targets

器件型号: TMS320F28P551SG

尊敬的 champs:

 

我向我们的客户询问这个问题。

用户希望使用通用广播(地址 0)、并要求 TI 阐明其用法和行为。

问题:

  1. 从下面的文档中、红框中的意思是什么? 请您详细解释一下吗? 当 F28P551x 控制器发送地址 0 + W(八逻辑 0 字节)时。 F28P551x 目标是对其进行确认还是否定确认? 在这种情况下、F28P551x 控制器的这个 NACK 位是否会设置?
  2. image.png

2.为了使 F28P551x 控制器发送地址 0、它应该只需要将目标地址 I2CTAR 设置为 0。 对吗?

3.地址 0 字节之后的字节数是否有任何限制?  

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

    尊敬的 Wayne:

    从下面的文档中、红色框中的含义是什么? 请您详细解释一下吗? 当 F28P551x 控制器发送地址 0 + W(八逻辑 0 字节)时。 F28P551x 目标是对其进行确认还是否定确认? 在这种情况下、F28P551x 控制器的这个 NACK 位是否会设置?

    在正常的目标控制器传输中、控制器会检查 NACK 位以了解特定目标器件是否响应。 不过、通用广播是同时广播到所有器件、因此多个目标器件可能会同时 ACK。 换句话说、控制器不应使用 NACK 位来确定目标器件是否响应通用广播传输。 相反、您应该检查目标侧的状态位、因为无法在控制器侧真正检查该状态位、这是良好/标准 I2C 用法。  

    此注释仅适用于控制器模式。

    [quote userid=“4952“ url=“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1655723/tms320f28p551sg-i2c-general-call-behaviors-for-controllers-and-targets 为了使 F28P551x 控制器发送地址 0、它应该只需要将目标地址 I2CTAR 设置为 0。 正确吗?

    是的、正确。  

    [quote userid=“4952“ url=“~/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1655723/tms320f28p551sg-i2c-general-call-behaviors-for-controllers-and-targets 地址 0 字节之后的字节数是否有任何限制?  [/报价]

    I2C 规范将通用广播定义为第一个字节= 0x00 (addr + W)、第二个字节=“命令字节“。 C2000 硬件不会带来进一步的限制、因此您可以将 I2CCNT 寄存器设置为控制器想要发送的字节数。  

    此致、

    Aishwarya