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.

Reference designs

Other Parts Discussed in Thread: BQ500511, BQ51003, BQ500511A, BQ51021, BQ51221, BQ50002

Hello,

I am designing a receiver and transmitter based off the BQ51003 and the BQ500002+BQ500511. The eval modules came loaded with JTAG clk and data from the factory. I have successfully tested and configure eval modules to my design and am now doing schematic and board layout, but I am wondering if the designer is responsible to flash the receiver and transmitter after board fabrication, or if the ICs already come with the software....Please let me know, thank you!

Madeleine

  • Madeleine,

    The receiver and transmitter solutions from TI come fully ready to use.  There is no requirement for software / firmware loading at all.  The components required for configuration should be clearly discussed in the datasheet and EVM.

    The bq500511 does have an I2C interface that can be used to read / write certain registers.  See the Tools & software tab on the product folder page if you are interested.

    Regards,

    Dick

  • Dear Mr. Dick,

    Bq500511 I2C programming, IC does not acknowledge.

    I'm trying to program the Bq500511 connecting with MCU using I2C.

    Now, I'm not using the TI's software nor am I using the   programming cable. Instead, I'm using an  STM32 (with the STM32F103X uC) to connect with bq500511 via I2C interface.

    It seems I simply can't get the Bq500511 to response to any I2C communication.

    I've:

    1.) Need 10k pullups on clock and data and common ground.

    2.) The bus speed should be <= 100 kHz.

    3.) The bq500511 is a slave-only device.

    4.) Address = 20 (decimal).

    All these conditions are satisfied in our project. Because I already check it very carefully.

    Now, for the I2C signal produced by the MCU, see the attached image:

    Anyway, you can see in the pic that the slave never pulls the SDA line low when the clock hits the 9th bit.

    In conclusion: I don't see what I'm doing wrong, yet the slave is refusing to ACK my I2C advances.

    Could you check this and let me know if I am wrong or true.

    I am really looking forward for hearing your response.

    Thanks and Best Regards!

    Son

  • Hello Son.

    It seems to me that there is something wrong with I2C address.

    As can be seen below, it outputs 00010101(Binary, Decimal = 21) instead of 00010100(Binary, Decimal = 20).

    Please check your I2C S/W routine.

  • Dear Mr. Dick,

    My sequence for Reading data from bq500511 is: S --> Address device (0x14 - Write Mode) --> ACK --> Write Command Code--> ACK--> S --> Address Device (Read mode - 0x15) --> ACK --> data from bq500511...

    As you can see on that picture it is Read mode (0x15 address device).

    The very important question is did you ever making successful programming communicate between MCU (Any kind of MCU) and bq500511 via I2C protocol.

    * For more information, You can see on these pictures.

    - Device Address (Write Mode - 0x14)

    - Command Code (0xD4)


    - Device Address (Read Mode - 0x15)

    Thanks and Best Regards!
    Son

  • Son,

    The address is 0x14 (20 decimal).  But, that does not include the R/W bit.  Adding the R/W bit would make the address 0x28 or 0x29.  If you remove the initial 0 from your address, that should enable communication.  See the plot here:

    Regards,

    Dick

  • Dear Mr. Dick,

    Thank you for your kindly supports. Now it is working. I can send command and get exact information return from BQ500511 to MCU (EX: Send command 0xFD, I can receive a string containing the device number, the firmware version BQ500511|......).


    The small question is if I would like to get information for battery status (The percentage of battery status) to display on OLED, so which kind of command do I have to send? How to calculate the percentage of battery status? I tried to send Command 0xDO, and I get the results of 5th byte (Charger status), but not exactly information that I need.

    For more information about my question, you should refer to attached file.



    Finally, many thanks for your helps!

    Son Nguyen Duc

  • Son,

    Are you interested in the receiver or transmitter displaying charge status?  The transmitter (bq500511A) would need to get that information from the receiver.  If it's a display on the phone, then that information does not need to go to the transmitter.

    The bq51003 does not contain any information on charge status.  The bq51021 receiver has I2C.  It does not provide any status either, but if your charger has information you'd like to transfer to the transmitter, you can use I2C to put it into the bq51021 and the bq51021 can send to the receiver.

    Regards,

    Dick

  • Dear Mr. Dick,

    Thank you for your quick response.

    In our project, I would like to display charger status on transmitter. It is that mean BQ500511 connected with MCU via I2C interface. As my understanding, when we place receiver (It can be bq51221 or Smartphone - Samsung Note5) on Transmitter (Using BQ500511 ), the Transmitter will be get the charger status (How many percentage of charger status) from receiver and through the communication with MCU and BQ500511  via I2C protocol, MCU will get that information and display on OLED (OLED connected with MCU)

    The my question is: Could I get charger status from BQ500511  to display on OLED?

    In our project:  - Transmitter: bq50002 + bq500511. This part connect with MCU via I2C, OLED also connect with MCU to display charger status.

                             - Receiver: bq51221 or Samsung note5

    What kind of information to get the charger status or how to calculate the charger status based on information that MCU get from bq500511 to display on OLED.

    You can see the bellowing link, we want to develop the similar product with them.

    Thank you for your supports!

    Regards!

    Son

  • Dear Mr. Dick,

    Please reponse this issue or any suggestion are welcome. Now I stuck at this problem for a week. If you didn't clear my point. Please let me know!

    Thank you for your support!

    Regards!

    Son

  • Son,

    The bq500511A can only pass on what information it receives.  To receive data, the RX must know what to send and how.  TI parts can work to do that.  But, not all RX devices have that capability.  If they cannot send data (4 bytes at a time) then the bq500511A cannot pass any data.

    This seems like a Bluetooth type application.

    Regards,

    Dick

  • Dear Mr. Dick,

    After one week for investigate, I confirmed that we cannot  get information about  the battery status. 

    I did send all commands from MCU to BQ500511 and  get the data on the attached file (Excel file). Based on these information, could I calculate the battery status (Maybe dont need to exactly 100% -  Approximate is OK). 

    - Another option is as I know The bq51221 does not have that information.  It must be sent to it via I2C.  How to send this data via I2C, which command does using for sending or Writing?

    Please see the attached file for more information.

    0216.Measure Signal by Commands.xlsx

  • Son,

    The Prop Packet Payload RAM can be used to transfer data from the bq51221. See Tables 14-17 in the datasheet.

    Regards,

    Dick