реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Подключение к одному USB host и более одного девайса одновременно, Например для LPC2468
GetSmart
сообщение Feb 11 2009, 07:18
Сообщение #1


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Возможно ли?
1. С электрической стороны вопроса.
2. С программной стороны вопроса.

Понятно, что можно ключами переключать D+ D- на множестве разъёмов, но хотелось бы работать одновременно, без отключения девайсов.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 11 2009, 11:19
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Подключите хаб, они именно для этого и придуманы.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 11 2009, 12:16
Сообщение #3


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(aaarrr @ Feb 11 2009, 17:19) *
Подключите хаб, они именно для этого и придуманы.

Хабу нужен свой драйвер?
Я скачал пример USB Host Lite с сайта NXP, который умеет работать с флэшками. Подозреваю что он не будет работать с хабом. А хотелось бы подключать более одной флэшки одновременно.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 11 2009, 12:17
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ Feb 11 2009, 15:16) *
Хабу нужен свой драйвер?

Таки да, нужен. Но это наиболее прямой путь, ИМХО.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 11 2009, 12:29
Сообщение #5


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Я когда-то давно читал спецификацию USB и припоминаю что там говорилось о возможности подключения множества (до 128 ?) устройств на шину. Или я ошибаюсь?


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 11 2009, 12:45
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ Feb 11 2009, 15:29) *
Или я ошибаюсь?

Не ошибаетесь. Но там речь шла как раз об использовании хабов.
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 11 2009, 17:01
Сообщение #7


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(aaarrr @ Feb 11 2009, 18:17) *
Таки да, нужен. Но это наиболее прямой путь, ИМХО.

Подозреваю, что только для винды это самый "прямой" путь. Для embedded устройства обычно нет возможности "установить" новые дрова. Ведь внешние хабы могут иметь разные PID и VID. Есть ещё вариант поставить на разрабатываемое устройство микросхему-хаб и конкретно для неё встроить драйвер. Но этот вариант на мой взгляд не особо технологичней мультиплексора 4-1 на сигналы D+ D-. А на уровне программы сделать 4 одинаковых потока для работы с 4-мя девайсами. Возможно микросхема-хаб работает по точно такому же принципу и ничем не лучше.

Поправьте меня, если я ошибаюсь, но USB девайсы сами не инициируют передачу, а только отвечают на запросы хаба. Таким образом я могу держать питание на всех девайсах активным, а проц может по очереди передавать фреймы на разные девайсы через мультиплексор. То есть можно сделать по сути одновременную работу девайсов аналогично работе через хаб. Только я не знаю, в каком состоянии держать D+ D- на пассивных девайсах.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 11 2009, 17:16
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ Feb 11 2009, 20:01) *
Для embedded устройства обычно нет возможности "установить" новые дрова. Ведь внешние хабы могут иметь разные PID и VID. Есть ещё вариант поставить на разрабатываемое устройство микросхему-хаб и конкретно для неё встроить драйвер.

Хаб - это стандартный класс устройств, поэтому держать специальные драйверы нет никакой надобности.

Цитата(GetSmart @ Feb 11 2009, 20:01) *
То есть можно сделать по сути одновременную работу девайсов аналогично работе через хаб.

Зачем изобретать велосипед, да еще сомнительной конструкции?
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Feb 11 2009, 17:29
Сообщение #9


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(aaarrr @ Feb 11 2009, 23:16) *
Зачем изобретать велосипед, да еще сомнительной конструкции?

Изобретать бывает интересно smile.gif Во всяком случае, можно сделать подключение хоть 10 девайсов без серьёзного напряга. Если хотите критиковать, то давайте конструктивней. Может есть подводные камни с электрической стороны дела?

Значит у хаба нет своих PID и VID ? Не подскажете где накопать драйвер для хаба?

К примеру. Имеется ТЗ сделать устройство с тремя Host-разъёмами. Варианты:
1. Подключить к процу микросхему-хаб, и от неё развести четыре разъёма. При этом в прошивке проца будет драйвер хаба.
2. Подключить к процу микросхему-мультиплексор и от неё развести четыре разъёма. При этом драйвер хаба не нужен, а драйвер хоста немного дорабатывается на 4 потока.

По сложности и стоимости оба варианта сравнимы. Второй может оказаться даже дешевле.

Сообщение отредактировал GetSmart - Feb 11 2009, 18:13


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 11 2009, 18:14
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(GetSmart @ Feb 11 2009, 20:29) *
Значит у хаба нет своих PID и VID ? Не подскажете где накопать драйвер для хаба?

VID и PID есть, как и у любого USB-устройства. Можно, например, расковырять линуксовые исходники, но...

Цитата(GetSmart @ Feb 11 2009, 20:29) *
При этом драйвер хаба не нужен, а драйвер хоста немного дорабатывается на 4 потока.

чисто теоретически, такой вариант представляется возможным (хотя могу ошибаться sad.gif ), только придется забыть обо всех стандартах и писать собственный ни с чем не совместимый хост-стек.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Feb 15 2009, 23:34
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(aaarrr @ Feb 11 2009, 21:14) *
VID и PID есть, как и у любого USB-устройства. Можно, например, расковырять линуксовые исходники, но...

Зачем ковырять? Прочтите описание с usb.org там всё про хаб есть. В т.ч. рассматривается хаб представляющий из себя набор ключей, как вы и хотите сделать.. Только ещё хаб за подключением девайсов к своим портам следит и по каналу управления информацию об этом шлёт.
Цитата(aaarrr @ Feb 11 2009, 21:14) *
чисто теоретически, такой вариант представляется возможным (хотя могу ошибаться sad.gif ), только придется забыть обо всех стандартах и писать собственный ни с чем не совместимый хост-стек.

Теоретически можно все девайсы параллельно повесить. Электрически, если это флешки (без кабелей), всё работать будет. Но работать будет только после назначения адреса (энумерации). До установки адреса, когда к девайсу по 0-му адресу обращаются, проблеммы будут т.к. 2 или более девайса одновременно отвечать начнут. А вот если девайсы поочереди подключать, то таких проблем не будет. Будут другие - как вы узнаете, что новое устройство на шину подцепили и его проэнумеровать нужно (без переделки драйвера)? Хотя в принципе, если имеются ключи, то всё это не так сложно сваять. Но вот нужно-ли? Хотя если серия предполагается большая, то почему бы и нет? А за стандарты, в т.ч. всякие VID PID хаба не переживайте. Я встречал хаб с VID=PID=0, и ничего всё работало. Драйвер на хаб видимо по классу bDeviceClass в дескрипторе DEVICE ставится.
А вот самодельные девайсы, предназначенные для такого включения, сделать можно и несложно. Это составное устройство с точки зрения хоста будет. А реально несколько независимых.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01441 секунд с 7
ELECTRONIX ©2004-2016