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 controller - LPC2364

I need to write a custom USB controller to communicate with a PC. Over the USB we will perform firmware upgrades, upload new operating parameters, download device performance data, etc. The PC side will use WinUSB mechanism to manage the USB device. I need to implement the USB control using a single interface with 2 bulf transfer endpoints, input and output. Have experimented with the USB CDC device example that came with the Keil toolset. I was thinking of taking that example and modify the descriptors and remove any unneeded logic that implemeted the CDC device and add what I need for my project.

Does this seem like a reasonebly place to start? For example, are the handling of the control endpoint esentially the same regardless of device class type?

Parents
  • "The host side (being devleoped by a third party and using WinUSB) is having some problems with the 0 length packet. The device appropriately sends this 0 length packet after the 64 byte packet, but the host thinks it got some data associated with the 0 length packet."

    When the device sends just the size host requested, device doesn't attach zero-length packet (ZLP), even when the size is just the multiple of 64 bytes.

    ZLP is attached when,
    - the host requests more than the size device to send
    - the device sends just the multiple of 64 bytes.

    For WinUsb_ReadPipe, its BufferLength parameter is the size host requests.

    I explained it more in details in this post.
    Termination of transfer
    www.cygnal.org/.../001627.html

    Tsuneo

Reply
  • "The host side (being devleoped by a third party and using WinUSB) is having some problems with the 0 length packet. The device appropriately sends this 0 length packet after the 64 byte packet, but the host thinks it got some data associated with the 0 length packet."

    When the device sends just the size host requested, device doesn't attach zero-length packet (ZLP), even when the size is just the multiple of 64 bytes.

    ZLP is attached when,
    - the host requests more than the size device to send
    - the device sends just the multiple of 64 bytes.

    For WinUsb_ReadPipe, its BufferLength parameter is the size host requests.

    I explained it more in details in this post.
    Termination of transfer
    www.cygnal.org/.../001627.html

    Tsuneo

Children
No data