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.

[参考译文] MCF8315A:同一 I2C 线路上的多个控制器

Guru**** 2468460 points
Other Parts Discussed in Thread: MCF8315A

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

https://e2e.ti.com/support/motor-drivers-group/motor-drivers/f/motor-drivers-forum/1276295/mcf8315a-multiple-controllers-on-the-same-i2c-line

器件型号:MCF8315A

我想弄清楚是不是可以通过一条 I2C 线路控制多个 MCF8315A 控制器。 问题归结于如何初始为每个地址分配单个唯一的"目标"地址。 有办法做到这一点吗?

还有一个问题也与 MCF8315A 相关:假设完全控制(速度/方向/制动...) 可以通过 I2C 线路进行通信、应该如何使用 DRVOFF、速度/唤醒、DIR、BRAKE、EXT_CLK 等通用硬件输入 和 EXT_WD? 它们是悬空、接地还是偏置到接地或高逻辑? 我希望确保能够对器件进行最大程度的控制、但 MCU 侧的可用 I/O 受到限制、因此我会尝试 将其使用降低到最低功能。

谢谢

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

    尊敬的 Konstantin:

    Unknown 说:
    问题归结于如何在初始时为每个地址分配单个唯一的"目标"地址[/报价]

    可以在寄存器 DEVICE_CONFIG1 (偏移= A6h)中为单个 MCF8315A 的 I2C 地址分配思想位26-20 (I2C_SLAVE_ADDR)。

    应如何处理未使用的硬件输入,如 DRVOFF、SPED/WAKE、DIR、BRAKE、EXT_CLK, 和 EXT_WD?

    EXT_WD 和 EXT_CLK 可保持悬空。

    DRVOFF 和制动器应下拉至地。

    SPED/WAKE 应拉 至 AVDD、以使器件保持在睡眠/待机模式之外。

    DIR 可以拉至接地或 AVDD、具体取决于 所需的相位驱动序列、有关更多详细信息、请参阅数据表中的引脚说明。

    此致、

    约书亚

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

    谢谢、Joshua。

    但是、我看到了 I2C_SLAVE_ADDR 字段、最初所有器件都将假定某个默认地址(我想为0x01)。 我需要分配一个新地址时、我对 DEVICE_CONFIG1寄存器进行写入、但由于所有器件当前都具有相同的地址、不是都要接受它?  

    只需一个澄清请求、即可清楚外部信号-无论制动、速度/唤醒和 DIR 的状态如何、我假设我都可以通过 I2C 更改这些信号、对吧? 还是根据这些硬件引脚的状态使它们保持固定?

    此致

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

    尊敬的 Konstantin:

    当我想分配一个新地址时,我写入 device_config1寄存器,但由于所有设备当前都具有相同的地址,难道不是所有设备都接受它吗?  [/报价]

    您必须通过以下方式对器件 I2C 地址进行编程:一次仅通电1个器件 、然后将其置于共享 I2C 总线上;或者仅让1个器件在 I2C 线路上的其余器件处于睡眠模式时处于唤醒状态。 使用所需地址对单个芯片进行编程后、可以将其写入 EEPROM、因此在启动时将始终使用已编程的 I2C 地址。

    如果它们均已通电、唤醒并共享同一 I2C 总线、但未使用不同的 I2C 地址进行编程、则与单个器件进行通信时会出现问题。

    Unknown 说:
    Brake、speed/wake 和 DIR、我想我可以通过 I2C 进行更改、对吧? 还是根据这些硬件引脚的状态保持固定?

    在制动引脚连接到接地的情况下、寄存器 PIN_CONFIG 中的位字段 BRAKE_INPUT 可用于在设置为0x1时制动电机或使用0x2停止制动。 更多信息、请参阅数据表说明中的该寄存器。

    在 DIR 引脚接地的情况下、寄存器 PERI_CONFIG 中的位字段 DIR_INPUT 可用于在设置为0x1时设置 CW 旋转、或在设置为0x2时设置 CCW 旋转。 如需更多信息、请参阅数据表说明中的此寄存器。

    通过 SPEE/WAKE 引脚、您可以通过 DIGITAL_SPEED_CTRL 寄存器控制进入和现有待机模式。 进入和退出 SLEEP 模式需要更改速度/唤醒模式引脚上的电压。 更多信息、请参阅数据表中的表7-6。

    此致、

    约书亚

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

    谢谢!