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.

AM3358: PRU EMAC vs CPSW EMAC

Part Number: AM3358

Dear Champs,

I found there was EMAC implemented using PRU in Linux-RT SDK, and want to know what is benefit to use PRU for EMAC driver compared with CPSW.

My customer's requirement is to send data from Master device and to receive in Slave device within 10ms, and Master Device and Slave device will connect each other directly without connecting public network, but their ethernet protocol is TCP/UP.

So, they are looking for the low-latency system to achieve this requirement, and want to know if PRU based EMAC will help to implement this low-latency. Could you please let me know if PRU will have lower latency than CPSW for EMAC? I mean the latency is the time to send packet outside of PHY when their application was executed and the time to interrupt core and their application notified of slave device after receiving packet. I want to know if PRU based EMAC implementation will help to reduce this time even at normal TCP/IP protocol.

Thanks and Best Regards,

SI.

  • The factory team have been notified. They will respond here.
  • There have not been any measurements done in terms of latency between the two interface types that I am aware of.

    One difference will be the bit rates of the interfaces. The PRU ports run at 100Mbps and the CPSW ports are capable of 1Gbps. At the physical layer a rough example would be assuming no traffic on the link is that a 1518 byte packet will take 12.2uS (roughly) from the CPSW and 122uS from the PRU port.

    Both interfaces will go through the Linux network stack. TCP/IP is a reliable protocol and there are several possible tuning parameters that might affect reception or transmission. If there are errors in the delivery there will be a significant impact on meeting that time line.

    The last thing to consider is the system loading, what type of application is it? RT is great for allowing higher priority threads to get serviced.

    Does the customer described a method they would use to verify the desired latency?
    Is this a closed network?
    What happens on TCP/IP retransmissions?
    Which processor is being considered here?
  • Hi Shuyler,

    Thanks for your response.

    Yes. it is closed network only having one master and slave, and there is only few possibility to occur transmission error. So, they don't think about TCP/IP retransmissions now.
    They are considering to use AM3358 1Ghz processor for this.

    Thanks and Best Regards,
    SI.
  • Hi Sung-Il

    Does the customer describe a method they would use to verfiy the send/receive timing? How will know that the timing they require would be met from an application perspective?

    Regards,
    Schuyler