This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Optimize the serial throughput with usb_cdc_acm

Hello, guys!

We are working with SDK 15.0.0 and nRF52840 SoCs.

There is a need to transfer a few MBytes of data from the PC to nRF52840 and then on external flash memory. We used usb_cdc_acm for communication between nRF52850 and PC. What we experience is that there is no significant difference in transfer speed if we change the baud rate of the data transfer on the PC side. 115200, 230400, 460800... they all transfer the data for the same amount of time.

Do you have any hint how we can optimize the data transfer from PC to nRF52840?

Is there any optimal packet size, any usb cdc acm speed settings that will do the trick?

Thanks in advance for your time and efforts.

Sincerely,

Bojan.

Parents
  • if we change the baud rate of the data transfer on the PC side. 115200, 230400, 460800... they all transfer the data for the same amount of time.

    Expected behavior for USB-CDC. The baud rate is just ignored unless a physical UART is present.

    That also means there is not much you could do exept for expensive double-buffering (reading the next page from USB while while a page is being erased/written).

Reply
  • if we change the baud rate of the data transfer on the PC side. 115200, 230400, 460800... they all transfer the data for the same amount of time.

    Expected behavior for USB-CDC. The baud rate is just ignored unless a physical UART is present.

    That also means there is not much you could do exept for expensive double-buffering (reading the next page from USB while while a page is being erased/written).

Children
Related