TJA1145 Cannot Enter Sleep mode

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

TJA1145 Cannot Enter Sleep mode

Jump to solution
1,620 Views
Jason88619
Contributor II

I am using the Example_SW_TJA1145 program.When I use the ChangeToSleepOperation function of the example program to enter Sleep mode, I debug and find that a PO event occurs.Whenever I try to enter Sleep mode I get blocked by the PO event。

Why does this happen and how can I solve it?

image.png

0 Kudos
Reply
1 Solution
1,575 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi,

Perhaps the Sleep mode entering is protected due to wake-up event is not enabled and/or pending events are not cleared. For more information, please see chapters 3.2.4 and 5.3.2 of the AH1903 (Secure file under NDA).

Screenshot 2025-04-24 093415.png

Screenshot 2025-04-24 093624.png

BRs, Tomas

View solution in original post

0 Kudos
Reply
2 Replies
1,576 Views
TomasVaverka
NXP TechSupport
NXP TechSupport

Hi,

Perhaps the Sleep mode entering is protected due to wake-up event is not enabled and/or pending events are not cleared. For more information, please see chapters 3.2.4 and 5.3.2 of the AH1903 (Secure file under NDA).

Screenshot 2025-04-24 093415.png

Screenshot 2025-04-24 093624.png

BRs, Tomas

0 Kudos
Reply
1,597 Views
Jason88619
Contributor II

Below is my SPI_Send program. Is there something wrong with this program?

NXP_UJA11XX_Error_Code_t SPI_Send(Byte* data, NXP_UJA11XX_SPI_Msg_Length_t length, Byte mask, NXP_UJA11XX_Access_t type) {

	Byte Txdata[2] = {0};
	Byte Rxdata[2] = {0};

	Byte ConfirmTxdata[2] = {0};
	Byte ConfirmRxdata[2] = {0};

	uint16_t sendlen = 0;
	uint32_t timeout = 1000000;

	Txdata[0] = data[0];//发送或读取的地址
	ConfirmTxdata[0] = data[0] | NXP_UJA11XX_READ;

	if(NXP_UJA11XX_SPI_MSG_LENGTH_16 == length)
	{
		sendlen = 2;//要发送的Byte的数量
		switch(type)
		{
			case NXP_UJA11XX_WRITE:
			{
				Txdata[1] = data[1];//发送的数据
				SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址和数据
			}
			break;
			case NXP_UJA11XX_READ:
			{
				SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址读取数据
			}
			break;
			case NXP_UJA11XX_INTERRUPT:
			{
				SPI3_Send(Txdata, Rxdata, sendlen, timeout);//发送地址读取数据
			}
			break;
			default:
				return NXP_UJA11XX_ERROR_SPI_HW_FAIL;

		}
		//对读取或写入的数据进行验证
		switch(type)
		{
			case NXP_UJA11XX_WRITE:
			{
				SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//读取写入的数据
				if(ConfirmRxdata[1] == data[1])//读取和写入数据一致
				{
					return NXP_UJA11XX_SUCCESS;
				}
				else if( (ConfirmRxdata[0] == 0x00 && ConfirmRxdata[1] == 0x00)||
						 (ConfirmRxdata[0] == 0xFF && ConfirmRxdata[1] == 0xff) )
				{
					return NXP_UJA11XX_ERROR_SPI_HW_FAIL;
				}
				else
				{
					return NXP_UJA11XX_ERROR_WRITE_FAIL;
				}
			}
			break;
			case NXP_UJA11XX_READ:
			{
				SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//再次读取数据
				if(ConfirmRxdata[1] == Rxdata[1])//两次读取的数据相同
				{
					data[1] = Rxdata[1];//传回读取到的数据
					return NXP_UJA11XX_SUCCESS;
				}
				else
				{
					return NXP_UJA11XX_ERROR_READ_FAIL;
				}
			}
			break;
			case NXP_UJA11XX_INTERRUPT:
			{
				SPI3_Send(ConfirmTxdata, ConfirmRxdata, sendlen, timeout);//再次读取数据
				if( (Rxdata[1] & mask) != 0 )
				{
					return NXP_UJA11XX_ERROR_WRITE_FAIL;
				}
			}
			break;
			default:
				return NXP_UJA11XX_ERROR_SPI_HW_FAIL;

		}
	}
	else//消息长度不为16bit
	{

	}
	return NXP_UJA11XX_SUCCESS;
}
0 Kudos
Reply
%3CLINGO-SUB%20id%3D%22lingo-sub-2174618%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ETJA1145%20Cannot%20Enter%20Sleep%20mode%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2174618%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EI%20am%20using%20the%20Example_SW_TJA1145%20program.When%20I%20use%20the%20ChangeToSleepOperation%20function%20of%20the%20example%20program%20to%20enter%20Sleep%20mode%2C%20I%20debug%20and%20find%20that%20a%20PO%20event%20occurs.%3CSPAN%3EWhenever%20I%20try%20to%20enter%20Sleep%20mode%20I%20get%20blocked%20by%20the%20PO%20event%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3EWhy%20%3C%2FSPAN%3E%3CSPAN%3Edoes%3C%2FSPAN%3E%3CSPAN%3E%20this%20happen%20and%20how%20can%20I%20solve%20it%3C%2FSPAN%3E%3CSPAN%3E%3F%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22image.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22image.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F358227i330BE3C09C988465%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22image.png%22%20alt%3D%22image.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2174802%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20TJA1145%20Cannot%20Enter%20Sleep%20mode%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2174802%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EPerhaps%20the%20Sleep%20mode%20entering%20is%20protected%20due%20to%20wake-up%20event%20is%20not%20enabled%20and%2For%20pending%20events%20are%20not%20cleared.%20For%20more%20information%2C%20please%20see%20chapters%203.2.4%20and%205.3.2%20of%20the%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fwebapp%2Fsd%2Fcollateral%2F1627458176111720530943%3Fversion%3D0.2%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3EAH1903%3C%2FA%3E%3CSPAN%3E%26nbsp%3B(Secure%20file%20under%20NDA).%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Screenshot%202025-04-24%20093415.png%22%20style%3D%22width%3A%20589px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202025-04-24%20093415.png%22%20style%3D%22width%3A%20589px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F358276iB9852C2A904AAB08%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Screenshot%202025-04-24%20093415.png%22%20alt%3D%22Screenshot%202025-04-24%20093415.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22Screenshot%202025-04-24%20093624.png%22%20style%3D%22width%3A%20657px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22Screenshot%202025-04-24%20093624.png%22%20style%3D%22width%3A%20657px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F358277i96D60CDB4165951D%2Fimage-size%2Flarge%3Fv%3Dv2%26amp%3Bpx%3D999%22%20role%3D%22button%22%20title%3D%22Screenshot%202025-04-24%20093624.png%22%20alt%3D%22Screenshot%202025-04-24%20093624.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EBRs%2C%20Tomas%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2174632%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20TJA1145%20Cannot%20Enter%20Sleep%20mode%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2174632%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EBelow%20is%20my%20SPI_Send%20program.%20Is%20there%20something%20wrong%20with%20this%20program%3F%3C%2FP%3E%3CPRE%3ENXP_UJA11XX_Error_Code_t%20SPI_Send(Byte*%20data%2C%20NXP_UJA11XX_SPI_Msg_Length_t%20length%2C%20Byte%20mask%2C%20NXP_UJA11XX_Access_t%20type)%20%7B%0A%0A%09Byte%20Txdata%5B2%5D%20%3D%20%7B0%7D%3B%0A%09Byte%20Rxdata%5B2%5D%20%3D%20%7B0%7D%3B%0A%0A%09Byte%20ConfirmTxdata%5B2%5D%20%3D%20%7B0%7D%3B%0A%09Byte%20ConfirmRxdata%5B2%5D%20%3D%20%7B0%7D%3B%0A%0A%09uint16_t%20sendlen%20%3D%200%3B%0A%09uint32_t%20timeout%20%3D%201000000%3B%0A%0A%09Txdata%5B0%5D%20%3D%20data%5B0%5D%3B%2F%2F%E5%8F%91%E9%80%81%E6%88%96%E8%AF%BB%E5%8F%96%E7%9A%84%E5%9C%B0%E5%9D%80%0A%09ConfirmTxdata%5B0%5D%20%3D%20data%5B0%5D%20%7C%20NXP_UJA11XX_READ%3B%0A%0A%09if(NXP_UJA11XX_SPI_MSG_LENGTH_16%20%3D%3D%20length)%0A%09%7B%0A%09%09sendlen%20%3D%202%3B%2F%2F%E8%A6%81%E5%8F%91%E9%80%81%E7%9A%84Byte%E7%9A%84%E6%95%B0%E9%87%8F%0A%09%09switch(type)%0A%09%09%7B%0A%09%09%09case%20NXP_UJA11XX_WRITE%3A%0A%09%09%09%7B%0A%09%09%09%09Txdata%5B1%5D%20%3D%20data%5B1%5D%3B%2F%2F%E5%8F%91%E9%80%81%E7%9A%84%E6%95%B0%E6%8D%AE%0A%09%09%09%09SPI3_Send(Txdata%2C%20Rxdata%2C%20sendlen%2C%20timeout)%3B%2F%2F%E5%8F%91%E9%80%81%E5%9C%B0%E5%9D%80%E5%92%8C%E6%95%B0%E6%8D%AE%0A%09%09%09%7D%0A%09%09%09break%3B%0A%09%09%09case%20NXP_UJA11XX_READ%3A%0A%09%09%09%7B%0A%09%09%09%09SPI3_Send(Txdata%2C%20Rxdata%2C%20sendlen%2C%20timeout)%3B%2F%2F%E5%8F%91%E9%80%81%E5%9C%B0%E5%9D%80%E8%AF%BB%E5%8F%96%E6%95%B0%E6%8D%AE%0A%09%09%09%7D%0A%09%09%09break%3B%0A%09%09%09case%20NXP_UJA11XX_INTERRUPT%3A%0A%09%09%09%7B%0A%09%09%09%09SPI3_Send(Txdata%2C%20Rxdata%2C%20sendlen%2C%20timeout)%3B%2F%2F%E5%8F%91%E9%80%81%E5%9C%B0%E5%9D%80%E8%AF%BB%E5%8F%96%E6%95%B0%E6%8D%AE%0A%09%09%09%7D%0A%09%09%09break%3B%0A%09%09%09default%3A%0A%09%09%09%09return%20NXP_UJA11XX_ERROR_SPI_HW_FAIL%3B%0A%0A%09%09%7D%0A%09%09%2F%2F%E5%AF%B9%E8%AF%BB%E5%8F%96%E6%88%96%E5%86%99%E5%85%A5%E7%9A%84%E6%95%B0%E6%8D%AE%E8%BF%9B%E8%A1%8C%E9%AA%8C%E8%AF%81%0A%09%09switch(type)%0A%09%09%7B%0A%09%09%09case%20NXP_UJA11XX_WRITE%3A%0A%09%09%09%7B%0A%09%09%09%09SPI3_Send(ConfirmTxdata%2C%20ConfirmRxdata%2C%20sendlen%2C%20timeout)%3B%2F%2F%E8%AF%BB%E5%8F%96%E5%86%99%E5%85%A5%E7%9A%84%E6%95%B0%E6%8D%AE%0A%09%09%09%09if(ConfirmRxdata%5B1%5D%20%3D%3D%20data%5B1%5D)%2F%2F%E8%AF%BB%E5%8F%96%E5%92%8C%E5%86%99%E5%85%A5%E6%95%B0%E6%8D%AE%E4%B8%80%E8%87%B4%0A%09%09%09%09%7B%0A%09%09%09%09%09return%20NXP_UJA11XX_SUCCESS%3B%0A%09%09%09%09%7D%0A%09%09%09%09else%20if(%20(ConfirmRxdata%5B0%5D%20%3D%3D%200x00%20%26amp%3B%26amp%3B%20ConfirmRxdata%5B1%5D%20%3D%3D%200x00)%7C%7C%0A%09%09%09%09%09%09%20(ConfirmRxdata%5B0%5D%20%3D%3D%200xFF%20%26amp%3B%26amp%3B%20ConfirmRxdata%5B1%5D%20%3D%3D%200xff)%20)%0A%09%09%09%09%7B%0A%09%09%09%09%09return%20NXP_UJA11XX_ERROR_SPI_HW_FAIL%3B%0A%09%09%09%09%7D%0A%09%09%09%09else%0A%09%09%09%09%7B%0A%09%09%09%09%09return%20NXP_UJA11XX_ERROR_WRITE_FAIL%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%09break%3B%0A%09%09%09case%20NXP_UJA11XX_READ%3A%0A%09%09%09%7B%0A%09%09%09%09SPI3_Send(ConfirmTxdata%2C%20ConfirmRxdata%2C%20sendlen%2C%20timeout)%3B%2F%2F%E5%86%8D%E6%AC%A1%E8%AF%BB%E5%8F%96%E6%95%B0%E6%8D%AE%0A%09%09%09%09if(ConfirmRxdata%5B1%5D%20%3D%3D%20Rxdata%5B1%5D)%2F%2F%E4%B8%A4%E6%AC%A1%E8%AF%BB%E5%8F%96%E7%9A%84%E6%95%B0%E6%8D%AE%E7%9B%B8%E5%90%8C%0A%09%09%09%09%7B%0A%09%09%09%09%09data%5B1%5D%20%3D%20Rxdata%5B1%5D%3B%2F%2F%E4%BC%A0%E5%9B%9E%E8%AF%BB%E5%8F%96%E5%88%B0%E7%9A%84%E6%95%B0%E6%8D%AE%0A%09%09%09%09%09return%20NXP_UJA11XX_SUCCESS%3B%0A%09%09%09%09%7D%0A%09%09%09%09else%0A%09%09%09%09%7B%0A%09%09%09%09%09return%20NXP_UJA11XX_ERROR_READ_FAIL%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%09break%3B%0A%09%09%09case%20NXP_UJA11XX_INTERRUPT%3A%0A%09%09%09%7B%0A%09%09%09%09SPI3_Send(ConfirmTxdata%2C%20ConfirmRxdata%2C%20sendlen%2C%20timeout)%3B%2F%2F%E5%86%8D%E6%AC%A1%E8%AF%BB%E5%8F%96%E6%95%B0%E6%8D%AE%0A%09%09%09%09if(%20(Rxdata%5B1%5D%20%26amp%3B%20mask)%20!%3D%200%20)%0A%09%09%09%09%7B%0A%09%09%09%09%09return%20NXP_UJA11XX_ERROR_WRITE_FAIL%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%0A%09%09%09break%3B%0A%09%09%09default%3A%0A%09%09%09%09return%20NXP_UJA11XX_ERROR_SPI_HW_FAIL%3B%0A%0A%09%09%7D%0A%09%7D%0A%09else%2F%2F%E6%B6%88%E6%81%AF%E9%95%BF%E5%BA%A6%E4%B8%8D%E4%B8%BA16bit%0A%09%7B%0A%0A%09%7D%0A%09return%20NXP_UJA11XX_SUCCESS%3B%0A%7D%3C%2FPRE%3E%3C%2FLINGO-BODY%3E