Part Number:BQ76952
你好!
在手册上我看到,负值是按二进制补码的方式写入,也就是我OCD3写-1000,我需要写入的二进制补码为0xFC18。同时我的电流报告单位为10mA,但是当我的放电电流大于10A的时候,OCD3并没有故障,请问一下,是我的写入方式不对,还是其它原因,谢谢。
Star Xu:
您好,正在询问更了解这款芯片的TI工程师,稍后回复。
,
zdy ?:
你好!
还有一个问题,目前我在做SCD的时候,使用的方式为bms外部短路,当我SCD DELAY设置为100us以上的时候,外部进行短路,但是它并不会报告SCD故障,相反当我SCD DELAY设置为小于100us的时候,进行外部短路,此时它会报告SCD故障,请问一下这是什么原因导致的,谢谢。
,
Star Xu:
您好,
Was the device placed into CONFIG_UPDATE mode before writing and then returned to NORMAL mode after?
If not, please follow the steps detailed in Section 7.6: CONFIG_UPDATE Mode of the TRM to place the device into the state where you can then make changes to the data memory settings by following the steps detailed in Section 13.1: Data Memory Access.
,
zdy ?:
谢谢你的回答,我确定已经进入了CONFIG_UPDATE Mode,因为我的OCD1和OCD2与OCD3是同时进行配置的,OCD1,OCD2 表现正常,并且确认已经退出了CONFIG_UPDATE Mode 。
,
Star Xu:
您好,已经在E2E英文论坛发帖,请继续关注下面帖子。
https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1287518/bq76952-bq76952-ocd3-not-trigger
,
Star Xu:
您好, 是否放便将gg文件发过来看一下.
With regards to the SCD delay, it may be that the SCD current does not exceed the threshold for the whole delay time, hence why reducing the delay allows the fault to trigger. You may try observing the voltage between the SRP and SRN pins on a scope and providing a waveform capture for me to check along with the config file.
,
zdy ?:
text.txt
ConfigData1.Power_ConfigL = Power_Cfg; //0x0054ConfigData1.Power_ConfigH = Power_Cfg >> 8;ConfigData1.Comm_Type = COMM_TYPE; //not useConfigData1.REG12_Config = REG12_CFG; //0xDDConfigData1.REG0_Config = REG0_CFG;//0x01ConfigData1.HWD_REG_OPTION = HWDREGOPTION; //0x00ConfigData3.En_ProtA = EN_PRTA; //use allConfigData3.En_ProtB = EN_PRTB; //use allConfigData3.En_ProtC = EN_PRTC; //use allConfigData3.Prot_CfgL = PRT_CFG; //0x0000ConfigData3.Prot_CfgH = PRT_CFG >> 8;ConfigData2.Vcell_ModeL = gBq72Connect[0]; //0xFFFFConfigData2.Vcell_ModeH = gBq72Connect[0] >> 8;ConfigData2.DA_Cfg = DA_CFG;//0x0AConfigData2.CFETOFF_Pin_cfg = CFETOFF_cfg; //0x02ConfigData2.DFETOFF_Pin_cfg = DFETOFF_cfg;ConfigData2.TS1_cfg =TS1_CFG;//0x07ConfigData2.TS2_cfg =TS2_CFG;//0x00//TS2use shutDConfigData2.TS3_cfg =TS3_CFG;//0x00ConfigData2.HDQ_Pin_Cfg = HDQ_CFG;//0x00ConfigData2.DCHG_pin_Cfg = DCHG_CFG; //0x00ConfigData2.DDHG_pin_Cfg = DDSG_CFG; //0x00ConfigData4.CHGFET_ProtA = EN_CHGFET_PRTA; //0x98ConfigData4.CHGFET_ProtB = EN_CHGFET_PRTB; //0xD5ConfigData4.CHGFET_ProtC = EN_CHGFET_PRTC; //0x54ConfigData5.DSGFET_ProtA = EN_DSGFET_PRTA; //0xE4ConfigData5.DSGFET_ProtB = EN_DSGFET_PRTB; //0xE6ConfigData5.DSGFET_ProtC = EN_DSGFET_PRTC; //0xE0ConfigData7.Body_Diode_ThreshL = gBodyDiodePrt;//0x64ConfigData7.Body_Diode_ThreshH = gBodyDiodePrt >> 8;BufSC = ((u16)gCurSCPrt * gCurSenseRes / 10);ConfigData7.SCD_Thresh = GetSubscriptU16(BufSC, SCDThreshTable, 16);//0x02ConfigData7.SCD_Delay = (gDlySCPrt / 15) + 1;//0x190ConfigData8.SCD_Rec_Time = gTimeRecSCDHardPrt; //0x02BufSC = (((u16)gCurHardDOCPrt1 >> 1) * gCurSenseRes / 10);ConfigData7.OCD1_Thresh = BufSC;//0x02ConfigData7.OCD1_Delay = ((u16)gDlyHardDOCPrt1*10 - 66) / 33; //0x12C//unit 3.3msexcursion 6.6BufSC = ((gCurHardDOCPrt2 >> 1) * gCurSenseRes / 10);ConfigData7.OCD2_Thresh = BufSC;//0x04ConfigData7.OCD2_Delay = (((u16)gDlycurHardDOCPrt2 * 10) - 66) / 33; //0x12CConfigData7.OCD3_ThreshL =(gCurHardDOCPrt3 / 10);//-10000uint 10mA//-1000// userA 10mAConfigData7.OCD3_ThreshH =(gCurHardDOCPrt3 / 10) >> 8;ConfigData7.OCD3_Delay = gDlycurHardDOCPrt3;//0x02
,
zdy ?:
你好!
这是我的关于OCD3以及SCD和其它模块的部分配置
,
Star Xu:
您好,已经在E2E英文论坛发帖,请继续关注。
,
Star Xu:
您好,OCD3 uses the CC1 current measurement for triggering the protection. You may want to check to see if CC1 is passing the set threshold.