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

 
 
> USB LPC2142. проблема с приемом, постоянно приходит EOP error
o_bender
сообщение Aug 31 2008, 11:27
Сообщение #1





Группа: Новичок
Сообщений: 4
Регистрация: 31-08-08
Пользователь №: 39 906



Здравствуйте. Помогите кто может help.gif
На сайте keil'a есть пару примеров под LPC2148 для USB. Пытаюсь запустить один из них (HID устройство) на LPC2142. Пока что безуспешно.

Итак, ближе к делу.
Инициализирую USB следующим образом:

Код
void USB_Init (void) {
  DWORD val = 0;

  PCONP |= 0x80000000;                      /* Turn On USB PCLK */

  // Configure 48MHz USB Clock;  FOsc = 12MHz, M = 4, P = 2
  PLL1CFG  = 0x23;                         /* M = 4, P = 2 */
  PLL1CON  = PLLCON_PLLE;                  /* PLL Enable */
  PLL1FEED = 0xAA;                         /* Feed Sequence 1 */
  PLL1FEED = 0x55;                         /* Feed Sequence 2 */
    
  while ((PLL1STAT & PLLSTAT_PLOCK) == 0); /* Wait for PLL Lock */

  PLL1CON  = PLLCON_PLLE | PLLCON_PLLC;    /* PLL Enable & Connect */
  PLL1FEED = 0xAA;                         /* Feed Sequence 1 */
  PLL1FEED = 0x55;                         /* Feed Sequence 2 */

  PINSEL1 = 0x80000000;                     /* select LED USB */

  VICVectAddr0 = (unsigned long)USB_ISR;    /* USB Interrupt -> Vector 0 */
  VICVectCntl0 = 0x20 | 22;                 /* USB Interrupt -> IRQ Slot 0 */
  VICIntEnable |= 1 << 22;                   /* Enable USB Interrupt */

  USBDevIntEn = (1<<DEV_STAT);                /* Enable Device Status Interrupt */

  USB_Reset();
  USB_SetAddress(0);
}



//Ресетю следующим образом:


Код
void USB_Reset (void) {

  USBEpInd = 0;
  USBMaxPSize = USB_MAX_PACKET0;
  USBEpInd = 1;
  USBMaxPSize = USB_MAX_PACKET0;
  while ((USBDevIntSt & EP_RLZED_INT) == 0);

  USBEpIntClr  = 0xFFFFFFFF;
  USBEpIntEn   = 0xFFFFFFFF;
  USBEpIntClr   = 0xFFFFFFFF;
  USBDevIntClr = 0xFFFFFFFF;
  USBDevIntEn  = DEV_STAT_INT    | EP_SLOW_INT    |
               (USB_SOF_EVENT   ? FRAME_INT : 0) | ERR_INT;
}


В обработчике прерывания проверяю источник, вызвавший его. Получаю только ERR_INT - ошибка шины. Проверяю код ошибки - EOP, что обозначает ошибку конца пакета.

Прерываниями от нулевой контрольной точки не пахнет и близко. Ведь она должна принимать пакеты SETUP'a по умолчанию ?

Ребята плиз помогите. Уже не знаю что и думать.


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
zltigo
сообщение Aug 31 2008, 16:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



Цитата(o_bender @ Aug 31 2008, 13:27) *
На сайте keil'a есть пару примеров...
...
Инициализирую USB следующим образом:

Давайте для начала определимся это кейловский пример не работает, или Ваш код или оба? Непонятно.
Для проверки железки чего-нибудь собранное, например, изображающее мышку могу завтра подбросить.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
o_bender
сообщение Aug 31 2008, 20:48
Сообщение #3





Группа: Новичок
Сообщений: 4
Регистрация: 31-08-08
Пользователь №: 39 906



Цитата(zltigo @ Aug 31 2008, 19:03) *
Давайте для начала определимся это кейловский пример не работает, или Ваш код или оба?


Оба примера не работают.
Еще попытался запустить пример USBAudio. Та же проблема. После исследования работы определил, что прерывание EP_SLOW_INT не вызывается вообще. Происходит та же ошибка - EOP error.

Какие минимальные требования к железу должны быть, чтобы USB завелся и начал принимать хоть какие-то данные (другими словами чтоб наконец поймать прерывание SLOW_INT)?

D+ и D- подключил как полагается. К D+ подтяжку сделал на 3.3V через 1.5 k резистор.
На вывод P0.23 подал +3.3 V через делитель. К P0.31 подключил светодиод-сигнализатор успешной конфигурации.
Мож что-то забыл присобачить?


Цитата
Для проверки железки чего-нибудь собранное, например, изображающее мышку могу завтра подбросить.


Буду очень благодарен. smile.gif


--------------------
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- o_bender   USB LPC2142. проблема с приемом   Aug 31 2008, 11:27
- - zltigo   В приложении банально собранный пример мышки для L...   Sep 1 2008, 09:03
|- - o_bender   Залил прошивку. Подключил USB - никак не опряделяе...   Sep 1 2008, 09:33
|- - zltigo   Цитата(o_bender @ Sep 1 2008, 11:33) Може...   Sep 1 2008, 09:39
- - o_bender   Ура!! Устройство заработало. Причина как...   Sep 1 2008, 14:52
- - jake.spb   народ, сори за некропост! но столкнулся с анал...   Dec 1 2013, 11:57
- - Golikov A.   если не ошибаюсь скорость обмена задается хостом, ...   Dec 1 2013, 22:17
|- - kovigor   Цитата(Golikov A. @ Dec 2 2013, 02:17) ес...   Dec 1 2013, 23:11
|- - jake.spb   Цитата(kovigor @ Dec 2 2013, 02:11) Все т...   Dec 2 2013, 05:57
|- - kovigor   Цитата(jake.spb @ Dec 2 2013, 08:57) до з...   Dec 2 2013, 09:06
|- - jake.spb   Цитата(kovigor @ Dec 2 2013, 12:06) Так в...   Dec 2 2013, 09:29
|- - kovigor   Цитата(jake.spb @ Dec 2 2013, 12:29) Дева...   Dec 2 2013, 09:32
|- - jake.spb   Цитата(kovigor @ Dec 2 2013, 12:32) Смешн...   Dec 2 2013, 10:09
|- - kovigor   Цитата(jake.spb @ Dec 2 2013, 13:09) Дева...   Dec 2 2013, 11:11
|- - jake.spb   Цитата(kovigor @ Dec 2 2013, 14:11) Я не ...   Dec 2 2013, 11:40
|- - kovigor   Цитата(jake.spb @ Dec 2 2013, 14:40) Нали...   Dec 2 2013, 12:14
|- - jake.spb   Цитата(kovigor @ Dec 2 2013, 15:14) После...   Dec 2 2013, 13:27
- - Tahoe   А в какой из библиотек/примеров, приличнее всего о...   Dec 2 2013, 14:53


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

 


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


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