Post Go back to editing

Cannot turn off DIS FET and CHG FET on Max17303

Category: Software
Product Number: MAX17303

HI support team.

i see Max17303 datasheet said that:

Set  DISOff,  CHGOff to 1  to forcefully turn off DIS FET, CHG FET  ignoring all other conditions if nProtCfg.CmOvrdEn is enabled.

I wrote 1 to DISOff,  CHGOff bit. And set nProtCfg.CmOvrdEn = 1 but can not turn off DIS FET, CHG FET.

//Enable nProtCfg.CmOvrdEn in  nProtCfg Register (1D7h)

data = MAX1730X_Read_Word_From_Register(MAX1730X_ADDR1, 0xD7);
data |= 0x0400;
MAX1730X_Write_Word_To_Register(MAX1730X_ADDR1, 0xD7, data);

//Set  DISOff,  CHGOff to 1 in  CommStat Register (061h)

data = MAX1730X_Read_Word_From_Register(MAX1730X_ADDR0, 0x61);
data |= 0x0300;
MAX1730X_Write_Word_To_Register(MAX1730X_ADDR0, 0x61, data);

/**Diplays result**/

.....
data = MAX1730X_Read_Word_From_Register(MAX1730X_ADDR1, 0xD7);
NRF_LOG_INFO("(nProtCfg) 1D7h: 0x%04x ", data);
data = MAX1730X_Read_Word_From_Register(MAX1730X_ADDR0, 0x61);
NRF_LOG_INFO("(CommStat) 061h: 0x%04x ", data);

debug result:

You can see all i successfull write DISOff, CHGOff to 1. 

D15  D14  D13  D12  D11  D10  D9  D8  D7  D6  D5  D4  D3  D2  D1  D0
DISOff  CHGOff  NVError  NVBusy  X
0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
                0h                       3h             0h                    0h

And set nProtCfg.CmOvrdEn = 1

D15  D14  D13  D12  D11  D10  D9  D8 D7  D6  D5  D4  D3  D2  D1  D0
ChgWDTn  0 0 SCTest  CmOvrdEn  1 Reserved Reserved  PFEn  DeepShpEn  OvrdEn  UVRdy  FetPFEn  BlockDisCEn  DeepShp2En
0 0 0 0 1 1 1 0 0 1 0 1 0 0 0 0
                     0h                            Eh                                5h                                   0h

Why i can not turn off DIS FET, CHG FET?

Do i miss any setup for register?



add part number mac17303
[edited by: QuangCa at 7:30 PM (GMT -4) on 15 Jun 2024]