我们正在开发一个带有arm7(当前:LPC2368)的发送器设备。
该设备采样mv信号,A / D,并需要将此信号数据发送到PC。(续)
同时,PC需要向arm7发送命令(如获取温度,控制状态等)。
rs232太慢,所以我们选择USB。(20K / s - 200K / s)
但问题是,我们不知道如何进行usb编程(pc和arm ......)
任何方向?任何门户?任何教程?
目前我们只将设备模拟为HID ....
答案 0 :(得分:3)
对于ARM端,您需要一个USB堆栈。对于PC端,您需要实现USB驱动程序和连接驱动程序的应用程序。因此,更容易坚持使用其中一个常见配置文件(HID,Mass Storage,Virtual COM)。对于所有这些,您将能够找到USB堆栈,而不必实现自己的堆栈。此外,您不需要为PC实现USB驱动程序。
我认为最简单的方法是使用虚拟COM方法。从PC端,您希望访问串行端口。但速度可能高于标准RS232端口。我发现这个USB Stack针对的是早期的处理器。您可以根据自己的需要进行调整,也可以将其作为参考。通常,PC的虚拟COM驱动程序将与ARM USB堆栈一起提供。
另一种方法是使用libusb。这将允许您在不编写内核驱动程序的情况下与USB进行交互。
对于应用笔记和商业USB堆栈,请查看here。如果您决定编写自己的堆栈和驱动程序,Jungo是嵌入式USB堆栈和驱动程序的行业领导者。