USB Composite VCOM Speed

Dear all,
Thanks a lot for every consecutive help i get from this forum and a special thanks to Tsuneo.

I downloaded VCOM example program from keil but that doesn't fits to my requirement.

The code doesn't work if I transmit the data as soon as i receive the IN interrupt.

I want to transmit 64bytes in 1 ms. i tried changing the usbdesc.c but it doesn't transmits the data at this rate and makes the PC to go hang.

My minimum requirement is to tranmsit 30KBytes/sec.

I highly appreciate your help.

Parents
  • "I want to transmit 64bytes in 1 ms."

    Put ZLP (Zero-Length Packet) to the bulk IN EP, as the next packet just after the 64 bytes.

    64 bytes is a critical number for the bulk IN EP on Full speed, because it matches just to the wMaxPacketSize of the EP. While the firmware puts 64 bytes, the transfer continues. The host controller on the PC holds the packets and it doesn't hand the packets to the device driver, until it sees a short packet (including ZLP). Then, your host app hangs, dried up by no input.

    To put a ZLP to the IN EP, USB_WriteEP( the_EP, NULL, 0 );

    Tsuneo

Reply
  • "I want to transmit 64bytes in 1 ms."

    Put ZLP (Zero-Length Packet) to the bulk IN EP, as the next packet just after the 64 bytes.

    64 bytes is a critical number for the bulk IN EP on Full speed, because it matches just to the wMaxPacketSize of the EP. While the firmware puts 64 bytes, the transfer continues. The host controller on the PC holds the packets and it doesn't hand the packets to the device driver, until it sees a short packet (including ZLP). Then, your host app hangs, dried up by no input.

    To put a ZLP to the IN EP, USB_WriteEP( the_EP, NULL, 0 );

    Tsuneo

Children
More questions in this forum