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.

TMS320F28075: Interrupt timing on USB

Part Number: TMS320F28075

 regarding the USB library for the C2000 family (using TMS320F28075).

My question is: is the SOF interrupt handling absolutely necessary?

My project is using USB CDC, Device specifically.

Every 1ms the MCU is interrupted and is processing the USB interrupt for ~35us – this seems quite long – do you have any information on disabling this functionality?

  • I do not think it will be easy to disable this with the existing library or USB stack. It is interrupt driven.

    Interrupt are fired when data is received and when data is transmitted. 

    You may be able to shorten the interrupt time by modifying the interrupt handler yourself. You can quickly check if only the SOF bit is set and then return if nothing else has to be done. But, remember that when the interrupt status registers are read the status is cleared, so if there is more than SOF interrupt, then the status will have to be saved ad passed into the lower level USB library functions which handle those specific interrupts.

    Alternatively, you can try to disable the interrupts from your application and using a polling mechanism instead.

    Furthermore, to shorten the time to handle the interrupts, I suggest you enable optimization in your project. I suspect this will significantly shorten the latency.

    Hope this helps,

    sal