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 bulk driver

Hi all,
I am using LPC2148 microcontroller. Bulk driver for usb2.0 full speed is written. Currently only 64 bytes of data is written to the endpoint. So the speed achieved is less. I have read in the books that maximum 19 packets of 64 byte length can be transmitted in 1ms frame. How can i increase the speed of bulk transfer.

Parents
  • > I could find that the first 64 bytes of data over written by last 64 bytes.

    In this line, you are waiting for the end of Validate command, before writing next packet.

    while ((USBDevIntSt & C_TxEndPktInt_U32X) == C_Zero_U8X);

    What is the value of C_TxEndPktInt_U32X and C_Zero_U8X?
    Are they CCEMPTY bit (0x10) and 0?

    Clear CCEMPTY bit before putting Validate command.

    Otherwise, this bit is kept in 1 by the Select Endpoint command, just before the Validate command. And then, your while loop will be passed through immediately.

    Tsuneo

Reply
  • > I could find that the first 64 bytes of data over written by last 64 bytes.

    In this line, you are waiting for the end of Validate command, before writing next packet.

    while ((USBDevIntSt & C_TxEndPktInt_U32X) == C_Zero_U8X);

    What is the value of C_TxEndPktInt_U32X and C_Zero_U8X?
    Are they CCEMPTY bit (0x10) and 0?

    Clear CCEMPTY bit before putting Validate command.

    Otherwise, this bit is kept in 1 by the Select Endpoint command, just before the Validate command. And then, your while loop will be passed through immediately.

    Tsuneo

Children