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.

[参考译文] MSP430F5658:USB 传输速度非常慢

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/762328/msp430f5658-usb-transfers-are-very-slow

器件型号:MSP430F5658

使用 MPS430F5658、我们将使用示例 MSP430USB 开发程序 Package_5_20_06_02 代码来仿真 SD 驱动器。 传输速度非常慢、典型速率为330KB/秒 在项目早期的测试期间、最高可达1.4 MB/秒、这是可以接受的。 USB 代码中没有任何变化。 执行该测试时、对 通过目录的所有块禁用了读取 MSC.C 模块中 SD 卡的调用、但这只是一个速度测试、因此可以接受。 内部缓冲区的原始大小(512字节)和最大4096字节的大小均已尝试、但没有效果。 请注意、当首次尝试增大缓冲区大小时、提高了速度。

我们唯一能看到发生了哪些变化的是包含所有更新的窗口。

是否存在任何已知的 Windows 问题、这些问题可能是示例代码和 Windows 的当前更新问题?  

而不了解 USB 协议。 是否有可用于诊断此问题的东西?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这可能已经解决。 在一个 USB 例程中发现延迟。 测试完成后、将更新此内容。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    模块 msc 中的延迟似乎有细微的变化。 函数 USBMSC_processMSCBuffer 可能具有非常不相称的效果。 如果要以合理的速度运行、SD 读取功能必须有很短的时间可用。 将仿真 SD 读取的有效时间(在本例中)减少到50us /块(512字节)似乎是必要的、以避免遇到时间障碍并降低传输速度。 请注意、这是通过将 USB 缓冲器(RWbuf)大小从512字节修改为2048字节来实现的。 它在512字节时要慢得多。

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

    听起来不错、您的问题已得到解决。 当您有进一步的问题时、请随时返回 E2E。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Mark、您好!
    很明显、您的问题已经解决、因此我要关闭线程。

    此致
    Peter