2012-09-16 132 views
2

我可以通過USB端口將一系列數據(非文件)從Android設備傳輸到FPGA板上嗎? Android是否使用一些API順序支持這種傳輸?通過USB端口傳輸數據

回答

0

這取決於你的Android設備。 Sinvce API級別12,Android開發者已有USB Host and USB accessory support。 USB附件是有點古怪,據我可以告訴,它被設計成只承認一個Android專有擴展USB標準"Android Open Accessory protocol"

看看由Nexus Computing guys in Switzerland

在做的工作特別你會發現關於他們的osciprime open source oscilloscope的博客文章,其中包括硬件與XiLinx CPLD的接口,這至少接近你正在嘗試做的事情。

5

根據您的Android硬件,最多有三種不同的方式來完成此操作。從廣泛支持到最少,它們是ADB協議,USB配件模式和USB主機模式。 ADB協議實際上是爲調試Android設備而設計的,但Android支持通過它連接隧道TCP連接,並且各種項目(如microbridge)都使用它來在Android應用程序和外部硬件之間傳輸數據。其他人已經將其他兩個文檔鏈接起來。

您可以使用哪些實際使用哪種FPGA板取決於您使用的FPGA板類型以及它具有哪種USB硬件。 (我假設你現在使用的是現成的電路板。)有些電路板只有一個USB-to-JTAG接口,通常是專有的和沒有記錄的,在這種情況下,USB Host是唯一的方式與它連接,你需要在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 Host模式,因此理論上可以基本上與所有Android硬件接口,但它們在FPGA方面需要大量工作。

(這個答案有一些超鏈接被淘汰,因爲新用戶的超級鏈接限制。道歉。)