TI中文支持网
TI专业的中文技术问题搜集分享网站

BQ769xx 初始化之后,一直报SCD,OCD故障。

硬件情况:用电阻代替电池,激活正常,3.3V输出正常,通讯正常。

硬件电路:参考官方电路,用PMOS+100电阻放电。电阻代替电池来平均分布总回路电压。实际测量是均分了的,差别很小。电流采样电阻,阻止20毫欧,充放电MOS管和放电MOS的驱动管都是参考官方,总回路中 充放电 MOS管前后压差2V。可能是MOS,没有开通的的原因。

初始化之后,一直报SCD,OCD故障,在对寄存器写入 1 之后,能正常清除错误,但是再次去读时,将会返回故障标志。并且在报错一端时间后,会报DEVICE_XREADY故障(内部芯片故障),时间在几秒到几十秒不等,几乎不会超过一分钟。

以下是初始化的代码。找不到报错的原因。

Registers.CellBal1.CellBal1Byte=0x1F;//1~5 addr=1 BQ769XX_writeOne8(CELLBAL1,Registers.CellBal1.CellBal1Byte);
Registers.CellBal2.CellBal2Byte=0x1F;//6~10 addr=2
BQ769XX_writeOne8(CELLBAL2,Registers.CellBal2.CellBal2Byte);//// 使能adc通道和温度检测通道
Registers.SysCtrl1.SysCtrl1Byte=0x18;//ADC_EN,TEMP_SEL,
BQ769XX_writeOne8(SYS_CTRL1,Registers.SysCtrl1.SysCtrl1Byte);
Registers.SysCtrl2.SysCtrl2Bit.DELAY_DIS=0;//绕过延迟保护。
BQ769XX_writeOne8(SYS_CTRL2,Registers.SysCtrl2.SysCtrl2Byte);
//放电设置。时间,电压,电流
//Registers.Protect1.Protect1Bit.RSNS=1;
Registers.Protect1.Protect1Bit.SCD_DELAY=SCD_DELAY_400us;//放电时间设置
Registers.Protect1.Protect1Bit.SCD_THRESH=SCD_THRESH_89mV_44mV;//放电电压阀值44mV
BQ769XX_writeOne8(PROTECT1,Registers.Protect1.Protect1Byte);
Registers.Protect2.Protect2Bit.OCD_DELAY=OCD_DELAY_1280ms;//过流放电延迟设置
Registers.Protect2.Protect2Bit.OCD_THRESH=OCD_THRESH_100mV_50mV;//过流放电阀值设置
BQ769XX_writeOne8(PROTECT2,Registers.Protect2.Protect2Byte); Registers.Protect3.Protect3Bit.OV_DELAY=OV_DELAY_1s;
Registers.Protect3.Protect3Bit.UV_DELAY=UV_DELAY_1s;
BQ769XX_writeOne8(PROTECT3,Registers.Protect3.Protect3Byte); //电池电压:过压 欠压 设置
BQ769XX_ReadOne8(ADCGAIN1,&Registers.ADCGain1.ADCGain1Byte);
BQ769XX_ReadOne8(ADCGAIN2,&Registers.ADCGain2.ADCGain2Byte); GAIN_uV=(((Registers.ADCGain1.ADCGain1Byte&0x0C)<<1)+((Registers.ADCGain1.ADCGain1Byte&0xE0)>>5))+365;
GAIN_mV=GAIN_uV/1000;
BQ769XX_ReadOne8(ADCOFFSET,&Registers.ADCOffset);
// Registers.OVTrip = (((( OVPThreshold – Registers.ADCOffset) / GAIN_mV)-OV_THRESH_BASE)>>4)&0xFF;
// Registers.UVTrip = (((( UVPThreshold – Registers.ADCOffset) / GAIN_mV)-UV_THRESH_BASE)>>4)&0xFF;
// BQ769XX_writeOne8(OV_TRIP,Registers.OVTrip);
// BQ769XX_writeOne8(UV_TRIP,Registers.UVTrip);
BQ769XX_writeOne8(CC_CFG,0x19);//优化新能。编程未0X19

Star Xu:

您好,请参考下面链接希望对清除SCD有帮助
e2e.ti.com/…/3590928

,

user4745244:

问题解决了吗

,

user6555031:

解决了

赞(0)
未经允许不得转载:TI中文支持网 » BQ769xx 初始化之后,一直报SCD,OCD故障。
分享到: 更多 (0)