This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

USB CDC class driver

Other Parts Discussed in Thread: CC2540

Hi all,

I would like to know if the CDC class driver released by TI works only in bulk mode. I'm trying to use the USB stack

provided with the BLE firmware in isochronous mode and the changes done at the descriptor of the endpoint don't

work. I suspect the PC driver works only in bulk mode.


Can someone confirm this ?

Best Regards

/Alessandro Strazzero

  • I would think it is unlikely isochronous mode would work with a CDC driver - why do you want to use isochronous mode as there is no flow control / error checking?

  • Hi Eng351,

    I want to use the isochronous mode because I can transfer more than 32 bytes for each data packet. I

    don't mind about the flow control because the communication is based on a kind of master-slave

    protocol, that is the master sends a data packet when the slave replies back to the previous one or

    when the communication times out.

    What do you know about the CDC class driver capability to adopt the isochronous mode ?

    Best regards

    /Alessandro

  • The limitation of bytes per transfer is not 32, it is 64. And this limitation in not imposed by the fact that bulk endpoints are being used instead of isochronous, but rather because the USB peripheral is only a full speed device (bulk endpoint for high speed and super speed device is 1024).

    As you observe, since you have the source to the USB CDC implementation for the CC2540, you can make it implement the CDC on isochronous endpoints instead.

    The problem, as you observe, is that the default CDC driver that ships with Windows probably only implements bulk endpoints, so you will need to make or buy a custom Windows driver.