器件型号:MSP432E401Y
大家好、
对于我们的一个用例、我们还希望使用供应商定义的 HID 接口进行大型数据传输。 我相信使用 SDK 构建的当前 Usblib 限制为每个数据包64字节的大小。 我可以在其中找到源文件的任何输入、以及如何重建以支持高达512/1024字节的数据包大小。
谢谢
乌特拉库马尔
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.
器件型号:MSP432E401Y
大家好、
对于我们的一个用例、我们还希望使用供应商定义的 HID 接口进行大型数据传输。 我相信使用 SDK 构建的当前 Usblib 限制为每个数据包64字节的大小。 我可以在其中找到源文件的任何输入、以及如何重建以支持高达512/1024字节的数据包大小。
谢谢
乌特拉库马尔
尊敬的 Denis:
感谢您的回答。 我知道它的规格限制为64字节。
我们为什么要这样做:最终提高通信速度。 当我们使用高速接口时、数据包大小将为512字节、但我们传输的有用数据将为64字节、其余数据将填充为零。 如果有问题、请更正。
为了提高整体吞吐量、HID 数据包的大小应该增加、因此问题是。
我认为可以找到源代码的一个循环漏洞是、定义允许在单个数据包中发送多个报告、如果我们可以将大数据拆分为多个报告并在单个数据包中发送它、则它可能起作用。
我仍然不知道这会如何影响主机驱动程序,有关这一点的任何想法都将非常有帮助:)
谢谢
乌特拉库马尔
[引用用户="Dennis Lehman"]
Uthrakumar、
以下是我们 SW 团队的一项建议。
提升带宽的一个选项是在不同的端点上具有多个 HID 接口。 这仍然不是在单次传输中完成的,但它应该在带宽方面有所改善。
[/报价]
它们还可以添加额外的 CDC、持续1MB/s (即使在全速情况下也是如此)。 或者只使用 CDC、不管怎样、它都可以在没有驱动程序的任何操作系统(旧 Windows 版本除外)上自动枚举。
尊敬的 Dennis:
我们还没有尝试过这一点、但我理解您尝试的多个端点的含义。 我还看到、当我们采用这种方法时、PC 软件必须变得智能才能处理多端点数据。
但我有一个更基本的问题,可能有助于以更好的方式解决我的问题。 我们将 USB2.0高速输入输出应用与 ULPI 结合使用。 因此、USB 数据包大小将变为64个有用字节、其余字节未使用、或 HID 协议填充为零。 如果我们可以用有用的数据填充所有512个字节、从而提高整体吞吐量。 "多报告"是否仍然在此处提供帮助?
您对此还有其他想法吗?
谢谢
乌特拉库马尔
您好、Uthrakumar、
我们跟踪了常驻 MSP432专家的情况、他的意见/建议如下:
那么、他们好像在使用具有 HID 模式的 USB 高速吗? 老实说,我以前没有遇到过这种情况。 通常、高速常用于 CDC 或 BULK。 老实说,我从未听说过 HID 的高速功能。 我四处闲逛、共识似乎是高速、HID 是一个糟糕的混合想法、如果需要高速、请使用其他接口。
我们实际上并不支持这一点,因为它是一个特殊的应用程序。
就库而言,通过更改一些#define,HID 可能支持512的数据包大小。 但我不确定、因为我对 HID 库设置不太熟悉。
因此、他似乎也没有为您提供解决方案。 很抱歉、除非社区中的某个人能提供一些建议、否则我就不敢想了。
您好、Uthrakumar、
我还得到了另一项建议。
尝试查看 TM4C TivaWare USB 软件堆栈。