Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
OceanLake
Level 1
Level 1
10 replies posted 10 sign-ins 5 replies posted

Dear All,

Among the thousands of products in the past, there was only one problematic product. The phenomenon was that the CAN module could not receive 0x3080 extended frames, such as 0x4080 frames, 0x3FF frames, 0x4F03 frames, and 0x4F04 frames, all of which could be received normally. I tested the CAN transceiver and it was able to transmit data. I am not sure what caused it, but was it because I placed the standard frame in the middle of the extended frame during initialization that caused it? So why do so many products only one have this issue.

The filter registers for configuring CAN in my project are as follows:

/******************************
* CAN_1 RX
*****************************/
/*15*/
{
1, /*logic controller*/
0x4080, /*CAN ID*/
CAN_MB_RX_MASK|CAN_MB_FULL_MASK, /*hohType bit0:0-receive,1-transmit;bit1:0-basic ,1-full*/
0x1ffffffful, /*value of Rx Individual Mask Registers*/
0 /* 0-CAN, else CANFD */
},
/*16*/
{
1, /*logic controller*/
0x3FF, /*CAN ID*/
CAN_MB_RX_MASK|CAN_MB_FULL_MASK, /*hohType bit0:0-receive,1-transmit;bit1:0-basic ,1-full*/
0x1ffffffful, /*value of Rx Individual Mask Registers*/
#ifdef XCPCANFD
1 /* 0-CAN, else CANFD */
#else
0
#endif
},

/*17*/
{
1, /*logic controller*/
0x3080, /*CAN ID*/
CAN_MB_RX_MASK|CAN_MB_FULL_MASK, /*hohType bit0:0-receive,1-transmit;bit1:0-basic ,1-full*/
0x1ffffffful, /*value of Rx Individual Mask Registers*/
0 /* 0-CAN, else CANFD */
},
/*18*/
{
1, /*logic controller*/
0x4F03, /*CAN ID*/
CAN_MB_RX_MASK|CAN_MB_FULL_MASK, /*hohType bit0:0-receive,1-transmit;bit1:0-basic ,1-full*/
0x1ffffffful, /*value of Rx Individual Mask Registers*/
0 /* 0-CAN, else CANFD */
},
/*19*/
{
1, /*logic controller*/
0x4F04, /*CAN ID*/
CAN_MB_RX_MASK|CAN_MB_FULL_MASK, /*hohType bit0:0-receive,1-transmit;bit1:0-basic ,1-full*/
0x1ffffffful, /*value of Rx Individual Mask Registers*/
0 /* 0-CAN, else CANFD */
},

BR,

OceanLake.

 

0 Likes
1 Solution
Jeremy_Z
Moderator
Moderator
Moderator
250 sign-ins 100 likes received 750 replies posted

Hi @OceanLake 
Thanks for your reply, I guess the issue is related to hardware, did you ever use the oscilloscope or logic analyzer to compare the incoming CAN frame to the 'error' board and normal board, especially for 0x3080 extended frame?
BR,
Jeremy

View solution in original post

0 Likes
3 Replies
Jeremy_Z
Moderator
Moderator
Moderator
250 sign-ins 100 likes received 750 replies posted

Hi @OceanLake 
Before sharing some suggestions, I'd like to confirm something with you.
Firstly, is it a common issue inside all products? Next, can you replicate the issue on the Triboard?
BR,
Jeremy

0 Likes

Hi @Jeremy 

This issue currently only occurs on one product and is not a common issue, and cannot be replicated on other products.

BR,

OceanLake

0 Likes
Jeremy_Z
Moderator
Moderator
Moderator
250 sign-ins 100 likes received 750 replies posted

Hi @OceanLake 
Thanks for your reply, I guess the issue is related to hardware, did you ever use the oscilloscope or logic analyzer to compare the incoming CAN frame to the 'error' board and normal board, especially for 0x3080 extended frame?
BR,
Jeremy

0 Likes