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.

BQ79656-Q1: Unable to communicate using BQ79600EVM

Part Number: BQ79656-Q1
Other Parts Discussed in Thread: BQ79600EVM, USB2ANY

Hi,

We are working with BQ79656 IC for battery balancing/voltage sense. The evaluation module BQ79656EVM and BQ79600EVM have been tested and validated with BQAutoEval 1.0.4 software. The BQ79656EVM is able to wake up, auto addressed, and read voltage present on resistor ladder connected to cell inputs.

 

With above evaluation, we decided to move forward with custom PCB design based on BQ79656EVM. With the same setup as above, now with BQ79656 replaced with our custom PCB, we are unable to properly communicate with the custom BQ79656 PCB.

Key observations with BQ79600EVM connected to custom BQ79656 PCB:

 - Wake up function works, the BQ79600 is able to wake the custom PCB, this is confirmed by LED connected to AVDD being lit up when wake up is pressed on BQAutoEval

- Auto address function on BQAutoEval software does not work, the custom PCB is not detected on device selected drop down, as opposed to BQ79656EVM where it shows up as Stack 1

- Under cell monitoring window on BQAutoEval, "start polling button" is frozen, and there aren't any devices shown, as opposed to BQ79656EVM the device shows with voltage reading once polling button is pressed

- All the voltages i.e. NEG5V, LDOIN, NPNB, BAT, REFHP, AVDD, CVDD, DVDD have been verified on custom PCB and compared with BQ79656EVM, they are correct

- One item that caught my attention was under the "Device Configuration Details" window that pops up upon first launch of BQAutoEval, there isn't any option to select BQ79656, the closest option is BQ7965x, which is fair as it might be same across other variants of this IC and it works fine with BQ79656EVM.
What is interesting is on BQ79656EVM PCB, the IC package is actually labelled BQ7965x instead of BQ79656; however, the ICs we have purchased from TI are labelled correctly i.e. BQ79656.
Could it be the device select file BQ7965x on BQAutoEval software is different to what device select file of BQ79656 should be? The root cause maybe some minor difference between the two.

Please let me know if you require any further details about the setup or have any other questions.

 

Thanks

  • My colleague Ken will liaise with the support team on this matter. Thanks 

  • Hello, I'll be liaising until Shakeeb returns from leave for the next few weeks.

  • Hello Ken and Shakeeb,

    BQ7965x and BQ79656 are identical in terms of GUI, SW, and communications. The only difference may be in the number of supported VC channels depending on what x is.

    So it sounds like you have a custom PCB using the BQ79656. Using the GUI and a BQ79600 device, you are able to wakeup the BQ79656, however you are not able to read/write the other registers.

    Given this, I'm thinking it may be a hardware issue. Can you measure the waveforms you are receiving on the COML pins of the BQ7965x device? I think the signal quality may be poor. What type of isolation are you using on this custom board? The BQ79600 has transformer isolation by default. If you are using capacitor isolation on the custom PCB, that mismatch may be distorting the signals.

  • Hi Alexander,

    Attached are four waveforms of zoomed in wakeup signal to see signal integrity.

    10cm in waveform 3 and 4 was used to verify shorter length cable in case longer length with hook clip may have been causing data loss; however, the response from custom PCB is still the same.

    I have attached schematics of the Custom PCB, transformer has been used in this implementation. Please have a look and see if all looks okay.

    Thanks

    1. BQ79656EVM with 30cm hook clip test probe

    2. Custom PCB with 30cm hook clip test probe

    3. Custom PCB with 10cm jumper cable

    4. Custom PCB with 10cm jumper cable zoomed in

    - Schematic

    BMM.pdf

  • Hello Shakeeb,

    These waveforms look fine. I don't see any obvious issue with the signals. Can you confirm that these measurements were made on the custom PCB near the BQ79656 device (after the transformer)? If so, then can you check that the COMHP and COMHL connections are correct and not flipped? What voltage are you supplying the BQ79656 with?

  • Thanks for the response and taking a look Alexander.

    I'll be a bit longer before I get the test setup together for myself and I'm able to reconfirm some of the testing Shakeeb has done.

    From prior discussion and notes from Shakeeb:
    * Shakeeb did try swapping COMHP and COMHL connections to no avail.
    * Voltage being supplied was 20V for testing with cell tap voltages provided by resistive divider similar to the EVM and as previously noted all power nets had voltages verified.

    Some additional notes from Shakeeb:

    • While probing BQ7900EVM UART RX using oscilloscope, and sending auto address command, the BMM PCB was able to establish connection with BQ79600EVM and voltage reading was also obtained
      • After restarting the setup, the communication was unable to establish again
    • Long USB cable between PC and USB2ANY was replaced with short 1m cable, however this did not show any improvement/resolve
    • One difference noted between BQ79656EVM and BMM PCB was that EVM uses inductor and capacitor configuration, as opposed to transformer configuration on BMM PCB. BQ79600EVM uses transformer configuration.
    • Amplitude of wave at the reception of BMM PCB BQ79656 IC was reduced, to verify this was not reduced significantly to cause malfunction, R45 was removed. Communication was still unable to establish.

    Resistor R45 in BQ79656 custom PCB

  • Hello Alexander

    I've been able to get our custom BMM PCB (implementing the BQ79656) setup and tested with our BQ79600EVM and BQ79656EVM. Results mostly confirming what Shakeeb observed and have not been able to find a root cause for the failure to function. Details are below.

    Connection Checks:
    First I plugged EVMs together to check the EVMs are functional and get reference behaviour.

    • USB2ANY - BQ79600EVM: Wakes up, can't auto address anything, Power down works
    •  USB2ANY- BQ79600EVM, BQ79600EVM COMH - BQ79656EVM COML: Both wake up, auto address works, polling works, power down works
    •  USB2ANY - BQ79656EVM: Wake up works, auto address works, polling works, shut down works 

    Then I tried plugging in our BMM in all the ways I could think of to try see if I could get it to work. Connecting to both via the BQ79600EVM and BQ7656EVM, Swapping COMP and COMN, Swapping COMH and COML, connecting all 3 modules. In all cases tested, I was able to get our BMM to wake up (LED1 on) but the module was not picked up by auto addressing and thus not able to read module status or cell voltages, power down also did not work on our BMM. In cases where the BQ79656EVM was connected (before our BMM), the EVM was able to be addressed and function fine but our custom BMM was not able to and when the BQ79656EVM was connected after our BMM the EVM both did not wake up nor get an address i.e. our BMM also seems to not be passing communication along the daisy chain. Full details of tests conducted below. I also tested USB2ANY to BQ79600EVM to BMM with similar results.
    USB2ANY to BQ79600EVM to BQ79656EVM to BMM tests:

    •  USB2ANY- BQ79600EVM, BQ79600EVM COMH - BQ79656EVM COML, BQ79656EVM COMH - BMM COML: Wake up works on all, Auto address only shows single stack, Polling work only on BQ79656EVM (confirmed by toggling S1, S2 switches), Power down works on BQ79600EVM and BQ79656EVM but not BMM.
    • USB2ANY- BQ79600EVM, BQ79600EVM COMH - BQ79656EVM COML, BQ79656EVM COMH - BMM COML (swapped): Wake up works on all Auto address only picks up one stack, polling only works on BQ79656EVM (confirmed by toggling S1, S2), Power down works on BQ79600EVM and BQ79656EVM but not BMM.
    • USB2ANY- BQ79600EVM, BQ79600EVM COMH - BQ79656EVM COML, BQ79656EVM COMH - BMM COMH: Wake up works on all Auto address only picks up one stack, polling only works on BQ79656EVM (confirmed by toggling S1, S2), Power down works on BQ79600EVM and BQ79656EVM but not BMM.
    • USB2ANY- BQ79600EVM, BQ79600EVM COMH - BQ79656EVM COML, BQ79656EVM COMH - BMM COMH (swapped): Wake up works on all Auto address only picks up one stack, polling only works on BQ79656EVM (confirmed by toggling S1, S2), Power down works on BQ79600EVM and BQ79656EVM but not BMM.

    USB2ANY to BQ79600EVM to BMM to BQ79656EVM tests:

    •  USB2ANY - BQ79600EVM, BQ79600EVM COMH - BMM COML, BMM COMH - BQ79656EVM COML: Wake up on BQ79600EVM and BMM (no wake up on BQ79656EVM), auto address nothing picked up, shut down only BQ79600EVM
    • USB2ANY - BQ79600EVM, BQ79600EVM COMH - BMM COML (swapped), BMM COMH - BQ79656EVM COML: Wake up on BQ79600EVM and BMM (no wake up on BQ79656EVM), auto address nothing picked up, shut down only BQ79600EVM

    USB2ANY to BQ79656EVM to BMM tests:

    •  USB2ANY - BQ79656EVM, BQ79656EVM COMH - BMM COML: Wake up works on both, auto address only gets 1 device, polling works on BQ79656EVM only (tested switch S1 and S2), shutdown works only on BQ79656EVM
    • USB2ANY - BQ79656EVM, BQ79656EVM COMH - BMM COML (swapped): Wake up works on both, auto address only gets 1 device, polling works on BQ79656EVM only (tested switch S1 and S2), shutdown works only on BQ79656EVM
    • USB2ANY - BQ79656EVM, BQ79656EVM COMH - BMM COMH: Wake up works on both, auto address only gets 1 device, polling works on BQ79656EVM only (tested switch S1 and S2), shutdown works only on BQ79656EVM
    • USB2ANY - BQ79656EVM, BQ79656EVM COMH - BMM COMH (swapped): Wake up works on both, auto address only gets 1 device, polling works on BQ79656EVM only (tested switch S1 and S2), shutdown works only on BQ79656EVM
    • USB2ANY - BQ79656EVM, BQ79656EVM COML - BMM COMH: Wake up works on BQ79656EVM only, auto address only gets 1 device, polling works on BQ79656EVM only (tested switch S1 and S2), shutdown works only on BQ79656EVM
    • USB2ANY - BQ79656EVM, BQ79656EVM COML - BMM COMH (swapped): Wake up works on BQ79656EVM only, auto address only gets 1 device, polling works on BQ79656EVM only (tested switch S1 and S2), shutdown works only on BQ79656EVM
    • USB2ANY - BQ79656EVM, BQ79656EVM COML - BMM COML: Wake up works on BQ79656EVM only, auto address only gets 1 device, polling works on BQ79656EVM only (tested switch S1 and S2), shutdown works only on BQ79656EVM
    • USB2ANY - BQ79656EVM, BQ79656EVM COML - BMM COML (swapped): Wake up works on BQ79656EVM only, auto address only gets 1 device, polling works on BQ79656EVM only (tested switch S1 and S2), shutdown works only on BQ79656EVM

     

    Pin connection test:
    I also tried probing BQ79656 IC pins to the connector pins with DMM continuity on our BMM to check there wasn't any pin swapping or continuity issues and also checked the BQ79656EVM for reference. No issues were found.

    BQ79656EVM U1 (0CAJQLW XBQ7965x G4) pins:
    40: COMLP
    41: COMLN
    42: COMHN
    43: COMHP

    BMM U1 (12A2C1W BQ79656 G4) pins:
    40: COMLP
    41: COMLN
    42: COMHN
    43: COMHP

     

    Voltage Rail Check:
    I tried checking the voltage level on the power rails as well as some other DC nets to see if there were any power issues. I didn't see anything that looked unusual.

    C1 (TSREF) 2.55 mV
    C2 (NEG5V) -4.753 V
    C3 (LDOIN) 6.011 V
    C4 (BAT) 19.990 V
    C5 (REFHP) 4.994 V
    C6 (AVDD) 5.042 V
    C7 (CVDD) 5.042 V
    C8 (DVDD) 1.8095 V

     

    R8 (PWR)  19.996 V
    Q1 Collector 17.070 V
    Q1 Base (NPNB) 6.650 V


    I tried probing the power rails with a scope to see if it was a rail instability issue but I couldn’t see anything although I didn't test all the rails and doing such probing was a bit difficult with the on-hand equipment.


    CH1 is COMLN (Wakeup signal visible), CH2 is CVDD (C7).

     

    Signal Integrity:

    I also tested signal integrity though out the signal chain, using both the BQ79600EVM and BQ79656EVM and did not see any issues. Below are waveforms probed at the BQ79656 IC pins. Probing was done across COMLP and COMLN using a 70MHz differential probe (HVP-70). Signal shown is the Wake up signal from the BQ79600EVM which appears to contain a "data signal" as well as a wakeup tone which makes capturing the waveform of both a bit easier but identical waveforms were observed when using the BQ79656EVM to drive our BMM as well as when attempting auto addressing, polling and power down commands. As can be seen there seem to be not issues with signal integrity, if anything the signal strength on our BMM is slightly higher than on the BQ79656EVM.

    Reference Wakeup Waveform on BQ79656EVM

     Complete wakeup signal

     Message data packet

     Wakeup tone waveform

     

    Wakeup Waveform on our BMM

     Complete wakeup signal

     Message data packet

     Wakeup tone


    Additional notes and data:
    For reference, I have also attached lab log books which contain extra notes, waveforms and observations but are less organised.2022-03-17 BQ796xx Setup and Test -NO_Photos.pdf2022-03-18 BQ796xx Test 2 -NO_Photos.pdf

    Next Steps:

    Currently not sure what else we can try testing. I could try checking common mode signal and more oscilloscope probing of voltage rails but these seem unlikely give useful results.

    I will try assembling another one of our custom BMM PCBs and re-testing but this will be the third PCB.

    Other than that I can only think of sending a sample of our board over for external testing.

    Regards
    -Ken

  • Hello Alexander

    I assembled two new boards (of our custom BMM PCB). Both seem to work fine so far. Both are able to wake up, auto address, poll and power down fine.

    Some initial cell voltage testing using a resistive divider string with 100 ohm resistors, similar to what's on the BQ79656EVM. Note there is no 16th cell in our application.

    Vbat = 20 V. Stack 1 is connected to the resistive divider string, Stack 2 is floating



    Increasing Vbat to 30 V. Stack 1 is connected to the resistive divider string, Stack 2 is floating

    Comparing to voltage measured by our BMM module with a measurements from a bench multimeter.

    Cell

    DMM Measurement (V)

    BMM Measurement (V)

    Error

    1

    2.0130

    2.0185

    0.0055

    2

    1.9839

    1.9880

    0.0041

    3

    1.9964

    2.0090

    0.0126

    4

    1.9640

    1.9680

    0.0040

    5

    1.9960

    1.9943

    -0.0017

    6

    2.0152

    2.0149

    -0.0003

    7

    1.9730

    1.9792

    0.0062

    8

    1.9754

    1.9733

    -0.0021

    9

    2.0026

    1.9998

    -0.0028

    10

    2.0017

    2.0000

    -0.0017

    11

    1.9370

    1.9380

    0.0010

    12

    2.0105

    2.0130

    0.0025

    13

    2.1782

    2.1049

    -0.0733

    14

    1.9934

    1.9954

    0.0020

    15

    1.9939

    1.9866

    -0.0073

    TOTAL

    30.0342

    29.9829

    -0.0513

      I noticed the BMM (and DMM) reading had a bit of noise but might just need to play with the filtering settings a bit. Could also be relatively high impedance (compared to a directly connected cell) of the resistor string.

    It seems likely the issue was in the assembly of the previous boards. I'll have a closer inspection to see if I can spot any assembly faults and also see if the previous boards can be made to function with some rework to confirm if the issue was due to assembly.

    I'd also like to do a few more tests on the function of the BMM (alarm faults, balancing etc.) then I can consider this issue resolved.

    Regards
    -Ken


  • Further testing of functions today was going well until the board being tested (BMM no. 04) suddenly stopped working; same failure mode wakes up but cannot complete auto addressing. The other board I assembled (BMM no. 05) was still working. BMM no. 4 was made to work again after running a soldering iron over the pins.

    The previous non working boards were also made to work again. Closer visual inspection showed no visible faults. Hot plate reflow, and "reseating" the BQ79656 IC on BMM no. 03 had it working again. BMM no. 02 was initially just hot plate reflowed briefly but didn't work. A second hot plate reflow which went significantly longer got the board working again.

    It seems the issue could have been dry joints but given all joints looked OK on all the boards assembled, the device powers up and all self-derived voltage rails work, a previously working board stopped working and simply reflowing didn't work but longer intense application of heat seems to be required to get other boards working again it perhaps could be some other moisture/humidity aging related issue? I'll see if I can induce a failure through intentional moisture exposure and resolve it again but this time using a below reflow temperature bake. ICs were not baked prior to assembly.

    Hopefully not, but could also potentially be some internal IC packaging issue which is relieved by heat.

  • Further testing has been done to try find the root cause of our custom BMM PCBA issues. Further tests seem to indicate it is not a soldering/assembly issue but likely some internal chip failure.

    For reference, we have 5 assembled custom BMM boards implementing the BQ79656 IC but the first board (no. 01) is used for mechanical fit validation and not to be used for electrical tests. Boards no. 2 and no. 3 were assembled previously by Shakeeb. Boards no. 4 and no. 5 were most recently assembled by me.

    Drying and Soldering unlikely to be the issue:

    Drying and soldering/assembly tests were not found to have any effect of function of the board

    Drying and Moisture:

    All 4 boards (02, 03, 04 and 05) were tested as working; able to wake up, auto address, poll and power down.

    2 boards (02 and 05) were placed into a sealed bag with wet paper towel overnight (100% RH, 25°C environment for 19 hours); likely not enough to induce a moisture failure given MSL level 3 rating. 

    The following day the moist board were removed and given 30min to dry out on the lab bench (65% RH, 25°C). All boards were then retested.

    Both boards exposed to moisture (02 and 05) worked (able to wake up, auto address, poll and power down). One of the boards left on the lab bench as a control (board 03) did not work however. Board 03 presented the same failure mode as all previous failures; able to wake up and voltage rails all correct but unable to auto address or respond to other data communication.

    BMM board 03, Not working (awake but unable to auto address):
    C1 (TSREF) 0.7 mV
    C2 (NEG5V)  -4.7491 V
    C3 (LDOIN)  6.0048 V
    C4 (BAT)  19.9979 V
    C5 (REFHP)  4.9927 V
    C6 (AVDD)  5.0376 V
    C7 (CVDD)  5.0187 V
    C8 (DVDD)  1.8058 V 

    R8 (PWR)  2.752 V
    Q1 Collector 17.249 V
    Q1 Base (NPNB)  6.647 V

     BMM board 04, Working (Awake and address set)
    C1 (TSREF)  0.679 mV
    C2 (NEG5V)  -4.7525 V
    C3 (LDOIN)  6.0029 V
    C4 (BAT)  19.9982 V
    C5 (REFHP) 4.9929 V
    C6 (AVDD)  5.0484 V
    C7 (CVDD)  5.0231 V
    C8 (DVDD)  1.7998 V

     R8 (PWR)  2.737 V
    Q1 Collector 17.2652 V
    Q1 Base (NPNB) 6.6446 V

    Board 03 was retested again after 2 hrs and still did not work (wake up but no auto addressing) 

    Board 03 was baked at 125°C for 2hrs. 

    After being allow to cool back to room temperature (25°C) the board was tested again but did not work; able to wake up but not auto address or poll  etc.
     

    Soldering and Assembly:
    After this I tried reflowing and resoldering board 03 but to no effect. I note we are using leaded solder.

    First I attempted a minimal solder rework by applying flux to IC pins and putting it through our standard leaded paste reflow profile in our soldering oven. The issue remained the same; wake up but no data communications.

     I then did a hot plate reflow and "re-seated" the IC. Still the same issue was occurring; wakes up but does not respond to data communications.

    Actual Issue Related to Power Status?

    After failing to get board 03 working again. I tried re-testing the other boards and found board 02 had stopped working again too. With further testing and experimentation I was actually able to get all 4 boards partially functioning. Details are below.

     With further experimentation I found I was able to consistently get BMM boards 02 and 03 to function or not function depending on some power state conditions.

     When attempting to power on BMM boards 02 and 03 from a completely unpowered state with all on-board bypass capacitors discharged (checked with DMM on low Z mode) the board does not function; responds to wake up tone but not to any data communication. 

    A power cycling process was found to consistently make boards 02 and 03 function:

    1. Board is waked up; via wake up command from BQ79600EVM
    2. Power to board (Vbat) is cycled; disconnecting C15S or C0S works as does simply turning off-and-on the power supply
    3. Board is waked up again; via wake up command from BQ79600EVM

    If this sequence is follow, boards 02 and 03 appear to function fully; auto address and polling works, able to configure GPIOs and TSREF. If the board is waked up then power cycled but the bypass capacitors allowed to drain before attempting to wake up again then the board will not function as usual (responds to wake up tone but not to data communication).

    I was also possible to make Board 03 (but not 02) function without the power cycling process

    1. BQ79600EVM is set to polling in the BQAutoEval GUI with a working BMM board plugged in
    2. The BQ79600EVM is disconnected from the working BMM board whilst still polling and plugged into BMM 03
    3. Polling is stopped (GUI doesn't allow wake up or auto address commands while polling)
    4. Wake up command is sent; via GUI and BQ79600EVM

    After this process data communication also seems to work fully with BMM board 03

     BMM boards 04 and 05 do not suffer this issue. They can be simply plugged in and work without any need to do power cycling and appear to fully function; auto address and polling works, able to configure GPIOs and TSREF.

     All these operational steps were tested multiple times and yielded the same results (on that day).

     To reiterate and summarise I believe the issue is unlikely due to soldering or assembly because:

    • All solder joints looked good on visual inspection
    • IC responds to wake up signal and powers up
    • Self-derived voltage rails are all good
    • Signal was probed good on IC pins
    • Extensive reflowing and rework does not seem to affect the issue (neither better or worse)
    • The faulty boards can be made to fully function through a power cycling process

    The issue would seem to be related to the IC's internal power functions (but again all externally measurable voltages seem fine).


    Further intermittent issues:

    Re-testing again yesterday, board 04 seemed to have other occasional issues. The power cycling method would not work or could not even respond to the wake up tone even though signals were probed and confirmed present on the board. On other occasions when the board was reconnected after completely disconnecting and testing other boards it would work again without any issues. Wiring, voltages and signals were probed and checked and confirmed good so it does not seem to be a wiring/connection issue.

    Board 02 would sometimes power on immediately (LED1 illuminated) when connected, before connecting COMM or a wakeup signal. Sometimes the power cycling process would work and other times it would not. Boards 02 and 03 continued to require at least power cycling to start functioning i.e. 02 and 03 were not observed to function at any time without power cycling unlike 04 and 05 which did function without the need for the power cycling process.

     I would appreciate advice on what steps we can take next to try fix the issue and ensure reliable function. We can send PCB design files and pictures of the PCBAs for review privately if it would be helpful.

    Regards
    -Ken