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

Limiting the speed to USB bulk transnfers

Hello,

I have a product flavor that sports a mass storage device. I don't really need it now, but it is connected to an internal RAM file system which could be handy to have (is security codes are provided), so I want to keep it. The problem is that I think that writing large files to the drive can prevent system tasks other than the USB tasks from running, hence triggering a watchdog reset. I was hoping to limit the transfer rate using the 'bInterval' parameter in the endpoint descriptor, but as long as I keep on using bulk transfers that will have no effect. Is there a way to limit the transfer rate except from answering the host with a NACK...?

Parents
  • > Can I use interrupt transfers for a CDC device?

    The spec says that Data Class Interface equips bulk or isoc endpoints.
    But actually, interrupt endpoints work for CDC on Windows, because there is (alomost) no difference on the handling of bulk and interrupt for the CDC device driver side.
    In this way, low-speed device implements CDC, for which the spec allows neither bulk nor isoc.

    CDC120.pdf
    www.usb.org/.../CDC1.2_WMC1.1.zip

    3.4.1 Communications Class Interface
    The Communications Class defines a Communications Class interface consisting of a management element and optionally a notification element. The management element configures and controls the device, and consists of endpoint 0. The notification element transports events to the host, and in most cases, consists of a interrupt endpoint.

    3.4.2 Data Class Interface
    - If the interface contains isochronous endpoints, on these endpoints, the data is considered synchronous.
    - If the interface contains bulk endpoints, on these endpoints, the data is considered asynchronous.

    Tsuneo

Reply
  • > Can I use interrupt transfers for a CDC device?

    The spec says that Data Class Interface equips bulk or isoc endpoints.
    But actually, interrupt endpoints work for CDC on Windows, because there is (alomost) no difference on the handling of bulk and interrupt for the CDC device driver side.
    In this way, low-speed device implements CDC, for which the spec allows neither bulk nor isoc.

    CDC120.pdf
    www.usb.org/.../CDC1.2_WMC1.1.zip

    3.4.1 Communications Class Interface
    The Communications Class defines a Communications Class interface consisting of a management element and optionally a notification element. The management element configures and controls the device, and consists of endpoint 0. The notification element transports events to the host, and in most cases, consists of a interrupt endpoint.

    3.4.2 Data Class Interface
    - If the interface contains isochronous endpoints, on these endpoints, the data is considered synchronous.
    - If the interface contains bulk endpoints, on these endpoints, the data is considered asynchronous.

    Tsuneo

Children