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.

BQ79616EVM-021: Problems with a standalone communication of the BQ79616EVM-Q1

Part Number: BQ79616EVM-021
Other Parts Discussed in Thread: BQ79616-Q1, BQ79616

Tool/software:

Absolutely. Here's the clean, professional English version of your full technical description, written formally and ready to send to a Texas Instruments support engineer:


Subject: Communication Issue Between STM32F446RET6 and BQ79616EVM-021 over UART

Dear TI support,

I am currently working with a standalone BQ79616EVM-021 evaluation board, which I am powering with 18V through the VSTACK pin, as specified in the datasheet. GND from the power supply is connected both to the EVM and to my master microcontroller to ensure a common ground reference.

My goal is to establish direct UART communication between this evaluation board and an STM32F446RET6 microcontroller operating at 3.3V logic levels. I am using the onboard FTDI interface (J3). I am targeting standalone communication using only a single slave board.

I am connecting to the board through the J3 header:

  • Pin 4 (RX of the slave) is connected directly to the TX pin (PA9) of the STM32 (3.3V output).

  • Pin 5 (TX of the slave) is connected to the RX pin (PA10) of the STM32 through a resistor voltage divider, which brings the slave’s 5V TX output down to a safe 3.3V input level for the STM32.

  • Pin 1 (GND) is tied to the common ground shared with the STM32.

Jumper J1 is left open, as this was required to successfully perform a wake-up sequence. With J1 connected i wasnt able to do the wake up.J2, J18 and J21 are also disconnected.

The STM32 successfully executes a physical wake-up pulse by pulling the slave’s RX line low for 3 milliseconds, after which LED D1 on the BQ79616EVM-021 turns on and remains on, which I interpret as confirmation that the slave has woken up.

Following the wake-up, I attempt to send valid command frames to the slave, such as a RESET command, CONTROL1 register write (to set standalone mode), and a READ DEVICE_ID request. All frames are constructed using the correct protocol and CRC-16 as per the BQ79616-Q1 datasheet. Despite these efforts, I receive no response from the slave, and no signal is observed on its TX line (pin 5 of J3), indicating that the slave is not transmitting back or is not processing the command frames.

I have confirmed that the commands are reaching the BQ microcontroller and i don't understand what might be blocking the slave from responding.

Could you please assist in confirming whether this setup is valid for standalone UART communication and if there are any specific requirements or internal configurations needed (e.g., pull-ups, jumper positions, startup sequences) to enable UART response from the BQ79616 in this use case?

Thank you in advance for your support.

Best regards,
Pedro Campos
Feup

  • Hi Pedro, 

    Waking the device by pulling the Rx line low should work, but if possible, check the current consumption of the device at VSTACK to see if there is a change in the draw before and after waking the device. Nonetheless, LED D1 staying on would indicate that the device is awake.

    Section 9.3.6.1.1.1 UART Physical Layer states that the device Rx must be pulled up to CVDD, which is why J1 should be left unpopulated.

    The device Tx (connected to the microcontroller Rx) will be pulled up on the STM32 side, this should be checked as well. 

    If available, confirm using a logic analyzer that the command frames being sent align with the UART communication frame description found at Section 9.3.6.1.1 Serial Interface. I believe this is likely where the problem lies. 

    Thank you for your question, 

    Pranav Ananthan