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

 
 
> AT90USB128* enumeration, Знатоки, помогите, пожалуйста разобраться
harper
сообщение Jan 25 2009, 08:35
Сообщение #1





Группа: Новичок
Сообщений: 13
Регистрация: 6-05-08
Пользователь №: 37 334



Изучаю AT90USB1286, застрял на enumeration. Примеры от Atmel работают, но хотелось бы разобраться, как?

Datasheet на ATmega32U6/AT90USB64/128, 22.12.2 Control Read: на рисунке TXINI обнуляют в фазе Setup. Firmware от Atmel тоже не проверяет наличие IN Tocken от хоста. Набрало в буфер байтов и сразу обнуляет TXINI. Обнуление TXINI - есть посылка пакета. А вдруг IN Tocken от хоста еще не пришел (а по вышеупомянутому рисунку в Datasheet он точно не пришел).
Или обнуление TXINI - это не посылка пакета, как написано в Datasheet, а складывание его в какой-нибудь буфер передатчика и контроллер хардварно определяет приход IN Tocken и после этого посылает пакет из буфера?
То же самое для Control Write в примере Atmel, например, для Set Address. Контроллер считал адрес, ответил на Setup отсылкой ACK и сразу следующей строчкой кода посылает Zero Length Packet. А где запрос от хоста?

Спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
lepert
сообщение Jan 26 2009, 12:52
Сообщение #2


Частый гость
**

Группа: Validating
Сообщений: 94
Регистрация: 18-01-09
Из: Красноармейск
Пользователь №: 43 560



Уважаемый harper, я написал не к тому, чтобы Вас отлучить от любимых примеров, поверьте. Если Вы хотите досконально изучить USB на аппаратном уровне, то по хорошему нужно взять просто микроконтроллер, без встроенного USB, и написать свою программу, которая
сама дергает ноги процессора, заведенные на DP и DM. И спаять плату, реальную, а не в Proteus, подключить ее к компьютеру,
и заставить общаться с компом по USB. Есть полно примеров в интернете и здесь на форуме где контроллер работает с USB непосредственно, например программатор от Protoss. Он там работает с USB непосредственно, без всякого аппаратного уровня, как это сделано на AT1286. И поскольку Вы работаете не с железом, а с Proteus, у Вас получается моделирование второго уровняsmile.gif Т.е. AT1286 работает с USB так, как это придумала Atmel. А Вы моделируя ее через Proteus, работаете с USB так как моделирует Proteus то, как придумала Атмел, как работает At1286 с USB. Короче дом который построил Джек. И таким образом Ваши знания на самом деле ни на грамм не приблизятся к пониманию что же на самом деле происходит на аппаратном уровне USB.
Но это только как совет. Не хотите, дело такое. Каждый имеет право заморачиваться на своих хомячках©

Сообщение отредактировал lepert - Jan 26 2009, 12:54
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 26th June 2025 - 08:43
Рейтинг@Mail.ru


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