Thread 中讨论的其他器件:EK-TM4C123GXL
工具与软件:
我有一个具有隔离接地的系统。 我发现存在一些 USB 通信问题。 我可以发起与系统的通信、但在某一点上、我看到主机向我的隔离系统发出管道重置命令、然后我的通信丢失。 我探测了 USB 信号并生成了看上去足够好的眼图。 我需要在嵌入式代码中执行什么操作来处理这种管道复位错误情况、以恢复通信吗?
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.
工具与软件:
我有一个具有隔离接地的系统。 我发现存在一些 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 文件
您好!
我认为诊断问题的最佳方法是您获取 LaunchPad (16.99美元)、然后查看您是否可以重复同样的问题。 如果您可以拿到 USB 分析仪、它肯定会有所帮助、但这是一款比 LaunchPad 昂贵得多的工具。
我在其他一些器件上遇到了类似问题。 我曾尝试使用过其中一种 TI USB 隔离器、我似乎很幸运。 不过我现在遇到的 USB 问题也不同。 我目前的情况是需要以最快的速度流式传输数据。 但在这种数据爆炸的过程中,似乎 USB 缓冲区从最大可用空间(1024字节)变成0可用空间,并保持0可用空间,直到我尝试发回数据(直到360秒后)。 我应该继续在此处聊天、或者创建一个与此新问题更相关的新论坛吗?
Andrew、您好!
我在其他一些设备上遇到类似问题。
当您谈到其他器件时、您是指其他供应商提供的不同 TM4C123或其他 MCU? 虽然我不知道是什么原因让您的问题迎刃而解、但如果 USB 隔离器可以解决问题、看起来好像它与 MCU 无关。
但是在这种数据爆炸过程中、似乎 USB 缓冲区从最大可用空间(1024字节)变成几乎即时可用的0空间、并保持0可用空间、直到我尝试发回数据为止(最多360秒)。 我是否应该在此处继续本次聊天、或者创建一个与此新问题更相关的新论坛?
请为其他主题打开一个新主题、我可以关闭此主题。 您是否尝试过将缓冲区大小增加到至少为接收到的有效载荷的大小? 它会产生影响吗?