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.

AM2434: USB Gadget/Device Speed

Part Number: AM2434

The speed of USB drd in device (gadget) mode is generally much slower than that of host mode. This statement is appropriate for all Sitara MPUs, as seen in documents from Sitara Processor Linux SDK.

I am not sure what is the topmost reason behind this. Perhaps it is a limitation in hareware IP. Or the hardware is not optimally used by linux gadget driver. Or it is limited by CPU speed (but I didn't see AM54x performs far better than AM335x). Or it is due to the bad design of some transmission protocol, such as packets too small? I don't know.

But for AM24x, the processor is advertised as more "real-time”. The pcie performance is unbelievably superior, several hundreds of metabytes per second (for a MCU). Is the high performance related with the real-time hardware and rtos? If so, would those real-time features substantially improve the usb device/gadget performance too? Shed me some hints please. We are looking for some good USB peripheral solutions other than FX3 series from Cypress.

  • Hi Tianfu,

    In general, the DRD should not be slower than the regular device mode, because the the DRD only do the mode switch at the time of cable plug-in (based on the ID pin). The gadget is different though. It will add extra delay for every operation. The AM243x/AM64x does not support gadget. It only support DRD (dual role). Ma be the delay is come from the Linux DRD support implementation.

    AM243x does not have A53 cores, therefore does not support Linux. The MCU+ SDK for AM243x only supports the USB device mode CDC-ACM at this point. The "Real Time" feature of the R5F cores means the "deterministic" aspect of the R5F core, in turn less and more predictable interrupt latency. The USB IP on AM243x and AM64x is the same, therefore the throughput is the same. At this point AM243x only support USB 2.0, even though it is USB 3.0 capable. The AM64x , on the other hand do support USB 3.0 via Linux.

    Best regards,

    Ming

  • Thank you for your clarification. Is the USB IP of AM243x/AM64x also the same as that of AM57x? Or it is a more advanced and more powerful one?