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

 
 
> непонятки в USB и isp1581, мелкие вопросы...
Mozart
сообщение Apr 24 2008, 07:46
Сообщение #1


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

Группа: Свой
Сообщений: 154
Регистрация: 16-08-07
Из: Москва
Пользователь №: 29 829



когда от isp1581 приходит прерывание от ноги INT то я обрабытываю "Interrupt register (address: 18H)" если прерывание пришло от EP0SETUP, то я обрабатываю данные и выясняю какой запрос пришёл от хоста?? (e.g. get_descriptor, get_status...)????
я правильно понимаю???

вся программа сводится к тому чтобы правильно инициировать isp1581 + настроить конечные точки + отвечать на запросы хоста + своё приложение которое отправляет/принимает данные в/из хост/а??


з.ы. железки пока нет. надеюсь будет в пн.


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение May 15 2008, 15:07
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Я, конечно, извиняюсь, но постарайтесь писать вопросы так, чтобы их мог понять кто-нибудь еще. А то получаются мысли вслух.
Go to the top of the page
 
+Quote Post
Mozart
сообщение May 20 2008, 09:55
Сообщение #3


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

Группа: Свой
Сообщений: 154
Регистрация: 16-08-07
Из: Москва
Пользователь №: 29 829



Цитата(aaarrr @ May 15 2008, 19:07) *
Я, конечно, извиняюсь, но постарайтесь писать вопросы так, чтобы их мог понять кто-нибудь еще. А то получаются мысли вслух.
да, хорошо...

проинициализировал я этот исп, и даже USB Trace написал в логе "QUERY_RESOURCES" вот что это значит?? и где надо прописывать VID PID, вот в этом регистре "Chip ID"?
дрова для юсб я не ставил.
инициализация (исп включён как GENERIC_MODE)
Код
    DataControl |= (1 << RESET);
    IOWR_ALTERA_AVALON_PIO_DATA(USBCONTROL_BASE, DataControl);

    ptrStIsp1581->HS_FS_State = FULL_SPEED;
    
    RegISP->Mode =  (1 << ISP_MODE_SOFTCT)|(1 << ISP_MODE_GLINTENA)|    \
                    (1 << ISP_MODE_CLKAON);
   WriteByteToISP(ISP_REG_MODE, RegISP->Mode);
    
    WriteByteToISP(ISP_REG_INT_ENABLE, 0xFFFF);
    WriteByteToISP(ISP_REG_INT_ENABLE + 1, 0xFFFF);

    RegISP->ChID[0] = 0x1012;
    RegISP->ChID[1] = 0x0015;
    WriteByteToISP(ISP_REG_CHIP_ID, RegISP->ChID[0]);
    WriteByteToISP(ISP_REG_CHIP_ID + 1, RegISP->ChID[1]);
    
    Init_Endpoint();


--------------------
все косяки, даже о которых не знает сам разработчик, - мои
Go to the top of the page
 
+Quote Post
aaarrr
сообщение May 20 2008, 10:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Mozart @ May 20 2008, 13:55) *
и где надо прописывать VID PID, вот в этом регистре "Chip ID"?

VID и PID нужно прописывать в своей программе. Автоматической энумерации (как у Cypress) у ISP1581 нет. Весь USB Chapter 9 нужно реализовать руками.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 13th August 2025 - 22:35
Рейтинг@Mail.ru


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