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

Требуется консультация по USB host

Стоит перспективная задача поднять USB host на микроконтроллере lpc24xx. Будет необходимо работать с устройствами хранения данных и с коммуникационными устройствами (думаю дело ограничется USB флешками и модемами).

Интересуют такие вопросы:

1) Хочется оценить примерную трудоемкость разработки.

2) Влезет ли все это во внутреннюю флешь(512Кб) ?

3) Какие имеются легкие ОС или библиотеки (желательно open source) поддерживающие работу USB host?

4) Какие книжки хорошие есть по USB?

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


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

Может я чего не понимаю, но, честно говоря, не увидел ответа на свои вопросы.

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


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

Я имел ввиду,что FTDI выпустила VNC1L (Vinculum USB Host Controller Device).

http://www.vinculum.com/prd_vnc1l.html

Для управления к нему можно прицепить любой микроконтроллер.

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


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

Я имел ввиду,что FTDI выпустила VNC1L (Vinculum USB Host Controller Device).

Спасибо, конечно, но lpc24xx имеет host на борту, так что меня интересует чисто разработка софта

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


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

1) Хочется оценить примерную трудоемкость разработки.

2) Влезет ли все это во внутреннюю флешь(512Кб) ?

3) Какие имеются легкие ОС или библиотеки (желательно open source) поддерживающие работу USB host?

4) Какие книжки хорошие есть по USB?

1. Порядка одного человеко-года.

2. Да. И в 256К войдет и место останется. ОЗУ лучше иметь не менее 64К.

3. Порекомендую SMX. http://www.smxrtos.com/. Не бесплатно, но цена разумная, ценник пришлют по запросу.

4. Очень хорошее введение в USB было у Cypress в EZ-USB Technical Reference Manual. Буквально на нескольких страницах изложены основы протокола. За дальнейшим - на www.usb.org, там свободно.

 

Настоятельно рекомендуется иметь аппаратный USB-анализатор, например от Ellisys.

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


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

Все запутанней на самом деле чем мне кажется вы думает.

Host как его понимают юзеры на самом деле состоит как минимум из 3-4 слоев.

1. Физический программный драйвер к USB интерфейсу

2. USB host стек

3. Драйвер контрольного канала.

4. Драйвер класса устройств для хоста

 

Как выполнен 1-й уровень сильно зависит от того применяете ли вы операционную систему и какую или нет.

Обычно фирмы изготовители чипов типа LPC дают физический драйвер не использующий операционку.

Но вот 2-й уровень в исходниках можно найти только работающий совместно с операционкой, обычно Linux. Т.е. сразу тупик.

Физический драйвер займет не более пары килобайт, оперативной вообще почти не надо.

USB host вообщем тоже достаточно несложен, за месяца 3-и написать можно если уже досконально знать механизм работы.

С драйверами классов уже сложнее, там гораздо больше может быть функций и команд и расход памяти трудно прогнозировать.

Классы это - MassStorage (диск), Modem Communications Class Driver , HID и т.д.

Для драйвера MassStorage (дисков) все еще хуже, поверх него надо еще иметь саму файловую систему соответствующую системе на Flash накопителе.

Но хуже всего с драйверами контрольного канала, все дешевые USB побрякушки которые еще не устарели сделаны на глубоко засекреченных чипах, для которых нет никакой информации как они управляются по контрольному каналу. Дока на них даже под NDA может не даваться.

Вот тут полный ступор.

Если с USB Flash особо ничего знать не надо и можно реализовать чтение по открытой документации, то например к какому-нибудь USB Wi-FI адаптеру подключиться без шансов.

Выход только ковырять бинарные драйверы.

 

В общем случае для достаточно универсального hosta с учетом операционки ресурсов LPC на пределе.

 

 

Стоит перспективная задача поднять USB host на микроконтроллере lpc24xx. Будет необходимо работать с устройствами хранения данных и с коммуникационными устройствами (думаю дело ограничется USB флешками и модемами).

Интересуют такие вопросы:

1) Хочется оценить примерную трудоемкость разработки.

2) Влезет ли все это во внутреннюю флешь(512Кб) ?

3) Какие имеются легкие ОС или библиотеки (желательно open source) поддерживающие работу USB host?

4) Какие книжки хорошие есть по USB?

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


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

Если вы ограничитесь только флеш-накопителями, то за полгода можно написать софт, с модемами все гораздо сложнее, как уже говорилось выше. У нас как-то была задача подобная, после месяца ковыряния модема пришли к выводу, что быстрее будет свой сделать.

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


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

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

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

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

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

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

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

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

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

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