Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: USB LPC1768 - обнаружения подключения к хосту
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
koluna
Добрый день!

Проц. в режиме USB Device.
Подключаем кабель хост-устройство.
Как обнаружить, что проц. готов для обмена по USB?
kovigor
Цитата(koluna @ Feb 11 2013, 13:33) *
Проц. в режиме USB Device.
Подключаем кабель хост-устройство.
Как обнаружить, что проц. готов для обмена по USB?

Придется вам все-таки изучить документацию на процессор ...
prottoss
Цитата(koluna @ Feb 11 2013, 16:33) *
Добрый день!

Проц. в режиме USB Device.
Подключаем кабель хост-устройство.
Как обнаружить, что проц. готов для обмена по USB?
Обнаружить относительно просто.
-Обнаружить, то, что устройство подключено к шине USB - выделить свободный IO-вход, который через делитель подключен к контакту VBUS USB-разъема.
-Обнаружить, то что устройство прошло (практически) энумерацию - устройству будет присвоен адрес отличный от нуля.

Ну и курить мануалы на стандарт USB-шины sm.gif
koluna
Цитата(kovigor @ Feb 11 2013, 15:52) *
Придется вам все-таки изучить документацию на процессор ...


Читаем.

Цитата(prottoss @ Feb 11 2013, 16:13) *
-Обнаружить, то что устройство прошло (практически) энумерацию - устройству будет присвоен адрес отличный от нуля.


Вот это интересно.
Пытаюсь прочитать статус в "11.12.6 Set Device Status (Command: 0xFE, Data: write 1 byte)", чтобы по биту "CON" определить.
esaulenka
Цитата(prottoss @ Feb 11 2013, 16:13) *
-Обнаружить, то, что устройство подключено к шине USB - выделить свободный IO-вход, который через делитель подключен к контакту VBUS USB-разъема.


Кстати, поддержу вопрос.
LPC1768 (или любой другой LPC, отличий в USB мне обнаружить не удалось).
сигнал VBUS заведен на ногу VBUS, которая сконфигурирована как VBUS.

Чтением ЧЕГО я могу определить уровень на VBUS ? Где-то внутри оно явно определяется (при ошибке, когда на пин всегда приходил ноль, энумерация идти никак не хотела), но через какой регистр это можно увидеть, я не нашёл.
GPIO не предлагать :-)
jcxz
Цитата(koluna @ Feb 11 2013, 21:06) *
Вот это интересно.
Пытаюсь прочитать статус в "11.12.6 Set Device Status (Command: 0xFE, Data: write 1 byte)", чтобы по биту "CON" определить.
Это зачем?
Если Вы используете стек из примеров IAR к LPC, то обратите внимание на usb_hooks.c - в нём можно поставить хуки на многие события в стеке.
В том числе и USB_CONFIGURE_HOOK() для Вашего случая.
koluna
Драйвера из Кейла используются.
Golikov A.
из описания к 2148

USB_VBUS I The bus power from USB host, norminally +5V at the source.
This pin can be routed to the GPIO pin, P0.23, to indicate the
presence of the USB power.

Set Device Status Register bit description
1 CON_CH Connect Change.
0 This bit is reset when read.
1 This bit is set when the device’s pull-up resistor is disconnected
because VBus disappeared. DEV_STAT interrupt is generated
when this bit is 1.

Set PINSEL1 to enable USB VBUS and the soft connect/good link LED function

и того если хотите знать в программке то вам необходимо сделать его ЖПИО
если хотите видеть на диодике, то сделайте его VBUS,
а так же в статус регистре можно отслеживать изменение статуса конект неконект, и получать прерывание.

как то так....
Axel
Цитата(koluna @ Feb 11 2013, 13:33) *
Как обнаружить, что проц. готов для обмена по USB?


Если нет возможности (или желания) наблюдать за VBUS, можно периодически проверять статус устройства, используя команду SIE "Get Device Status" (0xFE). При коннекте 0-й и 2-й биты возврата должны быть установлены.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.