Почему мы должны использовать транзисторы при построении логического элемента ИЛИ?

13

Почему мы должны использовать транзисторы при строительстве ORворот? Разве мы не смогли бы достичь того же результата вообще без транзисторов, просто соединив два входа и прочитав результат?

Тарек
источник
14
Там этот опасный FLW (четырехбуквенное слово) «просто»!
Neil_UK
Вы не можете просто соединить провода вместе. Как узнать, что это OR, или AND, или XOR? Тем не менее, вы можете сделать все это без транзисторов. Посмотрите , например, на компьютер-ретранслятор Гарри Портера .
Джон
6
@Neil_UK Разве вы не имеете в виду ETLW (расширенное трехбуквенное слово). Ср ETLA - Расширенная
трехбуквенная аббревиатура
6
То, что вы предлагаете, имеет характеристики аналогового компьютера и отходит от цифровых «ворот». Для цифровых затворов, имеющих два состояния, мы используем транзисторы с минимальным усилением напряжения или усилением тока, чтобы компенсировать потери.
glen_geek

Ответы:

28

То, что вы описываете, называется проводным ИЛИ соединением. Это возможно в некоторых логических семействах, особенно в ECL (логика с эмиттерной связью), но не в наиболее распространенных (TTL и CMOS).

В CMOS это невозможно, потому что когда выходной сигнал CMOS низкий, он создает очень короткое замыкание от выходного контакта через микросхему до земли. И когда он высокий, он создает очень короткое замыкание от VDD через микросхему к выходному контакту.

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

Для TTL есть аналогичная проблема, но «шорты» от выходного контакта до VDD или заземления не так коротки, как в CMOS.

Существует вариант стиля вывода, называемый открытым стоком для CMOS или открытым коллектором для TTL, который допускает проводные И- соединения, а не ИЛИ-проводные. Эти выходы рассчитаны только на то, чтобы подавать ток на землю, а не на какой-либо выходной ток, когда они номинально находятся в высоком состоянии. Они обычно используются с внешним подтягивающим резистором, так что выходное напряжение фактически достигает "высокого" уровня напряжения, когда это необходимо.

Примечание. Открытый провод или открытый сток можно использовать для проводного ИЛИ, если вы используете логику активного низкого уровня (низкое напряжение соответствует логике 1, высокое напряжение соответствует логике 0).

Фотон
источник
3
Неа. Все это все еще использует транзисторы. Это настоящие проводные ИЛИ ворота . Просто нужно несколько приспособлений для гибки проволоки. Как мы привыкли делать «в свое время», примерно в то время, когда мы использовали 7 переключателей и кнопку для клавиатуры. И это может быть легко прочитано человеком, смотрящим на него сверху вниз. Конечно, человеку также нужно будет проследить назад вдоль проводов, чтобы увидеть другие задействованные ворота и в конечном итоге вернуться к «проводным входам» в начале. ОП хотела знать о случае с нулевым транзистором. ;)
jonk
@jonk, просто механически соедините клавиши на клавиатуре, и вам даже не нужны провода, чтобы сделать «ИЛИ».
Фотон
1
Ну, я полагаю, есть несколько способов убрать кошку. :) (И, кстати, я фактически использовал 7 переключателей и кнопку для клавиатуры «назад в день».)
jonk
@ jonk, это задолго до моего времени. TIL для чего нужна восьмеричная нотация: экономит вам пару долларов на переключатели для интерфейса с ручным набором.
Фотон
1
Смотрите этот лист данных 7403 семейства. «Для выходов с открытым коллектором требуются подтягивающие резисторы для правильной работы. Они могут быть подключены к другим выходам с открытым коллектором для реализации функций« активный низкий проводной ИЛИ »или« активный высокий проводной И »».
Уве
13

это позволяет вам "присоединиться к выходам"

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

analogsystemsrf
источник
26
Есть ли конкретная причина, почему этот ответ полностью в Circulab? Я думаю, что качество немного страдает, когда текст содержится в картинке.
Арсенал
6
@ Арсенал - Согласен. ИМО, в дополнение к тому, что он более низкого качества и более сложен для визуального анализа, самая большая проблема для меня заключается в том, что содержание ответа не доступно для поиска по тексту ...
Hitek
2
Это правильный ответ. Вам не нужны транзисторы для затвора, в зависимости от ваших логических соглашений, но они помогают производительность и помехоустойчивость (и вам, очевидно, нужен, как только вы включите инвертор). А в современном мире, я подозреваю, два полевых МОП-транзистора не больше кремния, чем два диода?
Рич
2
imgur заблокирован для меня. Весь ответ гласит: this lets you "join the outputs" schematicсо ссылкой на circuitlab
Tolos
8

Если вы просто подключите провода, у вас будет (вполне вероятно) вероятность, что 0 и 1 вместе. Поскольку 0 - это gnd, а 1 - это 5 В (в зависимости от чипов, но это стандарт), у вас будет 5 В и gnd, соединенные вместе проводами. Термин для этого - короткое замыкание!

Вы можете использовать диоды для простых ИЛИ ворот. Или даже резисторы. Проблемы возникают, когда вы подключаете эти ворота к другим воротам, другим схемам. Вы можете построить вентиль AND из 2-х диодов наоборот. Но если вы попытаетесь соединить многие из них вместе, вы получите одну гигантскую цепь, которая функционирует не как маленькие отдельные части, а как одна большая. Соединения, которых нет в вашем простом плане ворот, могут возникнуть в реальной жизни, испортить то, что вы хотите, чтобы произошло.

Транзистор позволяет отделить вход от выхода. Выходной сигнал транзистора не может иметь обратную связь и влиять на его вход. Эстафета была бы другой альтернативой, хотя и медленнее. Поскольку выключатель не может влиять на электромагнит.

Ранней логикой была RTL или DTL, резисторно-транзисторная логика или диодно-транзисторная логика. Сначала для формирования затвора использовались резисторы, а затем более поздние диоды, затем транзистор действовал, чтобы буферизовать результат, чтобы следующий затвор, который вы использовали, не передавал через этот вход на свои входы.

Теперь, поскольку транзисторы на микросхемах практически бесплатны, то есть с финансовой точки зрения, мы можем позволить себе роскошь, когда все правильно буферизуется и разделяется. Обычно это то, что мы хотим. Логика ТТЛ!

Greenaum
источник
Спасибо за отличное объяснение!
Тарек,
Пожалуйста!
Гринаум
5

Подумайте, что произойдет, если один вход высокий, а другой низкий, и вы подключите два входа. Это зависит от того, как вы строите свои логические ворота.

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

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

user253751
источник
1

Существует аналоговый подход:
объедините любое количество входов (предположим, 0 или 5 вольт) с резисторами.
Если результирующее напряжение равно 0, все выключены.
Если результирующее напряжение равно 5, то все включено.
Промежуточные напряжения указывают на то, что некоторые включены, а некоторые выключены.
Пример: если имеется 4 входа, 2,5 вольт означает, что 2 включены, а 2 выключены.

результат == 0: ни
результат гейта == 5: и
результат гейта ! = 0: или
результат гейта ! = 5: n и гейта

Вам не нужны транзисторы для входов, только для выхода, чтобы проверить напряжение и восстановить логический результат 0 или 5 вольт.

Это может быть использовано для аналогового узла нейронной сети с нелинейной функцией вывода, которая имеет «мягкий» результат, который может быть не совсем истинным или ложным.

После размышления:
резисторы, используемые таким образом, могут замедлять логическую скорость, поскольку емкость, следующая за резисторами, должна заряжаться или разряжаться при изменении входов. Также использование транзисторов может значительно снизить энергопотребление. Резисторы, используемые таким образом, всегда могут потреблять энергию при различных входных состояниях. В транзисторах потребление энергии можно условно разделить на коэффициент усиления транзисторов.

Codemeister
источник
Очень интересно, спасибо!
Тарек
0

С некоторыми логическими элементами (все переключатели автомобильных дверей загораются на одной лампе) это возможно, но не, например, с затворами КМОП, так как они построены с транзисторами FET P и N каналов, поэтому им необходим определенный вход высокого и низкого напряжения для обеспечения выхода , вход не может быть оставлен на плаву. Соединение выходов CMOS вместе не будет работать.

Просто я
источник