|
Ключ пуллапа для USB, почему NPN? |
|
|
|
Dec 29 2009, 08:37
|

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

|
Вот кусок схемы с USB сокетом платы стартеркита SK-MLPC1768:
Как видно, ключ на NPN транзисторе, управляемый сигналом с трёхвольтового контроллера. Ключ будет полностью открыт только при условии низкого уровня на Data+. При появлении высокого уровня транзистор закроется. То есть в работе он будет постоянно переключаться туда-сюда? Но почему автор не поставил PNP транзистор или P-мосфет? Как надо делать "правильно"?
|
|
|
|
|
Dec 29 2009, 14:22
|
Профессионал
    
Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347

|
Цитата Это одновременно и pull-up, и pull-down и как ? при нуле в базе транзистор полностью закрыт, резистор будет висеть в воздухе. Цитата Но почему автор не поставил PNP транзистор или P-мосфет? может так было удобно (включать единицей). Цитата То есть в работе он будет постоянно переключаться туда-сюда? будет, ну и что ? PNP тоже будет включаться/выключаться, что это меняет ?
|
|
|
|
|
Dec 29 2009, 21:55
|

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

|
Цитата(ukpyr @ Dec 29 2009, 16:22)  и как ? при нуле в базе транзистор полностью закрыт, резистор будет висеть в воздухе. Да, верно, значит pull-up-а просто не будет. Цитата(sonycman @ Dec 29 2009, 17:11)  Криво это.
А PNP не будет самопроизвольно переключаться, эмиттер на 3v3, база на 0v -> транзистор открыт. Ничего тут кривого нет. Почему Вас заботит, что от будет открываться? выбор, по-моему, абсолютно правильный и вот почему. Дело в том, что если на линии D+ появится напряжение (с другого конца, например), то NPN-транзистор просто закроется, а с PNP ток через pull-up резистор потечёт в обратную сторону.
Сообщение отредактировал Herz - Dec 29 2009, 21:56
|
|
|
|
|
Dec 29 2009, 23:38
|

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

|
Цитата(Herz @ Dec 30 2009, 01:55)  Дело в том, что если на линии D+ появится напряжение (с другого конца, например), то NPN-транзистор просто закроется, а с PNP ток через pull-up резистор потечёт в обратную сторону. Ну и пусть течёт. Зато не будет никаких "щёлканий" ключом. На большинстве схем ключ выполняется таким образом, чтобы резистор 1.5к был подключен к шине до тех пор, пока имеется сигнал с контроллера. А тут иначе, почему и спросил совета. Ну, не важно, так не важно. Но схемка кривая всё равно  Цитата(rezident @ Dec 30 2009, 03:11)  ИМХО в данном применении большую роль играет вносимая в шину емкость этого pull-up-а, а не тип проводимости ключа. Эта ёмкость просто ничтожна, за полуторакилоомным резистором её просто не видно, имхо  Цитата(Demeny @ Dec 30 2009, 03:24)  Суть в том, что любое USB-устройство до начала обмена по шине обязано подтягивать D+ к "единице" - по этому признаку USB-хост распознаёт, что на порту появилось устройство. Не совсем. Full Speed устройства подтягивают D+. Low Speed - D-. Насчёт High Speed не помню  Цитата(Demeny @ Dec 30 2009, 03:24)  Затем, когда с устройством начинается обмен, этот pull-up необходимо отключить, чтобы не вносить на шину дополнительную несимметричную нагрузку. Разве? А хост, потеряв высокий уровень на D+, не посчитает, что устройство отключили от шины?
|
|
|
|
|
Jan 4 2010, 04:37
|

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

|
Только вся эта usb схемотехника, применительно к электростатическому разряду, относится скорее к танцам с бубном  Определяющим является то, что сигнальные линии USB заводятся в кристаллы можно сказать напрямую... И при хорошо приложенном электростатическом разряде ничто не спасает от сбоя usb обмена. Практический пример: Если "хорошо зарядиться" и коснуться экрана просто пальцем, то возникает искра несколько мм длиной, но обмен не сбивается. Если же коснуться металлическим предметом, то все usb девайсы, над которыми пробовал так издеваться, гарантированно виснут. Не помогают ни ферритовые бусины во всех линиях usb разъема, включая экран, ни RC цепочки.
|
|
|
|
|
Jan 4 2010, 09:36
|

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

|
Цитата(rezident @ Jan 4 2010, 04:16)  Дык через него и протекает электростатический заряд с человеческого тела. А резистор нужен для того, чтобы заряд на конденсаторе "рассосался" через некоторое время и для того, чтобы на корпусе (экране) разъема не скапливался заряд, самопроизвольно заряжающий упомянутый конденсатор. Хм, ну а сколько киловольт способен выдержать этот конденсатор? Обычный 50 вольтовый чип кондёр не почернеет от такого над ним издевательства?  Или надо ставить огромный плёночник размером с пол-платы? Цитата(goodwin @ Jan 4 2010, 08:37)  Только вся эта usb схемотехника, применительно к электростатическому разряду, относится скорее к танцам с бубном  Ещё заметил, что в половине схем не ставят кондёры (десятки пикофарад) на сигнальные линии. Стоит с ними заморачиваться, или тоже игнорировать установку?
|
|
|
|
|
Jan 4 2010, 12:31
|

Любитель
    
Группа: Свой
Сообщений: 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 вольт. Правильно ли я рассуждаю?
|
|
|
|
|
Jan 4 2010, 15:04
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

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

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

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

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

|
Цитата(galjoen @ Jan 4 2010, 19:04)  В реальности, хаб воспринимает на своём порте только положительный ФРОНТ на D+ (или D-), вызванный пуллапом, при подключении USB девайса. Я в курсе, спасибо. Вообще то, вопрос был не об этом.  А про режимы работы данного ключа. Просто интересно, правильно ли я всё понял.
|
|
|
|
|
Jan 4 2010, 15:32
|
Знающий
   
Группа: Свой
Сообщений: 841
Регистрация: 10-05-07
Из: Чебоксары (Россия)
Пользователь №: 27 640

|
Цитата(goodwin @ Jan 4 2010, 18:20)  Просто упомянул про то, что от хорошего статического разряда никакие схемотехнические ухищрения не помогут. Ухищрения помогают, только они все рассчитаны на body-модель. Т.е. что человек касаться будет. А у него определённые ёмкость/сопротивление. И на это все номиналы защиты рассчитаны. А если статика от чего-нибудь другого, с другими ёмкостью/сопротивлением, стрельнёт, то да, всё сбивается.
|
|
|
|
|
Jan 7 2010, 20:53
|

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

|
Цитата(aaarrr @ Jan 7 2010, 23:57)  Вообще, тот же Интел рекомендует предусматривать элементы для подавления EMI/EMC/ESD, а ставить их только если это потребуется по результатам испытаний. Ага, значит, последовательные резисторы и эти пикофарадные кондёры чисто для уменьшения уровня излучаемых шумов? Понятненько  Резисторы всегда втыкают, а на кондёрах экономят... Цитата(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
|
|
|
|
|
Jan 7 2010, 21:54
|
Знающий
   
Группа: Свой
Сообщений: 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  Тогда, в контексте этого обсуждения, это будет USB1.1. А вообще там написано "компатибле" USB2.0. Маркетинговый ход такой... Как устройство, сделанное по стандарту USB1.1 и нормально работающее там, может при этом не работать на USB2.0???
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|