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.

AM5716: USB 3 performance in client mode

Part Number: AM5716

We are contemplating using the AM5716 to create a USB 3 audio device.  Has TI done benchmarks on the data throughput on an AM5716 (or other AM57xx) running in USB 3 client mode?.  We're assuming the ARM would be running Linux

thanks

Steve

  • Hi Stephen,

    Only USB Bulk transfer is measured in TI Processor SDK Linux releases, but I guess you are interested in Isoch transfer since it is common transfer type for audio?

    I personally didn't measure Isoch transfer performance for audio applications, but I did Isoch xfer for video by configuring AM57x to a super-speed USB webcam gadget, I got 1Mbit/s without putting much effort to optimize the test setup. I could imagine Isoch for audio could have less throughput since typically USB audio uses smaller Isoch packet size than USB video.

    Hope this information is useful.

  • Hi Bin,

    Thanks for your reply.

    Can you supply a link to the documentation that discusses the USB3 bulk transfer throughput?.

    >>, I got 1Mbit/s without putting much effort to optimize the test setup.

    We will need around a 500 Mb/s to 1 Gb/s as our proposed peripheral supports 100s of audio channels simultaneously.

    Would TI be able to tell us if this is possible?.

    thanks

    Steve

  • Hi Stephen,

    It appears the Processor SDK documentation generation script has a bug, which causes the the documentation missing the USB bulk transfer performance numbers in the current Processor SDK release. But here is the link to the numbers in old Processor SDK release v4.3.

    http://software-dl.ti.com/processor-sdk-linux/esd/docs/04_03_00_05/linux/Release_Specific.html#kernel-performance-guide

    The webpage is very long, please search for 'AM57XX USB Slave Read Performance values'. I am not sure if the number is for high-speed or super-speed though.

    Stephen Turner said:

    We will need around a 500 Mb/s to 1 Gb/s as our proposed peripheral supports 100s of audio channels simultaneously.

    Would TI be able to tell us if this is possible?.

    I don't know enough about USB audio application to tell if possible to support 100+ Isoch audio channels, but 500~1000 Gb/s throughput is achievable with AM57x USB super-speed.

  • Hi Steve,

    I just measured the Isoch transfer again for the AM572x USB in super-speed device mode using the Linux kernel g_webcam gadget driver, and the USB protocol analyzer reports the throughput is 1.8Gb/s. Please see the screen capture below.

  • Hi Bin,

    I would like to re-open this issue.

    http://software-dl.ti.com/processor-sdk-linux/esd/docs/04_03_00_05/linux/Release_Specific.html#kernel-performance-guide

    says that:

    AM57XX GPEVM USB SLAVE DEVICE PERFORMANCE

    Bytes Transferred (MB)”/dev/shm/50M” file as storage deviceNumber of files transferredTotal Bytes transferred (MB)Transfer Rate (MB/sec)
    50 1 50 30.6

    Table: AM57XX USB Slave Read Performance values

    Question:.  What USB port is this test being conducted on?.  The Super Speed USB 3.0 port (host) or the USB 2.0 client port?

    thanks

  • Hi Stephen,

    I asked the same question to myself when I saw this number. I looks like it was tested on high-speed, not super-speed. It probably won't be easy to figure it out internally since this SDK v4.3 was release almost two years ago, the test setup for that release likely has already torn down. But I will check if we have the latest numbers and keep you posted.

  • Hi Bin,

    I'm guessing this is High Speed as well, since the AM57XX GPEVM has the USB 3.0 port exposed as a Host only.  Its a shame they did not make it configurable (host or client).

    Can you recommend any AM57XX development platform that has the USB 3.0 port exposed as a client or configurable host/client?.

    thanks

  • Hi Stephen,

    I confirmed with our SystemTest that the numbers showed in the above SDK v4.3 link is for AM57x USB high-speed, since the AM57xx GPEVM USB2 port is a USB2.0 port.

    The super-speed Isoch number with g_webcam I listed above was done with a DRA7 EVM as in the link below, which has its USB1 port configured as super-speed port. The DRA7 processor has the same USB and ARM subsystem as that on AM57x, so the USB performance tested on DRA7 is applicable to AM57x.

    You can use any DRA7 EVM for your development, their USB1 port is a super-speed dual-role port (can work in either host or device mode by different USB cable to the DIP switch on the EVM).