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.

Configurating the BQ20Z45R1

Other Parts Discussed in Thread: BQEVSW, BQ20Z45

Hi

We are using the BQ20Z45R1 in our application in combination of the Smart Battery Charger LT4100 from Linear Technologies, but it seems that the SMBus communication doesn't work at all.

The Charger sends a small wake up charge, whereon the BQ20Z45R1 should answer with an SMBus command, but nothing hapens. I assume I need to configure the data flash, so that they would talk to each other, but I have no idea what to change. I have programmed the BQ20Z45R1 with the latest bqEVSW and the bqEASY function, so every value should be at default.

Assuming that the hardware works fine, has anybody a suggestions what I have to change?

Thanks in anticipation.

  • Mathieu,

    Do you have the BCAST bit  (Bit 0) set in the Operation Cfg B register? This will enable the device to send broadcast data to the charger. You should set this bit to a "1".

    Regards
    Tom

  • Hi Tom

    Thanks for the response.

    I just set the BCAST bit, but still nothing on the SMBus line.

  • Mathieu

    The device should send the broadcast data automatically after the BCAST bit has been set. It transmits every 10 to 60 seconds. One thing to check would be the Packet Error Checking feature. If the LTC4100 is expecting PEC at the end of the transmission, then you will need to set the CPE bit in the Operation Cfg B register as well.

    Regards

    Tom

  • Any progress?  I am using the same combination in the form of development boards, and they talk fine after setting BCAST.  LTC4100 responds to z45 messages as expected.  Here are my lessons learned. 

    Use the EVSW in Pro mode to talk to the charger, to make sure the bus is working.

    Are you watching the bus with a 'scope?  Do you see no activity at all?  Disconnect the bus adapter when doing this or you may see traffic from it. 

    You have verified that the AC PRESENT flag is set on the 4100?  It won't work without that condition, at least on this dev board..

    There is a period of charger activity before the z45 sends the message that locks in the charge current, where the charger raises the voltage for a short period then relaxes it.  It will do this about twice a second for a few seconds.  Are you seeing that activity?

  • Hi

    Good to hear that this setup is working somewhere. And thanks for the tip with the Pro mode, that helped a lot.

    I managed to get the bus working, but it seems as the BQ20Z45 is sending invalid data. First it sends the charging current, later the charging voltage. I set the current to 2000mA, it sends the value 53'255, the charging voltage is set to 8400mV and it sends the value 53'280. The charger then gives the status that the charging voltage value is invalid. The rest of the charger status seems to be ok.

    I think the charger then tries to set the voltage to this value, because short after that, the voltage collapse.

    Does anybody know why the BQ20Z45 is sending wrong values?

    Edit: Ok, my bad, I just discovered that the lower bytes is sent first, so the values are correct. By accident I also found out that the LT is charging correctly after I send him a very small current value and than change it back to 2000mA. Otherwise it's still just sending a wake up current. Any suggestions why that could be?

    Edit 2: Problem solved: the charging current was a bit to high, so that the protection circuit cut off the supply voltage, because of the spike, so that the LT got resetted every time it has tried to change the voltage.

    Anyway, thanks for the help.

  • Short last question: Is there a way that the BQ20Z45 is sending its data more frequently? I don't want to wait 10-60s until it starts charging, every time I plug in the akku pack.

  • This response rate is not configurable. The response time was setup to conform to the SBS spec and you should see a transmission every 10 seconds. The longer time was setup in the event that the device is processing something.