Логические схемы с тремя состояниями.
Логические элементы с тремя состояниями, также называемые TRI-STATE (товарный знак National Semiconductors Corp., создавшей их) представляют элегантное решение. Название этих схем может ввести в заблуждение, поскольку на самом деле они не являются логическими элементами с тремя уровнями напряжений. Это обычные логические схемы, которые имеют третье состояние выхода — «обрыв» (рис. 8.19).Рис. 8.19.
Они имеют отдельный вход разрешения, с помощью которого могут устанавливаться либо в состояние обычных активных выходов, либо переходить в «третье» (обрыва) состояние независимо от того, какие сигналы присутствуют на других входах. Выходы с тремя состояниями имеются во многих ИМС: счетчиках, защелках, регистрах и т. п., а также в вентилях и инверторах.
Устройство с выходом на 3 состояния функционирует подобно обычной логике с активным выходом, когда подан сигнал разрешения, при этом на выходе существует либо высокий, либо низкий уровень. Когда на входе разрешения пассивный уровень, схема отключает свой выход, так что другие устройства могут работать на ту же самую линию. Давайте рассмотрим это на примере.
Взгляд вперед: шины данных.
Драйверы с тремя состояниями широко используются для возбуждения шины данных компьютера. Каждое устройство (память, периферия и т. п.), которому необходимо выставить данные на шину, связывается с ней через вентили с тремя состояниями (или через более сложные элементы, такие, как регистры). Дела так умно устраиваются, что только одно устройство выдает разрешение своим драйверам (формирователям), все другие устройства, получив запрет, переходят в третье состояние. Обычно выбранное устройство «узнает» о том, что оно должно выдавать данные на шину, опознав свой адрес на адресных и управляющих шинах (рис. 8.20).Рис. 8.20.
В этом наипростейшем случае устройство подключается как порт 6. Получив свой адрес (например, 6) и импульс чтения, устройство выводит данные на шину
Заметим, что должна быть некоторая внешняя логика, которая обеспечивала надежность того, что устройства с тремя состояниями, подключенные к одним и тем же выходным линиям, не будут пытаться передавать в одно и то же время (что равносильно условию, официально называемому «соглашение шины»). В этом случае все хорошо, когда каждому устройству соответствует свой адрес.
Логика с открытым коллектором.
Предшественником логики с 3 состояниями была логика с открытым коллектором, которая позволяет вам подключиться к одиночной линии среди других выходов нескольких формирователей. Выход с открытым коллектором просто не включает транзистор активной нагрузки в выходном каскаде (рис. 8.21).Рис. 8.21.
Название «открытый коллектор» превосходно. Когда вы используете такие вентили, вы должны подключать к источнику питания внешний нагрузочный резистор. Его значение не критично: при малых значениях резистора обеспечиваются повышенные быстродействие и помехоустойчивость, однако повышается рассеиваемая мощность и нагрузочный ток выходного каскада. Для ТТЛ типичными являются значения в пределах от нескольких сотен до нескольких тысяч ом. Если вы захотели возбуждать шину с помощью вентилей с открытым коллектором (рис. 8.20), вы должны заменить драйверы с тремя состояниями на двухвходовые вентили И-НЕ с открытым коллектором, подключив один выход каждого вентиля к высокому уровню разрешения подключения к шине. Заметим, что данные на шине при этом включении будут инвертированы. Каждую линию шины необходимо через нагрузочный резистор подключить к +5 В. К недостаткам логики с открытым коллектором следует отнести пониженные быстродействие и помехоустойчивость по сравнению с обычными схемами, использующими активную нагрузку. Вот почему драйверы с тремя состояниями являются основными для реализации шин в компьютерах. Однако существуют три ситуации, в которых вы должны использовать устройство с открытым коллектором: управление внешними нагрузками, «проводное ИЛИ» и внешние шины. Давайте рассмотрим их внимательно.