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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> USB <---> UART/SPI, На чём делать?
Alex_lazy
сообщение Jan 14 2008, 06:56
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 5-07-06
Пользователь №: 18 589



Добрый день, уважаемое сообщество. Есть проблема, может кто подскажет, как её решить. К микроконтроллеру (ATmega128) необходимо подключить три USB-устройства, причём два из них будут "slave", а одно "host". Что посоветуете? Может быть есть МК с OTG (тот же AT90USB1286), только на несколько USB-портов; или VNC1L + FT232 с "правильными" прошивками? Кто с чем работал, поделитесь, пжлст.
Go to the top of the page
 
+Quote Post
Aesthete Animus
сообщение Jan 14 2008, 07:28
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 222
Регистрация: 9-06-07
Пользователь №: 28 317



2Alex_lazy
А вы уверены, что стоит тут применять USB. Извините, но то, о чем Вы говорите, несколько несуразное архитектурное решение...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 14 2008, 07:48
Сообщение #3


Гуру
******

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



2Alex_lazy
А Вы уверены,что стоит тут применять AVR? .....


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
Alex_lazy
сообщение Jan 14 2008, 08:04
Сообщение #4





Группа: Новичок
Сообщений: 3
Регистрация: 5-07-06
Пользователь №: 18 589



Цитата(Aesthete Animus @ Jan 14 2008, 12:58) *
2Alex_lazy
А вы уверены, что стоит тут применять USB. Извините, но то, о чем Вы говорите, несколько несуразное архитектурное решение...


Очень хотелось бы, т.к. предполагается использовать флэшку или ПК и подключать это устройство через USB к другому модулю. А AVR, потому что хорошо изучет и уже используется.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 14 2008, 08:44
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(Alex_lazy @ Jan 14 2008, 13:04) *
Очень хотелось бы, т.к. предполагается использовать флэшку или ПК и подключать это устройство через USB к другому модулю. А AVR, потому что хорошо изучет и уже используется.
Обслужить столько USB-контроллеров - два хоста и один слейв (именно так, потому, что ваши два USB-slave должны подключаться к подключаться к USB-host контроллера, обслуживаемых вашим МК) одновременно с помощью AVR нереально. Либо периферийный USB-host контроллер должен обслуживаться собственным (быстродействующим в части транзакции данных) микроконтроллером. Но тогда зачем там AVR?
Вы подумайте зачем вам USB вообще? Какие из его отличительных свойств вам жизненно необходимы? Быстродействующий последовательный интерфейс? Возможность "горячего" подключения? Какой вообще межмодульный поток/объем данных планируется?
Go to the top of the page
 
+Quote Post
Yaumen
сообщение Jan 14 2008, 09:03
Сообщение #6


Частый гость
**

Группа: Свой
Сообщений: 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?
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 14 2008, 09:15
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
Yaumen
сообщение Jan 14 2008, 09:29
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 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, например по команде от микроконтроллера или такой возможности нет? Если такое возможно, то на этот вопрос бы закрылся. Мы бы просто управляли назначением этого порта из меню Пульта Управления.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 14 2008, 10:23
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 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/
Go to the top of the page
 
+Quote Post
Yaumen
сообщение Jan 14 2008, 10:31
Сообщение #10


Частый гость
**

Группа: Свой
Сообщений: 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 без замены прошивки.
Go to the top of the page
 
+Quote Post
Yaumen
сообщение Jan 14 2008, 13:17
Сообщение #11


Частый гость
**

Группа: Свой
Сообщений: 187
Регистрация: 22-06-05
Из: Минск, Беларусь
Пользователь №: 6 213



И еще вопрос. Допустим мы связь с PC и c Модулем Процессора делаем на RS232, а USB FLASH подключаем через VINCULUM к Пульту Управления, реально ли заставить работать VNC1L через SPI или будут проблемы? Я знаю, что официально эта микросхема работает через UART, FIFO и SPI, однако где-то на форумах встречал отзывы, что нормально работает только через UART. Так ли это?
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 14 2008, 15:18
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Из трех способов организации связи - UART, SPI и Parallel FIFO Interface - мы использовали только связь через UART. Причем кроме RX/TX обязательно требуется задействовать RTS/CTS. Использование SPI у нас есть в планах, но думаю нескоро (через пару месяцев). Так что ничего определенного про SPI я пока сказать не могу.
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Jan 14 2008, 15:22
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



А по-моему нет смысла использовать процессор только потому что он "хорошо заком". Если задача переросла этот процессор, то необходимо использовать новый процессор с соответствующими возможностями. Например с USB HOST на борту. С точки зрения стоимости старшие модели AVR + внешние элементы будут пожалуй дороже чем младшие модели процессоров с необходимыми ф-циями. Например AVR32 или ARM7.
Go to the top of the page
 
+Quote Post
one_man_show
сообщение Jan 14 2008, 15:32
Сообщение #14


Помогу, чем смогу
******

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



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


--------------------
С уважением,
Ваган Саруханов
Проекты|Форум|Facebook|Linkedin
Go to the top of the page
 
+Quote Post
zltigo
сообщение Jan 14 2008, 15:39
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post

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

 


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


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