Post Go back to editing

ADIN2111 communication between boards

Category: Hardware
Product Number: ADIN2111

Hi Team,

What will be the minimum possible  time taken to transmit a frame and receive back on the same board while communicating with another board?



Moved and updated form
[edited by: GenevaCooper at 1:36 PM (GMT -5) on 27 Nov 2023]

Thread Notes

Parents
  • Hi Chethan,

    The minimum time to transmit a frame and receive it back on the same board depends on factors like propagation delay of the ADIN2111 and the cable itself, processing delay of the MCU and the frame length. This all depends on what you want the system to do.

    1. MCU processing time/delay

    This is, the time that the MCU takes to receive the ethernet frame, the time that the MCU takes to process the frame, and the time that the MCU takes to send this frame back to the ADIN2111 via SPI. 

    If you just want to loop the frame back internally inside of the ADIN2111, this can be done through a loopback mode and then then MCU processing delay can be discarded as the frame will not need to go through the SPI to the MCU. But this is not a realistic use case and it is more used for debugging purposes.

    2. Cable length

    This delay is proportional to the length of the cable and cable characteristics. As an average you can use 5ns/m but in reality it does vary from cable to cable. Using this approximation, a cable with a length of 100m will add a total delay of approximately 500ns. Similarly, a 1000m cable will add a delay of 5us. 

    3. ADIN2111 latency

    Refer Table 2. 10BASE-T1L Specifications of the ADIN2111 datasheet for Port to Port latencies, also account for cable latency and latency of the other side.

    The table above, refers to the port 1 to port 2 (or vice versa) latency so it does not consider the case when the data is sent to the host MCU.

    4. Frame length

    When sending the frame to the MCU, there are a few options that have an effect on the latency. As data can be sent in chunks, Table 40 of the datasheet shows you how latencies correlate with different chunk sizes. Chunk size is configurable through CONFIG0 register, by setting Chunk Payload Selector CPS[2:0]. Refer Table 50 of the DS.

    On top of this, you need to define what "receive back" means. If this means receiving the whole frame, you need to count again the frame length. For instance if your frame is 2kB long, this will take 2000*8*(1/10Mbps) = 1.6ms to receive the whole frame. 

    Hope this helps!

     

    Regards,

    Shazia

Reply
  • Hi Chethan,

    The minimum time to transmit a frame and receive it back on the same board depends on factors like propagation delay of the ADIN2111 and the cable itself, processing delay of the MCU and the frame length. This all depends on what you want the system to do.

    1. MCU processing time/delay

    This is, the time that the MCU takes to receive the ethernet frame, the time that the MCU takes to process the frame, and the time that the MCU takes to send this frame back to the ADIN2111 via SPI. 

    If you just want to loop the frame back internally inside of the ADIN2111, this can be done through a loopback mode and then then MCU processing delay can be discarded as the frame will not need to go through the SPI to the MCU. But this is not a realistic use case and it is more used for debugging purposes.

    2. Cable length

    This delay is proportional to the length of the cable and cable characteristics. As an average you can use 5ns/m but in reality it does vary from cable to cable. Using this approximation, a cable with a length of 100m will add a total delay of approximately 500ns. Similarly, a 1000m cable will add a delay of 5us. 

    3. ADIN2111 latency

    Refer Table 2. 10BASE-T1L Specifications of the ADIN2111 datasheet for Port to Port latencies, also account for cable latency and latency of the other side.

    The table above, refers to the port 1 to port 2 (or vice versa) latency so it does not consider the case when the data is sent to the host MCU.

    4. Frame length

    When sending the frame to the MCU, there are a few options that have an effect on the latency. As data can be sent in chunks, Table 40 of the datasheet shows you how latencies correlate with different chunk sizes. Chunk size is configurable through CONFIG0 register, by setting Chunk Payload Selector CPS[2:0]. Refer Table 50 of the DS.

    On top of this, you need to define what "receive back" means. If this means receiving the whole frame, you need to count again the frame length. For instance if your frame is 2kB long, this will take 2000*8*(1/10Mbps) = 1.6ms to receive the whole frame. 

    Hope this helps!

     

    Regards,

    Shazia

Children
No Data