AnsweredAssumed Answered

LPC USB throughput vcom vs libusb

Question asked by mtenw on May 16, 2017
Latest reply on Jul 10, 2017 by soledad

Hi all,

I need to send data from LPC-Link2 board over USB and read the data on PC as fast as possible. I tried two different methods based on lpcopen 2.12

Method1: cdc_vcom

Modified the example usbd_rom_cdc_vcom.

Pseudo code that sends data:

while(1) {

    vcom_write(buffer1, 12);

    vcom_write(buffer2, 16384);

    vcom_write(buffer3, 16384);

}

On Windows 7 PC, use Python serial module to read.

 

Method 2: bulk transfer

Modified the example from usbd_rom_libusb.

Pseudo code that sends data:

while(1) {

    usb_data_pipe_queue_write(buffer1, 12);

    usb_data_pipe_queue_write(buffer2, 16384);

    usb_data_pipe_queue_write(buffer3, 16384);

}

On Windows 7 PC, use Python libusb1 module to read.

 

My test result shows the throughput of Method 1 is larger than Method 2.

Questions about the result:

1. Which method is able to send the data with greater throughput? I was under the impression that Method 2 should do better. But the test result shows the opposite. Can someone please explain?

2. How can I further improve the throughput.

 

Please help. Thank you very much in advance!

Outcomes