Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Работа USB-AVR (RemoteSensor, PowerSwitch)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Oleg_IT
На некоторых компьютерах USB-AVR устройство работает только через USB хаб. При прямом подключении говорит, что подключено неизвестное устройство. Флешки, сканер определяются и работают на этих компьютерах нормально. С чем это может быть связанно?
prottoss
Цитата(Oleg_IT @ Jul 6 2007, 23:24) *
На некоторых компьютерах USB-AVR устройство работает только через USB хаб. При прямом подключении говорит, что подключено неизвестное устройство. Флешки, сканер определяются и работают на этих компьютерах нормально. С чем это может быть связанно?
С резистором 1,5 кОм на шине Д+
Oleg_IT
Цитата(prottoss @ Jul 6 2007, 19:28) *
С резистором 1,5 кОм на шине Д+


Да, резистор стоит.
prottoss
Цитата(Oleg_IT @ Jul 7 2007, 00:25) *
Да, резистор стоит.
дело не в том что он стоит. Ведь хабы определяют, хотя не факт что все, опять же... А дело в том, сколько вольт Вы на этот резистор подаете и какого он номинала. По спецификации резистор должен быть 1,5 кОм при напряжении питания на этом резисторе относительно земли в 3,3 вольта
Oleg_IT
Питание всей схемы идет от того же USB порта, т.е. на этом резисторе +5В.
prottoss
Цитата(Oleg_IT @ Jul 7 2007, 00:59) *
Питание всей схемы идет от того же USB порта, т.е. на этом резисторе +5В.
Вы сами ответили на свой вопросsmile.gif Поставьте вместо 1,5 кОм резистор номиналом 2,7 кОм - и будет Вам счастие
Oleg_IT
Цитата(prottoss @ Jul 6 2007, 22:06) *
Вы сами ответили на свой вопросsmile.gif Поставьте вместо 1,5 кОм резистор номиналом 2,7 кОм - и будет Вам счастие


Ставил между +5В и резистором 1.5 кОм AD стабилизатор на 3.3В, т.е. на резисторе было 3.3В. Ни чего не поменялось.
prottoss
Цитата(Oleg_IT @ Jul 11 2007, 22:26) *
Ставил между +5В и резистором 1.5 кОм AD стабилизатор на 3.3В, т.е. на резисторе было 3.3В. Ни чего не поменялось.
Интересно... А Вы не учитывали, что если МК питается от 5 Вольт, то на выводе Д+, к которому подключен резистор потенциал больше чем 3,3 вольта и ваш стабилизатор может быть просто заперт? Вы измеряли напряжение на резисторе? Оно точно 3, 3 вольта?
Oleg_IT
Цитата(prottoss @ Jul 11 2007, 18:46) *
Интересно... А Вы не учитывали, что если МК питается от 5 Вольт, то на выводе Д+, к которому подключен резистор потенциал больше чем 3,3 вольта и ваш стабилизатор может быть просто заперт? Вы измеряли напряжение на резисторе? Оно точно 3, 3 вольта?

Да, при работе постоянно измерял, но это на том выводе резистора, который не к ноге МК подсоединён.
prottoss
Цитата(Oleg_IT @ Jul 11 2007, 23:02) *
Да, при работе постоянно измерял, но это на том выводе резистора, который не к ноге МК подсоединён.
Я предполагаю, что это возникает из-за того, что на современных платах стоят довольно "продвинутые и интеллектуальные хосты", и если они унюхали напряжение на линиях данных больше положенных 3,3 вольт то обрубают коннект с устройством, считая, что оно не исправно. По этому, в своем программаторе, я понизил напряжение питания МК до возможного минимума. Работает исправно со всеми компами и ноутами, что я пробовал smile.gif
Oleg_IT
Цитата(prottoss @ Jul 11 2007, 19:11) *
Я предполагаю, что это возникает из-за того, что на современных платах стоят довольно "продвинутые и интеллектуальные хосты", и если они унюхали напряжение на линиях данных больше положенных 3,3 вольт то обрубают коннект с устройством, считая, что оно не исправно. По этому, в своем программаторе, я понизил напряжение питания МК до возможного минимума. Работает исправно со всеми компами и ноутами, что я пробовал smile.gif


Как я понял, нужно из 5В USB стабилизатором сделать 3.3В и питать ими всю схему. Так?

И ещё, для libusb используется три линии к МК, а для CDC две. Есть ли двух линейный вариант для libusb?
prottoss
Цитата(Oleg_IT @ Jul 11 2007, 23:23) *
Как я понял, нужно из 5В USB стабилизатором сделать 3.3В и питать ими всю схему. Так?
От 3,3 вольт на 12 Мгц 5-и вольтовый МК может работать не стабильно smile.gif , надо смотреть даташит на конкретный МК. Для Мега8-16 - 3,6 Вольт - нормально.
Цитата(Oleg_IT @ Jul 11 2007, 23:23) *
И ещё, для libusb используется три линии к МК, а для CDC две. Есть ли двух линейный вариант для libusb?
Можно использовать и две линии - но надо модифицировать исходник. Просто две линии используется вместе - одна нюхает постоянно сигнал на линии (прерывание), вторая генерит данные в линию... По моему так, если не ошибаюсь. А вообще и "двухлинейные" исходники c libusb работают нормально.
Oleg_IT
Понял, спасибо. Буду пробовать.
Elegorod
В Радиоаматоре 2/2007 "Микроконтроллеры USB" с линий D+, D- (выводы 2, 3) стоят стабилитроны 3,3 В на землю. Резистор с D- на +5V стоит 2,2 к. Схема питается от 5 В.
P. S. Теперь я понял, зачем эти стабилитроны
prottoss
Цитата(Elegorod @ Jul 12 2007, 00:11) *
В Радиоаматоре 2/2007 "Микроконтроллеры USB" с линий D+, D- (выводы 2, 3) стоят стабилитроны 3,3 В на землю. Резистор с D- на +5V стоит 2,2 к. Схема питается от 5 В.
P. S. Теперь я понял, зачем эти стабилитроны
Стабилитроны на линиях - пустое дело, если там на самом деле стабилитроны, в чем я сомневаюсь. Как Вы знаете из курса электротехники smile.gif , для того, чтобы стабилитрон заработал, через него должен течь ток стабилизации в несколько милиампер. На линиях данных USB скорее всего такого тока не будет. Кроме того, если все таки там стабилитроны, то они еще и емкость имеют, от чего могут исказить сигнал. Учитывая то, что AVR-USB не считает CRC входящих пакетов возможен прием не верных данных.
Elegorod
Я делал этот программатор, и поставил эти 2 стабилитрона. Резистор на МК - 82 Ома.
5 В / 82 Ом = 60 мА.
По крайней мере, программатор работает нормально. Срабатывают ли стабилитроны - не известно
prottoss
Цитата(Elegorod @ Jul 12 2007, 00:25) *
Я делал этот программатор, и поставил эти 2 стабилитрона. Резистор на МК - 82 Ома.
5 В / 82 Ом = 60 мА.
По крайней мере, программатор работает нормально. Срабатывают ли стабилитроны - не известно
Вы хотите сказать, что со стороны USB низкоомная нагрузка?
Elegorod
Совсем нет. Когда на выходе микроконтроллера логический "1", то ток, если точнее (5 - 3,3)/82 = 20 мА. Все равно стабилитрон должен срабатывать.
Резистор 82 Ома подключены между D+ (контакт 3) и выводом МК (а также D- (контакт 2) и выводом МК).
В статье написано, что стабилитроны защищают компьютер от напряжения >3,3 V, а емкость для низких скоростей не существенна
prottoss
Цитата(Elegorod @ Jul 12 2007, 13:23) *
Совсем нет. Когда на выходе микроконтроллера логический "1", то ток, если точнее (5 - 3,3)/82 = 20 мА. Все равно стабилитрон должен срабатывать.
Резистор 82 Ома подключены между D+ (контакт 3) и выводом МК (а также D- (контакт 2) и выводом МК).
В статье написано, что стабилитроны защищают компьютер от напряжения >3,3 V, а емкость для низких скоростей не существенна
Вы считаете - 1,5 МГц это маленькая частота? Я - нет. Все же считаю схему со стабилитронами "нехорошей", но спорить не собираюсь smile.gif Всяк в праве выбирать, что ему по душе
Konst_777
Наверное, имеется в виду защита от электростатического разряда (ESD). Обычно производители USB контроллеров гарантируют сохранение работоспособности выводов D+, D-, VBUS при воздействии ESD до 3 КВ. Реально, требуется защита до 7 КВ или 15 КВ. В этом случае используются внешние стабилитроны с лавинным пробоем (Avalanche Diodes). См., например, Protecting USB pins from ESD
Oleg_IT
Да, нужно просто снизить напряжение на линии D-. Сделал как в usb-led-fader, всё заработало. Но теперь возник другой вопрос. Необходима защита порта, собираюсь применить SPUSB1xxx. Но как в этом случае быть с напряжением пинания, если нет возможности поставить понижающий стабилизатор. Может на диодах, как приведено в usb-led-fader будет достаточно? И ещё, какой максимальной длинны могут бать линии от разъёма до МК?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.