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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Ключ пуллапа для USB, почему NPN?
sonycman
сообщение Dec 29 2009, 08:37
Сообщение #1


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Вот кусок схемы с USB сокетом платы стартеркита SK-MLPC1768:
Прикрепленное изображение


Как видно, ключ на NPN транзисторе, управляемый сигналом с трёхвольтового контроллера.
Ключ будет полностью открыт только при условии низкого уровня на Data+.
При появлении высокого уровня транзистор закроется.

То есть в работе он будет постоянно переключаться туда-сюда?

Но почему автор не поставил PNP транзистор или P-мосфет?
Как надо делать "правильно"?
Go to the top of the page
 
+Quote Post
Herz
сообщение Dec 29 2009, 11:41
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Это одновременно и pull-up, и pull-down, в зависимости от уровня U_CON, ведь транзистор включен эмиттерным повторителем.
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Dec 29 2009, 14:22
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
Это одновременно и pull-up, и pull-down
и как ? при нуле в базе транзистор полностью закрыт, резистор будет висеть в воздухе.
Цитата
Но почему автор не поставил PNP транзистор или P-мосфет?
может так было удобно (включать единицей).
Цитата
То есть в работе он будет постоянно переключаться туда-сюда?
будет, ну и что ? PNP тоже будет включаться/выключаться, что это меняет ?
Go to the top of the page
 
+Quote Post
sonycman
сообщение Dec 29 2009, 15:11
Сообщение #4


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(ukpyr @ Dec 29 2009, 18:22) *
будет, ну и что ? PNP тоже будет включаться/выключаться, что это меняет ?

Криво это.
А PNP не будет самопроизвольно переключаться, эмиттер на 3v3, база на 0v -> транзистор открыт.
Go to the top of the page
 
+Quote Post
Herz
сообщение Dec 29 2009, 21:55
Сообщение #5


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Цитата(ukpyr @ Dec 29 2009, 16:22) *
и как ? при нуле в базе транзистор полностью закрыт, резистор будет висеть в воздухе.

Да, верно, значит pull-up-а просто не будет. rolleyes.gif

Цитата(sonycman @ Dec 29 2009, 17:11) *
Криво это.

А PNP не будет самопроизвольно переключаться, эмиттер на 3v3, база на 0v -> транзистор открыт.

Ничего тут кривого нет. Почему Вас заботит, что от будет открываться? выбор, по-моему, абсолютно правильный и вот почему.
Дело в том, что если на линии D+ появится напряжение (с другого конца, например), то NPN-транзистор просто закроется, а с PNP ток через pull-up резистор потечёт в обратную сторону.

Сообщение отредактировал Herz - Dec 29 2009, 21:56
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 29 2009, 23:11
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(sonycman @ Dec 29 2009, 13:37) *
Но почему автор не поставил PNP транзистор или P-мосфет?
Как надо делать "правильно"?
ИМХО в данном применении большую роль играет вносимая в шину емкость этого pull-up-а, а не тип проводимости ключа.
Go to the top of the page
 
+Quote Post
Demeny
сообщение Dec 29 2009, 23:24
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Это кусок схемы, реализующий USB-device (но не хост). Суть в том, что любое USB-устройство до начала обмена по шине обязано подтягивать D+ к "единице" - по этому признаку USB-хост распознаёт, что на порту появилось устройство. Затем, когда с устройством начинается обмен, этот pull-up необходимо отключить, чтобы не вносить на шину дополнительную несимметричную нагрузку.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Dec 29 2009, 23:38
Сообщение #8


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(Herz @ Dec 30 2009, 01:55) *
Дело в том, что если на линии D+ появится напряжение (с другого конца, например), то NPN-транзистор просто закроется, а с PNP ток через pull-up резистор потечёт в обратную сторону.

Ну и пусть течёт. Зато не будет никаких "щёлканий" ключом.
На большинстве схем ключ выполняется таким образом, чтобы резистор 1.5к был подключен к шине до тех пор, пока имеется сигнал с контроллера.
А тут иначе, почему и спросил совета.

Ну, не важно, так не важно. Но схемка кривая всё равно smile.gif

Цитата(rezident @ Dec 30 2009, 03:11) *
ИМХО в данном применении большую роль играет вносимая в шину емкость этого pull-up-а, а не тип проводимости ключа.

Эта ёмкость просто ничтожна, за полуторакилоомным резистором её просто не видно, имхо smile.gif

Цитата(Demeny @ Dec 30 2009, 03:24) *
Суть в том, что любое USB-устройство до начала обмена по шине обязано подтягивать D+ к "единице" - по этому признаку USB-хост распознаёт, что на порту появилось устройство.

Не совсем.
Full Speed устройства подтягивают D+.
Low Speed - D-.
Насчёт High Speed не помню smile.gif

Цитата(Demeny @ Dec 30 2009, 03:24) *
Затем, когда с устройством начинается обмен, этот pull-up необходимо отключить, чтобы не вносить на шину дополнительную несимметричную нагрузку.

Разве?
А хост, потеряв высокий уровень на D+, не посчитает, что устройство отключили от шины? smile.gif
Go to the top of the page
 
+Quote Post
rezident
сообщение Dec 30 2009, 00:05
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(sonycman @ Dec 30 2009, 04:38) *
Разве?
А хост, потеряв высокий уровень на D+, не посчитает, что устройство отключили от шины? smile.gif
Для высокоскоростных устройств резистор требуется только на момент конфигурирования устройства. После завершения конфигурирования, для работы на большой скорости, резистор должен быть отключен для уменьшения влияния на симметричность (волновое согласование) линии связи. Цитата (скриншот) из спецификации USB2.0.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
sonycman
сообщение Dec 30 2009, 09:27
Сообщение #10


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(rezident @ Dec 30 2009, 04:05) *
Для высокоскоростных устройств резистор требуется только на момент конфигурирования устройства. После завершения конфигурирования, для работы на большой скорости, резистор должен быть отключен для уменьшения влияния на симметричность (волновое согласование) линии связи. Цитата (скриншот) из спецификации USB2.0.

А в случае Full Speed устройств?
Что же, надо попробовать отсоединить пуллап после энумерации и конфигурирования устройства.
Если хост будет не против, это даже хорошо smile.gif
Go to the top of the page
 
+Quote Post
goodwin
сообщение Dec 30 2009, 09:51
Сообщение #11


Местный
***

Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267



Сколько страстей smile.gif Я просто взял и присопливил pnp в подобную платку от стартеркита. По одной простой причине - в keil примеры заточены (лень везде строчку править), да и в самих контроллерах LPC аппаратное уплавление подтяжкой требует pnp...
Хотя тоже озадачила такая схемотехника...
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 3 2010, 20:14
Сообщение #12


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Хм, странно, а почему не подсоединяют корпус USB коннектора на землю напрямую?
Вот схема:
Прикрепленное изображение


Почему через резистор\конденсатор?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 3 2010, 20:19
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Чтобы не разряжать статику на "чистую" землю. Лучше для корпусов разъемов вообще ввести отдельную.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 3 2010, 21:31
Сообщение #14


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



aaarrr
Понятно, спасибо.
Значит, буду лучше делать так, чем напрямую smile.gif
Причина редактирования: Избыточное цитирование
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 3 2010, 23:39
Сообщение #15


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Только вот не понял, в чём смысл конденсатора?
Его не прошибёт киловольтным разрядом статики?
На какое напряжение его ставить?
Go to the top of the page
 
+Quote Post
rezident
сообщение Jan 4 2010, 00:16
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Цитата(sonycman @ Jan 4 2010, 04:39) *
Только вот не понял, в чём смысл конденсатора?
Дык через него и протекает электростатический заряд с человеческого тела. А резистор нужен для того, чтобы заряд на конденсаторе "рассосался" через некоторое время и для того, чтобы на корпусе (экране) разъема не скапливался заряд, самопроизвольно заряжающий упомянутый конденсатор.
Go to the top of the page
 
+Quote Post
goodwin
сообщение Jan 4 2010, 04:37
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267



Только вся эта usb схемотехника, применительно к электростатическому разряду, относится скорее к танцам с бубном wink.gif
Определяющим является то, что сигнальные линии USB заводятся в кристаллы можно сказать напрямую...
И при хорошо приложенном электростатическом разряде ничто не спасает от сбоя usb обмена.
Практический пример:
Если "хорошо зарядиться" и коснуться экрана просто пальцем, то возникает искра несколько мм длиной, но обмен не сбивается.
Если же коснуться металлическим предметом, то все usb девайсы, над которыми пробовал так издеваться, гарантированно виснут.
Не помогают ни ферритовые бусины во всех линиях usb разъема, включая экран, ни RC цепочки.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 4 2010, 09:36
Сообщение #18


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(rezident @ Jan 4 2010, 04:16) *
Дык через него и протекает электростатический заряд с человеческого тела. А резистор нужен для того, чтобы заряд на конденсаторе "рассосался" через некоторое время и для того, чтобы на корпусе (экране) разъема не скапливался заряд, самопроизвольно заряжающий упомянутый конденсатор.

Хм, ну а сколько киловольт способен выдержать этот конденсатор?
Обычный 50 вольтовый чип кондёр не почернеет от такого над ним издевательства? smile.gif

Или надо ставить огромный плёночник размером с пол-платы?

Цитата(goodwin @ Jan 4 2010, 08:37) *
Только вся эта usb схемотехника, применительно к электростатическому разряду, относится скорее к танцам с бубном wink.gif

Ещё заметил, что в половине схем не ставят кондёры (десятки пикофарад) на сигнальные линии.
Стоит с ними заморачиваться, или тоже игнорировать установку?
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 4 2010, 12:31
Сообщение #19


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Вот стандартная схема ключа:
Прикрепленное изображение


Не сразу дошло, для чего нужен делитель, в частности - его нижнее плечо R14 - 36k.

Думаю, в активном режиме (на базе T2 низкий уровень) схема работает так:
1. на линии USB низкий уровень, 0в.
На базе T1 3.9 вольт с делителя, Т1 открыт, на эмиттере 3.3в.

2. на линии USB высокий уровень от хоста, 5в.
На эмиттере Т1 напряжение поднимается до 5в, так как NPN переход не может проводить ток от эмиттера к коллектору.
Т1 закрывается сразу, как только потенциал эмиттера начинает превышать 3.3в, так как напряжение на базе, благодаря делителю, не может подняться выше 3.9 вольт.

Правильно ли я рассуждаю?
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jan 4 2010, 15:04
Сообщение #20


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



В реальности, хаб воспринимает на своём порте только положительный ФРОНТ на D+ (или D-), вызванный пуллапом, при подключении USB девайса. И информирует хост о подключении к этому порту нового девайса. Потом, когда хост запросил дескриптор DEVICE, можно этот пуллап резистор отключать (а на high speed нужно), всё равно от него никакого толку больше не будет. Даже если хаб отключит порт, к которому подключен ваш девайс (из-за помехи), то чтобы переподключится нужно убрать перекос, а потом снова создать (сформировать фронт). Иначе хаб ничего не шлёт (смотри сниффером).

doodwin, почитайте про зависание USB девайсов в разделе интерфейсы - это обсуждалось. Я там написал совет как при этом переподключится со стороны девайса. А если с этим USB девайсом работает ваша программа, то можно переподключится и со стороны ОС.
Go to the top of the page
 
+Quote Post
goodwin
сообщение Jan 4 2010, 15:20
Сообщение #21


Местный
***

Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267



Цитата(galjoen @ Jan 4 2010, 18:04) *
doodwin, почитайте про зависание USB девайсов в разделе интерфейсы - это обсуждалось. Я там написал совет как при этом переподключится со стороны девайса. А если с этим USB девайсом работает ваша программа, то можно переподключится и со стороны ОС.


Да мне проще. Я хост в девайсе мучаю - все под контролем...
Просто упомянул про то, что от хорошего статического разряда никакие схемотехнические ухищрения не помогут.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 4 2010, 15:31
Сообщение #22


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(galjoen @ Jan 4 2010, 19:04) *
В реальности, хаб воспринимает на своём порте только положительный ФРОНТ на D+ (или D-), вызванный пуллапом, при подключении USB девайса.

Я в курсе, спасибо.
Вообще то, вопрос был не об этом. smile.gif
А про режимы работы данного ключа.
Просто интересно, правильно ли я всё понял.
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jan 4 2010, 15:32
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(goodwin @ Jan 4 2010, 18:20) *
Просто упомянул про то, что от хорошего статического разряда никакие схемотехнические ухищрения не помогут.

Ухищрения помогают, только они все рассчитаны на body-модель. Т.е. что человек касаться будет. А у него определённые ёмкость/сопротивление. И на это все номиналы защиты рассчитаны.
А если статика от чего-нибудь другого, с другими ёмкостью/сопротивлением, стрельнёт, то да, всё сбивается.
Go to the top of the page
 
+Quote Post
Demeny
сообщение Jan 7 2010, 17:09
Сообщение #24


Знающий
****

Группа: Свой
Сообщений: 648
Регистрация: 11-02-06
Из: Санкт-Петербург
Пользователь №: 14 237



Цитата(sonycman @ Jan 4 2010, 12:36) *
Ещё заметил, что в половине схем не ставят кондёры (десятки пикофарад) на сигнальные линии.
Стоит с ними заморачиваться, или тоже игнорировать установку?

USB 2.0 при установленных конденсаторах (27 пФ) на сигнальных линиях просто не работает - устройство не опознается хостом. Всё же это очень значительная нагрузка на 480 Мбит интерфейс. USB 1.1 работает с ними нормально.


--------------------
Сделано в Китае. Упаковано в России.
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Jan 7 2010, 17:44
Сообщение #25


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
Но почему автор не поставил PNP транзистор или P-мосфет?
вероятно потому что включающий уровень как правило 5В питание от USB.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 7 2010, 19:57
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Demeny @ Jan 7 2010, 20:09) *
USB 2.0 при установленных конденсаторах (27 пФ) на сигнальных линиях просто не работает - устройство не опознается хостом. Всё же это очень значительная нагрузка на 480 Мбит интерфейс. USB 1.1 работает с ними нормально.

Вообще, тот же Интел рекомендует предусматривать элементы для подавления EMI/EMC/ESD, а ставить их только если это потребуется по результатам испытаний.
Go to the top of the page
 
+Quote Post
sonycman
сообщение Jan 7 2010, 20:53
Сообщение #27


Любитель
*****

Группа: Свой
Сообщений: 1 864
Регистрация: 20-08-06
Из: Тольятти
Пользователь №: 19 695



Цитата(aaarrr @ Jan 7 2010, 23:57) *
Вообще, тот же Интел рекомендует предусматривать элементы для подавления EMI/EMC/ESD, а ставить их только если это потребуется по результатам испытаний.

Ага, значит, последовательные резисторы и эти пикофарадные кондёры чисто для уменьшения уровня излучаемых шумов?
Понятненько smile.gif
Резисторы всегда втыкают, а на кондёрах экономят...

Цитата(ukpyr @ Jan 7 2010, 21:44) *
вероятно потому что включающий уровень как правило 5В питание от USB.

Хм... уровень для включения ключа может быть какой угодно - зависит от схемотехники.

Цитата(Demeny @ Jan 7 2010, 21:09) *
USB 2.0 при установленных конденсаторах (27 пФ) на сигнальных линиях просто не работает - устройство не опознается хостом. Всё же это очень значительная нагрузка на 480 Мбит интерфейс. USB 1.1 работает с ними нормально.

Ну вот у STM32 именно USB2.0 -> прекрасно работает как с конденсаторами, так и без.
Другое дело, что скорость только Full Speed, а не High smile.gif
Go to the top of the page
 
+Quote Post
galjoen
сообщение Jan 7 2010, 21:54
Сообщение #28


Знающий
****

Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640



Цитата(Demeny @ Jan 7 2010, 20:09) *
USB 2.0 при установленных конденсаторах (27 пФ) на сигнальных линиях просто не работает - устройство не опознается хостом. Всё же это очень значительная нагрузка на 480 Мбит интерфейс. USB 1.1 работает с ними нормально.

Странно это. В любом случае "опознание" (пересылка дескрипторов) идёт на full speed, а уже потом на high переключаются.
Цитата(sonycman @ Jan 7 2010, 23:53) *
Ну вот у STM32 именно USB2.0 -> прекрасно работает как с конденсаторами, так и без.
Другое дело, что скорость только Full Speed, а не High smile.gif

Тогда, в контексте этого обсуждения, это будет USB1.1.
А вообще там написано "компатибле" USB2.0. Маркетинговый ход такой... Как устройство, сделанное по стандарту USB1.1 и нормально работающее там, может при этом не работать на USB2.0???
Go to the top of the page
 
+Quote Post

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

 


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


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