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

 
 
> Помогите, плиз, разобраться с работой USB Device в AT91RM9200
junkl
сообщение May 17 2007, 12:36
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 69
Регистрация: 12-10-05
Из: Калуга
Пользователь №: 9 539



В процессе отладки USB Device на AT91RM9200 я заметила странную закономерность:

при включении питания моего устройства после выключения питания на ДОЛГОЕ ВРЕМЯ (минуты 3 хотя бы или даже больше, а лучше вобще включать устройство с утра или после обеда smile.gif) после загрузки программы и подключении девайса к хосту начинается процесс enumeration. Девайсу назначается адрес, и дескриптор устройства отсылается хосту. Этот процесс я еще отлаживаю, пока он не работает правильно: хост пока не понимает этот дескриптор и повторяет свои попытки 3 раза. Но не в этом проблема.

Далее я либо выключаю-включаю Pull-up резистор, либо откючаю-включаю устройство с помощью кабеля, процесс enumeration уже представляет собой другую последовательность транзакций (адрес уже не устанавливается, иногда не возникают прерывания по EPOINT0. И с течением времени обмен совсем ломается: при обнаружении устройства в Windows моему устройству приходит только набор прерываний ENDBUSRESET и RXRSM и ни одного EPOINT0 (то есть никаких запросов и никаких установок).

Я бы думала, что это все связано с глюками моей программы, НО
если затем я сбрасываю питание устройства (в выключенном состоянии устройство находится НЕДОЛГО), то нормальный обмен (как после долгого выключения устройства) не восстанавливается.

А если я выключу устройство снова надолго, то начало процесса enumeration происходит нормально (как в первом случае).

Но самая странная ситуация такая:
если оставить питание устройства выключенным надолго (чтобы обмен был полным, как в первом случае),
затем включить устройство, но программу не загружать в контроллер какое-то время,
а потом загрузить и сразу подключить девайс к хосту, то нормального первоначального обмена нет.

То есть процесс enumeration происходит нормально только после длительного ресета и при подключении устройста к хосту сразу же после подачи питания на устройство.
Через какое-то время обмен ломается независимо от программы.

Спасибо всем, кто дочитал до конца!
Подскажите, пожалуйста, в чем может быть дело? Схемотехник говорит, что "схемотехнически все правильно и ничего там не может быть".
И я тоже не знаю, что делать sad.gif
Go to the top of the page
 
+Quote Post



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

 


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


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