This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BQ40Z50-R1: PCHG, CHG and DCG FETs not toggling?

Part Number: BQ40Z50-R1
Other Parts Discussed in Thread: EV2400, BQSTUDIO

I'm trying to toggle PCHG (0x001E), CHG (0x001F) and DSG (0x0020) but nothing changes in ManufacturerAccess() 0x0057 or OpersationStatus() 0x0054.

This is status of my OpersationStatus() 0x54 status before and after I send above mentioned commands,

1110 0001 0100 0000 0000 0000 0000 0000

(0---------7) (8-------15) (16------23) (24-------31) - bit numbers

and this is status of my ManufacturerAccess() 0x0057:

0001 0110 0000 0000

(0--------7) (8---------15)

FET_EN is already 0 as mentioned as pre-req for these commands and device is not sealed.

  • Hello Tahir,

    My best guess is that there is some protection active that is not allowing you to toggle the FETs. I would suggest checking the safety status and PF registers to see. Also, do you have an EV2400? It can be very helpful to debug issues like these, and you will eventually need one anyways to program the chemid. Let me know if you don't see any active protections that could explain this.

    thanks,

    Alex M.

  • PF Status (0x0053) and Safety Status both are

    0x00 0x00 0x00 0x00

    I had one EV2400 but it stopped working so have ordered another one.

  • Hello Tahir,

    Okay, it looks like it isn't a safety or PF causing the issue at least. The TRM has a list of every possible condition that can cause the XCHG or XDSG to be set here:

    Listed in section 4.12

    Can you confirm two things quickly?

    • That the other MAC commands are all working fine (try reading FW version or CHEMid)
    • That the gauge is not entering shutdown immediately like mentioned in the other thread

    If the gauge is communicating and not shutting down, I would suggest working through the other conditions listed here which could be causing the issue. I saw the thread about the EV2400, hopefully when that arrives and you can use BQstudio, it will help solve the issue. As one last question, are you using the EVM or a custom board at this point?

    thanks,

    Alex M.

  • Hi Alex,

    So I got my EV2400, and this is state of registers. You can see I'm sending UnSeal command and then CHG and PCHG FET toggle commands but nothing is changing for FETs.

  • Hello Tahir,

    It looks like FET_EN = 1 is set. Please try toggling it to 0 and see if that works for you. 

    thanks,

    Alex M.

  • Ahh I see. And my previous thread what I was observing was right. I misread bits of SafetyStaus but FET_EN was 1 always. So what's happening is, by default this is status of registers for my device:

    When I'm sending Control FET command to make FET_EN=0, it also toggles XDCHG, XCHG, CHG and DSG as seen in picture below:

      

    That's why I was observing device shutdown. Is there any way to just disable FET_EN bit and control FETs individually? We want to set FET_EN to 0 and then toggle PCHG and CHG only.

    PWR_SAVE_VSHUT is disabled in PowerConfig reg:

  • Hello Tahir,

    Try either grounding the PRES pin or turning on the NR bit in DA config. I believe that should enable the test you are doing here. Let me know if that doesn't work for you.

    Thanks,

    Alex M.

  • NR bit is already high.

  • Hello Tahir,

    I am not aware of a way to avoid the FET_EN toggling both XCHG and XDSG. I think the main problem is that the device is shutting down in this condition. This should not be happening. The main power input here is BAT which isn't losing power when the FETs toggle. I have double-checked all of the shutdown conditions and I don't believe you meet any of them. Could you share the schematic and a log of the issue?

    The reason I think a log may help is that it appears in one of the screenshots that the FETs are closed but BQstudio is still communicating. Does it shutdown after a few seconds?

    As one final thought, have you shorted VC4 to VC3 and BAT?

    Please let me know with more details because I can't explain the behavior with what I currently have here.

    thanks,

    Alex M.

  • Hi Alex,

    So I've asked our HW team to confirm on VC4, VC3 and BAT connection. And will get back once I get response on that and schematic.

    Just to be clear, by battery going into shutdown mode I mean as soon as I send FET_EN command XCHG and XDSG going Active high and CHG and DSG going low. We can still communicate it through i2c or BQStudio.

  • Hello Tahir,

    I'm a bit confused then, if it is in shutdown mode there should be no communication possible. Is there just a delay before the gauge enters shutdown mode? What happens when you use the CHG/DSG FET TOGGLE commands when FET_EN = 0?

    thanks,

    Alex M.

  • I was always under impression that we can communicate through i2c in shutdown mode. Because when we do Emergency FET Shutdown (EMSHUT), device goes into shutdown mode but to wake it back we send word 0x23A7 to ManufacturerAccess() (5.5.3 Exit Emergency FET Shutdown) on i2c. But this is not EMSHUT as EMSHUT bit in OpertionStatus() doesn't change.

    No there's no delay when device enter shutdown mode. Basically using shutdown terminology might have caused confusion here, but what's happening is when we're sending FET_EN command it's toggling the XCHG, XDSG, CHG and DSG FETs which is not allowing device to power on.

    So this is what's happening right now:
    By default we have:
    FET_EN= 1
    XCHG=0 and XDSG= 0
    CHG=1 and DSG= 1

    When I'm sending FET_EN command, they become:
    FET_EN= 0
    XCHG= 1 and XDSG= 1
    CHG=0 and DSG= 0

    If I send CHG_FET_TOGGLE now, it becomes:
    FET_EN=0
    XCHG=0 and XDSG= 1
    CHG=1 and DSG=0
    CHG_TEST=1

    So once FET_EN=0 and we send CHG/DSG Toggle commands it works fine. But when we send command to do FET_EN=0 it is also changing values of XCHG, XDSG, CHG and DSG.

  • Hello Tahir,

    Thanks for explaining so thoroughly. I was referring to the shutdown mode which is described in section 5.4 of the TRM. In that mode you cannot communicate with the gauge at all. I see that you were referring to something similar to EMSHUT where both FETs are turned off. 

    So with that out of the way, the behavior you are seeing is the expected behavior. When FET_EN is toggled to 0 it will disable both FETs. Then you can send DSG/CHG toggle commands like you described to turn them on/off. This is a safety feature, the reason is that when we are bypassing the gauge's manual control, we want the FETs to all be off in case there is a large current or other condition that the gauge FW decided was dangerous. This feature is designed for testing the CHG/DSG paths manually, so this is usually what people want to happen anyways. For normal operating, FET_EN should be set high and the FW can toggle the FETs according to the situation automatically. 

    So what exactly are you trying to achieve with this setup? Please let me know because there is probably a work around of some sort we can try. 

  • Thanks Alex for clarification. What we’re trying to achieve is just disable the charging input path only. So what we were expecting was to set FET_EN to 0 and then manually send CHG and PCHG toggle commands. 

  • Hello Tahir,

    Okay, I re-read the thread and I think I see what happened here. To do that, you would just need to set FET_EN to 0 and then manually send DSG toggle command. I checked for a way to bypass the toggling of XCHG and XDSG when FET_EN is toggled but wasn't able to find a good way. Hopefully this isn't an issue though, as the end result should be the same. Best of luck and let me know if you have any more questions/problem that I missed.

    thanks,

    Alex M.