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.

BQ76PL455EVM with MCU

Other Parts Discussed in Thread: BQ76PL455EVM, BQ76PL455A, CCSTUDIO, BQ76PL455A-Q1

Hi,

Can anyone help me to use BQ76PL455EVM with MCU...

How cani connect this module with a MCU via serial connection...

MCU needs to read all the cell voltage as well as the AUX adc values for temperature...

And also need to control the balancing algorithm...

Now in PC im using the GUI provided to balance the cells... 

Instead of PC i want Some MCU to communicate with the module....

  • Hi Fijo, 

    Are you looking for reference schematic for bq76PL455A with MCU?

    PL455A is UART communication and you should connect it to MCU UART communication interface. 

    I am not sure whether that's what you are asking. 

    You can also go to below link for commands and actual sample codes. 

    http://www.ti.com/product/BQ76PL455A-Q1/technicaldocuments?keyMatch=bq76pl455a&tisearch=Search-EN-Everything

  • Hi Roger,
    Thanks for the reply....
    Actually i want to connect the BQ76PL455EVM with my PIC32mx board.
    Here the evm will do the cell balancing and at same time as a voltage and temperature monitor and values has to be read in the pic32mx..
    so ur telling like i can directly connect the EVM's UART out to the PIC32's UART n read the data..,Right ???
    For communicating with PIC is there any further steps to do??
  • Fijo,

    goto figure 36 in the bq76PL455A datasheet.
    You will see the figure that you need.
    Let me know if you have further questions.

    roger
  • Hi Roger,
    I connected the Eval board via putty in my PC.
    And I tried with the commands given in SLVA617A- Software Design Reference. But i didn't get any response from the Eval board. Is there any special pre-configuration command need to issue to start reading the voltage and ADC values from the Eval Board?.

    Thanks in advance.

    Regards,
    Fijo.
  • When you say there is no response from the eval board, what commands are you trying and how are you entering them? When I start the GUI and enable the manual comms interface (opens the bottom part of the GUI) and enter E1 02 00 (described in SLVA617A section 3.2) with calc CRC checked, I get a response in the Packets Logged window. Can you please confirm that this works or not? 

  • Hi Stephen,

    All the manual comms are working fine with the GUI provided.

    Our purpose is to communicate with Eval Board without the GUI. That is we are using one PIC uController as the master, who needs to get the cell voltages from the eval board.

    I had gone through the Software Design Reference SLVA617A, and tried with the manual commands given, via serial communication ie via PUTTY in PC. But in putty there is no response from the Eval Board. 

    Will this Eval Board works without GUI???

    If yes whats the procedures?? Is there any pre-configuration commands to powerup the board??  

    Thanks in advance

    FIJO

  • Hi Fijo,

    Of course the IC can work without the GUI. There is an application note and corresponding C code available to download in the product folder. There you will find example C code for every section in the SLVA617A document. This should help.

  • Hi Stephen

    We had gone through your CCStudio example program.Since we are not having the TMS570 uC we need some clarifications in the code!!!

    1.What is the significance of Powerdown commands??After power down how the module wakes up???

    2. Why these manual commands are not working with serial console in PC..Like not getting response for commands like 81 00 0a 00 2e 9c...?

    if it can be connected via serial console it will be more easier for us....

  • Here is some feedback:

    1. The power down commands, followed by a WAKEUP pulse in the code are to ensure a stack of the devices are all awake. The code has 8 cycles of power down/wakeup to support older reviision of the IC that would not propagate a wake tone on the COMMH interface if the device was itself already awake when the wakeup pulse was received. The final released devices only require a single wakeup pulse, and the wake tone will be sent on COMMH regardless of the state the IC was in when the wakeup pulse is received. Therefore you only need a single wakeup pulse.
      1. The wakeup pulse is sent to the EVM on the USB serial RTS signal. As the UART RTS signal is a normally high signal, a pulse of RTS will send a pulse low which is the wrong polarity for the bq76PL455A-Q1 wakeup signal. Therefore the EVM has an inverter on this signal. When a customer designs their own board for the bq76PL455A-Q1, they will generally connect the MCU directly to IC so the inverter on WAKEUP is not needed.
      2. To wakeup the part from a PC, you will need to send a pulse low on the UART RTS signal.
    2. The serial port operates at 250KHz by default. I am not sure how you will get a serial console to work at a non-typical PC UART baud rate. I tried Windows PuTTY and I couldn't get it work. 

    My suggestion would be to write your PIC code for what you think is generating the UART frame you describe (81 00 0A 00 2E 9C) at 250K baud, and then look at the signal on an oscilloscope or logic analyzer to see if the baud rate is what you expected.

  • Hi Stephen,
    Thanks for the feedback.
    Now Eval Module is working fine with the PIC32 MCU. All the manual commands are working properly.

    We have some more doubts to clarify:
    1.In a daisy chain Stacked boards of 6 boards, for a broadcast request to sample, store and read results, what will be the delay in
    response from each board.(if its cell sampling is set to 60.4us)?? Is there any calculation for finding the delay???
    2.How we can read the stack voltage ie Vmodule??

    Regards,
    Fijo.
  • The recommended settings for the best accuracy are:

    • 390pF OUT filter cap
    • AFE_PCTRL = 1 (causes 100us for ADC power up) (PWRCONFIG[AFE_PCTL] = 1)
    • Cell ADC sample period = 60us (Cel_CSPER[ADC_PERIOD_VOL] = B)
    • Cell ADC sample period for oversamples = 12.6us,  (OVERSMPL[CMD_OVS_HPER] = 3)
    • Staying on a cell channel to oversample (OVERSMPL[CMD_OVS_CYCLE] = 0)
    • AUX ADC sample period = 12.6us (OVERSMPL[CMD_OVS_GPER] = 3)
    • 8x oversampling of CELL and AUX channels (CMD_OVSMP = 3)

     The formula to calculate the total time to calculate all channels selected is:

    AFE_PCTRL + (Cel_CSPER[ADC_PERIOD_VOL] + (OVERSMPL[CMD_OVS_HPER] x (CMD_OVSMP -1)) x CHANNELS[CMD_VSEL] + (OVERSMPL[CMD_OVS_GPER]  x CMD_OVSMP) x sum of all channels selected in CHANNELS other than the cell channels

    An example of the amount of time to sample 16 cell channels + 3 AUX channels will be 100us + (60us + (12.6us x 7)) x 16 + (12.6us x 8) x 3 = ~2.77ms. 

    Vmodule is measured by setting CHANNELS[CMD_MODULESEL] = 1 and TSTCONFIG[MODULE_MON_EN] = 1.

    I hope this helps.