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.

BQ76920: 920 ceases communicating

Part Number: BQ76920
Other Parts Discussed in Thread: BQ78350, , BQSTUDIO

Hello;

I'm having a major problem while doing initial testing of the new BMS I designed around the 920 and 78350 and am hoping you can shed some light on the problem. Specifically, the simulator built by my client uses a floating DC-DC to sink/source current through a 20mOhm shunt. However, I measure ~-2 to -3 mV at SRP which is introducing errors into the measurement.  And what is worse, when I dial up the current to a large value (anything from 150 to 200 amps), and I measure ~80 mV at SRN, the 920 will stop running. If I then reduce the current, it will start communicating again.

This does not occur on my eval board.  Is there anything you can think of as to why the 920 would stop running? As I said, the only thing I can conceive of as a potential cause is the small offset at SRP...????

THanks.

  • Hi Jeffrey,

    Since you are using the BQ78350, can you provide a log of the event where the BQ76920 stops running and then starts running again when the current is reduced? If you are able to connect using BQStudio, that might be the easiest way to capture a log file (click the 'Start Log' button on the Register screen).

    When you say it stops running, do you mean that the device shuts down and needs to be rebooted, or do you mean it is not responding on the I2C bus, or some other symptom?

    Best regards,

    Matt

  • Hi Jeffrey,

    Is this the same issue we are discussing outside of this thread where the OCD is being triggered? It is likely because the BQ78350 and BQ76920 are busy communicating to service the fault condition (BQ76920 raises Alert pin to signal fault and BQ78350 needs to read the status register from the AFE and try to clear the fault).

    Best regards,

    Matt

  • Hi Matt; 

    I've asked Dan to capture that log file...

    It's not crashing, but it stops toggling the Alert, holding it high for several hundred milliseconds until it's reset by the 78350 (I assume). What's odd is that I've not seen this behavior on the Eval board...I can dial up an AOLD threshold voltage at SRN, see the SafetyAlert and SafetyStatus fire....but my host u/C would still see the Alert toggling every 250 ms. ???? 

    Now however, my driver is randomly catching SMBus timeouts when this occurs. The big difference is that now we have the actual BMS board which I can't connect to bqStudio, and so I'm left with only the IDE to debug this.

    You saw Dan's scope capture: but I thought that the 78350 would not clear the fault and tell the 920 to reenable the discharge fet until and unless the OCD event recovered?  

  • HI Matt;

    Yes, the same issue...and as I asked previously, I didn't think that the 78350 would clear the fault until/unless the OCD event had recovered? But the scope capture shows that it's being cleared, even thought there's still >100mV at SRN (where I set the AOLD threshold)?

  • The AOLD threshold is set by the BQ78350 (the BQ78350 will use this value to set the BQ76920). It is under the Protections:AOLD:Threshold and Delay register.

    If he is able to observe the I2C waveform during the Alert, it might help to see if there any additional faults present.

    Also, when the over-current fault triggers, it should open the DSG FET. Do you think you might be losing the ground connection for your host when this happens?

    Matt

  • I've asked for that capture the log file but they don't think it's necessary, since it seems you've confirmed that that stretched Alert signal (~800ms) is correct behavior and so the problem is with my driver...I'm still not sure that's correct since I never see this on the eval board.  The BMS is using high-side disconnect fets, driven by the 76200, so there's no loss of gnd.

    And like I mentioned, I'm programming the 920's OCD to 100mV, and its SCD to 155mV, which translates into ~267A and ~414 A....this all works perfect on the eval board, but not on the new BMS. 

    So bottom line: is this stretched Alert correct behavior? As I said, I thought that the 78350 would not reenable the fet(s) until/unless the fault cleared????

    THanks

  • Hi Jeff,

    The BQ76920 will not reenable the FETs until the fault is cleared. That's good that you have high-side FETs - that means no loss of gnd. 

    I'm hoping the I2C traffic will shed some light. In Dan's waveform, you can see a quick I2C transaction each time the Alert pulse goes high and the Alert pin goes back low (this is for measurements where Alert is signalling new data is ready). When it goes high due to the fault, there is a ton of I2C traffic. It might just be checking the 920 status register repeatedly, I'm not sure. The Alert pin is also sensitive to noise and can be driven high to indicated a fault - hopefully that is not occurring, but the I2C traffic will show this.

    Matt

  • Ok thanks Matt; I've asked again for that log file. tbd

  • Hello;

    I've uploaded 2 .gifs and the bqStudio log during an SCD event. Once the 920 detects an OLD event (~267A), its Alert signal slows to 1 sec intervals, but no other problems occur. At his point, I can still talk to the 78350. However,  when the 920 encounters an SCD event (~414A), the 920's Alert signal starts toggling at ~2ms intervals

    Is this known and expected behavior of the 920 during H/W protection events?

    Tue Feb 18 10:11:31 EST 2020
    
    Device Name = bq78350_R1
    Firmware Version = V1_04_BLD0026
    
    Design Capacity = 9000
    Design Voltage = 3600
    Specification Info = 0x0031
    Manufacturer Date = 1980-1-1
    Serial Number = 0x0001
    Manufacturer Name = Texas Instruments
    Device Name = bq78350
    Device Chemistry = LION
    
    Sample,DateTime,ElapsedTime,ManufAccess,RemCapAlarm,RemTimeAlarm,BattMode,@Rate(@),@TimeFull,@TimeEmpty,@RateOK,Temperature,Voltage,Current,AvgCurr,MaxErr,RSOC,ASOC,RemCap,FullChgCap,RunTimeEmty,RunTimeEmty,AvgTimeFull,ChgCurr,ChgVolt,BattStat,CycleCnt,PendingEdv,SoH,OpStatA,OpStatB,TempRange,ChgStat,GaugeStat,MfgStat,SafetyAlertAB,SafetyStatAB,SafetyAlertCD,SafetyStatCD,PFAlertAB,PFStatAB,PFStatAB,CellVolt1,CellVolt2,CellVolt3,CellVolt4,CellVolt5,CellVolt6,CellVolt7,CellVolt8,CellVolt9,CellVolt10,CellVolt11,CellVolt12,CellVolt13,CellVolt14,CellVolt15,ExtAvgCellVolt,TS1 Temp,TS2 Temp,TS3 Temp,CellTemp,FetTemp,GaugeInternalTemp,LogRowTime(ms),LogStatus
    1,2020-02-18 10:11:35,4.001,0x0129,300,10,0x6001,0,65535,65535,1,18.5,14440,-32767,-32767,100,0,0,0,9000,0,0,65535,0,0,0x0BD0,30,324,100,0x2901,0x0000,0x01,0x12,0x4245,0x0010,0x4000,0x00F8,0x0000,0x0000,0x0000,0x0000,0x0000,3543,3631,3638,3628,0,0,0,0,0,0,0,0,0,0,0,3475,18.5,-273.2,-273.2,18.5,-273.2,29.0,1073,SUCCESS
    2,2020-02-18 10:11:39,8.002,0x0329,300,10,0x6001,0,65535,65535,1,18.5,14440,-32767,-32767,100,0,0,0,9000,0,0,65535,0,0,0x0BD0,30,324,100,0x2903,0x0000,0x01,0x12,0x4245,0x0010,0x4000,0x00E8,0x0000,0x0000,0x0000,0x0000,0x0000,3543,3631,3638,3628,0,0,0,0,0,0,0,0,0,0,0,3476,18.5,-273.2,-273.2,18.5,-273.2,29.0,1201,SUCCESS
    

  • Hi Jeff,

    Just wanted to post here what I sent you by email earlier in case others find the information useful:

    I’ve been able to reproduce and confirm the behavior you observe.

     In normal mode, the ALERT pin will go high every 250ms as expected to indicate a new measurement is available.

    When I force a constant AOLD condition, the ALERT pin goes high since the fault is always present. The BQ78350 detects the fault and attempts to clear it every 1 second. This is the way it’s firmware is programmed and there is no way to adjust this in data flash.

    When I force a constant ASCD condition, the ALERT pin also goes high because of the fault condition. The BQ78350 attempts to clear the fault 200 times and then stops, it then tries 200 times again after every 1 second period. This is different than with AOLD where it only tries 1 time every second.

    So the BQ76920 behavior is very simple. The observations are due to the BQ78350 firmware and how often it is programmed to try and clear different types of fault conditions.

    Best regards,

    Matt