Infernomen 0 1 ноября, 2007 Опубликовано 1 ноября, 2007 · Жалоба Раньше программировал USB на AT89C5131A, теперь перешли на ARM Так вот поясните, пожалуйста, назначение выводов: Vbus - в даташите написано, что сигнализирует подключение питания по УСБ, но что-то не очень понятен смысл, это же можно просто с порта посмотреть значение уровня или это так и происходит??? CONNECT и LED_UP - по connect вроде понятно - софтварное притягивание D+ к питанию, но почему это нельзя сделать просто битиком порта??? и там еще написано, что подключестся УСБ, когда на этой ножке низкий уровень, не очень понятно А вот LED_UP чисто аппаратно включается, если конфигурирование удалось? Что-то я не нашел, где в регистрах USB или еще в каких, отражаются сигналы CONNECT и Vbus? Вообще описание USB-регистров очень скудное какое-то, так и не нашел главного регистра управления USB, как он называется? Прости за вопрос, у меня не очень с английским Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 1 ноября, 2007 Опубликовано 1 ноября, 2007 · Жалоба Битиком нельзя вот почему. на P0-31 если без транзистора включить подтягивающий резистор, то на нем будет низкий уровень при сбросе устройства, а это делать нельзя ибо "Note: This pin MUST NOT be externally pulled LOW when RESET pin is LOW or the JTAG port will be disabled." Это ис хождения по собственным граблям. Про остальное не скажу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Infernomen 0 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба Битиком нельзя вот почему. на 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 режимами пина? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба Он не в воздухе висит, а к D+ подключен получается. Не надо так. Нужен транзистор Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Infernomen 0 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба Он не в воздухе висит, а к D+ подключен получается. Не надо так. Нужен транзистор Получается, что если USB разъем подключен, то Р0.31 на D+, а если нет, то в воздухе. Но он никак не оказывается на земле Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба Это как это в воздухе ? На D+ и будет висеть. Покажите схему куска. Резистор не к USB VCC подключать надо, а к процу, иначе на ходу recconect например не получится Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Infernomen 0 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба Это как это в воздухе ? На D+ и будет висеть. Покажите схему куска. Резистор не к USB VCC подключать надо, а к процу, иначе на ходу recconect например не получится Что-то тутлю по утру) Действительно на D+. так если на прямую через резистор, но без транзистора, подключу в выводу проца, ведь будет всё работать? И зачем всё таки ставить транзистор? и как управлять у этим выводом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба Нельзя напрямую. На D+ нолик будет при включении, он и затянет P0.31 вниз - чего делать нельзя. А может и не будет (не помню) а будет еще что, уже не помню точно. Помню что обломался напрямую включать. Может кто еще подскажет. Но без транзистора так не делают Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Infernomen 0 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба Нельзя напрямую. На D+ нолик будет при включении, он и затянет P0.31 вниз - чего делать нельзя. А может еще что, уже не помню точно. Помню что обломался напрямую включать. Может кто еще подскажет. Хорошо, приведите тогда схемку с транзистром Но на серийном устройстве можно без транзитора обойтись, там же отладка не важна Так Вы так и не ответили, как программно конектить ЮСБ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 2 ноября, 2007 Опубликовано 2 ноября, 2007 · Жалоба В примерах все есть. От IAR . Подключение - есть в схемах китов от Olimex На вскидку - не помню, зачем хлам итак в дырявой башке держать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Infernomen 0 4 ноября, 2007 Опубликовано 4 ноября, 2007 · Жалоба В примерах все есть. От IAR . Подключение - есть в схемах китов от Olimex На вскидку - не помню, зачем хлам итак в дырявой башке держать. Думаю это и не такой уж хлам, всё-таки работа с USB сейчас очень актуальна. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Velund 0 4 ноября, 2007 Опубликовано 4 ноября, 2007 · Жалоба Думаю это и не такой уж хлам, всё-таки работа с USB сейчас очень актуальна. Актуальные темы у каждого свои... ;) И USB далеко не первая, судя по статистике форума, видимой глазом. Да и 2148 уже постепенно теряет актуальность (для меня во всяком случае), 23 серия интереснее. А если еще и цены не сильно изменятся, то применять 2148 в новых разработках точно не сподоблюсь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Infernomen 0 5 ноября, 2007 Опубликовано 5 ноября, 2007 · Жалоба Актуальные темы у каждого свои... ;) И USB далеко не первая, судя по статистике форума, видимой глазом. Да и 2148 уже постепенно теряет актуальность (для меня во всяком случае), 23 серия интереснее. А если еще и цены не сильно изменятся, то применять 2148 в новых разработках точно не сподоблюсь. Так если применяете или раньше применяли LPC-2148 может объясните, что к чему у него..... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Axel 1 5 ноября, 2007 Опубликовано 5 ноября, 2007 · Жалоба Так если применяете или раньше применяли LPC-2148 может объясните, что к чему у него..... Резистор нужен для идентификации скорости девайса: для "Full speed" - к D+, для "Low speed" - к D-. Транзистор нужен для обеспечения режима "Soft connection". Включать его лучше после инициализации USB контроллера (в т/ч PLL), либо после обнаружения контроллером подключения к USB, что и делает P0.31. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DASM 0 5 ноября, 2007 Опубликовано 5 ноября, 2007 · Жалоба Резистор нужен для идентификации скорости девайса: для "Full speed" - к D+, для "Low speed" - к D-. Транзистор нужен для обеспечения режима "Soft connection". Включать его лучше после инициализации USB контроллера (в т/ч PLL), либо после обнаружения контроллером подключения к USB, что и делает P0.31. Вопрос был не куда и что тянуть, а зачем тразистор, а нужен он из за дурацкой полубаги в 21ХХ из-за которой JTAG отключается, если этот вывод на землю затянут. Если JTAG не нужен, то и транзистор тоже не нужен Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться