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.

[参考译文] MCF8316A:电机关闭的情况下、执行几次读取后的 I2C 地址 NACK

Guru**** 2477885 points
Other Parts Discussed in Thread: MCF8316A, MCF8316AEVM

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1246144/mcf8316a-i2c-address-nack-after-a-few-reads-with-motor-off

器件型号:MCF8316A

我们目前正在尝试实现 NXP S12ZVL 和 MCF8316A 之间的 I2C 通信。

正在使用以下硬件:
-开发套件- ZVL128
- MCF8316AEVM

ZVL128开发套件已经过修改、允许通过 J0/J1引脚(移除了 CAN 收发器的电阻器)进行 I2C 通信。

问题如下:
我要尝试每100ms 在32位模式下读取一次寄存器(目前仅测试实现方案)。
读取成功的头四次、然后在第五次、当主器件发送地址字节时、从器件对其进行 NACK。
连续读取尝试始终会导致地址字节的 NACK。

电机未运行(电位器0设置速度)、我还尝试了设置 DRVOFF。
我已经尝试更改两次读取之间的时间、但它始终是第五次读取、开始失败。
实现了字节间的100µs μ s 等待时间。

根据勘误主题、#8提到在电机运行时我无法读取寄存器、在使用 正在写入 是什么?
我们打算通过 I2C "实时"控制器件。 如果这也会导致问题、我们必须更改硬件设计、以包含相应的控制引脚。

相关问题提到了该芯片的"B 版本"、它修复了一些与 I2C 相关的问题。 该工具是否已上市? 我如何识别其中的一个?

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

    我再次检查了我们的所有代码、结果发现我们设置了 DLEN 值错误(64位而不是32位)、因此通信在4次通信尝试后锁定。
    将此值设置为正确的值可解决此问题。

    现在我对这款芯片的"B"版本还感兴趣、如果它已经公开的话、如何识别它。