Логические схемы с тремя состояниями и с открытым коллектором
Прежде чем говорить о схемах с тремя состояниями и с открытым коллектором вспомним следующие моменты. Вентили транзисторно-транзисторной логики (ТТЛ) и комплементарные полевые транзисторы со структурой металл-окисел-полупроводник (КМОП) имеют двухтактные выходные схемы. Высокий или низкий уровень подается на выход через открытый биполярный или МОП-транзистор. Такую схему называют активной нагрузкой. В ТТЛ называют также столбовым выходом. Схему используют почти все логические элементы. Она обеспечивает низкое выходное сопротивление в обоих состояниях, имеет малое время переключения и обладает более высокой помехоустойчивостью. Т.е. имеет улучшенные характеристики по сравнению с одиночным транзистором, который использует пассивный резистор в качестве коллекторной нагрузки. В случае КМОП применение активного выхода, кроме всего прочего, позволяет понизить рассеиваемую мощность.

Но существуют ситуации, при которых активный выход оказывается неудобным. Представим себе компьютерную систему, в которой несколько функциональных блоков должны обмениваться данными. Центральный процессор (ЦП), память и различные периферийные устройства должны иметь возможность передавать и получать 16-разрядные слова. И, мягко говоря, было бы неудобно использовать для соединения каждого устройства индивидуальный 16-жильный кабель. Для разрешения этой проблемы используется так называемая шина (или магистраль) данных, т. е. один 16-жильный кабель, доступный для всех устройств.
Такая структура аналогична телефонному каналу коллективного пользования. В каждый момент времени «говорить» («передавать данные») может только одно устройство. Остальные могут только «слушать» («принимать данные»).
Если используется шинная система, то необходимо иметь соглашение о том, кому разрешено «говорить». В связи с этим употребляются такие термины, как «арбитр шины», «задатчик шины» и «управление шиной».
Для возбуждения шины нельзя использовать вентили (или другие схемы) с активным выходом. Потому что их нельзя отключить от общих информационных линий.
В любой момент времени выходы устройств, подключенные к шине, будут находиться в состоянии высокого или низкого уровня. Здесь необходим вентиль, выход которого может находиться в «обрыве», т. е. быть отключенным. Такие устройства выпускаются промышленностью и имеют две разновидности: «Элементы с тремя состояниями» и «элементы с открытым коллектором».
Логические элементы с тремя состояниями
Логические элементы с тремя состояниями, также называют TRI-STATE. Название этих схем может ввести в заблуждение, поскольку на самом деле они не являются логическими элементами с тремя уровнями напряжений. Это обычные логические схемы, которые имеют третье состояние выхода- «отключен».

Они имеют отдельный вход «разрешения». С его помощью выходы логики могут устанавливаться либо в состояние обычных активных выходов, либо переходить в «третье» состояние «разомкнуто». Состояние «разомкнуто» не зависит от того, какие сигналы присутствуют на входах. Выходы с тремя состояниями имеются во многих интегральных микросхемах: счетчиках, защелках, регистрах и т.п., а также в вентилях и инверторах.
Когда подан сигнал разрешения устройство с выходом на 3 состояния функционирует подобно обычной логике с активным выходом. При этом на выходе присутствует либо высокий, либо низкий уровень.
Когда на входе разрешения пассивный уровень, схема отключает свой выход, и другие устройства могут работать на ту же самую линию.
Например, шины данных. Драйверы с тремя состояниями широко используются для возбуждения шины данных компьютера. Такие устройства как память, периферия и т.п., которым необходимо выставить данные на шину, связываются с ней через вентили с тремя состояниями (или через более сложные элементы, такие, как регистры). Дела так умно устраиваются, что только одно устройство выдает разрешение своим драйверам (формирователям). Все другие устройства, получив запрет, переходят в третье состояние. Обычно выбранное устройство «узнает» о том, что оно должно выдавать данные на шину, опознав свой адрес на адресных и управляющих шинах.

В этом наипростейшем случае устройство подключается как порт 6. Получив свой адрес (например, 6) и импульс чтения, устройство выводит данные на шину D0-D3. Такой шинный протокол используется для многих простых систем. Нечто подобное имеет место в большинстве микрокомпьютеров.
Обычно еще присутствует некоторая внешняя логика. Ее задача обеспечивать надежную работу. Так чтобы устройства с тремя состояниями, подключенные к одним и тем же выходным линиям, не пытались передавать данные в одно и то же время. Это равносильно условию, официально называемому «соглашение шины». Все хорошо, когда каждому устройству соответствует свой адрес.
Примером, микросхемы логики с запретом, может послужить КМОП К561ЛН1. Микросхема содержит шесть двухвходовых элементов ИЛИ. На входы управления всех шести инверторов от общего вывода подается разрешающий сигнал в активным низким уровнем. Если входной уровень высокий, все входы инверторов запрещаются, а все выходы имеют низкий выходной сигнал. Второй общий вход управления при высоком уровне переводит все выводы в состояние «разомкнуто» (выходное сопротивление более 10Мом).

Схема логики с открытым коллектором.
Предшественником логики с 3 состояниями была логика с открытым коллектором. Она позволяет подключиться к одиночной линии среди других выходов нескольких формирователей. Выход с открытым коллектором просто не включает транзистор активной нагрузки в выходном каскаде.

Когда вы используете такие вентили, вы должны подключать к источнику питания внешний нагрузочный резистор. Его значение не критично. При малых значениях резистора обеспечиваются повышенные быстродействие и помехоустойчивость, но при этом повышается рассеиваемая мощность и нагрузочный ток выходного каскада. Для ТТЛ типичными являются значения в пределах от нескольких сотен до нескольких тысяч ом.
Если вы захотели возбуждать шину с помощью вентилей с открытым коллектором (см.рис. «шина данных»), вы должны заменить драйверы с тремя состояниями на двухвходовые вентили И-НЕ с открытым коллектором. При этом подключив один выход каждого вентиля к высокому уровню. Заметим, что данные на шине при этом включении будут инвертированы. Каждую линию шины необходимо через нагрузочный резистор подключить к 4-5 В.
К недостаткам логики с открытым коллектором следует отнести пониженные быстродействие и помехоустойчивость по сравнению с обычными схемами с активной нагрузкой. Поэтому драйверы с тремя состояниями являются основными для реализации шин в компьютерах. Однако существуют три ситуации, в которых нужно использовать устройство с открытым коллектором: управление внешними нагрузками, «проводное ИЛИ» и внешние шины.
Управление внешней нагрузкой
Логика с открытым коллектором является пригодной для управления внешней нагрузкой, которая подключается к источнику положительного напряжения, превышающего напряжение питания интегральных микросхем. Может, в частности, потребоваться включить маломощную 12-вольтовую лампочку или сформировать логический перепад 15 В с помощью резистора, установленного между выходом вентиля и источником 4-15 В

Например, схема КМОП 40107 представляет собой сдвоенный И-НЕ-буфер с открытым коллектором с выходным током до 120 мА. Серия 75450 «сдвоенных периферийных драйверов» может выдавать в нагрузку ток до 300 мА при напряжении питания 4- 30 В.
Проводное ИЛИ. Если вы объедините вместе несколько вентилей с открытым коллектором, как показано на рисунке

то получите так называемую схему «проводное ИЛИ». Это соединение ведет себя подобно большому вентилю И-НЕ, выдающему на выходе низкий уровень, если какой-либо вход имеет высокий уровень.
Такое объединение недопустимо при использовании схем с активной нагрузкой из-за возникновения режима соперничества. Между всеми вентилями должен быть согласован выходной сигнал.
Объединять можно схемы ИЛИ-HE, И-НЕ и т.п. Это соединение также иногда называют «проводное И», поскольку высокий уровень на выходе возникает лишь тогда, когда он действует на выходе каждого вентиля. Состояние разомкнутого, или открытого выхода. «Проводное И» и «проводное ИЛИ» описывают одну и ту же схему, которая представляет собой проводное «И» при положительной логике и проводное «ИЛИ» — при отрицательной.
«Проводное ИЛИ» пользовалось скоротечной популярностью в ранние дни цифровой электроники. И сегодня оно используется довольно редко за двумя исключениями:
а) в логических семействах, известных как ЭСЛ (эмиттерсвязанная логика, выходы у которой можно назвать «открытый эмиттер»). Элементы могут безболезненно объединяться по «проводному ИЛИ»
б) существуют несколько частных линий в компьютерных шинах, функциями которых являются не передача информации, а просто индикация того, что какое-либо устройство требует внимания. При этом используется «проводное ИЛИ», поскольку оно дает то, что вы хотите. Не требуется дополнительной внешней логики для предотвращения споров.
Внешние шины. В схемах, где скорость не очень важна, иногда можно увидеть драйверы с открытым коллектором, используемые для возбуждения шин. Наиболее частый случай для шин — это выдача данных из компьютеров. Общими примерами являются шины, используемые для связи компьютера с дисководом, и инструментальная шина IEEE-488 (“HPIB” или “GPIB”).