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.

[参考译文] LM49251:具有 STM32L4的 I2C 总线锁定

Guru**** 2492385 points
Other Parts Discussed in Thread: LM49251

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

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/891126/lm49251-i2c-bus-lock-w-stm32l4

器件型号:LM49251

大家好、

背景:

使用 LM49251和 STM32L4实现 I2C 总线锁定。 SDA 和 SCL 上具有15K 外部上拉电阻。 尽可能使用 CubeMX HAL 代码。 VDD:3V3、HPVdd:1v8、I2CVdd:1v8。 STM32 Vcc:1v8。

免责声明:

由于这似乎是 I2C 总线锁定的一般情况、我犹豫是否在该论坛中发布此问题。 但在失去了很多头发和理智之后、我来到这里希望 LM49251有一些神奇和特别的东西、它不会通过"通常"的方法从这种情况中恢复过来、 并且有一种软件方法、可在需要时恢复与 LM49251的通信。

问题:

当电池出现问题时、我们的器件似乎偶尔会经历欠压复位、如果电源真的不稳定、则有时会连续数次进行欠压复位。 由于 STM32放弃与 LM49251的"初始化"对话、连续复位偶尔会导致 I2C 总线"锁定"、因此 LM 希望 SCL 振荡永远不会出现。 SDA 有时保持高电平、有时保持低电平。

挑战:

不能修改硬件以包含用于 LM49251的 MCU 控制复位电路、因为这是用于已经设计、制造并向市场销售的现有器件。

迄今取得的进展:

在研究了 STM32和 I2C 总线锁定和复位问题之后、我们尝试实现各种现成代码的实现方式、这些实现了 I2C 解锁过程、该过程应使从器件脱离其等待状态并允许通信恢复。 其主要来源是以下链接、尽管它主要针对 STM32F4s。。。

electronics.stackexchange.com/.../i2c-busy-flag-strange-behavior

代替上述功能的其他方法是强制复位、以及此处提到的 GPIO 与 I2C 时钟初始化顺序的变化...

electronics.stackexchange.com/.../stm32-busy-flag-is-set-after-i2c-initialization

最后、软件和硬件都尝试了原始 SCL 切换(17个周期或更多周期的突发)、结果无效。

帮助! )

提前感谢大家。

迪尔克

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

    您好、Dirk、

    欢迎使用 E2E、感谢您关注我们的产品!

    我们过去在该器件上遇到的 I2C 问题与电源稳定性不佳有关。 您是否有关于电源纹波的详细信息、或者它们在 I2C 问题开始时是否稳定? 我们的音频器件能够承受电源定序、但具有恒定变化可能会导致此类事件。

    此致、
    Luis Fernando Rodríguez S.  

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

    您好、Luis、

    感谢你的答复。 我们目前正在研究您关于电源稳定性的建议。 同时、您能否告诉我、为了强制 LM49251 "解锁"并复位其内部状态机、我们是否可以在 I2C 总线上发出任何信号序列? 当我们针对现有产品调查此问题时、非常需要通过软件解决此问题。

    谢谢、

    迪尔克

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

    您好、Dirk、

    我建议检查与器件关断相关的寄存器。 例如、需要将关断控制寄存器置于正常运行状态、并且应同时启用 G 类和 LM49251。 我还建议读取其余寄存器、以了解器件的当前状态。

    如果您有其他问题或意见、请告诉我。

    此致、
    Luis Fernando Rodríguez S.