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.

SMBus communication between Gas Gauge SW (using EV2300) and arduino

Other Parts Discussed in Thread: BQ3060

I´m want to simulate a Battery Pack with an arduino Zero Pro.

For that, I´m using as a master the "Gas gauge evaluation software" with EV2300. In this SW, in "Pro" window, I intended to read values from the arduino, with "Read",  "SMB Command". The arduino is the slave, and it has to send the master the value of the command asked

I think I have a communication problem, int the start or stop bit maybe. This is what I have:

- If I first read the value of the voltage with the "Gas Gauge evaluation SW", the sw reads nothing.

- If in second place, I try to read the value of SOC, the sw reads the value of the voltage.

- If in third place, I try to read the value of current, the sw reads the value of SOC.

- and so on... 

I would like to have the "Gas Gauge Evaluation software" communication code in order to know where is my problem in the code of the arduino.

Can I have the code of the software?

  • This seems to be more of an I2C or SMBus problem. As you said, it probably has something to do with your start or stop bit. It seems like your device sends the response to the previous question. That means that your data is not well formatted.

    Since this seems to be a hardware issue, the source of the Gas Gauge software will probably not give you any answers. The communication is handled by the EV2300 and not the evaluation software. Your focus should be on the communication protocol that the emulated device is using (i.e. read/write word, read/write block, etc.)

    I would recommend that you use a logic analyzer to see what is going on (you can find some pretty cheap ones on ebay, and some of them are even compatible with Saelae software).

    I doubt that TI would give out the source code of the Gas Gauge. Besides there are so many devices to which the EV2300 can connect.

    Michel
  • I only need to know the number of bytes is sending and is expecting the EV2300 or SW. Maybe someone from texas instruments could tell me this...

    More exactly; in "Gas Gauge Software", "Pro" Window, when I try to read the value of a parameter introducing the command (for example command 09 for reading the voltage value), how many bytes is the EV2300 sending to the slave?

    And how many bytes is the EV2300 or SW expecting to receive from slave?

    Thank you in advance!

  • You'll get a better answer if you tell us what device (which IC) you are trying to simulate with your arduino board since communications change from chip to chip.
  • Sure!
    I´m trying to simulate the IC bq3060.
  • This might be nothing but I just looked at the TRM of the device, and I noticed that the BQ3060 can send a last byte which would correspond to the PEC. It's a configuration option that would be on the real device.

    Have you tried including this byte in your response?

    I'm not gonna be of much help beyond this so if that doesn't resolve the issue, I hope somebody with more experience with the BQ3060 will provide a better answer.