BQ76952: 初始化完成后,DSG默认是导通状态,我希望上电后是关闭状态,应该如何做

Part Number: BQ76952

TI团队,你好

          以下是Bq器件的初始化函数,我想请问的是如何操作能让Bq上电后,默认DSG是关断的,等待主机指令才能打开

image.png

int sBq76952Init(void)
{
    int8_t sbRet = 0;
    uint8_t ubBqPeotAValue = BQ_PROT_A_VALUE;
    uint16_t uwBqAlarmMaskvalue = BQ_ALARM_MASK_VALUE;
    uint8_t ubBqOcd1ThresholdValue = BQ_OCD1_THRESHOLD_VALUE;
    uint8_t ubFetDefValue = BQ_FET_OPTIONS_VALUE;

    pBqIicHd = sDrvIicInit(IIC2_INDEX);
    if(pBqIicHd == NULL)
    {
        return BQ76952_ERR;
    }
    sbRet = sBQ76952CommPing();
    if(sbRet != BQ76952_OK)
    {
        return BQ76952_ERR;
    }
    //进入参数配置模式
    sBq76952EnterConfigUpdate();
    
    //FET状态,上电默认关断 0x2D
    sBq76952SetRegBlocking(BQ_DM_FET_OPTIONS,&ubFetDefValue, sizeof(ubFetDefValue));
    
    //使能放电过流1级保护
    sBq76952SetRegBlocking(BQ_DM_EN_PROT_A,&ubBqPeotAValue, sizeof(ubBqPeotAValue));
    
    //Enables the FullScan and ADScan bits, default value = 0xF800
    sBq76952SetRegBlocking(BQ_DM_DEFAULT_ALARM_MASK, (uint8_t*)&uwBqAlarmMaskvalue,sizeof(uwBqAlarmMaskvalue));
    
    //OCD1阈值
    sBq76952SetRegBlocking(BQ_DM_OCD1_THRESHOLD,&ubBqOcd1ThresholdValue, sizeof(ubBqOcd1ThresholdValue));
    
    //退出参数配置模式
    sBq769x2ExitConfigUpdate();
    delayUS(10000);
    //en fet
    sBq76952FetEnableFirmwareControl();
//    sBq769x2SendSubcommand(BQ_CMD_FET_ENABLE);
    delayUS(1000);
//    sBq769x2SendSubcommand(BQ_CMD_SLEEP_DISABLE); //测试打开
    return BQ76952_OK;
}

int sBq76952FetEnableFirmwareControl(void)
{
    uint16_t uwData;
    BqMfgStatusT uwBqMfgSta;
    int8_t sbRet = BQ76952_OK;
    sbRet = sBq76952ReadMfgStatus(&uwBqMfgSta.value);
    if (sbRet != BQ76952_OK) {
        return sbRet;
    }
    if (uwBqMfgSta.bits.fetEn == 1) {
        return BQ76952_OK;
    }
    /* FET_ENABLE FET_EN 0->1 */
    return sBq769x2SendSubcommand(BQ_CMD_FET_ENABLE);
}