donw

USB data transfer speed with DemoJM60

Discussion created by donw on Sep 29, 2008
Latest reply on Sep 30, 2008 by donw
I have the DemoJM60 board, running the CMX USB stack
demo code, patched to echo back 64 byte data packets.
My PC code is Visual Basic 6 running  USBHIDIO.vbp  from lvr.com
which uses the HID driver of XP.
The best transfer speed I get is  ~10Kbytes per 9 seconds,
which is way below the theoretical 64KB/sec.
The USB data lines are pulsing every 1 msec as expected.
A scope port-toggle-on-packet-recieve/send (hid_report_pending(out_report))
shows sends every 14 msecs, rather that the 1 msec.
I have the data size set to 64 bytes, and poll time set to 1 msec as per others
on this forum have mentioned.
- I get the impression that a send & recieve cycle involves at least 3  lots of 1 msec
sends by the Host (out command/data in receive/ack). This would explain some of the slow
operation.

Can anyone enlighten me on the max. transfer I can achieve using HID. ?
Do I need to go to Bulk transfer or other mode? I need to transfer 2MByte to the Host.

- Also found a good intro to USB:      http://www.beyondlogic.org/usbnutshell/usb1.htm

Outcomes