Part Number:BQ76952
目的: 通过软件烧录方式 写入OTP配置;
方式:在fullAccess模式下,写入控制指令;
I2C_ReadReg(BATTERY_STATUS, (uint8_t *)&(Registers1.BatteryStatus.StatusByte), 2);// 判断Battery Status 是否是FULLACCESS;
if(1 == Registers1.BatteryStatus.StatusBit.SEC) // 判断是否在FULL_ACCESS mode;
{
I2C_ReadSubRegNoCrc(OTP_WR_CHECK, (uint8_t *)OTP_WR_CHECK_Status, 3); // 判断自检是否完成;
if((OTP_WR_CHECK_Status[0]&0x80) != 0) // Programming OK
{ I2C_WriteSubRegNoCRC(BQ_SUBCOMMAND_ADDR, OTP_WRITE, setting_data, 3); // otp write }
if((OTP_WR_CHECK_Status[0]&0x80) != 0) // Programming OK
{ g_otp_writeToRomSuccess_flag =1; }
else
{
g_otp_writeToRomSuccess_flag = 0; }
}
else
{
g_otp_writeToRomSuccess_flag = 0; }
问题点: 能够配置参数,说明已经进入FULLACCESS。但是 Registers1.BatteryStatus.StatusBit.SEC 始终为0。
更换bq芯片,单独供电3.3V,Registers1.BatteryStatus.StatusBit.SEC 也无法置1;
非常感谢大佬的帮助。
Star Xu:
您好,正在查询,稍后回复
,
jihong liu:
您好,这个问题有什么最新进展吗?静候佳音。
,
Star Xu:
您好,请确认一下如果可以配置参数,应该处于 FULL ACCESS 模式。 如果发送命令锁码,SEC1/SEC0 位将更改为“11”。