我可以通過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. 如何通過MATLAB通信USB端口?
- 6. 傳輸數據USB
- 7. USB通信端口
- 8. C++ windows通過USB串口獲取USB端口和集線器
- 9. 如何通過Android C#中的USB端口發送數據?
- 10. 通過USB的Android傳感器數據
- 11. 通過USB輸入模擬數據
- 12. USB數據傳輸到外部USB 3
- 13. USB數據傳輸到iPhone
- 14. 如何通過USB高速傳輸數據?
- 15. 通過USB CDC將數據從STM32F407傳輸到libusb
- 16. 如何通過USB傳輸數據與iPad
- 17. 當超級終端連接時,C++無法通過COM端口傳輸數據
- 18. Basys3開發板的USB端口上的數據輸入/輸出
- 19. 與USB端口通信
- 20. 通過USB進行Android文件傳輸
- 21. 在我的項目中通過USB通過USB連接一個arduino到一個ANDROID手機通過USB端口
- 22. 通過JFrames傳輸數據
- 23. 通過串口傳輸數據時出現數據損壞
- 24. Erlang端口數據傳輸長度
- 25. wireshark通過端口計數數據包
- 26. 我們可以通過USB電纜將數據通過USB Host API傳輸到PC嗎?
- 27. 從USB端口讀取數據
- 28. 如何從USB端口讀取數據?
- 29. 從USB端口讀取數據
- 30. 當捕獲數據時,USB端口嗅探和USB端口觸發