Я хочу понять концепцию портов с открытым стоком, таких как порт P0 микроконтроллера 8051. Зачем нам подключать подтягивающие резисторы к порту P0?
У меня есть базовые знания о МОП-транзисторах и других электронных устройствах.
mosfet
8051
open-drain
abkds
источник
источник
Ответы:
Не обращая внимания на тонкости работы мосфейтов. Выход действует как переключатель на землю. Он не может самостоятельно выдавать сигнал высокого уровня (+ 5 В). Подъемный резистор используется для того, чтобы при разомкнутом переключателе выходной сигнал был высоким. Когда переключатель замкнут, выходной сигнал будет низким (0 В)
источник
Есть два распространенных применения с открытым стоком (или с открытым коллектором, в случае BJT):
1) Подключение более одного выхода к одной линии. Это называется проводной ИЛИ. Например, у вас может быть нормально высокий контакт сброса на устройстве, который сбрасывается как с контакта микроконтроллера, так и с другого источника, скажем, кнопки. Штырь сброса имеет высокое сопротивление с помощью подтягивающего резистора. Микроконтроллер настроен как выход с открытым стоком. Кнопка нажимается на землю при нажатии. Если микроконтроллер установит выходной сигнал на 0 или нажмет кнопку, устройство будет сброшено.
Обратите внимание, что когда микроконтроллер устанавливает свой выходной вывод на 1, этот вывод фактически отсоединяется от линии. Он не управляет линией ("источником") с любым напряжением, поэтому, когда кнопка нажимает на линию на землю, короткого замыкания не происходит.
Поскольку конфигурация проводного ИЛИ очень полезна, именно поэтому выводы, такие как сброс на микроконтроллере, линии прерывания, очистка и включение линий на устройствах, таких как триггеры, все имеют «активный низкий уровень» - это означает, что они обычно привязаны к высокому уровню (снова через подтягивающий резистор), и любое из нескольких устройств, сконфигурированных как открытый сток, может снизить их. Такие входы обычно обозначаются как активный-низкий либо с полосой в верхней части имени сигнала, либо с лидирующей! (! CLR) или завершающий знак # (CLR #).
2) Управляющие устройства подключены к различным напряжениям питания. Скажем, у вас есть реле, которое требует 20 мА, но напряжение 5 вольт. Но ваш выход микроконтроллера может приводить контакты только в напряжение питания (VCC) 3.3В. С выходом с открытым стоком вы можете подключить одну сторону реле к 5 В, а другую - к выходному контакту микроконтроллера. Когда выход микроконтроллера в 1 равен 1, ничего не происходит (опять же, действует как разъединенный вывод). Когда он установлен в 0, это заземляет нижнюю сторону реле, замыкая цепь и управляя реле. В таком случае важно поместить «обратный» диод поперек катушки реле, чтобы предотвратить повреждение микроконтроллера при обесточивании устройства.
Для драйверов вывода, таких как ULN2803 (транзисторная матрица Дарлингтона), вы можете управлять нагрузками, подключенными к напряжению до 50 В, и управлять ими с помощью логически совместимого входа.
источник
a microcontroller can often sink more current (drive to ground) than it can source (drive to the VCC of the microcontroller)
Это уже не так с современным КМОП-микроконтроллеромВыход с открытым стоком - это просто выключатель, подключенный к 0 В. Чтобы пропустить ток через него, вам нужно подать ток в него, и это можно сделать с помощью подтягивающего резистора. Если вы не пропустите ток на вывод, вы не сможете увидеть напряжение: -
Вот два устройства, использующих один и тот же выход с открытым стоком - обратите внимание на подтягивающий резистор до + 5В. Фактически, эта схема использует «открытый сток» для выполнения логики - если любой из шлюзов NAND «активирован» с 1,1, они понижают шину до 0 В. Таким образом, логика доставляется в автобус
ОБРАТНЫЙ АВТОБУС = AB + CD
МОП-транзисторы обычно используются в качестве устройств с открытым стоком, хотя обычные BJT также могут выполнять эту функцию. Выход с открытым стоком - это упрощение обычного выхода CMOS - он быстро включается на землю, но при обратном пути к + Logic он будет медленнее из-за времени зарядки паразитных конденсаторов через подтягивающий резистор.
Открытый коллектор в вики хорош для чтения - он делает то же самое, что открытый сток и упоминается в статье, как и небольшая диаграмма, показанная выше.
источник
1) Чтобы упростить первую точку в ответе tcrosley, преимущество отсутствия встроенного подтягивающего резистора внутри выхода заключается в возможности разделить этот самый подтягивающий резистор между многими выходами. Затем выходы подключаются параллельно и все подключаются к общему резистору и к земле.
2) Точка «ниже» резистора (на схеме) - это место, где объединенный выход собирается другими частями схемы. (Конечно, все могло бы быть наоборот с точки зрения земли и снабжения.)
3) Если вы не хотите собирать объединенный выход со многих выходов (и схема везде использует один и тот же источник напряжения), то вы не хотите использовать выходы без подтягивающих частей. В противном случае вам будут предоставлены «неполные» результаты (в некотором роде), которые вы можете настроить в соответствии со своими потребностями.
источник