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

 
 
> suspend & resume USB LPC23xx, зависание USB контроллера
andrvisht
сообщение Jan 17 2011, 18:48
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 298
Регистрация: 29-08-05
Пользователь №: 8 064



Не могу разобраться с проблемой определения девайса после suspend.
событие resume отлавливается, но сам контроллер не сообщает драйверу о готовности возобновить передачу.
В качестве драйвера использую Thesycon.
В качестве контроллера LPC2368
В качестве управляющей программы - пример от tnkernel

Логическим анализатором засканил вариант отработки resume на JLink, и тестируемого устройства.
При resume на D+ появляется лог 0 на 1ms, после чего происходит обмен и снова в подтверждение D+ становиться в лог 0 на 1ms.
В моем случае подтверждения не получается.

Аналогичная реакция происходит и при подключении устройства к USB но в этом случае подтверждение есть.

Проверяю следующим образом, в device manager Windows отключаю драйвер (при этом ловим suspend) а после включаю,
отлавливаю resume но далее контроллер USB не выдает подтверждение, и процесс выдает ошибку.
Если в момент после suspend ресетнуть контроллер, то все проходит нормально, и драйвер активируется без проблем.

Лог событий из demo приложения от Thesycon:
вставляем
Код
OnDeviceChange message: 00000007 (DBT_DEVNODES_CHANGED)
OnDeviceChange message: 00008004 (DBT_DEVICEREMOVECOMPLETE)
The USB device \\?\USB#Vid_16c0&Pid_05dc#000010#{325ddf96-938c-11d3-9e34-0080c82727f4} has been removed.
OnDeviceChange message: 00000007 (DBT_DEVNODES_CHANGED)
OnDeviceChange message: 00008000 (DBT_DEVICEARRIVAL)
A new USB device has been plugged in and is now available.
Device path is: \\?\USB#Vid_16c0&Pid_05dc#000010#{325ddf96-938c-11d3-9e34-0080c82727f4}.
OnDeviceChange message: 00000007 (DBT_DEVNODES_CHANGED)

отключаем драйвер
Код
OnDeviceChange message: 00000007 (DBT_DEVNODES_CHANGED)
OnDeviceChange message: 00008004 (DBT_DEVICEREMOVECOMPLETE)
The USB device \\?\USB#Vid_16c0&Pid_05dc#000010#{325ddf96-938c-11d3-9e34-0080c82727f4} has been removed.

задествуем драйвер после ресета программы
Код
OnDeviceChange message: 00000007 (DBT_DEVNODES_CHANGED)
OnDeviceChange message: 00008000 (DBT_DEVICEARRIVAL)
A new USB device has been plugged in and is now available.
Device path is: \\?\USB#Vid_16c0&Pid_05dc#000010#{325ddf96-938c-11d3-9e34-0080c82727f4}.
OnDeviceChange message: 00000007 (DBT_DEVNODES_CHANGED)

если не делать сброс программы то:
Код
OnDeviceChange message: 00000007 (DBT_DEVNODES_CHANGED)
и через секунду еще раз
OnDeviceChange message: 00000007 (DBT_DEVNODES_CHANGED)

после чего в состоянии устройства USBIO появляется ошибка:
"Запуск этого устройства невозможен. (Код 10)"
проверял как на BUS Powered так и на Self Powered, разницы нет.
Подскажите в каком направлении двигаться, как отловить проблему, чем засканить обмен более детально, какие варианты попробовать ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andrvisht
сообщение Jan 27 2011, 08:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 298
Регистрация: 29-08-05
Пользователь №: 8 064



привожу результаты последних исследований.
Цитата
*((int*)0xFFE0C008) = 1;

после этого ядро USB отваливается, J-LINK показавает в области памяти USB 0xAAAAAAAA
т.о. действия описанные в Errata можно расценивать как дезу, ну или все таки оно работает на единственной ревизии "-"
найти которую уже не получиться.
т.о. имеем проблему с тем, что USB_NEED_CLK никогда не становиться равным 0.
похожая проблема поднималась тут и тут и осталась без решения.
Кроме предложенного вырианта от NXP, был проверен пакет code.bundle.lpc23xx.lpc24xx.uvision.zip
в котором вроде как, suspend и resume обрабатываются.
результат не удивил, при suspend происходит зависание на цикле ожидания USB_NEED_CLK;
непонятно как это работало у человека, который писал этот код cranky.gif

Есть ли у кого из присутсвующих возможность проверить данный код на платах ENG_BOARD_LPC24XX
или KEIL_BOARD_LPC23XX или SK-LPC2378 (c мелкими изменениями в инициализации) ?

Есть ли адрес службы поддержки NXP (не то что на сайте, а тот с которого отвечают sm.gif ), или какие другие предложения по поиску решения ?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- andrvisht   suspend & resume USB LPC23xx   Jan 17 2011, 18:48
- - kovigor   Цитата(andrvisht @ Jan 17 2011, 21:48) По...   Jan 17 2011, 19:58
|- - andrvisht   Цитата(kovigor @ Jan 17 2011, 23:58) Мног...   Jan 17 2011, 21:52
|- - kovigor   Цитата(andrvisht @ Jan 18 2011, 00:52) на...   Jan 17 2011, 22:34
|- - andrvisht   Решил пойти другим путем. 1. скачал с сайта произв...   Jan 20 2011, 19:15
|- - kovigor   Цитата(andrvisht @ Jan 20 2011, 22:15) Мо...   Jan 20 2011, 20:06
|- - andrvisht   Цитата(kovigor @ Jan 21 2011, 00:06) Там ...   Jan 22 2011, 12:30
- - kovigor   Цитата(andrvisht @ Jan 27 2011, 11:24) ил...   Jan 27 2011, 09:17
- - andrvisht   Цитата(kovigor @ Jan 27 2011, 12:17) Вооб...   Jan 27 2011, 09:47
- - kovigor   Цитата(andrvisht @ Jan 27 2011, 12:47) в ...   Jan 27 2011, 10:05
- - andrvisht   Цитата(kovigor @ Jan 27 2011, 13:05) Хоро...   Jan 27 2011, 10:14
- - kovigor   Цитата(andrvisht @ Jan 27 2011, 13:14) Са...   Jan 27 2011, 10:33
- - andrvisht   Цитата(kovigor @ Jan 27 2011, 13:33) Ну ч...   Jan 28 2011, 06:39
- - kovigor   Цитата(andrvisht @ Jan 28 2011, 10:39) Бы...   Jan 28 2011, 09:11
- - andrvisht   За обещанный промежуток в 5 рабочих дней техподдре...   Feb 7 2011, 19:00
- - kovigor   Цитата(andrvisht @ Feb 7 2011, 23:00) По ...   Feb 7 2011, 20:01
- - andrvisht   Цитата(kovigor @ Feb 8 2011, 00:01) По то...   Feb 7 2011, 21:32
- - kovigor   Цитата(andrvisht @ Feb 8 2011, 01:32) Так...   Feb 8 2011, 09:01
- - andrvisht   Цитата(kovigor @ Feb 8 2011, 13:01) Не за...   Feb 8 2011, 18:41


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

 


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


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