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.

BQ76PL455A-Q1: CCS/BQ76PL455EVM: Sample code for TMS57004 and BQ76PL455EVM

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


I am using your BQ76PL455 IC with tiva C series TM4C123G MC. I know that you have already made a code with TMS570004 but I am trying to convert your shared code for Tiva.
right now I am trying to complete the code part for Bq76pl455 however I have some questions and hopefully through this forum I can get regarding answers by your help as quickly as possible.


1-) I have read some people comment on the sample code TMS570004 and BQ76PL455EVM problem that they had faced during coding. if I am not mistaken in of forum you were saying that the code which we shared is just skeleton and you have to rearrange it have not you? do I understand correctly? if that it is can you share with me what steps I should follow? I mean I have already checked bq76PL455A-Q1 Software Design Reference out yet I need a flowchart of code which I can sticky with that.

2) when setup the shared code to CCS for first time, I do not see the part of balancing to configure it but there is a file which is called emb1428.c and as I understand this file is for balancing yet here the question raises is when I setup the same code with another PC there is no such file in it! why that is?  how important this file is? and is it all about active balancing not for passive balancing?

please let me know you what you think of?

I do need to complete this code as soon as possible

Thank you for your understanding 
Mahmut Demiryent

  • Hi Mahmut,

    I recommend posting another thread tagging code composer studio rather than bq76pl455a for help specifically with porting over to TiVa MCU. Here I can support only bq76pl455a specific questions. Yes our code is a sample, and the user must develop their own sequence based on our guides for doing their own routines.

    If you have emb1428 file, you may have the wrong example code that is for the active balancing solution. Can you confirm you only have the sample code from here: at the bottom? I dont think it should have an emb.c file and if it does you could ignore it.



  • Hi Taylor,

    thank you for reply, since you support bq76pl455a specific questions, I have a couple of questions which related to the design of bq76pl455a.
    before asking my questions I have to remind you that I do not use BQ76PL455EVM but I did my own design by following some your documents.and additionally in my design two bq76pl455a ICs are being used, one is master the other one ise slave on the same PCB so their communication line is also based on VBUS. Everything is designed according to your documents so far

    however, since there are some different documents for supporting bq76pl455a, I have to say that there is mind-blowing in those files. I would explain in just my first question.

    1-) so on the master side of first bq76pl455a I made TX,RX, COMML+ and COMML- connections according to this first file: can you please check pages between 11 to 19? this file exactly shows us how to connect them. I pull up TX, RX to VIO with 100k ohm, connect COMML+ to V5VAO and COMML- to GND  so it is quite straightforward to make it, neverthless as I said above there are some other documents that saying differently for those connections.

    please check this second BQ76PL455EVM Schematic file here: in this design which actually the work one,there is no such connections for TX,RX, COMML+ and COMML- 

    and lastly please examine this file: there are not that connections in this document either. am I right to confuse about them?

    what do you suggest me to do from now on? which file I should consider following? and why these files are different? 

    2-) well,in the beginning I would not connect battery pack to the system for diagnotics test
    without connection of cells to the system, I am planning to supply external power to VP,VDIG and VIO so as I searched through datasheet and it is acceaptable to make that. but I might disable DEVCONFIG[REG_DISABLE] bit. in the below comment I try to illustrate my set up and please let me know that I did correctly. 

    as you know VP is connect to Transistor's Emittter pin so whenever a command comes to NPNB pin VP is powered up, by doing so VP is supplying power to VDIG and VIO(VIO can connect MCU supply line optionally). I directly connected 5V to VP pin externally but when testing for diagnotics my code does not get respond from Master bq76pl455a, the code stops on this command line nRead = ReadReg(nDev_ID, 10, &wTemp, 1, 0);  

    Firstly I wonder that did I set up correctly? what things I miss to fix the system?

    Thank you a lot for your support ,I am looking forward to hearing from you

    Best Wishes
    Mahmut Demiryent

  • Mahmut,

    For 1) both references are correct, you are looking at single ended in the document where EVM schematic supports many variations for how to use the device (SW2 connects single ended or differential connection). 

    2) VP/VDIG regulates is 5.3V which may be the issue, I highly recommend connecting a supply to BAT/TOP so NPN can regulate to VP/VDIG like normal device operation.



  • Thank you,

    I have some questions on communication line between BQ and MCU that I use in my design. in the datasheet for UART is saying that "The transmitter can be configured to wait a specified amount of time after the last bit reception and start of transmission using the TX_HOLDOFF register. The TX_HOLDOFF register specifies the number of bit periods that the bq76PL455A-Q1 will wait to allow time for the microcontroller to switch the bus direction at the end of its transmission."

    so how to implement TX_HOLDOFF register in to Uart configuration or do you reccommend me any body to help me on this? because normally I can communicate two same MCUs with UART but is there any different aspect that I have to integrate with UART due to using TX_HOLDOFF register?

    I simply think to give delay between TX and RX.

    Wishes Best