Перейти к содержанию
    

Организовать взаимодействие по USB между платой и компьютером

Добрый день,

 

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

 

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

 

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

 

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

 

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

 

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

 

Спасибо.

Изменено пользователем Kirill_Good

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если для отладки у вас уже всё есть и заточено для работы по сети + есть физический USB, можете попробовать использовать usbnet. очень удобно - подключил девайс к компьютеру по USB, определилась сетевая карта. На устройстве можно запускать вебсервер, телнет, фтп, не задумываясь, что на физическом уровне используется USB.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще подумал, что usb вроде имеет режимы работы типа "master slave". Получается PC работает в master и плата тоже. Или контроллер может работать и так и так, если подхимичить. И на какой стороне химичить? Или какой то брелок нужен между ними

 

Если для отладки у вас уже всё есть и заточено для работы по сети + есть физический USB, можете попробовать использовать usbnet. очень удобно - подключил девайс к компьютеру по USB, определилась сетевая карта. На устройстве можно запускать вебсервер, телнет, фтп, не задумываясь, что на физическом уровне используется USB.

 

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

Изменено пользователем Kirill_Good

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Компьютер - мастер. А плата у вас мастер или слейв? Если мастер - смотрите моё предыдущее сообщение. Если слейв - то можно использовать gadget. Например http://wiki.virt2real.ru/wiki/USB_gadget

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Компьютер - мастер. А плата у вас мастер или слейв? Если мастер - смотрите моё предыдущее сообщение. Если слейв - то можно использовать gadget. Например http://wiki.virt2real.ru/wiki/USB_gadget

 

Если использовать usbnet нужен ли какой нибудь кабель? usb bridge?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пока надумываю организовать это дело через 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 прослойки, упомянутой выше.

Изменено пользователем Kirill_Good

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще подумал, что usb вроде имеет режимы работы типа "master slave". Получается PC работает в master и плата тоже. Или контроллер может работать и так и так, если подхимичить. И на какой стороне химичить? Или какой то брелок нужен между ними

 

 

 

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

 

USB имеет режимы работы host/device. Но только если у вас OTG. USB мама это непонятно. USB A -- host, USB B -- device. OTG используют мини или микро USB коннектор. Там есть пятый пин, который используется для переключения режима работы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...