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.

[参考译文] MCT8329A:一条总线上有多个器件、具有极少的 GPIO

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1509675/mct8329a-multiple-devices-on-one-bus-with-minimal-gpio

器件型号:MCT8329A

工具/软件:

大家好、我最近开发了 MCT8329测试板、对其性能印象非常深刻。 但是、我希望在一条总线上使用六个、只需使用所需的迷你 GPIO。 不过、我打算使用 PWM 来控制它们、而不是使用 I2C。

主要问题是所有驱动器都有相同的地址、导致它们在总线上发生冲突。 布板空间不允许使用多路复用器。 出于成本和复杂性的原因、我也宁愿避免使用编程夹具。 允许轻松修改电机设置也是一个好处。

我注意到驱动器有睡眠/关断模式、或者有类似的效果。 在此模式下、SPEED 引脚上的任何信号都不会导致驱动器关断 I2C 总线。 但这不是默认模式、需要通过 I2C 写入才能将其打开。

我的建议如下:在地址0x01处写入命令以启用此模式(针对所有器件)。 将所有速度线设置为零。 扫描总线以查找地址-如果显示0x01、请重复将0x01设置为 SHUTDOWN 模式。 重复此操作、直到总线空。

现在、逐个唤醒芯片以编程地址。 这是否可行? 芯片不会响应、如果出现 NACK /故障、我们应该能够在芯片保持在线时检测到。 这里是否有任何缺陷? 理论上、这应该让8个引脚完全控制6个电机。

感谢您的参与、我期待与您的硬件进一步合作!

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

    尊敬的 Reuben:

    你的方法是好的。

    由于您是主器件、ACK/NACK 还与时钟同步。

    因此,你应该能够控制在你考虑的方法.

    谢谢、此致

    Venkatadri S.