Tool/software:
Hello TI Team,
We are observing an issue with the current readings from the AFE. When we measure a charging current of 2 Amps, the AFE reports approximately 4 Amps across all current-related registers: CC1 Current, CC3 Current, CC2 Counts, and CC3 Counts.
Our configuration details are as follows:
-
CC Gain:
0x40723055 -
Capacity Gain:
0x4989C71C -
Sense Resistor: 2 mΩ
Could you please help us understand why the current is being reported as double the actual value?
Additionally, we are not using a host controller. Could you also clarify which of the current registers (CC1 Current, CC3 Current, CC2 Counts, CC3 Counts) the AFE uses for its internal current-related calculations?
The relevant configuration data is provided below for your reference.
// CC Gain Register
messagePayLoad[0] = CMD_DIR_SUBCMD_LOW;
messagePayLoad[1] = 0xA8;
messagePayLoad[2] = 0x91;
messagePayLoad[3] = 0x55;
messagePayLoad[4] = 0x30;
messagePayLoad[5] = 0x72;
messagePayLoad[6] = 0x40;
err = I2C_WriteReg (messagePayLoad, sizeof(messagePayLoad));
R_BSP_SoftwareDelay (2, BSP_DELAY_UNITS_MILLISECONDS);
checksumDataByte[0] = CMD_DIR_RESP_CHKSUM;
checksumDataByte[1] = Checksum (messagePayLoad, 7);
checksumDataByte[2] = 0x08;
err = I2C_WriteReg (checksumDataByte, sizeof(checksumDataByte));
R_BSP_SoftwareDelay (2, BSP_DELAY_UNITS_MILLISECONDS);
// Capacity Gain Register
messagePayLoad[0] = CMD_DIR_SUBCMD_LOW;
messagePayLoad[1] = 0xAC;
messagePayLoad[2] = 0x91;
messagePayLoad[3] = 0x1C;
messagePayLoad[4] = 0xC7;
messagePayLoad[5] = 0x89;
messagePayLoad[6] = 0x49;
err = I2C_WriteReg (messagePayLoad, sizeof(messagePayLoad));
R_BSP_SoftwareDelay (2, BSP_DELAY_UNITS_MILLISECONDS);
checksumDataByte[0] = CMD_DIR_RESP_CHKSUM;
checksumDataByte[1] = Checksum (messagePayLoad, 7);
checksumDataByte[2] = 0x08;
err = I2C_WriteReg (checksumDataByte, sizeof(checksumDataByte));
R_BSP_SoftwareDelay (2, BSP_DELAY_UNITS_MILLISECONDS);
Thank you for your support.
Best regards,
Vinay