【问题标题】:transfer data via USB port通过 USB 端口传输数据
【发布时间】:2012-09-20 09:39:24
【问题描述】:

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

【问题讨论】:

    标签: android usb serial-port fpga


    【解决方案1】:

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

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

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

    (由于新用户的两个超链接限制,此答案已剔除一些超链接。道歉。)

    【讨论】:

      【解决方案2】:

      这取决于您的 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 的硬件接口,这至少与您正在尝试做的事情接近。

      【讨论】:

        猜你喜欢
        • 2010-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多