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

 
 
 
Reply to this topicStart new topic
> AT90USB1287+USB, огранизация обмена указанной AVRки по USB
AkuHak
сообщение Sep 9 2008, 17:25
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 9-09-08
Пользователь №: 40 086



Здравствуйте!

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

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

Буду признателен если кто-нибудь подскажет как восполнить пробел в знаниях, посоветует где почитать, подкинет ссылочку и т.п.
Go to the top of the page
 
+Quote Post
mempfis_
сообщение Sep 10 2008, 06:55
Сообщение #2


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

Группа: Свой
Сообщений: 1 001
Регистрация: 27-06-06
Пользователь №: 18 409



Цитата(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: практика использования и программирования"
Go to the top of the page
 
+Quote Post
Corvus
сообщение Sep 10 2008, 07:08
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 24-04-08
Из: Зеленоград
Пользователь №: 37 056



AVR276: USB Software Library for AT90USBxxx
http://atmel.com/dyn/products/app_notes.as...607#Application Example and Algorithms
Описание + исходники.
Go to the top of the page
 
+Quote Post
AkuHak
сообщение Sep 12 2008, 16:45
Сообщение #4





Группа: Новичок
Сообщений: 2
Регистрация: 9-09-08
Пользователь №: 40 086



Я не могу до конца разобраться используя указанные вами материалы(( 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
Go to the top of the page
 
+Quote Post
misyachniy
сообщение Sep 15 2008, 08:53
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 716
Регистрация: 27-05-05
Из: Kyiv
Пользователь №: 5 454



Цитата(AkuHak @ Sep 12 2008, 19:45) *
Прочитал документ, но так и не понял как прописать дескрипторы

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

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

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


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

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

Проще всего скомпилировать пример с включенным листингом и с листинга "повыдирать" куски инициализации интерфейса и прерывания.
Go to the top of the page
 
+Quote Post

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

 


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


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