MC33771c TPL communication

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MC33771c TPL communication

943 Views
Miral
Contributor I

The communication works correctly with the MC33771B using a specific implementation and BCC library. I can successfully send commands and receive valid response frames.

However, when I use the same communication code and only replace the BCC library/configuration for the MC33771C, I receive only the echo frame and no valid response from the device.

The SPI/TPL timing, frame format, and hardware connections remain the same. The wake-up sequence and INIT sequence are also implemented.

Has anyone experienced this issue with MC33771C?


bcc_status_t BCC_MCU_TransferTpl(uint8_t drvInstance, uint8_t transBuf[], uint8_t recvBuf[], uint16_t recvTrCnt)

{

uint16_t recvSize;

if(recvTrCnt > 0)

recvSize = (recvTrCnt - 1) * 6U;

else recvSize = 6U;

HAL_SPI_DeInit(&hspi2);

HAL_Delay(2);

HAL_SPI_Init(&hspi2);

memset(recvBuf, 0, sizeof(&recvBuf));

HAL_GPIO_WritePin(CS_TX_GPIO_Port, CS_TX_Pin, GPIO_PIN_RESET); HAL_SPI_Receive_IT(&hspi2, recvBuf, 6);

rxflag = 0;

if(HAL_SPI_Transmit_IT(&hspi1, transBuf, 6) != HAL_OK)

{ HAL_GPIO_WritePin(CS_TX_GPIO_Port, CS_TX_Pin, GPIO_PIN_SET);

return BCC_STATUS_PARAM_RANGE;

}

BCC_MCU_WaitUs(5);

if(spi2_rx_done == 1)

{

HAL_SPI_Receive_IT(&hspi2, recvBuf, recvSize);

spi2_rx_done = 0;

}

HAL_GPIO_WritePin(CS_TX_GPIO_Port, CS_TX_Pin, GPIO_PIN_SET);

return BCC_STATUS_SUCCESS;

}

int MC33771_Init(void)

{

HAL_GPIO_WritePin(EN_GPIO_Port, EN_Pin, GPIO_PIN_RESET);

HAL_Delay(1);

HAL_GPIO_WritePin(EN_GPIO_Port, EN_Pin, GPIO_PIN_SET);

HAL_Delay(10);

g_bccConfig.drvInstance = 0;

g_bccConfig.commMode = BCC_MODE_TPL;

g_bccConfig.devicesCnt = 1;

g_bccConfig.device[0] = BCC_DEVICE_MC33771C;

g_bccConfig.cellCnt[0] = 14;

status = BCC_Init(&g_bccConfig);

if(status != BCC_STATUS_SUCCESS)

{

return (int)status;

}

}

void HAL_SPI_RxCpltCallback(SPI_HandleTypeDef *hspi)

{

if(hspi->Instance == SPI2)

spi2_rx_done = 1;

}

static void MX_SPI1_Init(void)

{

hspi1.Instance = SPI1;

hspi1.Init.Mode = SPI_MODE_MASTER;

hspi1.Init.Direction = SPI_DIRECTION_2LINES;

hspi1.Init.DataSize = SPI_DATASIZE_8BIT;

hspi1.Init.CLKPolarity = SPI_POLARITY_LOW;

hspi1.Init.CLKPhase = SPI_PHASE_2EDGE;

hspi1.Init.NSS = SPI_NSS_SOFT;

hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8;

hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB;

hspi1.Init.TIMode = SPI_TIMODE_DISABLE;

hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;

hspi1.Init.NSSPMode = SPI_NSS_PULSE_ENABLE;

if(HAL_SPI_Init(&hspi1) != HAL_OK)

{

Error_Handler();

}

}

static void MX_SPI2_Init(void)

{

hspi2.Instance = SPI2;

hspi2.Init.Mode = SPI_MODE_SLAVE;

hspi2.Init.Direction = SPI_DIRECTION_2LINES_RXONLY;

hspi2.Init.DataSize = SPI_DATASIZE_8BIT;

hspi2.Init.CLKPolarity = SPI_POLARITY_LOW;

hspi2.Init.CLKPhase = SPI_PHASE_2EDGE;

hspi2.Init.NSS = SPI_NSS_HARD_INPUT;

hspi2.Init.FirstBit = SPI_FIRSTBIT_MSB;

hspi2.Init.TIMode = SPI_TIMODE_DISABLE;

hspi2.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE;

hspi2.Init.NSSPMode = SPI_NSS_PULSE_DISABLE;

if(HAL_SPI_Init(&hspi2) != HAL_OK)

{

Error_Handler();

}

}

Labels (1)
0 Kudos
Reply
3 Replies

895 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Dear Miral,

I need to contact Software engineer for your issue. Please share following information about your project. They always require the information. 

Customer: AARTRONIX INNOVATIONS

End Customer: ? (can be also AARTRONIX INNOVATIONS)

End Application: ?

Country: India

Annual Volume: ?

With Best Regards,

Jozef

0 Kudos
Reply

891 Views
Miral
Contributor I

Customer: AARTRONIX INNOVATIONS

End Customer: AAROHI EMBEDDED SYSTEM PVT LTD 

End Application: UPS Battery backup

Country: India

Annual Volume:1000

0 Kudos
Reply

779 Views
JozefKozon
NXP TechSupport
NXP TechSupport

Dear Miral,

please see below an answer from the application engineer. Please share a scope as requested.

DESCRIPTION

It would really help if the customer could get a scope trace or Saleae output of the transmissions to really see what is going on.  Note that the MC33771B is TPL1 (40-bit) and MC33771C is TPL2 (48-bit).  Also, the customer can reference the MC33771C SDK attached.

With Best Regards,

Jozef

0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2369103%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EMC33771c%20TPL%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2369103%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EThe%20communication%20works%20correctly%20with%20the%20MC33771B%20using%20a%20specific%20implementation%20and%20BCC%20library.%20I%20can%20successfully%20send%20commands%20and%20receive%20valid%20response%20frames.%3C%2FP%3E%3CP%3EHowever%2C%20when%20I%20use%20the%20same%20communication%20code%20and%20only%20replace%20the%20BCC%20library%2Fconfiguration%20for%20the%20MC33771C%2C%20I%20receive%20only%20the%20echo%20frame%20and%20no%20valid%20response%20from%20the%20device.%3C%2FP%3E%3CP%3EThe%20SPI%2FTPL%20timing%2C%20frame%20format%2C%20and%20hardware%20connections%20remain%20the%20same.%20The%20wake-up%20sequence%20and%20INIT%20sequence%20are%20also%20implemented.%3C%2FP%3E%3CP%3EHas%20anyone%20experienced%20this%20issue%20with%20MC33771C%3F%3C%2FP%3E%3CP%3E%3CBR%20%2F%3Ebcc_status_t%20BCC_MCU_TransferTpl(uint8_t%20drvInstance%2C%20uint8_t%20transBuf%5B%5D%2C%20uint8_t%20recvBuf%5B%5D%2C%20uint16_t%20recvTrCnt)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3Euint16_t%20recvSize%3B%3C%2FP%3E%3CP%3Eif(recvTrCnt%20%26gt%3B%200)%3C%2FP%3E%3CP%3ErecvSize%20%3D%20(recvTrCnt%20-%201)%20*%206U%3B%3C%2FP%3E%3CP%3Eelse%20recvSize%20%3D%206U%3B%3C%2FP%3E%3CP%3EHAL_SPI_DeInit(%26amp%3Bhspi2)%3B%3C%2FP%3E%3CP%3EHAL_Delay(2)%3B%3C%2FP%3E%3CP%3EHAL_SPI_Init(%26amp%3Bhspi2)%3B%3C%2FP%3E%3CP%3Ememset(recvBuf%2C%200%2C%20sizeof(%26amp%3BrecvBuf))%3B%3C%2FP%3E%3CP%3EHAL_GPIO_WritePin(CS_TX_GPIO_Port%2C%20CS_TX_Pin%2C%20GPIO_PIN_RESET)%3B%20HAL_SPI_Receive_IT(%26amp%3Bhspi2%2C%20recvBuf%2C%206)%3B%3C%2FP%3E%3CP%3Erxflag%20%3D%200%3B%3C%2FP%3E%3CP%3Eif(HAL_SPI_Transmit_IT(%26amp%3Bhspi1%2C%20transBuf%2C%206)%20!%3D%20HAL_OK)%3C%2FP%3E%3CP%3E%7B%20HAL_GPIO_WritePin(CS_TX_GPIO_Port%2C%20CS_TX_Pin%2C%20GPIO_PIN_SET)%3B%3C%2FP%3E%3CP%3Ereturn%20BCC_STATUS_PARAM_RANGE%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3EBCC_MCU_WaitUs(5)%3B%3C%2FP%3E%3CP%3Eif(spi2_rx_done%20%3D%3D%201)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3EHAL_SPI_Receive_IT(%26amp%3Bhspi2%2C%20recvBuf%2C%20recvSize)%3B%3C%2FP%3E%3CP%3Espi2_rx_done%20%3D%200%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3EHAL_GPIO_WritePin(CS_TX_GPIO_Port%2C%20CS_TX_Pin%2C%20GPIO_PIN_SET)%3B%3C%2FP%3E%3CP%3Ereturn%20BCC_STATUS_SUCCESS%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3Eint%20MC33771_Init(void)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3EHAL_GPIO_WritePin(EN_GPIO_Port%2C%20EN_Pin%2C%20GPIO_PIN_RESET)%3B%3C%2FP%3E%3CP%3EHAL_Delay(1)%3B%3C%2FP%3E%3CP%3EHAL_GPIO_WritePin(EN_GPIO_Port%2C%20EN_Pin%2C%20GPIO_PIN_SET)%3B%3C%2FP%3E%3CP%3EHAL_Delay(10)%3B%3C%2FP%3E%3CP%3Eg_bccConfig.drvInstance%20%3D%200%3B%3C%2FP%3E%3CP%3Eg_bccConfig.commMode%20%3D%20BCC_MODE_TPL%3B%3C%2FP%3E%3CP%3Eg_bccConfig.devicesCnt%20%3D%201%3B%3C%2FP%3E%3CP%3Eg_bccConfig.device%3CSPAN%20class%3D%22%22%3E%5B0%5D%3C%2FSPAN%3E%20%3D%20BCC_DEVICE_MC33771C%3B%3C%2FP%3E%3CP%3Eg_bccConfig.cellCnt%3CSPAN%20class%3D%22%22%3E%5B0%5D%3C%2FSPAN%3E%20%3D%2014%3B%3C%2FP%3E%3CP%3Estatus%20%3D%20BCC_Init(%26amp%3Bg_bccConfig)%3B%3C%2FP%3E%3CP%3Eif(status%20!%3D%20BCC_STATUS_SUCCESS)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3Ereturn%20(int)status%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3Evoid%20HAL_SPI_RxCpltCallback(SPI_HandleTypeDef%20*hspi)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3Eif(hspi-%26gt%3BInstance%20%3D%3D%20SPI2)%3C%2FP%3E%3CP%3Espi2_rx_done%20%3D%201%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3Estatic%20void%20MX_SPI1_Init(void)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3Ehspi1.Instance%20%3D%20SPI1%3B%3C%2FP%3E%3CP%3Ehspi1.Init.Mode%20%3D%20SPI_MODE_MASTER%3B%3C%2FP%3E%3CP%3Ehspi1.Init.Direction%20%3D%20SPI_DIRECTION_2LINES%3B%3C%2FP%3E%3CP%3Ehspi1.Init.DataSize%20%3D%20SPI_DATASIZE_8BIT%3B%3C%2FP%3E%3CP%3Ehspi1.Init.CLKPolarity%20%3D%20SPI_POLARITY_LOW%3B%3C%2FP%3E%3CP%3Ehspi1.Init.CLKPhase%20%3D%20SPI_PHASE_2EDGE%3B%3C%2FP%3E%3CP%3Ehspi1.Init.NSS%20%3D%20SPI_NSS_SOFT%3B%3C%2FP%3E%3CP%3Ehspi1.Init.BaudRatePrescaler%20%3D%20SPI_BAUDRATEPRESCALER_8%3B%3C%2FP%3E%3CP%3Ehspi1.Init.FirstBit%20%3D%20SPI_FIRSTBIT_MSB%3B%3C%2FP%3E%3CP%3Ehspi1.Init.TIMode%20%3D%20SPI_TIMODE_DISABLE%3B%3C%2FP%3E%3CP%3Ehspi1.Init.CRCCalculation%20%3D%20SPI_CRCCALCULATION_DISABLE%3B%3C%2FP%3E%3CP%3Ehspi1.Init.NSSPMode%20%3D%20SPI_NSS_PULSE_ENABLE%3B%3C%2FP%3E%3CP%3Eif(HAL_SPI_Init(%26amp%3Bhspi1)%20!%3D%20HAL_OK)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3EError_Handler()%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3Estatic%20void%20MX_SPI2_Init(void)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3Ehspi2.Instance%20%3D%20SPI2%3B%3C%2FP%3E%3CP%3Ehspi2.Init.Mode%20%3D%20SPI_MODE_SLAVE%3B%3C%2FP%3E%3CP%3Ehspi2.Init.Direction%20%3D%20SPI_DIRECTION_2LINES_RXONLY%3B%3C%2FP%3E%3CP%3Ehspi2.Init.DataSize%20%3D%20SPI_DATASIZE_8BIT%3B%3C%2FP%3E%3CP%3Ehspi2.Init.CLKPolarity%20%3D%20SPI_POLARITY_LOW%3B%3C%2FP%3E%3CP%3Ehspi2.Init.CLKPhase%20%3D%20SPI_PHASE_2EDGE%3B%3C%2FP%3E%3CP%3Ehspi2.Init.NSS%20%3D%20SPI_NSS_HARD_INPUT%3B%3C%2FP%3E%3CP%3Ehspi2.Init.FirstBit%20%3D%20SPI_FIRSTBIT_MSB%3B%3C%2FP%3E%3CP%3Ehspi2.Init.TIMode%20%3D%20SPI_TIMODE_DISABLE%3B%3C%2FP%3E%3CP%3Ehspi2.Init.CRCCalculation%20%3D%20SPI_CRCCALCULATION_DISABLE%3B%3C%2FP%3E%3CP%3Ehspi2.Init.NSSPMode%20%3D%20SPI_NSS_PULSE_DISABLE%3B%3C%2FP%3E%3CP%3Eif(HAL_SPI_Init(%26amp%3Bhspi2)%20!%3D%20HAL_OK)%3C%2FP%3E%3CP%3E%7B%3C%2FP%3E%3CP%3EError_Handler()%3B%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3CP%3E%7D%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2369103%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3EBoard%20Design%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2370557%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MC33771c%20TPL%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2370557%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EDear%20Miral%2C%3C%2FP%3E%0A%3CP%3Eplease%20see%20below%20an%20answer%20from%20the%20application%20engineer.%20Please%20share%20a%20scope%20as%20requested.%3C%2FP%3E%0A%3CP%3EDESCRIPTION%3C%2FP%3E%0A%3CP%3E%3CFONT%20color%3D%22%230000FF%22%3E%3CSPAN%3EIt%20would%20really%20help%20if%20the%20customer%20could%20get%20a%20scope%20trace%20or%20Saleae%20output%20of%20the%20transmissions%20to%20really%20see%20what%20is%20going%20on.%26nbsp%3B%20Note%20that%20the%20MC33771B%20is%20TPL1%20(40-bit)%20and%20MC33771C%20is%20TPL2%20(48-bit).%26nbsp%3B%20Also%2C%20the%20customer%20can%20reference%20the%20MC33771C%20SDK%20attached.%3C%2FSPAN%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3EWith%20Best%20Regards%2C%3C%2FP%3E%0A%3CP%3EJozef%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2369482%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MC33771c%20TPL%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2369482%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CSPAN%3ECustomer%3A%20AARTRONIX%20INNOVATIONS%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EEnd%20Customer%3A%20AAROHI%20EMBEDDED%20SYSTEM%20PVT%20LTD%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EEnd%20Application%3A%20UPS%20Battery%20backup%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ECountry%3A%20India%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3EAnnual%20Volume%3A1000%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2369464%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MC33771c%20TPL%20communication%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2369464%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EDear%20Miral%2C%3C%2FP%3E%0A%3CP%3EI%20need%20to%20contact%20Software%20engineer%20for%20your%20issue.%20Please%20share%20following%20information%20about%20your%20project.%20They%20always%20require%20the%20information.%26nbsp%3B%3C%2FP%3E%0A%3CP%20class%3D%22x_elementToProof%22%3E%3CFONT%20color%3D%22%230000FF%22%3E%3CSPAN%20data-olk-copy-source%3D%22MessageBody%22%3ECustomer%3A%20AARTRONIX%20INNOVATIONS%3C%2FSPAN%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%20class%3D%22x_elementToProof%22%3E%3CFONT%20color%3D%22%230000FF%22%3E%3CSPAN%3EEnd%20Customer%3A%20%3F%20(can%20be%20also%20AARTRONIX%20INNOVATIONS)%3C%2FSPAN%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%20class%3D%22x_elementToProof%22%3E%3CFONT%20color%3D%22%230000FF%22%3E%3CSPAN%3EEnd%20Application%3A%20%3F%3C%2FSPAN%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%20class%3D%22x_elementToProof%22%3E%3CFONT%20color%3D%22%230000FF%22%3E%3CSPAN%3ECountry%3A%20India%3C%2FSPAN%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%20class%3D%22x_elementToProof%22%3E%3CFONT%20color%3D%22%230000FF%22%3E%3CSPAN%3EAnnual%20Volume%3A%20%3F%3C%2FSPAN%3E%3C%2FFONT%3E%3C%2FP%3E%0A%3CP%3EWith%20Best%20Regards%2C%3C%2FP%3E%0A%3CP%3EJozef%3C%2FP%3E%3C%2FLINGO-BODY%3E