|
USB <---> UART/SPI, На чём делать? |
|
|
|
Jan 14 2008, 06:56
|
Группа: Новичок
Сообщений: 3
Регистрация: 5-07-06
Пользователь №: 18 589

|
Добрый день, уважаемое сообщество. Есть проблема, может кто подскажет, как её решить. К микроконтроллеру (ATmega128) необходимо подключить три USB-устройства, причём два из них будут "slave", а одно "host". Что посоветуете? Может быть есть МК с OTG (тот же AT90USB1286), только на несколько USB-портов; или VNC1L + FT232 с "правильными" прошивками? Кто с чем работал, поделитесь, пжлст.
|
|
|
|
|
Jan 14 2008, 08:04
|
Группа: Новичок
Сообщений: 3
Регистрация: 5-07-06
Пользователь №: 18 589

|
Цитата(Aesthete Animus @ Jan 14 2008, 12:58)  2Alex_lazy А вы уверены, что стоит тут применять USB. Извините, но то, о чем Вы говорите, несколько несуразное архитектурное решение... Очень хотелось бы, т.к. предполагается использовать флэшку или ПК и подключать это устройство через USB к другому модулю. А AVR, потому что хорошо изучет и уже используется.
|
|
|
|
|
Jan 14 2008, 09:03
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-05
Из: Минск, Беларусь
Пользователь №: 6 213

|
Цитата(rezident @ Jan 14 2008, 10:44)  Обслужить столько USB-контроллеров - два хоста и один слейв (именно так, потому, что ваши два USB-slave должны подключаться к подключаться к USB-host контроллера, обслуживаемых вашим МК) одновременно с помощью AVR нереально. Либо периферийный USB-host контроллер должен обслуживаться собственным (быстродействующим в части транзакции данных) микроконтроллером. Но тогда зачем там AVR? Вы подумайте зачем вам USB вообще? Какие из его отличительных свойств вам жизненно необходимы? Быстродействующий последовательный интерфейс? Возможность "горячего" подключения? Какой вообще межмодульный поток/объем данных планируется? Зная о чем идет речь, могу сказать, что USB выбирался по 2-м причинам: 1. Отсутствие у современных ноутбуков и КПК интерфейса RS232. Возможно конечно исользование переходников USB-RS232 (так до сих пор и делали), однако решили попробовать обойтись без переходников. Откатиться назад на RS232 успеем всегда. 2. Основное достоинство - это подключение стандартных USB флешек, на которых можно принести в кармане новые прошивки работы устройства или скачать статистику работы устройства для дальнейшего анализа. Одновременно могут использоваться ТОЛЬКО следующие конфигурации: - PC -> USB SLAVE -> Пульт Управления -> USB HOST -> Модуль Процессора - USB FLASH -> USB HOST -> Пульт Управления -> USB HOST -> Модуль Процессора Неужели можности AVR не хватит для обслуживания 2-х USB HOST?
|
|
|
|
|
Jan 14 2008, 09:15
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата 1. Отсутствие у современных ноутбуков и КПК интерфейса RS232. Возможно конечно исользование переходников USB-RS232 (так до сих пор и делали), однако решили попробовать обойтись без переходников. Откатиться назад на RS232 успеем всегда. Если из-за этого, то мост USB-COM это вполне современное и правильное решение. Цитата 2. Основное достоинство - это подключение стандартных USB флешек, на которых можно принести в кармане новые прошивки работы устройства или скачать статистику работы устройства для дальнейшего анализа. Это понятно. Удобство в применении готового носителя (USB FlashDrive) и в отсутствии необходимости доп. оборудования для считывания данных на PC. Но мы в такой же ситуации прмименили VNC1L для переноса журнала работы с контроллера на PC. До этого контроллер с FDD выпускался. Цитата Одновременно могут использоваться ТОЛЬКО следующие конфигурации: - PC -> USB SLAVE -> Пульт Управления -> USB HOST -> Модуль Процессора - USB FLASH -> USB HOST -> Пульт Управления -> USB HOST -> Модуль Процессора Что-то я не вижу необходимости применения USB при связке "Пульт Управления -> USB HOST -> Модуль Процессора". Цитата Неужели можности AVR не хватит для обслуживания 2-х USB HOST? ИМХО - нет. Если вам хочется все же попробовать и поэкспериментировать, то посмотрите на MAX3421E. Только не забудьте при этом, что в Пульте управления вам придется реализовывать поддержку FAT.
|
|
|
|
|
Jan 14 2008, 09:29
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-05
Из: Минск, Беларусь
Пользователь №: 6 213

|
Цитата(rezident @ Jan 14 2008, 11:15)  Что-то я не вижу необходимости применения USB при связке "Пульт Управления -> USB HOST -> Модуль Процессора". Одним из условий разработки было предусмотреть возможность исключить при поставке оборудования Пульт Управления, а это значит, что должна работать связка PC -> Модуль Процессора. Следовательно, если пока не обсуждать применение USB, то в Модуле Процессора должен стоять "чистый" USB-SLAVE (например от FTDI). Теперь если вернуться к наличию Пульта Управления, то для подключения его к Модулю Процессора необходим USB HOST. Вот и все. Если Вы работали с VNC1L, то может быть подскажите... В приниципе нас вполне бы устроила прошивка от VDAP (в ней один порт используется для USB FLASH, а второй как HOST для FTDI периферии), остается только подключение PC к Пульту Управления. Возможно ли налету менять порт USB FLASH c HOST на SLAVE, например по команде от микроконтроллера или такой возможности нет? Если такое возможно, то на этот вопрос бы закрылся. Мы бы просто управляли назначением этого порта из меню Пульта Управления.
|
|
|
|
|
Jan 14 2008, 10:23
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(Yaumen @ Jan 14 2008, 14:29)  Одним из условий разработки было предусмотреть возможность исключить при поставке оборудования Пульт Управления, а это значит, что должна работать связка PC -> Модуль Процессора. Следовательно, если пока не обсуждать применение USB, то в Модуле Процессора должен стоять "чистый" USB-SLAVE (например от FTDI). Теперь если вернуться к наличию Пульта Управления, то для подключения его к Модулю Процессора необходим USB HOST. Вот и все. А почему нельзя предусмотреть просто еще один интерфейс для подключения пульта? Модуль процессора работает с PC через мост USB-COM, а с Пультом непосредственно через COM-порт (RS232/RS485). Это всего лишь доп. м/с драйвера и разъем. Цитата(Yaumen @ Jan 14 2008, 14:29)  Если Вы работали с VNC1L, то может быть подскажите... В приниципе нас вполне бы устроила прошивка от VDAP (в ней один порт используется для USB FLASH, а второй как HOST для FTDI периферии), остается только подключение PC к Пульту Управления. Возможно ли налету менять порт USB FLASH c HOST на SLAVE, например по команде от микроконтроллера или такой возможности нет? Если такое возможно, то на этот вопрос бы закрылся. Мы бы просто управляли назначением этого порта из меню Пульта Управления. Я лично не работал. Так ... "побаловался", проверяя команды с использованием UART VNC1L. Работал с ней мой коллега. Насколько я знаю "на лету" прошивку менять нельзя. Точнее для смены прошивки нужно переводить VNC1L в режим программирования, чтобы стартанул ее бутлоадер. Недавно появилась давно анонсированная возможность апдейта прошивки непосредственно с USB FlashDrive. Проверяли - работает. А вообще почитайте про VNC1L сами, у производителя на сайте. Так наверное корректнее будет. http://www.vinculum.com/
|
|
|
|
|
Jan 14 2008, 10:31
|
Частый гость
 
Группа: Свой
Сообщений: 187
Регистрация: 22-06-05
Из: Минск, Беларусь
Пользователь №: 6 213

|
Цитата(rezident @ Jan 14 2008, 12:23)  А почему нельзя предусмотреть просто еще один интерфейс для подключения пульта? Модуль процессора работает с PC через мост USB-COM, а с Пультом непосредственно через COM-порт (RS232/RS485). Это всего лишь доп. м/с драйвера и разъем. Это как раз запасной вариант, на случай если красивого и дешевого решения на USB не получится. Цитата Я лично не работал. Так ... "побаловался", проверяя команды с использованием UART VNC1L. Работал с ней мой коллега. Насколько я знаю "на лету" прошивку менять нельзя. Если для того чтобы переключиться с HOST на SLAVE необходима замена прошивки, то тогда конечно врядли это возможно на лету. Я просто подумал, так как работа SLAVE намного проще, чем HOST, то возможно есть возможность переключить порт в режим SLAVE без замены прошивки.
|
|
|
|
|
Jan 14 2008, 15:32
|

Помогу, чем смогу
     
Группа: Админы
Сообщений: 2 786
Регистрация: 28-05-04
Из: Москва
Пользователь №: 25

|
В похожей задаче использовал 51-й МК отСиликонЛабс, удалось обойтись usb slave и SD на борту. Когда изделие не подключено к РС, используем флэшку по назначению и имеем возможность ее менять-обновлять и т.п. При подключении к РС, все изделие превращается в usb-флэшку, Винда с ней работает без проблем, специальной программы считывания делать не пришлось. Если интересует, посмотрите у СиликонЛабс аппноут на эту тему, там исходники, которые можно адаптировтаь под свои нужды
--------------------
|
|
|
|
|
Jan 14 2008, 15:39
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(SasaVitebsk @ Jan 14 2008, 18:22)  С точки зрения стоимости старшие модели AVR + внешние элементы будут пожалуй дороже чем Без "пожалуй" и без "внешних элементов" тоже - LPC2141 c USB на борту стоит чуть более 4 (четырех) долларов. Старший LPC2468 с двумя USB (slave, host, OTG) , Ethernet, контроллер SD и всего прочего в комплекте с 512 Flash, 96 RAM около 11 баксов.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|