I need to send more data on lpc214 (USBHID Class). give me for example. How HIDclass can send more data? I need up to 5 Mbps
I originally thought your question was how to create larger packets (something that has been discussed in earlier threads on this forum and should be possible to search for), but then you start to talk about number of bytes/second. USB can only transfer using predefined speed classes (baudrates), and then it is up to the programmer to decide how much of the available bandwidth of a speed class to actually use.
The maximum speed of HID is 64 byte/ 1msec USB frame (512kbps) on Full-Speed (FS) bus. It is the limitation of interrupt transfer, on which HID is established. Apply bulk transfer instead.
It is easy to modify the HID firmware to bulk one, just modify the descriptors. You'll see an example in LPCUSB main_custom.c
Configuration desc - wTotalLength = 0x0020 Interface desc - bInterfaceClass = 0xFF - bInterfaceSubClass = 0x00 - bInterfaceProtocol = 0x00 HID desc - delete all Endpoint descs - bmAttributes = 0x02 (bulk) - wMaxPacketSize = 0x0040 - bInterval = 0
LPCUSB " from MS WHDC www.microsoft.com/.../default.mspx Find "Download the Windows Server 2003 SP1 DDK [236 MB ISO file]" link
New WinUSB device driver from MS has problems on stability and performance. It'll take long time until MS fixes it.
I don't think it is a good idea to measure USB transfer speed in bps. Instead of UART, USB bus clock is always constant, 12Mbps for FS bus. USB is a bus scheduled in every USB frame (1msec in FS). Then, byte/frame is better unit.
Tsuneo