|
ARM7TDi & USB, Связь с CDC устройством |
|
|
|
Mar 4 2009, 12:42
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 3-02-09
Пользователь №: 44 349

|
Помогите советом. Есть USB устройство класса CDC, которое управляется от PC как Virtual COM Port, нужно управлять им от контроллера AT91SAM7X256. Протокол простой. Пакет отпровил, ответ принял, как я понимаю через 2 и 3 endpoint. 1. Можно ли запрограммировать данный контроллер для этих целей, или нужен другой с функциями HOST USB. 2.Что нужно знать, чтобы его грамотно запрограмировать. 3.Если можно то дайте ссылки на примеры.
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Mar 4 2009, 13:15
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 3-02-09
Пользователь №: 44 349

|
Цитата(aaarrr @ Mar 4 2009, 15:48)  1. Нельзя, нужен контроллер с host-портом (например, LPC23xx/24xx). 2. В идеале - знать спецификацию USB и CDC. 3. У NXP есть ну очень простой пример для работы с USB-флеш. Можно взять его за основу. Контроллер с host-портом - это обязательно? Мне не нужно реализовывать все его функции. Мне нужно назначить устройству адрес, и далее через 2 и 3 точку обмениваться данными, или я не прав? (пока только начал разбираться)
|
|
|
|
|
Mar 4 2009, 13:48
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 3-02-09
Пользователь №: 44 349

|
Цитата(aaarrr @ Mar 4 2009, 16:32)  Обязательно. Хост и устройство - принципиально различные вещи. А в кратце, что нельзя принципиально сделать? Пока про HOST не читал. Я можно ли USB завести на како-нибудь FTDI конвертор и работать через UART?
|
|
|
|
|
Mar 4 2009, 14:12
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(smi-pp @ Mar 4 2009, 16:48)  А в кратце, что нельзя принципиально сделать? Пока про HOST не читал. Вкратце уже написал выше. Цитата(smi-pp @ Mar 4 2009, 16:48)  Я можно ли USB завести на како-нибудь FTDI конвертор и работать через UART? Если у них есть конвертеры, с которыми дружит Ваше устройство, то почему бы и нет.
|
|
|
|
|
Mar 4 2009, 18:14
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 3-02-09
Пользователь №: 44 349

|
Поставлю вопрос по другому. Куплено устройство (не дешёвое) с единственным USB можно ли его как нибудь подключить к контроллеру без USB Hosta? Какие ещё есть контроллеры с USB HOST кроме LPC? Цитата(aaarrr @ Mar 4 2009, 17:12)  Если у них есть конвертеры, с которыми дружит Ваше устройство, то почему бы и нет. А как это устройство должно дружить с FTDI чипами?
|
|
|
|
|
Mar 4 2009, 18:18
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(smi-pp @ Mar 4 2009, 21:14)  Куплено устройство (не дешёвое) с единственным USB можно ли его как нибудь подключить к контроллеру без USB Hosta? У FTDI есть продукт под названием Vinculum. Это маленький контроллер с USB-хостом и UART/SPI для связи с внешним миром. Есть поддерживающие CDC. Цитата(smi-pp @ Mar 4 2009, 21:14)  Какие ещё есть контроллеры с USB HOST кроме LPC? Их много и разных, в том числе и у Атмела.
|
|
|
|
|
Mar 4 2009, 18:26
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 3-02-09
Пользователь №: 44 349

|
Цитата(aaarrr @ Mar 4 2009, 21:18)  У FTDI есть продукт под названием Vinculum. Это маленький контроллер с USB-хостом и UART/SPI для связи с внешним миром. Есть поддерживающие CDC. Спасибо за Vinculum. Буду смотреть.
|
|
|
|
|
Mar 10 2009, 07:22
|
Группа: Новичок
Сообщений: 6
Регистрация: 3-02-09
Пользователь №: 44 352

|
Vinculum IMHO не особо рассчитан на работу с CDC. Вот [видимо] под флешки -- да, а CDC под него приходится писать руками, в случае если дескрипторы Вашего устройства в точности не совпадают с приведенными в документации от FTDI. Протокол общения КРАЙНЕ неудобный. Цена одного кристалла на уровне мелкого арма с USB хостом. И, еще такая мелочь, у меня не вышло опрашивать interrupt endpoint. Вообще. Не то что с заданной периодичностью ( с чем кстати тоже проблемы, так как временные интервалы опроса Interrupt EP обычно маленькие, а UART штука медленная, да плюс еще чудо-протокол от Vinculum ), а вообще что-либо получить от него не удается. В общем о Vinculum остались тяжелые воспоминания.
|
|
|
|
|
Mar 11 2009, 07:38
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 3-02-09
Пользователь №: 44 349

|
Цитата(Des V. Maryin @ Mar 10 2009, 10:22)  Vinculum IMHO не особо рассчитан на работу с CDC. Вот [видимо] под флешки -- да, а CDC под него приходится писать руками, в случае если дескрипторы Вашего устройства в точности не совпадают с приведенными в документации от FTDI. Я пока что ещё читаю. Мне не понятно что значит "приходится писать руками", это что написать полностью программу USB hosta и залить свою прошивку в Vinculum. Я этого совсем не хочу. И 2 вопрос - если можно ссылку на дискрипторы с которыми должно совпадать моё устройство. Дело в том, что я даже не знаю к какому классу оно относится. Производитель не предлагает программы работы с ним. Общение идет через Hyperterminal посредством простых команд. Как мне определить класс данного устройства. Оно видится в PC как виртуальный КОМ порт, и работает через стандартный драйвер usbser.sys. Может там вообще стоит мост USB-XXXX от FTDI? И к какому классу оно относится в таком варианте? Кто нибудь работал с VDRIVE2 модулем. Мне представляется следующее: вставляем устройство в порт 2 оно как то определяется, затем переводим в Data Mode и шлём команды (данные) непосредственно в устройство. Поправьте если я не прав.
Причина редактирования: Излишнее цитирование.
|
|
|
|
|
Mar 11 2009, 11:15
|
self made
   
Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795

|
Цитата(smi-pp @ Mar 11 2009, 02:38)  Я пока что ещё читаю. Мне не понятно что значит "приходится писать руками", это что написать полностью программу USB hosta и залить свою прошивку в Vinculum. Я этого совсем не хочу. Вы слышали про программу usbview.exe? Она вам поможет понять, что с ЮСБ ничего по простому не делается. Вам надо не посто всю программу хоста, еще и весь набор драйверов к этому устройству. А чем вы замените "стандартный драйвер usbser.sys"? Если там фтди, то можно портировать кусок линуксового драйвера.... В общем перед вами огромный фронт работы при любом раскладе...
Причина редактирования: Излишнее цитирование.
|
|
|
|
|
Mar 11 2009, 18:08
|
Участник

Группа: Новичок
Сообщений: 37
Регистрация: 3-02-09
Пользователь №: 44 349

|
Цитата(ar__systems @ Mar 11 2009, 14:15)  Вы слышали про программу usbview.exe? Она вам поможет понять, что с ЮСБ ничего по простому не делается. Вам надо не посто всю программу хоста, еще и весь набор драйверов к этому устройству. А чем вы замените "стандартный драйвер usbser.sys"? Если там фтди, то можно портировать кусок линуксового драйвера.... В общем перед вами огромный фронт работы при любом раскладе... Я спрашивал несколько другие вещи. Я естественно не хочу ничего этого писать, ни программу hosta ни драйверов. Я просто хочу разобраться можно ли использовать для этого Vinculum. Тем более производитель данного устройства такой возможности не даёт, а предлагает готовые прошивки, годные, как он утверждает, на все случаи жизни. Вот из DS - "General Purpose USB peripherals include Printers, Communication Class Devices, Human Interface Devices, FTDI USB Serial Devices, and USB Hubs. USB peripherals can be accessed using command monitor commands to send SETUP, DATA IN and DATA OUT packets." Вот я и спрашиваю у тех кто имеет опыт работы с Vinculum, возможно ли организовать простой обмен данными с моим устройством, что я о нём знаю, я уже написал. Ведь DATA IN and DATA OUT packets можно посылать... Цитата(Alechek @ Mar 11 2009, 16:25)  Нет, не при любом раскладе. Если чтобы работало абы как - то расклад может уменьшиться. (Взять хотя бы HostLite от NXP) А если чтобы все работало и было устойчиво к сбоям - то работы действительно туча! Это как я понимаю для контроллеров LP23/24, а я говорю о Vinculum. Ни объемы, ни скорости мне не нужны.
|
|
|
|
|
Mar 12 2009, 19:22
|
Группа: Новичок
Сообщений: 6
Регистрация: 3-02-09
Пользователь №: 44 352

|
Цитата(smi-pp @ Mar 11 2009, 22:08)  Я спрашивал несколько другие вещи. Я естественно не хочу ничего этого писать, ни программу hosta ни драйверов. Я просто хочу разобраться можно ли использовать для этого Vinculum. Тем более производитель данного устройства такой возможности не даёт, а предлагает готовые прошивки, годные, как он утверждает, на все случаи жизни. файл UM_VinculumFirmware_V205.pdf, chapter 9.2.4, CDC device support -- рассказывает какие именно дескрипторы должны быть у Вашего CDC устройства. Посмотреть какие они есть можно с помощью уже рекомендованной тулзы UsbView, есть еще триально-доступный USBLyzer, который эту же информацию показывает в более доступном виде. Вы можете подключить Ваше устройство к PC и посмотреть его дескрипторы. В случае если это FTDI переходник -- у Вас скорее всего не будет проблем с Vinculum, см например пункт 4.2.1 этого же документа. Так как FTDI переходники -- это "родные" для Vinculum устройства.
Причина редактирования: Излишнее цитирование.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|