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.

[参考译文] DRA829V:I2C 状态寄存器 (I2C_IRQSTATUS_RAW) 字段说明

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1619130/dra829v-i2c-status-register-i2c_irqstatus_raw-field-descriptions

器件型号: DRA829V

尊敬的 TI 团队:

我在使用 I2C 器件驱动程序时收集了有关状态寄存器的以下问题:

  • 寄存器字段 BB(位 12)和 BF(位 8)之间的确切差异也与最新 TRM (spruil1d) 的图 12-34 有关、这两个字段似乎都是等效的?
  • 数据计数器寄存器 (I2C_CNT) 的 ARDY(位 2)以及与寄存器字段 DCOOUNT(位 15-0)相关的结果是什么?
  •  spruh73q 的寄存器说明 (I2C_IRQSTATUS_RAW) 和寄存器字段说明是否代表性?

非常感谢您的帮助。

此致、
Jakob

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

    尊敬的 Jakob:

    BB(位 12)-总线繁忙指示器:
    反映当前总线状态的只读状态位。 1 =总线忙 且 0 =总线空闲。 它仅用于轮询。 在启动传输前检查此项。

    BF(位 8)-总线空闲:
    转换为自由状态时发出信号。 可通过 I2C_IRQENABLE_SET[8] BF_IE 启用该功能。 对于总线可用性的中断驱动检测很有用。

    底线: BB 用于轮询总线状态、BF 用于中断驱动总线空闲检测。

    ARDY(访问就绪):

    这指示上次寄存器访问何时完成以及何时可以再次安全访问寄存器。 对于知道何时可以安全地对配置寄存器进行重新编程至关重要。

    DCOUNT (I2C_CNT[15-0]):

    这指定了控制器模式下的传输长度。 在传输期间递减以显示剩余的字节。

    关系: Ardy 会告诉您何时可以安全地对 I2C_CNT 等寄存器进行重新编程。 设置 ARDY 后、您可以安全地为下一次传输更新 DCOUNT。

    - Vinit

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

    尊敬的 Vinit:

    非常感谢、这对您有很大帮助。 我现在有一个跟进问题:

    • 在轮询和单主模式下、BB 表示 明确的传输结束、并可在同步功能结束时进行检查?

    此致、
    Jakob

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

    尊敬的 Jakob:

    是、在单主器件轮询模式下、检查 BB=0 可能表示发送停止条件后传输结束。 不过:

    - ARDY 是转账完成的更直接、更可靠的指标
    - BB=0 确认总线释放、这会在传输完成后发生


    在我看来,你应该先检查 ARDY ,然后选择验证 BB=0

    此致、

    Vinit

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

    尊敬的 Vinit:

    非常感谢。

    此致、
    Jakob