AM243x MCU+ SDK  11.00.00
Ethernet Performance

Introduction

This section provides the performance numbers of Ethernet drivers using CPSW peripheral in MCU+ SDK

Setup Details

SOC Details Values
Core R5F
Core Operating Speed 800 MHz
Memory Type MSRAM
Cache status Enabled
EVM Type AM243x-LP/AM243x-EVM

Layer 2 Performance

Latency defination

Configuration Details

For R5F

Configuration Value
Processing Core Main R5F0 Core 0
Core Frequency 800 MHz
Ethernet Interface Type RGMII at 1 Gbps
Packet buffer memory MSRAM
Scatter-gather TX Yes
Scatter-gather RX Yes
UDMA interrupt pacing NO
RTOS FreeRTOS
RTOS application Modified Enet CPSW Loopback Example
example
Host PC tool version nload
Rx packet length 200 B
Tx packet length 200 B


Layer 2 Latency

Parameter CPU<->CPSW
Latency Value (ns)
PHY Latency
(from datasheet) in ns
Total Latency
(ns)
RX Latency 14000 193 14193
TX Latency 7000 384 7384

Layer-2 Hardware Switching Latency for CPSW

Configuration Value
EVM Type AM243x-LP E3
CPSW CPPI Frequency 320 MHz
Ethernet Interface Type RGMII
PHY model number DP83869
Ethernet Cable Spec CAT-6
Sample size 10 Million Packets
RTOS application Modified Enet Layer 2 CPSW SWITCH Example
example


Test Setup

Connections for Latency Measurement

CPSW Latency for RGMII

Datagram Length Latency @ 1Gbps link (in us) Latency @ 100Mbps link (in us) Latency @ 10Mbps link (in us)
Without Cut-ThroughWith Cut-Through Without Cut-ThroughWith Cut-Through Without Cut-ThroughWith Cut-Through
64 Bytes 1.81.7 7.97.8 73.471.9
256 Bytes 3.12.0 23.013.8 227.3135.6
512 Bytes 5.22.0 43.513.8 432.0135.6
1518 Bytes 13.32.0 124.013.8 1237.0135.6

TCP/IP Performance

Configuration Details

Configuration Value
Processing Core Main R5F0 Core 0
Core Frequency 800 MHz
Ethernet Interface Type RGMII at 1 Gbps
Packet buffer memory MSRAM (cached)
Hardware checksum offload Enabled on both Tx and Rx Side
Scatter-gather TX Yes
Scatter-gather RX Yes
UDMA interrupt pacing Yes (realized with timer based interrupt pacing)
RTOS FreeRTOS
RTOS application Enet Lwip CPSW Example in examples
TCP/IP stack LwIP version STABLE-2_2_0_RELEASE
Host PC tool version iperf v2.0.10
Number of Rx packet buffers 32
Number of Tx packet buffers 16


TCP Throughput

AM243-LP

Test Bandwidth
(Mbps)
CPU Load
(%)
TCP RX9334
TCP TX9334
TCP BidirectionalRX=93
TX=93
63


AM243-EVM

Test Bandwidth
(Mbps)
CPU Load
(%)
TCP RX93.343
TCP TX9372
TCP BidirectionalRX=81.5
TX=81.5
99

Host PC commands:

  • TCP Rx and Tx (Sequential):
    $iperf -c <evm_ip> -r
  • TCP Rx and Tx (Bidirectional):
    $iperf -c <evm_ip> -d

UDP Throughput

AM243-LP

Test Datagram Length = 64B Datagram Length = 256B Datagram Length = 512B Datagram Length = 1470B
Bandwidth (Mbps)CPU Load (%)Packet Loss (%) Bandwidth (Mbps)CPU Load (%)Packet Loss (%) Bandwidth (Mbps)CPU Load (%)Packet Loss (%) Bandwidth (Mbps)CPU Load (%)Packet Loss (%)
UDP RX 5250.0 570.0 25180.0 50160.0
103622 15190.0 50340.1 65210.0
153648 25310 65424.6 95680.0
UDP RX (Max) 7320.8 32370.9 61410.8 110782.4
UDP TX (Max) 401000.0 901000.0 1611000.0 5351000.0

AM243-EVM

Test Datagram Length = 256B Datagram Length = 512B Datagram Length = 1470B
Bandwidth (Mbps)CPU Load (%)Packet Loss (%) Bandwidth (Mbps)CPU Load (%)Packet Loss (%) Bandwidth (Mbps)CPU Load (%)Packet Loss (%)
UDP RX 5140.0 25270.011 50250.051
10210.08 50490.35 65310.18
25460.22 65596.5 95430.28
UDP RX (Max) 28500.29 59570.6 155680.26
UDP TX (Max) 681000.0 1361000.0 3891000.0

Host PC commands:

  • Test with datagram length of 64B:
    $iperf -c <evm_ip> -u -l64 -b <bw> -r
    where <bw> is 5M, 10M, 15M, etc
  • Test with datagram length of 256B:
    $iperf -c <evm_ip> -u -l256 -b <bw> -r
    where <bw> is 25M, 50M, 100M, etc
  • Test with datagram length of 512B:
    $iperf -c <evm_ip> -u -l512 -b <bw> -r
    where <bw> is 25M, 50M, 100M, etc
  • Test with datagram length of 1470B (max):
    $iperf -c <evm_ip> -u -b <bw> -r
    where <bw> is 25M, 50M, 100M, etc

See Also

Ethernet And Networking Enet Lwip CPSW Example