Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

Sustained USB 2.0 transfer rates with a Nios II-based system running Linux

All,

I'm currently developing a 100 MHz Nios II (w/ MMU)-based system that will be booting Linux and will utilize, among other system components, a USB 2.0 Host Controller and a DMA controller to transferring data to/from a USB 2.0 device.

I have performed some initial USB 2.0 performance testing with our current system but I'm currently only able to achieve approximately a 3 MByte per second sustained read and write transfer rate with a USB 2.0 flash drive. I have measured the sustained read transfer rate of a USB 2.0 flash drive in excess of 30 MBytes per second when connected to a PC. While I don't expect to be able to reach a 30 MByte read transfer rate on our Nios II Linux-based system, I was hoping we could reach a 10 - 15 MByte per sustained transfer read rate.

Does anyone have experience of hosting USB 2.0 devices that runs Linux on a Nios II processor that also utilizes a USB 2.0 host controller core that is also integrated with a DMA engine? If so, what sustained read and write transfer rates were you able to achieve? Where was the bottleneck in the data transfer path? Nios II to/from the USB Host Controller? Nios II to/from the external SDRAM memory?

Any feedback would be appreciated.

- Brad