Логика трех состояний
В цифровой электронике буфер с тремя состояниями или буфер с тремя состояниями — это тип цифрового буфера, который имеет три стабильных состояния: состояние высокого выходного сигнала, состояние низкого выходного сигнала и состояние высокого импеданса . В состоянии с высоким импедансом выход буфера отключен от выходной шины, что позволяет другим устройствам управлять шиной без помех со стороны буфера с тремя состояниями. Это может быть полезно в ситуациях, когда к одной шине подключено несколько устройств и им необходимо по очереди обращаться к ней. Системы, реализующие логику с тремя состояниями на своей шине, известны как шина с тремя состояниями или шина с тремя состояниями .
Буферы с тремя состояниями обычно используются в системах на основе шины, где несколько устройств подключены к одной шине и должны использовать ее совместно. Например, в компьютерной системе к одной и той же шине данных могут быть подключены несколько устройств, таких как ЦП, память и периферийные устройства. Чтобы гарантировать, что только одно устройство может передавать данные по шине одновременно, каждое устройство оснащено буфером с тремя состояниями. Когда устройство хочет передать данные, оно активирует свой буфер с тремя состояниями, который подключает его выход к шине и позволяет ему передавать данные. Когда передача завершена, устройство деактивирует свой буфер с тремя состояниями, что отключает его выход от шины и позволяет другому устройству получить доступ к шине.
Буферы с тремя состояниями могут быть реализованы с использованием вентилей, триггеров или других цифровых логических схем. Они полезны для уменьшения перекрестных помех и шума на шине, а также для того, чтобы позволить нескольким устройствам использовать одну и ту же шину без помех.
ВХОД | ВЫХОД | |
---|---|---|
А | Б | С |
0 | 0 | Z (высокое сопротивление) |
1 | Z (высокое сопротивление) | |
0 | 1 | 0 |
1 | 1 |
Использование
[ редактировать ]Основная концепция третьего состояния, высокого импеданса (Hi-Z), заключается в эффективном устранении влияния устройства на остальную часть схемы. Если более одного устройства электрически подключены к другому устройству, перевод выхода в состояние Hi-Z часто используется для предотвращения коротких замыканий или перехода одного устройства на высокий уровень (логическая 1) по отношению к другому устройству, находящегося на низком уровне (логический 0).
Буферы с тремя состояниями также можно использовать для реализации эффективных мультиплексоров , особенно с большим количеством входов. [1]
Буферы с тремя состояниями необходимы для работы общей электронной шины .
Логика с тремя состояниями может уменьшить количество проводов, необходимых для управления набором светодиодов (мультиплексирование с тремя состояниями или Чарлиплексирование ).
Включение выхода и выбор чипа
[ редактировать ]Многие устройства памяти, предназначенные для подключения к шине (например, микросхемы ОЗУ и ПЗУ), имеют контакты CS ( выбор микросхемы ) и OE (включение вывода), которые на первый взгляд выполняют одно и то же действие. Если сигнал CS не активен, выходы имеют высокий импеданс.
Разница заключается во времени, необходимом для вывода сигнала. Когда выбор чипа отключен, чип не работает внутри, и между предоставлением адреса и получением данных будет значительная задержка. (Преимущество, конечно, в том, что в этом случае чип потребляет минимальную мощность.)
Когда утверждается выбор чипа, чип выполняет внутренний доступ, и только окончательные выходные драйверы отключаются при отмене разрешения выхода. Это можно сделать, пока шина используется для других целей, и когда разрешение выхода наконец будет подтверждено, данные появятся с минимальной задержкой. Микросхема ПЗУ или статического ОЗУ с линией разрешения вывода обычно отображает два времени доступа: одно из утвержденного выбора микросхемы и действительного адреса, а второе, более короткое время, начинающееся с подтверждения включения вывода.
Использование подтягиваний и опусканий.
[ редактировать ]Когда выходы имеют три состояния (в состоянии Hi-Z), их влияние на остальную часть схемы устраняется, и узел схемы будет «плавающим», если никакой другой элемент схемы не определяет его состояние. Разработчики схем часто используют повышающие или понижающие резисторы (обычно в диапазоне 1–100 кОм), чтобы влиять на схему, когда выход имеет три состояния.
Локальная шина PCI оснащена подтягивающими резисторами, но им потребуется несколько тактовых циклов для поднятия сигнала на высокий уровень, учитывая большую распределенную емкость шины . Чтобы обеспечить высокоскоростную работу, протокол требует, чтобы каждое устройство, подключающееся к шине, подавало важные управляющие сигналы на высокий уровень в течение как минимум одного тактового цикла, прежде чем перейти в состояние Hi-Z. Таким образом, подтягивающие резисторы отвечают только за поддержание сигналов шины при наличии тока утечки .
Intel называет это соглашение «устойчивым тремя состояниями» и также использует его в шине с малым количеством выводов .
Альтернативы автобусу с тремя состояниями
[ редактировать ]Вход /выход с открытым коллектором является популярной альтернативой логике с тремя состояниями. Например, протокол шины I²C (протокол двунаправленной шины связи, часто используемый между устройствами) определяет использование подтягивающих резисторов на двух линиях связи. Когда устройства неактивны, они «освобождают» линии связи и переводят свои выходы в три состояния, тем самым устраняя свое влияние на схему. Когда все устройства на шине «освободили» линии связи, единственное влияние на схему оказывают подтягивающие резисторы, которые подтягивают линии вверх. Когда устройство хочет установить связь, оно выходит из состояния Hi-Z и устанавливает на линии низкий уровень. Устройства, обменивающиеся данными с использованием этого протокола, либо позволяют линии оставаться на высоком уровне, либо понижать ее, что предотвращает любую ситуацию конфликта на шине, когда одно устройство устанавливает на линии высокий уровень, а другое - низкий.
Ранние микроконтроллеры часто имели некоторые контакты, которые могут действовать только как входы, другие контакты, которые могут действовать только как двухтактный выход , и несколько контактов, которые могут действовать только как вход/выход с открытым коллектором . Типичный современный микроконтроллер с тремя состояниями имеет множество контактов ввода/вывода общего назначения , которые можно запрограммировать для работы в качестве контактов любого из этих типов.
Шина с тремя состояниями обычно используется между микросхемами на одной печатной плате (PCB) или иногда между печатными платами, подключенными к общей объединительной плате .
Использование логики с тремя состояниями не рекомендуется для внутрикристальных соединений, а скорее для межкристальных соединений. [2]
Буферы с тремя состояниями, когда они используются для обеспечения возможности взаимодействия нескольких устройств по шине данных , могут быть функционально заменены мультиплексором . [3] Это поможет выбрать выход из ряда устройств и записать его на шину.
См. также
[ редактировать ]- Буферный усилитель
- Логический уровень
- Метастабильность
- Трехзначная логика
- Четырехзначная логика
- Девятизначная логика
- Плевать
- Однополюсный, смещенный от центра (SPCO)
Примечания и ссылки
[ редактировать ]- ^ Хилл, Уинфилд; Горовиц, Пол (1989). Искусство электроники . Издательство Кембриджского университета. стр. 495–497. ISBN 0-521-37095-7 .
- ^ 경종민, Встроенные шины/сети для SoC «Встроенные шины [не имеют] не используют сигналы с тремя состояниями, [потому что] шина с тремя состояниями сложна для статического временного анализа»
- ^ «Три состояния буфера» .