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:USB 上的中断时序

Guru**** 2952000 points

Other Parts Discussed in Thread: TMS320F28075

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/854045/tms320f28075-interrupt-timing-on-usb

器件型号:TMS320F28075

 有关 C2000系列的 USB 库的说明(使用 TMS320F28075)。

我的问题是:SOF 中断处理是否绝对必要?

我的项目是使用 USB CDC、具体来说是器件。

MCU 每1ms 中断一次、并且正在处理 USB 中断~35uS–这似乎很长–您是否有任何有关禁用此功能的信息?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我认为使用现有库或 USB 堆栈禁用此功能并不容易。 它由中断驱动。

    当数据被接收和数据被发送时、触发中断。  

    您可以通过自己修改中断处理程序来缩短中断时间。 您可以快速检查是否只有 SOF 位被置位、如果没有其他事情需要做、则返回。 但是、请记住、当读取中断状态寄存器时、状态将被清除、因此如果存在多于 SOF 的中断、则必须将状态保存并传递到处理这些特定中断的低级 USB 库函数中。

    或者、您可以尝试禁用应用程序中的中断并改用轮询机制。

    此外、为了缩短处理中断的时间、我建议您在项目中启用优化。 我怀疑这会显著缩短延迟。

    希望这对您有所帮助、

    SAL