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.

TMS570LC4357: Packet loss occurs during CAN continuous transmission

Part Number: TMS570LC4357

Dear team,

The customer uses the loopback function of can1 (send by mailbox 1 and receive by mailbox 2). There is no problem in normal sending and interrupted reception of can.

The customer wants to send 24 bytes(divided into 3 parts). Send 3 times with mailbox 1 of can1, with an intermediate delay of 100us

The current problem is that the data sent for the first time and the data sent for the third time can be interrupted and received, but the data for the second time cannot be interrupted, resulting in the loss of the data sent for the second time.

the data for the second time (send):

The customer tried to increase the interval between the three sets of data. When it was increased to 1ms, it was found that the data could be received, but there would still be packet loss. On average, 1 packet was lost every 4 times.

So the customer increased the interval between the three sets of data again, but when he increased it to 2ms, the data can be received normally, and there will be no packet loss, but one frame (that is, three sets of data) is sent Time reached about 4ms

Question:  how to reduce the transmission time of one frame of data (three sets of data) without packet loss. It is best to control the transmission time of three sets of data to about 1ms

PS: The development board has been tested with an external CAN transceiver (CAN1 sending, CAN2 receiving), and the transmission rate changed to 1M. The problems are exactly the same as the above description. The CAN configuration parameters are as follows:

  • The second message should be sent until the first message has transferred successfully. You can use TX interrupt to decide when to transfer the 2nd message. 

    Does the lost package generate interrupt in receiver side? The 3rd package might be overwritten by 4th package if it is not read out. Would you please use different message IDs for your 4 messages to check if all the messages are received.