Jump to content

    
Sign in to follow this  
zksystem

STM32 USB_DISCONNECT

Recommended Posts

Как-то увидел в схеме от демоборды от olimex (на LPC2478) схему USB_DISCONNECT на одном транзисторе, ну, думаю, все же лучше, чем как на двух транзисторах в STM3210B-EVAL... Собираю плату, прошиваю прогу и... USB не коннектится...

Укажите верный путь, можно ли использовать такую схему с STM32?

 

Вот схема, которую я имею в своей плате (позаимствована с платы Olimex LPC2478):

post-4911-1285356412_thumb.png

 

А вот схема с STM3210B-EVAL:

post-4911-1285356435_thumb.png

 

P.S. очень не хотелось бы переразводить плату :(

Share this post


Link to post
Share on other sites
Как-то увидел в схеме от демоборды от olimex (на LPC2478) схему USB_DISCONNECT на одном транзисторе, ну, думаю, все же лучше, чем как на двух транзисторах в STM3210B-EVAL... Собираю плату, прошиваю прогу и... USB не коннектится...

Укажите верный путь, можно ли использовать такую схему с STM32?

 

P.S. очень не хотелось бы переразводить плату :(

 

Схема некорректна, подтяжка в данном случае не на 3,3, а всего на 0,5В. Нужно использовать с ОК. Например, как в аттаче.

 

P.S. Или пересчитать номиналы базовой цепи.

usb_conn.pdf

Share this post


Link to post
Share on other sites
Схема некорректна, подтяжка в данном случае не на 3,3, а всего на 0,5В. Нужно использовать с ОК. Например, как в аттаче.

 

P.S. Или пересчитать номиналы базовой цепи.

 

Спасибо за совет, в понедельник попробую Вашу схему. Вроде как можно будет обойтись малой кровью, но все же, получается что на вот этой плате http://olimex.com/dev/lpc-2478stk.html неправильно реализован этот сигнал?

 

Share this post


Link to post
Share on other sites
Спасибо за совет, в понедельник попробую Вашу схему. Вроде как можно будет обойтись малой кровью, но все же, получается что на вот этой плате http://olimex.com/dev/lpc-2478stk.html неправильно реализован этот сигнал?

 

 

А еще проще, поставьте BSS84 с соответствующим пересчетом номиналом затвора.

Share this post


Link to post
Share on other sites
Схема некорректна, подтяжка в данном случае не на 3,3, а всего на 0,5В.

А как у Вас получилось 0,5 вольт?

С виду вполне корректная цепочка, транзистор должен открыться полностью...

Share this post


Link to post
Share on other sites

на своей схеме замерил, подтягивает D+ до 1В...

Вообще, я как понял, подтяжкой выключается USB?

Share this post


Link to post
Share on other sites
на своей схеме замерил, подтягивает D+ до 1В...

Значит, базовый ток слишком мал, надо подбирать номиналы делителя (уменьшать сопротивление нижнего плеча или увеличивать верхнего).

 

Подтяжка линии D+ к высокому уровню сообщает хосту, что подключено устройство USB 2.0 и требуется его инициализация.

Share this post


Link to post
Share on other sites
Значит, базовый ток слишком мал, надо подбирать номиналы делителя (уменьшать сопротивление нижнего плеча или увеличивать верхнего).

 

Подтяжка линии D+ к высокому уровню сообщает хосту, что подключено устройство USB 2.0 и требуется его инициализация.

 

Дык про номиналы я говорил в своем первом посте. IMHO, базовый ток здесь и так завышен. Просто коллекторная нагрузка большевата, а напряжение мало для такого режима токового усиления. Все ж таки 3,3/16500 = всего то 200мкА. В отличие от эмиттерного повторителя.

Share this post


Link to post
Share on other sites
Значит, базовый ток слишком мал, надо подбирать номиналы делителя (уменьшать сопротивление нижнего плеча или увеличивать верхнего).

Подтяжка линии D+ к высокому уровню сообщает хосту, что подключено устройство USB 2.0 и требуется его инициализация.

Большое спасибо, буду вникать... сэкономил на транзисторе называется :)

Share this post


Link to post
Share on other sites
Большое спасибо, буду вникать... сэкономил на транзисторе называется :)

 

Дык поставьте P-канальник и будет Вам счастье. По выводам он совместим.

 

Значит, базовый ток слишком мал, надо подбирать номиналы делителя (уменьшать сопротивление нижнего плеча или увеличивать верхнего).

 

Подтяжка линии D+ к высокому уровню сообщает хосту, что подключено устройство USB 2.0 и требуется его инициализация.

 

Точнее FullSpeed Device и требуется его инициализация.

Share this post


Link to post
Share on other sites
Точнее FullSpeed Device и требуется его инициализация.

А в случае HighSpeed подтяжка будет иной?

Share this post


Link to post
Share on other sites
А в случае HighSpeed подтяжка будет иной?

 

Нет, для LowSpeed будет другой.

 

High-speed capable devices initially attach as full-speed devices. This means that for high-speed capable

upstream facing ports, RPU (1.5 kΩ ±5%) must be connected from D+ to the 3.3 V supply (as shown in

Figure 7-1) through a switch which can be opened under SW control.

Share this post


Link to post
Share on other sites
Нет, для LowSpeed будет другой.

 

High-speed capable devices initially attach as full-speed devices. This means that for high-speed capable

upstream facing ports, RPU (1.5 kΩ ±5%) must be connected from D+ to the 3.3 V supply (as shown in

Figure 7-1) through a switch which can be opened under SW control.

 

Если по существу - делаю Mass Storage.

 

P.S. Вот не пойму, почему на плате STM3210B-EVAL тогда на двух транзисторах схему зарядили?

Share this post


Link to post
Share on other sites
Если по существу - делаю Mass Storage.

 

P.S. Вот не пойму, почему на плате STM3210B-EVAL тогда на двух транзисторах схему зарядили?

 

Могу только предположить, что им хотелось чтобы без управления USB-device было отключено. Т.е. до старта программы МК, чтобы лишний раз не вводить в заблуждение USB-host. Иначе устройство подключено, но не опознано, пока контроллер не стартует, а сколько он стартует по времени вопрос.

Share this post


Link to post
Share on other sites

В общем, засомневался я, что такая стандартная ключевая схемка на одном PNP транзисторе может не заработать, и собрал на макетке аналогичную.

Все номиналы резисторов - как на первой схеме: 1к5 нагрузка коллектора на землю, базовый резистор 2к2 и подтяжка 10к.

Транзистор BC557B.

 

Всё прекрасно работает, при напряжении питания 3.28 вольт напряжение на резисторе 1к5 равно 3.27 вольт.

То есть падение на переходе всего 0.01в.

 

Не понятно, почему у автора проблемы.

 

Может, стоит попробовать просто другой транзистор?

 

Могу только предположить, что им хотелось чтобы без управления USB-device было отключено.

Так ведь и ключ на одном транзисторе будет закрыт без подачи разрешающего уровня - нуля.

Но только если управление будет от контроллера, конечно, а не перемычкой.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this