通过USB端口传输数据

时间:2012-09-16 14:47:38

标签: android usb serial-port fpga

我可以通过USB端口将一系列数据(非文件)从Android设备传输到FPGA板吗? android是否使用某些API顺序支持此类传输?

2 个答案:

答案 0 :(得分:5)

根据您的Android硬件,最多有三种不同的方法。从最广泛支持到最少,它们是ADB协议,USB附件模式和USB主机模式。 ADB协议实际上是为调试Android设备而设计的,但是Android支持通过它连接隧道,并且microbridge等各种项目使用它来在Android应用程序和外部硬件之间传输数据。其他人已经将其他两个文档链接起来了。

您可以实际使用哪些产品取决于您使用的FPGA板类型以及它具有哪种USB硬件。 (我现在假设您正在使用现成的主板。)有些主板只有USB-to-JTAG接口,通常是专有的和未记录的,在这种情况下USB主机是唯一的方式与它接口,你需要在Android端有一些相当丑陋的代码。其他的,如OsciPrime和Ztex的主板,使用赛普拉斯FX2微控制器,再次需要USB主机支持,但允许您在两者之间定义自己的USB协议。少数人拥有飞利浦ISP1362芯片并支持USB主机模式,在这种情况下,您可以使用ADB或开放附件协议 - 您甚至可以boot ucLinux on it and connect to your phone with libusb

如果您正在开发自己的硬件,那么显然取决于个人品味,性能要求,BOM成本和开发时间之间的权衡,以及您需要能够支持多大范围的Android设备。例如,TUSB110x系列的USB收发器非常便宜并且可以支持USB主机模式,因此从理论上讲,您可以与基本上所有的Android硬件接口,但它们需要在FPGA方面进行大量工作。

(由于新用户的双超链接限制,此答案已经淘汰了一些超链接。道歉。)

答案 1 :(得分:0)

这取决于您的Android设备。 Sinvce API等级12,Android开发人员已经USB Host and USB accessory support。 据我所知,USB配件有点时髦,它只能识别USB标准"Android Open Accessory protocol"的Android专有扩展,

查看Nexus Computing guys in Switzerland

所做的工作

特别是你会发现关于他们的osciprime open source oscilloscope的博客文章,其中包括与XiLinx CPLD的硬件接口,这至少与你想要的接近。