Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: AT90USB1287+USB
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
AkuHak
Здравствуйте!

Передо мной стоит задяча организовать обмен из в AT90USB1287 USB-контроллера в 16 разрябов портов ввода/вывода ("параллельный порт") и обратно.
Программировать планирую в AVRStudio на ассемблере. Прошивку записывать JTAGICE II.

При изучении USb контроллера AT90USB1287 по даташиту сталкнулся с проблемой:
в даташите достаточно подробно описана система прерываний, и как активировать USB-интефейс, как активирова Endpoints НО не сказано как работать с Endpoints и как прописывать дескрипторы.

Буду признателен если кто-нибудь подскажет как восполнить пробел в знаниях, посоветует где почитать, подкинет ссылочку и т.п.
mempfis_
Цитата(AkuHak @ Sep 9 2008, 21:25) *
Здравствуйте!

Передо мной стоит задяча организовать обмен из в AT90USB1287 USB-контроллера в 16 разрябов портов ввода/вывода ("параллельный порт") и обратно.
Программировать планирую в AVRStudio на ассемблере. Прошивку записывать JTAGICE II.

При изучении USb контроллера AT90USB1287 по даташиту сталкнулся с проблемой:
в даташите достаточно подробно описана система прерываний, и как активировать USB-интефейс, как активирова Endpoints НО не сказано как работать с Endpoints и как прописывать дескрипторы.

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


Управление usb-модулем скорее всего осуществляется с помощью управляющих регистров. У ATMEL в документации всё достаточно подробно описано, нужно просто внимательно почитать.
По поводу самого протокола usb (типы конечных точек, типы передач, классы устройств и т.д.): самый достоверный источник - спецификация usb 1.1/2.0. Если у Вас нет своего драйвера и устроит скорость 64 кБ/с можете попробовать реализовать hid-класс. Я когда разбирался с usb читал книгу Агурова "Интерфейс usb: практика использования и программирования"
Corvus
AVR276: USB Software Library for AT90USBxxx
http://atmel.com/dyn/products/app_notes.as...607#Application Example and Algorithms
Описание + исходники.
AkuHak
Я не могу до конца разобраться используя указанные вами материалы(( crying.gif
Цитата
AVR276: USB Software Library for AT90USBxxx
http://atmel.com/dyn/products/app_notes.as...607#Application Example and Algorithms
Описание + исходники.

Прочитал документ, но так и не понял как прописать дескрипторы

Цитата
Управление usb-модулем скорее всего осуществляется с помощью управляющих регистров. У ATMEL в документации всё достаточно подробно описано, нужно просто внимательно почитать.

Прочитал даташит, Агурова "Интерфейс usb: практика использования и программирования", "Практика программирования USB". там описано как читать дескрипторы, места как прописавать, но там все на Си и не указано как в это случае работать с прерываниями (ка обяъснить какие разрешены и т.п.).

Проблема осложняется тем, что обмен по интерфейсу USb не единственная задача. Часть (и весьма ощутимая, уже реализована на ассемблере а AVRStudio).

Если кто-либо уже занимался программированием USB-модуля на ассемблере, пожалуйста помогите разобраться! help.gif
misyachniy
Цитата(AkuHak @ Sep 12 2008, 19:45) *
Прочитал документ, но так и не понял как прописать дескрипторы

Прочитал даташит, Агурова "Интерфейс usb: практика использования и программирования", "Практика программирования USB". там описано как читать дескрипторы, места как прописавать, но там все на Си и не указано как в это случае работать с прерываниями (ка обяъснить какие разрешены и т.п.).

Проблема осложняется тем, что обмен по интерфейсу USb не единственная задача. Часть (и весьма ощутимая, уже реализована на ассемблере а AVRStudio).

Если кто-либо уже занимался программированием USB-модуля на ассемблере, пожалуйста помогите разобраться! help.gif


Дескрипторы прописать проще простого
.db $c2, $02, $00, $91, $c0, 00 и т.д.

Пример дескриптора взять у того же Агурова.

Проще всего скомпилировать пример с включенным листингом и с листинга "повыдирать" куски инициализации интерфейса и прерывания.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.