多从运行用于通过一条 I2C 线路控制多个 DRV8847S 器件,如图 7-25 所示。DRV8847 器件的默认器件地址为 0x60(7 位地址)。因此,可以使用该地址访问任何 DRV8847S 器件。对 4 个所连接器件(如图 7-25 所示)中的 1 个进行编程的多从配置步骤如下:
- 通过将全部所连接器件的 DISFLT 位(IC2_CON 寄存器)写入 1b,为实现多从运行配置了 DRV8847S 器件型号。该步骤将禁用所有 DRV8847S 的 nFAULT 输出引脚,以避免主和从 I2C 器件之间产生任何竞态条件。
- 将三个器件(2、3、4)的 nFAULT 引脚(nFAULT2、nFAULT3 和 nFAULT4 引脚)拉至低电平,以释放从器件(器件 2、器件 3 和器件 4)的 I2C 总线。现在,只有器件 1 连接到主器件。
- 由于控制器上只连接了一个器件 DRV8847S (1),因此其从器件地址可以从默认值 0x60(7 位地址)重新编程为另一个唯一地址。
- 类似地,其他三个器件(器件 2、器件 3 和器件 4)的从地址 (SLAVE_ADDR) 可以通过 nFAULT 引脚的组合按顺序重新编程为唯一地址。
- 当所有从地址被重新编程时,将 DISFLT 位写入 0b(IC2_CON 寄存器)。这将启用用于故障标记的 nFAULT 输出引脚。
- 所有 nFAULT 引脚均被释放,并且多从器件设置完成。现在,可以使用新重新编程的地址访问所有连接的从器件。
- 在发生电源复位 (nSLEEP) 的情况下,应对任何器件重复上述步骤。。