Полная версия этой страницы:
USB в LPC2148
Раньше программировал USB на AT89C5131A, теперь перешли на ARM
Так вот поясните, пожалуйста, назначение выводов:
Vbus - в даташите написано, что сигнализирует подключение питания по УСБ, но что-то не очень понятен смысл, это же можно просто с порта посмотреть значение уровня или это так и происходит???
CONNECT и LED_UP - по connect вроде понятно - софтварное притягивание D+ к питанию, но почему это нельзя сделать просто битиком порта??? и там еще написано, что подключестся УСБ, когда на этой ножке низкий уровень, не очень понятно
А вот LED_UP чисто аппаратно включается, если конфигурирование удалось?
Что-то я не нашел, где в регистрах USB или еще в каких, отражаются сигналы CONNECT и Vbus?
Вообще описание USB-регистров очень скудное какое-то, так и не нашел главного регистра управления USB, как он называется?
Прости за вопрос, у меня не очень с английским
Битиком нельзя вот почему. на P0-31 если без транзистора включить подтягивающий резистор, то на нем будет низкий уровень при сбросе устройства, а это делать нельзя ибо "Note: This pin MUST NOT be externally pulled LOW when RESET pin is LOW or the
JTAG port will be disabled." Это ис хождения по собственным граблям. Про остальное не скажу
Цитата(DASM @ Nov 2 2007, 02:50)

Битиком нельзя вот почему. на P0-31 если без транзистора включить подтягивающий резистор, то на нем будет низкий уровень при сбросе устройства, а это делать нельзя ибо "Note: This pin MUST NOT be externally pulled LOW when RESET pin is LOW or the
JTAG port will be disabled." Это ис хождения по собственным граблям. Про остальное не скажу
Сейчас Р0.31 подключено через резистор к D+, но USB кабель не подключен к устройству, получается висит в воздухе, контроллер включается и JTAG работает, после включение контроллера устанавливается в 1, из-за pull-up резистора видимо
Так в чем же разница между CONNECT и Р0.31 режимами пина?
Он не в воздухе висит, а к D+ подключен получается. Не надо так. Нужен транзистор
Цитата(DASM @ Nov 2 2007, 03:12)

Он не в воздухе висит, а к D+ подключен получается. Не надо так. Нужен транзистор
Получается, что если USB разъем подключен, то Р0.31 на D+, а если нет, то в воздухе.
Но он никак не оказывается на земле
Это как это в воздухе ? На D+ и будет висеть. Покажите схему куска. Резистор не к USB VCC подключать надо, а к процу, иначе на ходу recconect например не получится
Цитата(DASM @ Nov 2 2007, 04:02)

Это как это в воздухе ? На D+ и будет висеть. Покажите схему куска. Резистор не к USB VCC подключать надо, а к процу, иначе на ходу recconect например не получится
Что-то тутлю по утру) Действительно на D+.
так если на прямую через резистор, но без транзистора, подключу в выводу проца, ведь будет всё работать? И зачем всё таки ставить транзистор?
и как управлять у этим выводом?
Нельзя напрямую. На D+ нолик будет при включении, он и затянет P0.31 вниз - чего делать нельзя. А может и не будет (не помню) а будет еще что, уже не помню точно. Помню что обломался напрямую включать. Может кто еще подскажет. Но без транзистора так не делают
Цитата(DASM @ Nov 2 2007, 04:27)

Нельзя напрямую. На D+ нолик будет при включении, он и затянет P0.31 вниз - чего делать нельзя. А может еще что, уже не помню точно. Помню что обломался напрямую включать. Может кто еще подскажет.
Хорошо, приведите тогда схемку с транзистром
Но на серийном устройстве можно без транзитора обойтись, там же отладка не важна
Так Вы так и не ответили, как программно конектить ЮСБ?
В примерах все есть. От IAR . Подключение - есть в схемах китов от Olimex
На вскидку - не помню, зачем хлам итак в дырявой башке держать.
Цитата(DASM @ Nov 2 2007, 04:56)

В примерах все есть. От IAR . Подключение - есть в схемах китов от Olimex
На вскидку - не помню, зачем хлам итак в дырявой башке держать.
Думаю это и не такой уж хлам, всё-таки работа с USB сейчас очень актуальна.
Цитата(Maximm @ Nov 5 2007, 00:34)

Думаю это и не такой уж хлам, всё-таки работа с USB сейчас очень актуальна.
Актуальные темы у каждого свои...

И USB далеко не первая, судя по статистике форума, видимой глазом. Да и 2148 уже постепенно теряет актуальность (для меня во всяком случае), 23 серия интереснее. А если еще и цены не сильно изменятся, то применять 2148 в новых разработках точно не сподоблюсь.
Цитата(Velund @ Nov 5 2007, 02:45)

Актуальные темы у каждого свои...

И USB далеко не первая, судя по статистике форума, видимой глазом. Да и 2148 уже постепенно теряет актуальность (для меня во всяком случае), 23 серия интереснее. А если еще и цены не сильно изменятся, то применять 2148 в новых разработках точно не сподоблюсь.
Так если применяете или раньше применяли LPC-2148 может объясните, что к чему у него.....
Цитата(Maximm @ Nov 5 2007, 14:22)

Так если применяете или раньше применяли LPC-2148 может объясните, что к чему у него.....
Резистор нужен для идентификации скорости девайса: для "Full speed" - к D+, для "Low speed" - к D-.
Транзистор нужен для обеспечения режима "Soft connection". Включать его лучше после инициализации USB контроллера (в т/ч PLL), либо после обнаружения контроллером подключения к USB, что и делает P0.31.
Цитата(Axel @ Nov 5 2007, 14:38)

Резистор нужен для идентификации скорости девайса: для "Full speed" - к D+, для "Low speed" - к D-.
Транзистор нужен для обеспечения режима "Soft connection". Включать его лучше после инициализации USB контроллера (в т/ч PLL), либо после обнаружения контроллером подключения к USB, что и делает P0.31.
Вопрос был не куда и что тянуть, а зачем тразистор, а нужен он из за дурацкой полубаги в 21ХХ из-за которой JTAG отключается, если этот вывод на землю затянут. Если JTAG не нужен, то и транзистор тоже не нужен
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.