Hello sir.
We are using BQ76952 for battery management with STM32 using I2C protocol,but unfortunately we can't programm OTP to BQ76952.
We set the manufacturing Status bit 0x0D [ BQ769x2_SetRegister(MfgStatusInit, 0x00D0, 2); ]
The security key setting I attached below.
BQ769x2_SetRegister(SecuritySettings, 0x00, 1);
BQ769x2_SetRegister(UnsealKeyStep1, 0x0414, 2);
BQ769x2_SetRegister(UnsealKeyStep2, 0x3672, 2);
BQ769x2_SetRegister(FullAccessKeyStep1, 0xFFFF, 2);
BQ769x2_SetRegister(FullAccessKeyStep2, 0xFFFF, 2);
We check the [ OTP_WR_CHECK (0x00A0) ] register as well the code and the received data I attached below.
void BQ769x2_OTP_STATUS(){
Subcommands(OTP_WR_CHECK, 0x00, R);
OTP = ((RX_32Byte[7]<<56) + (RX_32Byte[6]<<48) + (RX_32Byte[5]<<40) + (RX_32Byte[4]<<32) + (RX_32Byte[3]<<24) + (RX_32Byte[2]<<16) + (RX_32Byte[1]<<8) + RX_32Byte[0]); //Bytes 0-7
}
We also check the [ BatteryStatus (0x12) ] register as well the code and the received data I attached below.
void BQ769x2_OTP_SCAN(){
DirectCommands(BatteryStatus, 0x00, R);
OTP_Status = (RX_data[1]*256 + RX_data[0]);
}
All temperatures shows correct.
Please help to solve this problem. Looking for positive reply.
Regards,
Subhrajit Majumder.