|
Hi,
I found what the issue was in my own project. The software was writing the read data to the hard drive so it makes downloading too slow.
The reuired changes on the firmware to get better data throughput than 6MB/s are:
1. In *.h file: add: #define CY_FX_SLFIFO_PACKETS_PER_BURST (16)
2. In *dscr.c file: change the "Max no. of packets in a burst" under
/* Standard super speed configuration descriptor */
const uint8_t CyFxUSBSSConfigDscr[]= from 0x00 to 0x0F.
3. In *.c file: change the down-link endpoint burst length as:
epCfg.burstLen = CY_FX_SLFIFO_PACKETS_PER_BURST;
4. In *.c file: define the size for downlink dma as 16*1024
if (usbSpeed == CY_U3P_SUPER_SPEED)
{
size = 16*1024;
}
dmaCfg.size = size;
5. In *.c file: Remove any dma call back (if you have any), since it can decrease the speed:
dmaCfg.cb = NULL;
This is what I did to improve the data throughput.
Nazila
|