Какой протокол передачи для «Потоковой передачи через USB»

Я программирую FPGA на Red Pitaya и использую его для сбора данных и создания изображений с этими данными. Затем мне нужно перенести изображения на устройство Android. Мне так нужно использовать порт USB (для подключения платы к устройству Android), и мне было интересно, какой протокол передачи я должен использовать для передачи изображения. UDP через USB? Серийный через USB? Другой?

А может что-то уже есть на Красной Питайе?

Спасибо за ваши ответы.

Либо массовые, либо изохронные передачи.
Если у вас есть локальное хранилище для изображений по мере их создания, может быть, оно присутствует в качестве запоминающего устройства?
Большинство USB-устройств специального назначения представляют собой последовательные адаптеры, поскольку это простой и хорошо поддерживаемый протокол. Я не знаю, есть ли поддержка на Android. (Еще одним фактором, побудившим их выбрать это, вероятно, является наличие чипов интерфейса FTDI USB-to-serial)
Спасибо за ваши ответы. Если я не ошибаюсь, это более изохронно, чем массовое, так как я хотел бы сделать потоковую передачу... Что отвечает на pjc50. Для части Android-устройства, если я не ошибаюсь, достаточно usb a to usb b. Я видел несколько приложений для выполнения этой работы. Оставшаяся проблема все еще на стороне RP связи.
Есть ли у вас возможность писать свои драйвера и загружать их на андроид-устройство, или вам нужно притворяться устройством, которое уже известно ядру?
Мне нужно, чтобы отображался существующий модуль (если вы говорите о плате) для Android-устройства.
В чем здесь заключается вопрос проектирования электроники?
В комментариях много неверной информации! Android на самом деле не поддерживает стандартные USB-устройства, за исключением таких вещей, как клавиатура/мышь, у вас должно быть приложение, которое предоставляет собственную реализацию пользовательского пространства «драйвера USB», и наоборот, это означает, что вы можете использовать практически любую схему, которую хотите, как все, что вам нужно. use вы должны предоставить код, который его реализует.
USB UVC — хороший выбор для потоковой передачи видео. Необработанный USB также является хорошим выбором, если вас не волнует совместимость. Или Ethernet/последовательный через USB.

Ответы (2)

поищите преобразователь ftdi FT232h... даже если у вас его нет на вашей плате, вы можете соединить его с запасными входами/выходами... вы можете найти дешевые коммутационные платы на ebay или aliexpress...

Я не уверен на 100%, но я думаю, что есть какой-то драйвер для Android...

На вашей плате уже есть преобразователь FTDI RS232 , распаянный в один из разъемов micro-USB. Если объем данных, которые вы хотите передать, невелик, вы можете использовать его. Вы могли ожидать получить 1 Мбит / с через такое преобразование, иногда немного больше. У меня нет такой платы, так что это только оценка.

Если вам нужно передать много данных, а 1 Мбит/с недостаточно, вам следует использовать Ethernet через USB. Посмотрите, есть ли у вас модуль ядра с именем, g_etherдоступный для вашего ядра.

Версии RS422 преобразователей FTDI, которые я использовал, могут достигать скорости примерно до 3 Мбит/с.
FTP — совершенно неподходящий протокол для потоковой передачи данных. Он предназначен для передачи файлов , а не произвольных данных, и его относительно сложно реализовать. HTTP может подойти лучше, так как он, по крайней мере, имеет некоторые возможности для потоковой передачи данных.
@duskwuff В ОП особо упоминается передача изображений на устройство Android. Что не так с передачей их в виде файлов?
@DmitryGrigoryev В заголовке вопроса конкретно указано решение для « потоковой передачи через USB». FTP не является потоковым протоколом.
@uuser39382 uuser39382 Изображения не являются подходящим типом данных для потоковой передачи. Это либо неподвижные изображения в виде файлов, либо видео в виде потока.