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:I2C 问题

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1305026/mct8329a-i2c-problem

器件型号:MCT8329A

您好、我们有一个带有板载驱动器的定制电路板。 我们将在毫无运气的情况下尝试与器件通信。 TI 文档中提供的示例缺少很多详细信息。 我们的电压都正常。 FG 和 NFAULT 下拉至高电平、速度命令下限和制动高电平。 i2c 的范围是 qnd 运行正常。

我们正在尝试为其构建 Arduino 库。

您是否有关于如何读取简单寄存器的任何详细信息?

只需举个真实的示例、说明如何正确设置所有 IO 以及如何读取一个实际的可用寄存器字节。 假设我们的器件地址是默认值。

字节1:0x00

字节2:OxA0

依此类推。

默认情况下、CRC 是否打开?

可以检查的其他方面吗? Tje IC 似乎完全停止工作且无反应。

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

    你好,Mikael,

    您是否有关于如何读取简单注册表的详细信息?

    我们提供了使用 MSP4302355通过 I2C 对 MCx BLDC 电机驱动器进行编程的一些示例代码、您可以访问 https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1246892/faq-program-mcx-bldc-motor-driver-through-i2c-using-msp430-launchpad 进行查看。

    默认情况下启用 CRC

    通过将控制字(CW22)中的 CRC_EN 位设置为0x1、即可为每个数据包启用 CRC。

    在示例代码中、不支持 CRC、但通过 修改发送的控制字并在 I2C_READ 和 I2C_Write 函数中添加另一个字节读取/写入操作、使它们包含 CRC 字节、代码应支持 CRC。

    我们还可以检查什么?

    检查 VM > 4.5V、AVDD = 3.3V 且 DVDD = 1.5V。如果这些电压满足这些要求、则器件数字内核应处于运行状态并能够接收输入。

    此致、

    约书亚

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

    感谢您的回复、我将查看示例代码。 当您说 VM 您谈论的是电机和 PVDD 的电压时、对吗? 我想您正在查看 mct8316的数据表? MCT8329A 上的 PVDD?

    问题似乎与 Arduino 标准电线库不幸。 它不支持在接收到 ACK 之前发送消息之后的延迟。 因此 Arduino 永远看不到这一点。 该器件中没有用于插入延迟的选项、如上面提供的代码示例"#define I2C_TIMEOUT 100000"中所示

    我将看到我是否可以制作一个软 i2c 驱动程序并进行管理。

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

    你好,Mikael,

    您是正确的、我说 PVDD 而不是 VM。 请确保 PVDD > 4.5V、否则器件将处于 PVDD 欠压状态、这表示数字内核和栅极驱动器被禁用。

    此致、

    约书亚

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

    您好、我可以确认这是一个 i2c 问题。 现在一切都在运行。 感谢您的投入。