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

 
 
> USB - AT91SAM7A3, интерфейс USB на данном девайсе
shrek
сообщение Jan 29 2009, 13:17
Сообщение #1


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

Группа: Участник
Сообщений: 125
Регистрация: 1-12-08
Из: г. Орел
Пользователь №: 42 126



Суть проблемы состоит в том что, (слава всем Святым удалось сконфигурировать данный девайс, запустить ФАПЧ на 96 МГц, контроллер прерываний!!! и прочие нужные настройки, обеспечивающие нормальное функционирование контроллера) когда я на этой платке подключаю (благо есть возможность) с помощью ноги PB1 резистор подтягивающий шину D+ к +3,3 вольтам комп мне присылает запрос в виде набора байтов.
Конкретно 80 06 00 01 00 00 40 00 3E FC C3 0D C1 B8 69 2E.
Возникает вопрос как обработать данную последовательность байтов?...
Обратился к источнику "Агуров Интерфейс USB практика использования и программирования".
показалось что 8006 - это запрос дескриптора устройства, а 0001 - это что то связанное с очисткой девайся USB контроллера...
А остальные байты?... непонятно... В скачанной спецификации USB с офсайта не нашел или плохо искал... По крайней мере мне так показалось что там этого нет...
Вот и прошу помощи) Уважаемые Гуру форума направте пожалуйста на нужные источники для успешного освоения девайса USB и протокола USB)
Заранее спасибо)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
shrek
сообщение Feb 24 2009, 10:59
Сообщение #2


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

Группа: Участник
Сообщений: 125
Регистрация: 1-12-08
Из: г. Орел
Пользователь №: 42 126



теперь вопрос в другом... что должен содержать в себе дескриптор устройства?)

Конкретно параметры
Код
unsigned char bcdUSBL;              //версия спецификации USB в формате BCD
     unsigned char bcdUSBH;              //версия спецификации USB в формате BCD
     unsigned char bDeviceClass;         //код класса устройства USB
     unsigned char bDeviceSubclass;      //код подкласса устройства USB
     unsigned char bDeviceProtocol;      //код протокола USB
     unsigned char idVendorL;            //идентификатор изготовителя устройства
     unsigned char idVendorH;            //идентификатор изготовителя устройства
     unsigned char idProductL;           //идентификатор продукта
     unsigned char idProductH;           //идентификатор продукта
     unsigned char bcdDeviceL;           //номер версии устройства в формате BCD
     unsigned char bcdDeviceH;           //номер версии устройства в формате BCD
     unsigned char iManufacture;         //индекс дескриптора строки описывающей  изготовителя
     unsigned char iProduct;             //индекс дескриптора строки описывающей  продукт
     unsigned char iSerialNumber;        //индекс дескриптора строки описывающей  серийный номер устройства
     unsigned char bNumConfigurations;   //количество возможных конфигураций устройства



и еще я ему пытаюсь отослать дескриптор устройства 2 байта отослать удается
дальше хост сбрасывает шину и все снова...

по библиотекам (спасибо sergeeff) параметры
Код
     unsigned char bDeviceClass;         //код класса устройства USB
     unsigned char bDeviceSubclass;      //код подкласса устройства USB
     unsigned char bDeviceProtocol;      //код протокола USB

равны нулю

для HID устройств
(я пытаюсь для начала мышку реализовать)

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

в общем я хосту пытаюсь отправить дескриптор устройства
Код
static const struct USB_DEVICE_DESCRIPTOR
     {
     unsigned char bLenth;               //0x12
     unsigned char bDescriptorType;      //0x01
     unsigned short int bcdUSBL;         //0x0200
     unsigned char bDeviceClass;         //0x00
     unsigned char bDeviceSubclass;      //0x00
     unsigned char bDeviceProtocol;      //0x00
     unsigned char bMaxPacketSize0;      //0x08
     unsigned short int idVendor;        //0x03EB
     unsigned short int idProduct;       //0x6200
     unsigned short int bcdDevice;       //0x0100
     unsigned char iManufacture;         //0x00
     unsigned char iProduct;             //0x00
     unsigned char iSerialNumber;        //0x00
     unsigned char bNumConfigurations;   //0x01

после того как девайс отправит 2ые 8 байт, то есть последнее что передает это bcdDevice, следует сброс шины и все начинается заново.
первые 8 байт девайс без проблем передает, далее следует подтверждение приема я передаю следующие 8 байт, далее следует сброс шины и все снова...???
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- shrek   USB - AT91SAM7A3   Jan 29 2009, 13:17
- - mempfis_   Цитата(shrek @ Jan 29 2009, 17:17) Конкре...   Jan 29 2009, 13:50
- - shrek   Спасибо за ответ) Я вчера тоже понял в чем суть пе...   Jan 30 2009, 07:51
|- - mempfis_   Цитата(shrek @ Jan 30 2009, 10:51) Спасиб...   Jan 30 2009, 08:11
- - Zayac   Для атмела существуют примеры кода по работе с USB...   Jan 30 2009, 08:03
- - shrek   В общем вопрос еще такой возник... Вот этот дескри...   Feb 10 2009, 09:53
|- - aaarrr   Цитата(shrek @ Feb 10 2009, 12:53) Или же...   Feb 10 2009, 11:30
- - shrek   после отправки каждого пакета по идее от хоста дол...   Feb 10 2009, 12:55
|- - aaarrr   Цитата(shrek @ Feb 10 2009, 15:55) после ...   Feb 10 2009, 13:22
- - shrek   То есть получается использовать USB девайс и при э...   Feb 10 2009, 14:06
- - aaarrr   Почему? Просто обрабатывайте BUSRES как надо.   Feb 10 2009, 14:09
- - shrek   Вроде бы девайс аппаратно обрабатывает сброс?... п...   Feb 10 2009, 14:21
|- - aaarrr   Цитата(shrek @ Feb 10 2009, 17:21) при чт...   Feb 10 2009, 14:28
- - shrek   МММ... В книжке Редькина этого бита нет в регистре...   Feb 10 2009, 14:30
|- - aaarrr   Цитата(shrek @ Feb 10 2009, 17:30) МММ......   Feb 10 2009, 14:35
- - shrek   ну не совсем в помойке) да в даташите этот бит в р...   Feb 10 2009, 14:37
|- - aaarrr   Цитата(shrek @ Feb 10 2009, 17:37) ну не ...   Feb 10 2009, 14:40
- - shrek   Все-таки непонятна работа USB девайса Я запрещаю в...   Feb 19 2009, 08:24
|- - aaarrr   Цитата(shrek @ Feb 19 2009, 11:24) и все ...   Feb 19 2009, 09:25
- - shrek   А вот этого я как раз и не учитывал.... то есть ф...   Feb 19 2009, 09:47
|- - aaarrr   Цитата(shrek @ Feb 19 2009, 12:47) то ест...   Feb 19 2009, 09:57
- - shrek   будем пробовать по тому как что то получается) Спа...   Feb 19 2009, 10:06
- - shrek   Кое что выяснилось... После, как ни странно, трех ...   Feb 19 2009, 11:53
|- - aaarrr   Цитата(shrek @ Feb 19 2009, 14:53) хотя у...   Feb 19 2009, 12:03
- - shrek   я сбрасывал бит RXSETUP если длинна равна 0. но он...   Feb 19 2009, 13:01
- - aaarrr   Еще забыли FEN поставить: КодAT91C_BASE_UDP->U...   Feb 19 2009, 13:43
- - shrek   так яж этот бит ставлю при сбросе шины Кодif ...   Feb 19 2009, 14:07
- - aaarrr   Да, не заметил. Тогда проверьте, что у Вас i == 0....   Feb 19 2009, 14:10
- - shrek   к вопросам по глобальности переменных я пока не по...   Feb 19 2009, 14:22
- - sergeeff   На сайте Atmel'a появилась свежая версия библи...   Feb 20 2009, 10:11
- - shrek   В принципе я понял почему конфигурационный пакет н...   Feb 24 2009, 08:43
|- - amw   Цитата(shrek @ Feb 24 2009, 12:59) теперь...   Feb 24 2009, 12:16
- - shrek   Ссори правильно последний байт отсылает iProduct в...   Feb 24 2009, 12:48
- - shrek   Форумчане... В общем после нескольких "экспер...   Feb 25 2009, 14:30
- - shrek   после установки адреса необходимо отослать нулевые...   Feb 26 2009, 08:55
- - aaarrr   Да, нужно.   Feb 26 2009, 10:25
- - shrek   перед установкой адреса или после?... если после у...   Feb 26 2009, 10:54
- - aaarrr   Нужно отправить ZLP, дождаться TXCOMP, и уже после...   Feb 26 2009, 12:14
- - shrek   после того как принял 00 05 01 00 00 00 00 00 я от...   Feb 26 2009, 14:08
- - shrek   В общем я понял суть моей проблемы... при обработк...   Feb 27 2009, 10:00


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

 


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


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