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.

[参考译文] TM4C1233H6PGE:USB 管道复位

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1477940/tm4c1233h6pge-usb-pipe-reset

器件型号:TM4C1233H6PGE
Thread 中讨论的其他器件:EK-TM4C123GXL

工具与软件:

我有一个具有隔离接地的系统。 我发现存在一些 USB 通信问题。 我可以发起与系统的通信、但在某一点上、我看到主机向我的隔离系统发出管道重置命令、然后我的通信丢失。 我探测了 USB 信号并生成了看上去足够好的眼图。 我需要在嵌入式代码中执行什么操作来处理这种管道复位错误情况、以恢复通信吗?

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

    您好!

    Unknown 说:
    我可以启动与系统的通信、但在某个时刻、我看到主机向我的隔离系统发出了管道重置命令、然后我的通信丢失了。

    这种情况需要多长时间? 秒、分钟还是小时?

    您可以在 LaunchPad 上运行相同代码来重复同样的问题吗?

    您可以在另一台 PC 上重复同样的问题吗?

    是否可以使用不同的 USB 电缆重复相同的问题?

    如果有、可以在另一个定制电路板上重复同样的问题吗?

    在主机发出管道重置命令之前、您是否有 USB 分析仪来了解是否发生了任何类型的错误?

    另请参阅 TM4C123系统设计指南、了解 USB 设计的最佳实践。 请参阅第4.1节 https://www.ti.com/lit/pdf/spma059

    我需要在嵌入式代码中执行什么操作才能处理此管道复位错误情况、才能恢复通信?

    要与主机枚举哪个 USB 类器件?  

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

    这通常在一分钟或两分钟内发生。

    我没有 LaunchPad 可供尝试。 不过、如果需要、我可以获得一个。

    是的、我可以在另一台 PC 上重复此操作。

    更改 USB 电缆可能会略微改变该行为、所需的时间可能不同。

    我确实有另一个定制板、我无法在其上重复该行为。 它针对 USB 使用相同的处理器和设计、但供电方式不同。 即 由 USB 本身供电、并且它具有不同的布局。

    我没有硬件 USB 协议分析器、我们只是使用了免费的 USB  监听器软件。 我还有一个差动高速探头、但我还没有看到具体的错误。

    我们枚举 A  CDC USB  器件。

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

    您好!

     我不知道导致您的 USB 问题的原因是什么。 我建议您将原理图与 LaunchPad 以及  TM4C123系统设计指南上记录的最佳实践进行比较、看看您是否发现了任何细微差异。  

     您可以在电路板上运行库存的 USB CDC 类示例吗? 您会看到同样的问题吗? 可在 C:\ti\TivaWare_C_Series-2.2.0.295\examples\boards\ek-tm4c123gxl\usb_dev_serial 中找到该示例。

    是的、我可以在另一台 PC 上重复此操作。

    您使用的是哪个 Windows 版本? 不同的 Windows 版本会有所不同吗?

     另请检查 Windows 是否在 C:\ti\TivaWare_C_Series-2.2.0.295\windows_drivers 中为 CDC 类挑选 INF 文件

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

    我在运行库存的 USB CDC 示例时遇到了相同的问题。 Windows 版本没有区别。

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

    您好!

     我认为诊断问题的最佳方法是您获取 LaunchPad (16.99美元)、然后查看您是否可以重复同样的问题。 如果您可以拿到 USB 分析仪、它肯定会有所帮助、但这是一款比 LaunchPad 昂贵得多的工具。  

    https://www.ti.com/tool/EK-TM4C123GXL

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

    Andrew、您好!

     我没有听到你的声音。 您有更新吗?  如果您已解决该问题、我可以关闭此 TT 吗?

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

    我在其他一些器件上遇到了类似问题。 我曾尝试使用过其中一种 TI USB 隔离器、我似乎很幸运。 不过我现在遇到的 USB 问题也不同。 我目前的情况是需要以最快的速度流式传输数据。 但在这种数据爆炸的过程中,似乎 USB 缓冲区从最大可用空间(1024字节)变成0可用空间,并保持0可用空间,直到我尝试发回数据(直到360秒后)。 我应该继续在此处聊天、或者创建一个与此新问题更相关的新论坛吗?

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

    Andrew、您好!

    我在其他一些设备上遇到类似问题。

      当您谈到其他器件时、您是指其他供应商提供的不同 TM4C123或其他 MCU? 虽然我不知道是什么原因让您的问题迎刃而解、但如果 USB 隔离器可以解决问题、看起来好像它与 MCU 无关。  

    但是在这种数据爆炸过程中、似乎 USB 缓冲区从最大可用空间(1024字节)变成几乎即时可用的0空间、并保持0可用空间、直到我尝试发回数据为止(最多360秒)。 我是否应该在此处继续本次聊天、或者创建一个与此新问题更相关的新论坛?

     请为其他主题打开一个新主题、我可以关闭此主题。 您是否尝试过将缓冲区大小增加到至少为接收到的有效载荷的大小? 它会产生影响吗?

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

    我们有几款使用 TM4C123 MCU 的产品、其中一款产品根本没有问题、另一款产品确实出现了同样的问题。 我们将对新型 USB 隔离器进行更多测试、看看我们是否还有其他问题。