我可以通過USB端口將一系列數據(非文件)從Android設備傳輸到FPGA板上嗎? Android是否使用一些API順序支持這種傳輸?通過USB端口傳輸數據
回答
這取決於你的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的接口,這至少接近你正在嘗試做的事情。
根據您的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方面需要大量工作。
(這個答案有一些超鏈接被淘汰,因爲新用戶的超級鏈接限制。道歉。)
- 1. 通過串行端口傳輸數據
- 2. 通過USB端口發送數據
- 3. 通過USB實時數據傳輸
- 4. 從USB端口輸出數據? (Windows)
- 5. 傳輸數據USB
- 6. USB通信端口
- 7. C++ windows通過USB串口獲取USB端口和集線器
- 8. 如何通過Android C#中的USB端口發送數據?
- 9. 通過USB輸入模擬數據
- 10. USB數據傳輸到iPhone
- 11. 如何通過USB高速傳輸數據?
- 12. 通過USB CDC將數據從STM32F407傳輸到libusb
- 13. 如何通過USB傳輸數據與iPad
- 14. 當超級終端連接時,C++無法通過COM端口傳輸數據
- 15. 通過USB進行Android文件傳輸
- 16. 在我的項目中通過USB通過USB連接一個arduino到一個ANDROID手機通過USB端口
- 17. 通過串口傳輸數據時出現數據損壞
- 18. Erlang端口數據傳輸長度
- 19. 從USB端口讀取數據
- 20. 當捕獲數據時,USB端口嗅探和USB端口觸發
- 21. c#檢測來自USB端口的輸入數據
- 22. 通過USB在窗口
- 23. 是否可以通過USB通過ZModem傳輸文件?
- 24. USB端口號
- 25. 通過端口發送數據
- 26. 通過PS/2端口發送數據
- 27. 通過mac上的USB端口與iphone進行通信
- 28. 通信USB端口通過使用VC++ 2008
- 29. 通過Android應用程序發送和接收USB端口上的數據
- 30. 無論如何,我可以通過HDMI端口發送SERIAL-USB數據嗎?