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: After EVM Board is waken up, it is not responding to the UART commands

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

Tool/software:

Hi,

After a wake up sequence of holding Rx line low for 2.5 ms, I observe board is not communicating. 

Implementation details:

I implemented it as AUTOSAR CDD. 

I configured the UART Tx pin of microcontroller as GPIO and enabled to change the mode during the run time

First cycle of 10ms Task, Used Dio_WriteChannel to pull the pin to LOW and High with delay of 2.5ms between them.

Second cycle of 10ms Task i.e., After wakeup pattern, CONTROL1 register is configured with value 0x10 {0xD0, 0x03, 0x09, 0x10, 0xCF, 0x78} -->  SEND_SLPTOACT

Third cycle of 10ms Task, Autoaddressing is done with the following set of commands. with 197*2 microseconds delay between each commands

uint8 step1_1[6] = {0xD0, 0x03, 0x43, 0x00, 0xF9, 0xD4}; //step 1 Dummy broadcast write OTP_ECC_DATAIN1 to sync the DLL
uint8 step1_2[6] = {0xD0, 0x03, 0x44, 0x00, 0xFB, 0xE4}; //step 1 Dummy broadcast write OTP_ECC_DATAIN2 to sync the DLL
uint8 step1_3[6] = {0xD0, 0x03, 0x45, 0x00, 0xFA, 0x74}; //step 1 Dummy broadcast write OTP_ECC_DATAIN3 to sync the DLL
uint8 step1_4[6] = {0xD0, 0x03, 0x46, 0x00, 0xFA, 0x84}; //step 1 Dummy broadcast write OTP_ECC_DATAIN4 to sync the DLL
uint8 step1_5[6] = {0xD0, 0x03, 0x47, 0x00, 0xFB, 0x14}; //step 1 Dummy broadcast write OTP_ECC_DATAIN5 to sync the DLL
uint8 step1_6[6] = {0xD0, 0x03, 0x48, 0x00, 0xFE, 0xE4}; //step 1 Dummy broadcast write OTP_ECC_DATAIN6 to sync the DLL
uint8 step1_7[6] = {0xD0, 0x03, 0x49, 0x00, 0xFF, 0x74}; //step 1 Dummy broadcast write OTP_ECC_DATAIN7 to sync the DLL
uint8 step1_8[6] = {0xD0, 0x03, 0x4A, 0x00, 0xFF, 0x84}; //step 1 Dummy broadcast write OTP_ECC_DATAIN8 to sync the DLL
uint8 step1_9[6] = {0xD0, 0x03, 0x4B, 0x00, 0xFE, 0x14}; //step 1 Dummy broadcast write OTP_ECC_DATAIN9 to sync the DLL
uint8 step2[6] = {0xD0, 0x03, 0x4C, 0x00, 0xFC, 0x24}; //step 1 Dummy broadcast write OTP_ECC_TEST to sync the DLL
uint8 step3[6] = {0xD0, 0x03, 0x09, 0x01, 0x0F, 0x74}; //step 2 Enable auto addressing mode by broadcast writing CONTROL1=0x01
uint8 step4[6] = {0xD0, 0x03, 0x06, 0x00, 0xCB, 0x44}; //step 3 Loop through the total number of boards setting the DIR0_ADDR of each board.(We only have single device connected)
uint8 step5[6] = {0xD0, 0x03, 0x08, 0x02, 0x4E, 0xE5}; //step 4 Broadcast write everything as a stack device first
uint8 step6[7] = {0x90, 0x00, 0x03, 0x08, 0x01, 0xD2, 0x1D}; //step 5 Totalboard = 1, Hence set device as base and top of stack (COMM_CTRL=0x01)
uint8 step7[6] = {0xC0, 0x03, 0x43, 0x00, 0xFD, 0x14}; //step 6 Dummy broadcast read to sync the DLL.

For step7 command, there is no response from BQ79616.

I configured UART with baud rate 0f 115200, 8bits and 1 stop bit. Micrcontroller  kit TC387. Level shifter is also used to step up the pin level to 5v

P0, P2  --> WakeUp Timing
P1 -->  Time between two Wakeups
P3 --> Time between 2nd Wakeup and Uart command CONTROL1 = 0x10

Kindly guide me if I am missing anything here. Still my request to access secure resources for BQ7961X-AUTOSAR-CDD is in pending state.

Thank you.
Sivakumar