This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

USB: Different Host Different Speed. Why? -LPC2148

I'm using an LPC2148 with a WINUSB driver in a simple data acquisition application. The host sends a request for data using a control transfer, and the device responds with a 900 byte block of data using a bulk pipe.

With my crummy old laptop I can transfer about 250 blocks of data per second. With my fancy desktop I only get about 100 blocks per second. In both cases, this is the only USB device on the hub. The same driver is used in both cases.

What are the host side considerations for maximizing data transfer? Are there any good web resources for understanding this?

Thanks for your help.

Dave Sidlauskas.

Parents
  • a) Are the USB ports of the PCs high-speed one?
    b) Do you connect an external hub between the PC and the device?
    c) Is it a USB2.0 hub?

    Check the USB traffic on the bus and measure the transfer interval between the control transfer and the bulk one.

    A hardware bus analyzer is better, but software sniffer will do. This sniffer shows transfer time more precisely than others.

    SourceUSB - one-month trial
    http://www.sourcequest.com/

    I suppose the control transfer takes longer on the desktop PC, but confirm it on the sniffer.

    Anyway, why do you use the control transfer?
    Replace it with another bulk endpoint(s).

    Control transfer is heavy for USB bus, and it takes much more execution time on the firmware than bulk.

    Tsuneo

Reply
  • a) Are the USB ports of the PCs high-speed one?
    b) Do you connect an external hub between the PC and the device?
    c) Is it a USB2.0 hub?

    Check the USB traffic on the bus and measure the transfer interval between the control transfer and the bulk one.

    A hardware bus analyzer is better, but software sniffer will do. This sniffer shows transfer time more precisely than others.

    SourceUSB - one-month trial
    http://www.sourcequest.com/

    I suppose the control transfer takes longer on the desktop PC, but confirm it on the sniffer.

    Anyway, why do you use the control transfer?
    Replace it with another bulk endpoint(s).

    Control transfer is heavy for USB bus, and it takes much more execution time on the firmware than bulk.

    Tsuneo

Children
No data