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.

[参考译文] CC1312R:嘈杂环境中的 I2C 错误和恢复

Guru**** 2540720 points
Other Parts Discussed in Thread: INA219, CC1312R

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/828721/cc1312r-i2c-error-and-recovery-in-noisy-environment

器件型号:CC1312R
主题中讨论的其他器件:INA219

您好!

我们目前正在嘈杂环境中使用连接到 INA219传感器 IC 的 CC1312R 控制器。

由于环境噪声、我们看到一些 I2C 操作可能会由于噪声而失败、这对我们来说是可以接受的。

我们遇到的问题是、我们无法从 I2C 错误中恢复。

我们已经尝试了以下操作,但没有成功:

-调用 I2C_CANCEL 以取消所有事务

-调用以下序列:

I2C_CANCEL (i2c0Handle);
I2C_Close (i2c0Handle);
i2c0Handle = I2C_open (Board_I2C0、&i2cParams); 

在下一次 I2C 传输 时、代码在函数 I2CCC26XX_primeTransfer 中的以下行报告 I2C 总线错误(读取或写入传输):

/*检查总线状态,如果忙则返回错误*/
if (I2CMasterBusy(HwAttrs->baseAddr)
{
返回 I2C_STATUS_ERROR;
} 

mstat 值报告活动空闲、BUSBSY 和仲裁丢失标志。

我们尝试了 SDK 版本2.30和3.20中的 I2C 驱动程序。

您是否有任何建议可以如何重置/恢复 I2C 总线?

提前感谢您、

Stefan

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

    STE晶圆厂

    这是拼写错误吗? 或者是否关闭 i2cHandle 而不是 i2c0Handle?

    BR、

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

    这是一个排印错误。 我更正了上面的帖子。

    此致、

    Stefan

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

    Stefan、

    问题可能来自从器件侧。 当进行中的传输失败且需要取消时、不同的 I2C 从设备的行为会有所不同。 在再次打开 I2C 驱动程序实例之前、请尝试重置从器件。  

    BR、

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

    尊敬的 Seong:

    从器件似乎继续正常运行、因为 CC1312 IC 的复位足以使 I2C 总线再次运行。

    相反、从器件的复位不足以使 I2C 总线再次运行。

    谢谢您和 BR、

    Stefan

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

    Stefan、

    当这个错误发生时、SDA 是否被从器件保持并保持在低电平? 您可能需要切换几次 SCL 线路。 在您取消并关闭 I2C 实例后、尝试将 SCL 引脚配置为 GPIO 并进行多次切换。 然后初始化 I2C 驱动程序并重新打开 I2C 寄存器。

    BR、

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

    感谢你的答复。 我将在下周试一下。

    我将在测试后提供反馈。

    此致、

    Stefan