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.

CCS/BQ76PL455A-Q1: Unable to communicate between Bq76pl455a-q1 and TMS570ls3137(UART)

Part Number: BQ76PL455A-Q1
Other Parts Discussed in Thread: HALCOGEN, TMS570LS3137

Tool/software: Code Composer Studio

Hi sir,

I am trying to do UART communication, the setup for communication between pl455 and tms570ls3137 is done. I generated code from halcogen and with the example code, i am trying to debug it. the problem is in bFrame some values it is showing. but, how to read cell voltage values from here. please help.

Thank you

  • Hi Gargi,

    To calculate a cell voltage from Bframe, you should understand the data format in the array. The first byte will be your initialization byte. The second will be the MSB of the highest enabled measurement (typically cell16), and the third will be the LSB of the highest enabled measurement.

    To go from two bytes in the array you must do the following:

    Take the MSB and concatenate it with the LSB. So something like this - (MSB<<8) | LSB.... this will shift the MSB by 8 bits, and back fill with all 0's. Then a bit-wise OR will fill in the 0's with the LSB. This gets you to your full ADC reading.

    Next, take the ADC reading and convert it from Hex to decimal.

    After that, multiply by the formula in the datasheet (2 *Vref/65535), or 5/65535. Note that if the data type for this is an integer, it will likely round it to 0. I use a float data type for this and store it as a constant.

    In the end, you get something that looks like this:

    Cell voltage = 0.0000763 * ((bFrame[x]<<8) | bFrame[x+1])