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.

[参考译文] EK-TM4C123GXL:USB 传输速率过低

Guru**** 2447880 points
Other Parts Discussed in Thread: TUSB1210, TM4C123GH6PM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/620551/ek-tm4c123gxl-usb-transmission-rate-too-low

器件型号:EK-TM4C123GXL
主题中讨论的其他器件:TUSB1210TM4C123GH6PMTM4C123

大家好、

我们开发了示波器、供我们大学的学生使用。 第一个版本正在运行、学生能够以高达500kHz 的采样率测量信号。 示波器通过 USB 与在其 PC/笔记本电脑上运行的主机应用进行通信。 所有测量数据都通过批量端点发送到主机应用。

下一次升级应该能提供更好的示波器采样率、这意味着提高 USB 传输的速度。 现在、我们将达到0.5 MB/s 的传输速率(因为我们仅使用 ADC 外设的前8位、采样率为500kHz)。 我们实现的目标是使用 ADC 模块的最大速度 采样率为1MHz。

到目前为止、我们测试了 USB-Bulk 示例的传输速率。 USB 批量示例达到的传输速率约为0.8MB/s  示例代码中示波器达到的传输速率与 USB 2.0速率(60MB/s)和 USB 1.0速率(1.5MB/s)相差甚远。  

参考 TM4C MCU 的数据表、它应该能够满足 USB 2.0标准、这是不是真的?

在此线程中、我了解了双数据包缓冲(USB-Speed Thread)并遵循 Tsuno Chinzeis 建议/代码片段。 遗憾的是、它无助于提高传输速率。

我还测试了不同的 usblib 函数 USBBufferWrite 和 USBBufferDataWritten。 正如预期 的那样、USBBufferDataWritten 函数比 USBBufferWrite 函数快得多。 下一步是实现 USB-DMA 通道并测试这是如何提高 USB 速度的。 但是、当我们远低于可能的最大值时 传输速率、恐怕这不会像预期的那样有用。

我们希望实现尽可能高的传输速率、但至少大约为1MB/s

有人对如何提高 USB 速度有什么想法吗?

非常感谢您的参与、

Felix

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Felix、
    这里不是专家、所以欢迎社区中的其他人蜂鸣。 如果您在批量传输中使用了双缓冲方案和最大数据包大小(全速为64字节)、如果您仍然无法提高吞吐量、那么我不确定是否有其他地方可以尝试。 您对使用 DMA 的建议值得尝试看看它会有多大的改进。 1.5Mb/s 是理论最大传输速率。 通常、主机可以保留高达20%的带宽用于控制传输。 驱动器中有额外的开销会影响吞吐量。
    您会考虑使用外部 PHY 实现高速吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Charles、
    感谢您的回复! 根据您的回答、我了解最大值 在没有任何额外硬件的情况下使用 TM4C LaunchPad 时的传输速率为1.5MB/s、只有使用 TUSB1210?等外部 PHY 才能实现更高的传输速率 我问的是、因为数据表中提到了控制器与 USB2.0标准兼容、即480Mbit/s
    首先、我们想了解是否有通过软件提高速度的方法。
    此致、
    Felix

    编辑:我想我把一些东西混在一起。 如数据表中所述、MCU 符合 FS 和 LS 的 USB2.0标准、这是最大值 1.5MB/s 480Mbit/s 将为 HS。 很抱歉造成混淆。 我将尝试运行 DMA 解决方案、并就此提供反馈。

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

    您好、Charles、
    要将数据传输到 EPS FIFO、我使用的是 uDMA 通道、传输速率达到~1MB/s 因此、DMA 将速度提高约25%、这也不是太糟糕。
    为了满足我们的需求、1MB/s (通过修改的 USB_BulK_example 达到)可能还不够、但让我们看看我们在其他点(通信开销等)内也可以改善的范围。

    再次感谢您的帮助和致以最诚挚的问候、
    Felix

    PS:当我们使用 TM4C123GH6PM 时、我们无法使用外部 PHY

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 REFE:
    很高兴您可以将吞吐量提高到1Mbyte/s 上次我搜索论坛时、我没有遇到能够达到1Mbyte/s 的用户 您的结果将是一个良好的参考数据点。
    此外、我的缺点是、当 TM4C123没有连接到外部 PHY 的 ULPI 接口时、我建议使用外部 PHY。 仅在 TM4C129中提供。