USB设备类的选择

USB设备类的选择,usb,Usb,我们正在开发一种由CAN和USB(设备模式)组成的设备。通过USB,CAN消息(消息波特率可高达1Mbps,消息频率可高达1条消息/5百万秒)和其他数据(示例设置数据)将在PC和我们的H/W(双向)之间传输 我使用的是德州仪器公司的TM4C123GH6PM MCU.TI,它支持下面给出的6个标准类 1) 音频设备类 2) CDC设备类 3) 复合设备类 4) 设备固件升级设备类 5) HID设备类 6) 大容量存储设备类 它们还支持一个名为“批量设备类”的类,该类有1个批量输入端点和1个批量输出

我们正在开发一种由CAN和USB(设备模式)组成的设备。通过USB,CAN消息(消息波特率可高达1Mbps,消息频率可高达1条消息/5百万秒)和其他数据(示例设置数据)将在PC和我们的H/W(双向)之间传输

我使用的是德州仪器公司的TM4C123GH6PM MCU.TI,它支持下面给出的6个标准类 1) 音频设备类 2) CDC设备类 3) 复合设备类 4) 设备固件升级设备类 5) HID设备类 6) 大容量存储设备类

它们还支持一个名为“批量设备类”的类,该类有1个批量输入端点和1个批量输出端点

为我的应用程序(HID设备类、批量设备类、CDC设备类或任何其他方法)实现USB驱动程序的更好方法是哪一种,这样我就可以尽可能快地将所有消息发送到PC机和从PC机发送出去

我们还计划开发一个PC工具,用于显示CAN消息和配置H/W

我在考虑去CDC设备班?因为我认为对于我的应用程序,批量传输方法比中断传输方法好,并且只有批量设备类和CDC设备类使用它

与批量设备类相比,CDC是一个标准类,不需要任何驱动程序,应用程序开发也很容易。
我以前在USB方面没有任何经验。我的决定正确吗?请帮助我?

您的USB设备没有任何特定的功能/协议,仅用于传输原始数据。为此,我认为最好使用只包含两个端点且更易于使用的Bulk-only类。 对于其他类,您也必须实现特定于类的函数描述符,这将不是一项简单的任务

但如果您有任何时间敏感的数据,则情况就不同了,因为批量端点不能保证及时交付。那么最好使用CDC,在这种情况下,您将有一个可以使用的中断端点