Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Организовать взаимодействие по USB между платой и компьютером
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Операционные системы > Linux
Kirill_Good
Добрый день,

Возникла задача организовать взаимодействие между платой (с usb разъемом и linux(2.6) на борту) и PC. Взаимодействие в плане посылка команд на плату и получение ответа. Это нужно для отладки ПО, которое крутится на плате.

Изначально команды посылались по сети. На плате запущен http сервер и принимал запросы от PC. Но понадобилось отлаживать и сеть. И хочу найти способ отладки через usb. Но в то же время не переписывать ПО на плате по приему через http сервер этих команд.

В голове крутится мост: по usb приходит команда на плату-> там как то это ловится и в user space открывается сокет и пишет на тот http сервер. По этому usb предполагается использоваение и других устройств через хаб. Сможно ли черещ один usb скоммутировать и отсылку команд и работу других устройств?

Не могли вы подсказать как это организовать и с названием ПО для этой организации?

libusb я как то работал, но тонкостей usb протокола и самой библиотеки мало знал и уже забыл.

Помогите с решением и какими то подсказками.

Спасибо.
arhiv6
Если для отладки у вас уже всё есть и заточено для работы по сети + есть физический USB, можете попробовать использовать usbnet. очень удобно - подключил девайс к компьютеру по USB, определилась сетевая карта. На устройстве можно запускать вебсервер, телнет, фтп, не задумываясь, что на физическом уровне используется USB.
Kirill_Good
Еще подумал, что usb вроде имеет режимы работы типа "master slave". Получается PC работает в master и плата тоже. Или контроллер может работать и так и так, если подхимичить. И на какой стороне химичить? Или какой то брелок нужен между ними

Цитата(arhiv6 @ May 26 2015, 19:43) *
Если для отладки у вас уже всё есть и заточено для работы по сети + есть физический USB, можете попробовать использовать usbnet. очень удобно - подключил девайс к компьютеру по USB, определилась сетевая карта. На устройстве можно запускать вебсервер, телнет, фтп, не задумываясь, что на физическом уровне используется USB.


На плате usb мама. Это имеет значение? И нужно будет обязательно подключать к плате хаб для отладки usb устройств.
arhiv6
Компьютер - мастер. А плата у вас мастер или слейв? Если мастер - смотрите моё предыдущее сообщение. Если слейв - то можно использовать gadget. Например http://wiki.virt2real.ru/wiki/USB_gadget
Kirill_Good
Цитата(arhiv6 @ May 26 2015, 19:57) *
Компьютер - мастер. А плата у вас мастер или слейв? Если мастер - смотрите моё предыдущее сообщение. Если слейв - то можно использовать gadget. Например http://wiki.virt2real.ru/wiki/USB_gadget


Если использовать usbnet нужен ли какой нибудь кабель? usb bridge?
Kirill_Good
Пока надумываю организовать это дело через usb ethernet брелок. На тек момент по моим знаниям хост-хост соединить нельзя два usb устройства. Нужен usb-usb bridge, которые по моим поискам в меньшей доступности в России чем usb ethernet. С последним брелком тогда вообще менять ничего не надо, только http сервер заставить слушать на usb network interface'е.
Kirill_Good
Если кто озадачится таким же вопросом, то решил сделать с помощью ethernet usb адаптера на базе чипа типа ASIX AX88XXX. Драйверы идут на >= 2.6.14. Я взял apple брелок с ASIX AX88772. Встал на 2.6.32 ровно, без каких либо проблем. Драйвер идет на основе usbnet прослойки, упомянутой выше.
Tarbal
Цитата(Kirill_Good @ May 26 2015, 20:46) *
Еще подумал, что usb вроде имеет режимы работы типа "master slave". Получается PC работает в master и плата тоже. Или контроллер может работать и так и так, если подхимичить. И на какой стороне химичить? Или какой то брелок нужен между ними



На плате usb мама. Это имеет значение? И нужно будет обязательно подключать к плате хаб для отладки usb устройств.


USB имеет режимы работы host/device. Но только если у вас OTG. USB мама это непонятно. USB A -- host, USB B -- device. OTG используют мини или микро USB коннектор. Там есть пятый пин, который используется для переключения режима работы.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.