Hello
I am looking to use [as much as possible of] the full-speed USB bandwidth of 12 Mbps (or 1.5 MBps).
I have been able to use the USB MSC for my initial testing (with the only modification of expanding the file system size to the full 8 MB of the MX25R64 chip) on the nrf5340 DK.
I am successful in my attempts to generate a 4 MB file, and test the transfer from the board (as a FAT32 fs) to a Windows machine or Linux machine.
Using the article RE: USB speed issue on nRF52840, I am observing a transfer speed of only 395 KBps, or 0.395 MBps. This is only a fraction of the full-speed capability.
Here is my output when I plug in the DK to a Raspberry Pi 4 Model B and run the "sudo dd" command. I made sure to plug the DK via USB into the USB 2 port as well as the USB 3 port (this resulted in a transfer speed of 391 KBps).
Note also that I tested the transfer speed on a windows machine with both the PowerShell command,
Measure-Command { Copy-Item D:/test_file.txt . } # Copy from the removable drive (D:) to this directory
as well as a simple python script:
import time, shutil, os def file_transfer_test(): filename = "test_file.txt" source = "D:/" destination = "C:/Users/Robert.deBrum/" print("deleting file") os.unlink(destination + filename) print("copying file") startTime = time.time() shutil.copy(source + filename, destination) diff = time.time() - startTime print("file transfer time = " + str(diff)) print("file transfer speed = " + str(1 / diff) + " MB/s") return diff
Both testing procedures reported transfer speeds of ~0.3 MBps as well, so I am seeing consistent results.
Are there any considerations or configurations that I can employ to use the full bandwidth of the supported Full-Speed USB protocol?
Thanks