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: