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.

TMS570LS3137-EP: EMAC Packet Length Query

Part Number: TMS570LS3137-EP


In the Receive Buffer Descriptor, there is a field provided for Packet length, as per section 29.2.6.5.5 of the TRM. How is this field updated during reception, especially during the reception of fragmented packets?

For eg, if I'm receiving data of size 4000 bytes, it will be in 3 different frame of sizes 1500, 1500 and 1000, and it will be received in three different descriptors. How does the Packet Length field of the first descriptor gets updated as 4000?

  • Hi Rishi,

    The ethernet  standard limits the size of an ether frame to 1514 bytes (14 bytes header plus 1500 bytes data). The sender transmits 4000 bytes in several packets rather than just 1 packet. The packet length field of the first descriptor is 1500.

  • Hello QJ,

    Thank you for your response. As you said, the sender will transmit 4000 bytes in several packets. Assuming that the sender sends the data in 3 packets of size 1500, 1500 and 1000, the packet length of the first Receive descriptor is set to 1500, as you have mentioned. Also, the buffer length field of the first Receive descriptor is set to 1500, as per my understanding from the TRM. Now how does the EMAC peripheral on the Receive side know that it is receiving fragmented data? How will the SOP and EOP bits be set?

  • Hello QJ,

    As per section 29.2.6.5.5 of the TRM, this 16-bit field specifies the number of data bytes in the entire packet, which might or might not have fragmented frames. So, the packet length field of the first descriptor is not always the buffer length. Please clarify the working of this field.