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.

[参考译文] CC2652RB:I2C 启动状态不一致、是否强制 I2C 关闭?

Guru**** 2538955 points
Other Parts Discussed in Thread: CC2652RB, CC2640R2F, ADS1294

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/967506/cc2652rb-inconsistent-i2c-startup-state-force-i2c-close

器件型号:CC2652RB
主题中讨论的其他器件: CC2640R2FADS1294

我发现在几个调试会话之后、有时 I2C 线路似乎卡住了、SCL 为高电平、SDA 为低电平。 我无法排除这不是另一端的 LSM303AGR、但该外设的启动状态不太可能出现问题。 XDS 板上的电源循环供电是我当前解决此问题的方式。 我想知道什么可能会使 MCU I2C 模块处于某种不工作状态? 是否有任何方法可以保证模块正常/一致地启动?

我遵循 I2C 初始化的基本过程、并在线路上有上拉电阻(即、只要初始化、它就能完美工作)。

I2C_init ();
I2C_Params i2cParams;
I2C_Params_init (&i2cParams);
i2cParams.bitrate = I2C_100kHz;
yax_i2c = I2C_open (my_I2C_CONFIG、 i2cParams (&i2cParams); 

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

    Matt、

    您是否使用未修改的 LaunchPad 来调试此代码? 您是否能够在未连接 I2C 器件或未进行调试时重现此行为?

    出现问题时、您是否能够查看 i2c 句柄的状态、例如句柄是否有效或为 NULL?

    此致、

    Daniel

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

    我使用的是定制 PCB。 它看起来不是设备、我可以拔下/重新插、但问题仍然存在。 使用按钮重置 XDS 似乎也不起作用。 从物理上拔下/重新拔插 XDS 似乎可以解决问题。 这意味着什么? 程序正在使用 ROM。

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

    您好、Matt、

    我具有 LSM303AGR 方面的经验。您需要确保 LSM303AGR 电路正确且电源正常。 I2C 上拉电阻值至关重要。 分享您的原理图以供查看。

    要测试 I2C 通信工作、请读取 LSM303AGR 谁是我的寄存器。 您可以修改 i2ctmp007示例程序以执行此操作。但请确保将其配置为适用于您的定制板。 同样、您需要确保为您的定制板正确配置 I2C 线路。

    -kel

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

    Kel、我的电路在下面。 我真的不认为这是电路。 这与以下事实不一致:它是 XDS 的复位、而不是我的电路板本身、可以解决该问题。 正如我说过的、我可以使用 LSM303AGR、除了这些相对罕见的停机、线路似乎阻塞(在这种情况下、whoami 失败)。 由于此时它与调试器隔离、因此对于部署/生产而言、它可能不是一个大问题、只是我想解决的一个奇怪问题。

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

    您好、Matt、

    您使用什么 XDS 调试器以及如何将其连接到定制板? 必要的 JTAG 连接为 JTAG_TMS、JTAG_TCK、nRESET 和 GND。 此外、如何为定制板供电?

    -kel

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

    我正在使用 XDS110 (在 LP-2652RB 上)。 下面的电源和 MCU 电路。 我已经由 TI 审核过、其中反馈最重要的是缺失 DCDC_SW 6.8uH 电感器(参考设计中的 L1)以抑制直流/直流开关噪声-我在设计中遵循了 CC2650EM-4XS-Ext_Reg_2_0_0。

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

    您好、Matt、

    不确定是否可以不使用 DC_DCSW 6.8uH 电感器。 但我知道这很重要。 不管怎样、您的定制板蓝牙是否正常工作? 您可以修改简单外设以在定制板上工作。

    回到 LSM303AGR 问题。 您可以做的另一件事是尝试将 LSM303AGR 模块与 CC2652RB Launchpad 进行通信、只是使用 Launchpad 验证其是否正常工作。

    我使用过无晶振的 CC2652RB Launchpad。 我记得尝试使用它创建项目的方法与 CC2640R2F 的方法不同。  

    -kel

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

    是的、蓝牙工作正常。 实际上、包括 ADS1294在内的所有器件都能很好地工作。 此时、在对信号量、任务和调试配置进行了大量更改之后、我在一段时间内未实现此 I2C 错误。 这让我想知道问题是否与以前的版本隔离、但我必须报告。 如果重新插入 PCB 不起作用、我的硬件仍然没有意义、但重新插入 XDS 确实起作用。

    我不确定您对 CC2640R2F 的引用是否理解? 我不使用该 LP 或芯片的任何东西。

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

    [引用用户="Matt Gaidica1"]但重新插入 XDS 确实会[/引用]

    这不是一个正常的解决方案。

    [引述 user="Matt Gaidica1">]我不确定您对 CC2640R2F 的引用是不是很了解? 我没有使用该 LP 或芯片中的任何内容。

    我说 CC2652RB 与 CC2640R2RF (也是 TI BLE MCU)相比无法正常工作。 从我对 CC2652RB 的简要使用中、我不相信它足够可靠。 但这是我个人的评价。

    -kel

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

    我在一段时间内没有遇到过这个问题。 它似乎与我的某个构建或配置隔离。 感谢您的关注、Kel、