表3. nPackCfg (1B5h)寄存器格式
表4.I2CCmd (12Bh)寄存器格式
由于两个MAX17330器件共用同一I2C总线,因此该程序要求将一个器件的ALRT信号设置为低电平,并将另一个设置为高电平。
表5.I2C ALRT设置
表4中的数据来自MAX17330数据手册,显示了I2CCmd寄存器如何根据ALERT GPIO引脚值动态更改器件地址。在这种情况下,可使用GoToSID和INcSID字段更改I2C地址:
► Set ALRT_A logic low
► Set ALRT_B logic high
► Write I2CCmd = 0 × 0001 MAX17330_A address remains at 6Ch/16h
MAX17330_B address set to ECh/96h
每个器件都分配有唯一的地址后,整个系统便可以由单个微控制器控制。
下面是微控制器完成I2C配置的脚本。这将是系统初始化的一部分。
► Load .INI file
► Assert ALRT_A and ALRT_B to keep the path between SYSP and BATTP open
► Read VBATT_A and VBATT_B
► VMAX = max (VBATT_A, VBATT_B)
► Set VOUT = VMAX 50 mV
► Release ALRT_A and ALRT_B
► Set nProtCfg.OvrdEn = 0 to use ALRT as Output
非易失性空间中的某些寄存器需要重启固件才能使更改生效。因此,需要执行以下步骤:
► 置位Config2.POR_CMD以重启固件
参见表7。
接下来,我们需要启用充电器的中断:
► 设置(Config.Aen和Config.Caen)= 1
参见表8。
现在器件已初始化。