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

 
 
> USB в at91rm9200, Проблемы с enumeration
sergeeff
сообщение Feb 17 2006, 17:48
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Коллеги!

Столкнулся с неожиданной для себя проблемой. Реализовал USB на at91rm9200 в соответствии с примерами с www.atmel.com. Иногда наблюдается совершенно удивительная вещь (точнее только когда хочу использовать USB-IF тест). Генерится прерывание. Устанавливается бит RXSETUP. Читаю FIFO c control endpoint’a. А там не новая команда, а “хвост” того, что я записал в это FIFO при посылке на host дескриптора или чего-то еще. Соответственно весь процесс enumeration рушится, и тест вообще устройство не обнаруживает. Причем, если из теста выхожу, переключается USB стек в компьютере обратно, и мое устройство благополучно распознается и подключается. Это что аппаратная ляпа в UDP Atmel’a?

Никто не сталкивался с аналогичными проблемами? Я пробовал различные USB 2.0 hub’ы. Единственно, что в компьтере USB 2.0 контроллер остается тем же.

С наилучшими пожеланиями.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sergeeff
сообщение Mar 3 2006, 10:51
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Спасибо за отклики на мой вопрос, который мне удалось таки решить.

1. Приведенные исправления в библиотеке мне известны уже как с полгода и я их у себя давно сделал.

2. Эффект с чтением неверных запросов. Проблема оказалась (как часто бывает) совсем не там где сначала казалось. Все дело было во входном фильтре сигналов USB. Плата покупная, не нашей разработки. На входе (pin 2 и 3) сначала стоял L-фильтр (две встречно намотанные обмотки), затем стандартная RC цепочка (27 Ohm + 15 pF). Как только L-фильтр был удален с платы, все сразу же заработало. Думаю, что он приводил с появлению колебательных процессов на фронтах сигналов, которые сбивали внутреннюю работу аппаратной части контроллера USB. Причем это проявлялось при работе только с внешним USB 2.0 hub'ом.

Вот такая, думаю поучительная для embedded программистов, история.
Go to the top of the page
 
+Quote Post



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

 


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


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