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

 
 
> USB в AVR, Нужна помощь
A_MIKE
сообщение Mar 12 2013, 15:14
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 8-07-08
Пользователь №: 38 802



Хочу попросить помощи. Нужно разобраться с USB в XMega (в любой AVRке).
Ситуация такая, разработкой на AVR занимаюсь давно. Все устройства сливают данные в ПК. Всегда все решалось через UART > RS232. Потом использовался мост UART > USB. Но это уже не проходит.
Как к проблеме подступиться? Буду ОЧЕНЬ признателен за наставления, советы и любые материалы (особенно на русском языке).
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
rudy_b
сообщение Jul 18 2013, 07:09
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 888
Регистрация: 25-09-08
Из: Питер
Пользователь №: 40 458



Тут есть проблемы с виндюками. Если канал открыт а устройство вынули - то драйвер подвисает и без вытыкания/втыкания устройства, а иногда и без перезапуска программы не обойтись.

Поэтому сначала программа должна закрыть канал, потом устройство должно выключится/включится и только потом программа должна снова попытаться открыть канал. Например, программа закрывает канал если нет связи 3 сек, устройство отключает USB через 5 сек после потери связи и снова его включает еще через 2 секунды. Программа пробует восстановить связь через 10 сек после закрытия канала.

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

При этом само устройство может снова перезапускаться через большой и некратный интервал времени если после отключения/включения не прошла енумерация и связь не установлена. Но этого лучше избегать.

Да, потеря связи и отключение устройства - это разные вещи. При отключении виндюки выгружают драйвер.

Можно использовать стандартный атмеловский драйвер CDC устройств и их VID/PID. Все это есть в их примерах.
Go to the top of the page
 
+Quote Post
Diusha
сообщение Jul 22 2013, 06:40
Сообщение #3


Вечный студент
****

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

Сообщений в этой теме
- A_MIKE   USB в AVR   Mar 12 2013, 15:14
- - kovigor   Цитата(A_MIKE @ Mar 12 2013, 18:14) Хочу ...   Mar 12 2013, 15:19
- - bob1   В Atmel Studio 6.0 есть готовые примеры.   Mar 12 2013, 17:50
|- - A_MIKE   Спасибо большое. Но может кто подскажет какую нибу...   Mar 13 2013, 08:15
|- - kovigor   Цитата(A_MIKE @ Mar 13 2013, 12:15) Спаси...   Mar 13 2013, 08:33
|- - A_MIKE   Цитата(kovigor @ Mar 13 2013, 12:33) Ниче...   Mar 13 2013, 08:53
||- - kovigor   Цитата(A_MIKE @ Mar 13 2013, 12:53) Но ну...   Mar 13 2013, 09:07
||- - A_MIKE   Цитата(kovigor @ Mar 13 2013, 13:07) Пуст...   Mar 13 2013, 09:59
||- - kovigor   Цитата(A_MIKE @ Mar 13 2013, 12:59) Да се...   Mar 13 2013, 10:12
||- - A_MIKE   Цитата(kovigor @ Mar 13 2013, 14:12) Тогд...   Mar 13 2013, 14:50
||- - kovigor   Цитата(A_MIKE @ Mar 13 2013, 18:50) В том...   Mar 13 2013, 15:04
||- - A_MIKE   Цитата(kovigor @ Mar 13 2013, 19:04) Забу...   Mar 13 2013, 15:42
|- - Diusha   О-па! Наткнулся на уже заданный вопрос, которы...   Jul 17 2013, 17:19
|- - maksimp   Цитата(Diusha @ Jul 17 2013, 21:19) 1. US...   Jul 17 2013, 18:00
|- - kovigor   Цитата(Diusha @ Jul 17 2013, 20:19) 1. US...   Jul 17 2013, 22:09
- - Raven   Можно попробовать еще решение на родственных FT24...   Jul 17 2013, 18:40
- - ЛеонидК   А это не может помочь: _http://www.gaw.ru/html.cgi...   Jul 17 2013, 21:05
- - rudy_b   Про ненадежность USB сказано совершенно справедлив...   Jul 17 2013, 22:34
|- - Diusha   Спасибо! В этом смысле ненадежность тогда не т...   Jul 18 2013, 02:10
- - evsx1   Цитата(A_MIKE @ Mar 13 2013, 19:42) Угово...   Jul 19 2013, 14:14
- - dvm11111111   А если использовать USB HID то драйвера вообше не ...   Aug 4 2013, 07:11
- - piroman   Нужен выкупленный, свободный VID&PID. Где?   Nov 2 2013, 17:54
- - kovigor   Цитата(piroman @ Nov 2 2013, 21:54) Нужен...   Nov 2 2013, 19:04


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 04:13
Рейтинг@Mail.ru


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