|
USB в AVR, Нужна помощь |
|
|
|
Jul 17 2013, 21:05
|
Участник

Группа: Участник
Сообщений: 42
Регистрация: 27-01-09
Пользователь №: 44 027

|
А это не может помочь: _http://www.gaw.ru/html.cgi/txt/app/micros/avr/AVR309.htm _http://microsin.ru/content/view/605/
|
|
|
|
|
Jul 17 2013, 22:09
|
Гуру
     
Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295

|
Цитата(Diusha @ Jul 17 2013, 20:19)  1. USB ненадежен? В чем это выражается? 2. Что значит "вмешательство человека" и что значит "хоть сколько-нибудь продолжительное время"? 3. Что значит "необслуживаемых"? (возможно, этот вопрос можно объединить со 2-м) 4. Какие последствия использования именно FT232 (по сравнению со, скажем, встроенным в AVR)? Это значит, что в любой (как правило, самый неподходящий) момент обмен по USB может сбойнуть или ваше устройство может исчезнуть из системы. При этом почти все равно, на чем именно оно сделано - на FT232 или на AVR. В офисных условиях это не так важно - вынуть разъем и вставить обратно большого труда не составит. Но если устройство задействовано для управления чем-то серьезным, или размещено в труднодоступном или необслуживаемом месте, то такой сбой сулит массу неприятностей. В то же время хорошая мультипортовка с COM - портами может годами работать вообще без всякого вмешательства человека. А еще USB для реализации COM порта потрясающе сложен и невероятно избыточен. А чем сложнее система, тем менее она надежна. Если бы эта сложность была оправдана, но в данном случае никаких разумных оправданий я не нахожу. Нет у ноутбука COM - портов ? Ну так не используйте ноутбук для серьезных задач. А для подключения какой-нибудь ерунды в офисе или дома сгодится и переходник COM-USB ...
|
|
|
|
|
Jul 18 2013, 02:10
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Спасибо! В этом смысле ненадежность тогда не так страшна: девайс будет использоваться для воткнуть–переписать–отключить. Но все же непонятно это: Цитата(rudy_b @ Jul 18 2013, 01:34)  делать так, чтобы программа в PC обнаруживала отсутствие связи раньше, чем устройство и закрывала канал. Только потом устройство должно отключиться и включится вновь до того, как программа попробует снова открыть канал. в виду этого: Цитата(rudy_b @ Jul 18 2013, 01:34)  1. Внешнее устройство, не получая некоторое время данные, отключает и снова включает USB. Это эквивалент вынимания/вставки USB устройства.
(мы же вынимаем/вставляем когда захотим) До кучи еще вопрос (возможно, у меня в голове сейчас полная каша). Как быть с VID / PID? О том, чтобы зарегистрировать для маленькой фирмочки – нет и речи. Насколько понимаю, для FT232 (и иже ним) есть свой готовый VID. А как поступают при использовании AVR c USB на борту? Придумать свой «от балды»? Какие могут быть проблемы при случайном совпадении (кроме технических)? Видел, что некоторые маскируются под клавиатуры/мыши/модемы. Этот путь как, совсем через … или нормально?
|
|
|
|
|
Jul 19 2013, 14:14
|

Участник

Группа: Участник
Сообщений: 46
Регистрация: 1-11-10
Пользователь №: 60 586

|
Цитата(A_MIKE @ Mar 13 2013, 19:42)  Уговорили... Придется напрячься. Спасибо за участие и потраченное время. Ну почему у того же атмела, есть ASF (Atmel Software Framework),есть аплеухи и примеры моста UART-USB(CDC), HID, MSD. Есть свободный проект LUFA вроде сейчас портанули и на Xmegu. Однако минимальное понимание работы с USB шиной,все же необходимо. Кроме того все готовые решения будут громоздкими(память) и медленными. Но это не говорит об их негодности и тем более,что из-за программных глюков,что-то рабочее вдруг может отвалиться,если уже запустилось. Сам реализовал простое управление RGB на меге ATmega32U4 с помощью ASF. В последствии прикрутил dmx
|
|
|
|
|
Jul 22 2013, 06:40
|
Вечный студент
   
Группа: Участник
Сообщений: 500
Регистрация: 11-09-06
Из: Питер
Пользователь №: 20 262

|
Цитата(rudy_b @ Jul 18 2013, 10:09)  Например, программа закрывает канал если нет связи 3 сек, устройство отключает USB через 5 сек после потери связи и снова его включает еще через 2 секунды. Программа пробует восстановить связь через 10 сек после закрытия канала.
В отдельных случаях может потребоваться автоматический перезапуск программы после нескольких неудачных попыток восстановления связи. Это стандартный подход, применяемый везде, или "хорошо было бы"? Цитата(rudy_b @ Jul 18 2013, 10:09)  Можно использовать стандартный атмеловский драйвер CDC устройств и их VID/PID. Все это есть в их примерах. Слово "можно" подразумевает НЕединственность решения. А как еще поступают? Цитата(evsx1 @ Jul 19 2013, 17:14)  есть ASF ... Есть свободный проект LUFA ... Однако минимальное понимание работы с USB шиной,все же необходимо. Кроме того все готовые решения будут громоздкими(память) и медленными. Согласен. Буду потихоньку изучать матчасть
Сообщение отредактировал Diusha - Jul 22 2013, 06:41
|
|
|
|
|
Aug 4 2013, 07:11
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 25-01-06
Пользователь №: 13 567

|
А если использовать USB HID то драйвера вообше не нужны никакие. Vid pid можно взять из поэктов, есть выкупленные и в свободный доступ выложенные, работа через репорты не очень сложна. Поищи проэкт в нете usb розетка для ноутбука еазывается, там авольно все разжевано и понятно.
|
|
|
|
|
Nov 2 2013, 17:54
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 27-09-12
Пользователь №: 73 712

|
Нужен выкупленный, свободный VID&PID. Где?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|