Комбинационные схемы. Шифраторы и дешифраторы. Мультиплексоры и демультиплексоры.
Логическая схема, выходные сигналы которой зависят только от значений ее входных сигналов в данный момент времени, называется комбинационной схемой. Операция, выполняемая такой схемой , полностью описывается таблицей истинности, в которой отражены все комбинации входных сигналов и соответствующие им значения выходов.
Схема с памятью, выходные сигналы которой зависят от текущих значений входных сигналов от последовательности значений входных сигналов в прошлом, называется последовательностной схемой. Поведение такой схемы можно описать таблицей состояний, когда определяется сигнал на выходе и следующие ее состояние в зависимости от текущего состояния и значений сигналов на входах.
Шифратор (кодер) — логическое устройство, выполняющее логическую функцию (операцию) — преобразование позиционного n-разрядного кода в m-разрядный двоичный, троичный или k-ичный код. Если код на выходе устройства имеет меньшее число разрядов, чем код на входе, то это устройство обычно называют шифраторам {encoder).
Вероятно, простейшим с точки зрения построения является двоичный шифратор или шифратор 2n х п. Как показано на рис. 6(a), он реализует точно обратную функцию по отношению к полному дешифратору с кодом «1 из 2 n» на входе и «-разрядным двоичным кодом на выходе. Соотношения для шифратора 8x3 с входными сигналами I0-I7 и выходными сигналами Y0-Y2 имеют вид:
Y0 = 11 +13 + 15 + 17
Y1 = 12 + 13 + 16 + 17
Y2 = 14 + 15 + 16 + 17.
Соответствующая принципиальная схема показана на рис. 6(b). В общем случае шифратор 2n х п можно построить, воспользовавшись п вентилями ИЛИ с 2n-1 входами каждый. Если j-й разряд в двоичном представлении числа i равен 1, то i-ый разряд входного кода поступает на j-ый вентиль ИЛИ.
Рисунок 6 - а) общая структура, б) шифратор 8x3
Выходные сигналы n-разрядного полного дешифратора, являющиеся словами кода «1 из 2n», обычно используются для управления набором из 2n устройств, когда предполагается, что в любой момент времени активным является самое большее одно устройство. Рассмотрим обратную ситуацию, то есть систему с 2n входами, сигнал на каждом из которых указывает на наличие требования обслуживания, как показано на рис. 7. Такая структура часто применяется в микропроцессорных подсистемах ввода/вывода, где входные сигналы могут быть требованиями прерывания.
В ситуации, когда надо наблюдать за входами и указывать, какое из подключенных к ним устройств требует обслуживания в данныймомент времени, естественным может выглядеть применение двоичного шифратора, приведенного на рис.6. Однако этот шифратор работает правильно только в том случае, если в любой момент времени гарантированно активизирован не более чем один вход. Если одновременно может поступать несколько запросов, то шифратор будет давать нежелательные результаты. Например, что на входах I2 и I4 шифратора 8x3 одновременно присутствуют 1; тогда на выходе появится комбинация 110, соответствующая двоичному представлению числа 6.
В приведенном примере на выходе должно было бы быть 2 или 4, но не 6. Решение состоит в назначении входным линиям приоритетов так, чтобы при наличии несколько запросов число на выходе шифратора соответствовало номеру запрашивающего устройства с наивысшим приоритетом. Схема, реализующая такой алгоритм, называется приоритетным шифратором.
Условное обозначение 8-входового приоритетного шифратора показано на рис. 8. Вход I7 имеет высший приоритет. Если хотя бы на одном из входов присутствует сигнал, то на выходах А2-А0 появляется число, соответствующее входному сигналу с наивысшим приоритетом. На выходе IDLE сигнал появляется в том случае, когда ни один из входов не активизирован.
Рисунок 7 - система с 2n запрашивающими устройствами и "шифратор запроса" в любой момент показывающий какой из сигналов запроса активен
Чтобы записать логические выражения для выходных сигналов приоритетного шифратора, определим сначала восемь промежуточных переменных Н0-Н7, таких что Hi равно 1 только в том случае, когда М является входом с высшим приоритетом из числа тех, на которые поданы 1:
Н7 = I 7
Н6 = I6 • I7'
Н5 = I5 • I6' • I 7'
НО = I 0 • I 1' • I 2' • I 3' • I4' • I5' • I6' • I7'.
Используя эти сигналы, получаем соотношения для выходов А2-А0, подобные тем, какие были написаны для простого двоичного шифратора:
А2 = Н4 + Н5 + Н6 + Н7
А1 = Н2 + НЗ + Н6 + Н7
АО = Н1 +НЗ + Н5 + Н7.
Сигнал на выходе IDLE равен 1, если ни на одном из входов нет 1 :
IDLE =(I0 + I1+ I2 + I 3 + I 4 + I 5 + I 6 + I 7)' = I0' • I1 ' • I2' • I3' • I4' • I5' • I6' • I7'.
Рисунок 8 - Приоритетный шифратор
Дешифратор - это логическая схема с несколькими входами и несколькими выходами, которая преобразует кодированные входные сигналы в кодированные выходные сигналы, причем входные и выходные коды различны. Входной код обычно имеет меньшее число разрядов, чем выходной код, и между входными и выходными кодовыми словами имеется взаимно-однозначное соответствие. При взаимно-однозначном соответствии каждое входное кодовое слово порождает отличное от других выходное кодовое слово.
Общая структура декодера приведена на рис.9. Для того чтобы дешифратор нормально выполнял функцию отображения, необходимо подать сигналы на входы разрешения, если таковые имеются. Иначе дешифратор отображает все входные кодовые слова кода в единственное «запрещенное» выходное кодовое слово.
В большинстве случаев роль входного кода играет n-разрядный двоичный код, где n-разрядное двоичное слово представляет одну из 2n различных кодированных величин. Обычно это целые числа от 0 до 2n-1. Иногда, для представления меньшего, чем 2n, числа величин, применяют усеченный n-разрядный двоичный код.
В большинстве случаев роль выходного кода играет m-разрядный код «1 из m», у которого в любой момент времени отличен от нуля один бит. Таким образом, в коде «1 из 4» с высоким активным уровнем сигнала на выходах кодовые слова имеют вид: 0001,0010,0100 и 1000. При низком активном уровне сигнала на выходах кодовые слова имеют вид: 1110,1101,1011 и 0111.
Рисунок 9 - Схематическое изображение дешифратора
Самым распространенным является дешифратор nх2n или полный дешифратор. На вход такого дешифратора поступает n-разрядное двоичное кодовое слово, а на выходе возникает слово кода «1 из 2n». Полный дешифратор применяется в том случае, когда необходимо активизировать точно один из 2n выходов, определяемый n-разрядным двоичным числом на входе.
На рис. 10 (a), например, указаны входы и выходы, а в табл. 1 приведена таблица истинности дешифратора 2x4. Входное кодовое слово I1, I0 представляет собой целое число из интервала от 0 до 3. Выходные кодовые слова Y3, Y2,Y1, Y0 формируются по следующему правилу: Yi равно 1 только в том случае, когда входное кодовое слово является двоичным представлением числа t и входной сигнал разрешения EN равен 1. Если EN = 0, то на всех выходах устанавливается логический 0. На рис. 10(b) показана схема дешифратора 2x4 на уровне вентилей. Каждый вентиль И декодирует одну комбинацию входного кодового слова I1, I0.
Рисунок 10 - а) Входы и выходы дешифратора, б) принципиальная схема
Таблица 1
Кроме того, нет необходимости использовать все выходы дешифратора, или даже декодировать все возможные входные комбинации. Например, десятичный дешифратор или двоично-десятичный дешифратор декодирует только первые десять входных двоичных комбинаций 0000- 1001, формируя на выходе сигналы Y0-Y9.
Мультиплексором называется цифровой переключатель, который осуществляет передачу на выход данных, поступающих от одного из п источников. На рис. 11(a) изображены входы и выходы n-входового b-разрядного мультиплексора. Имеются п источников 6-разрядных данных и 6-разрядный выход. У типичных, выпускаемых серийно мультиплексоров n= 1,2,4,8 или 16, a b = 1,2 или 4. Имеются s входов, с помощью которых выбирается один из п источников, поэтому s = [log2 n]. По сигналу на входе разрешения EN мультиплексор «выполняет свою работу»; когда EN = 0, сигналы на всех выходах равны 0. На рис. 11(b) приведена схема переключения, являющаяся грубым эквивалентом мультиплексора. Но, в отличие от механического переключателя, мультиплексор является однонаправленным устройством: информационные потоки направлены только от входов (расположенных слева) к выходам (расположенным справа).
Для сигналов на выходе мультиплексора можно записать обычное логическое выражение:
Символ суммирования означает здесь логическую сумму термов-произведений. Переменная iY- это i-ый выходной бит (1 ≤ i ≤ b), а переменная iDj - i-ый входной бит от j-го источника (0 ≤ j ≤ n-1). Мjпредставляет собой минтерм j, который содержит s входных сигналов выбора. Таким образом, когда на вход мультиплексора подан сигнал разрешения, а число на входах выбора равно j, сигнал на каждом выходе iY принимает значение iDj соответствующего бита выбранного входа.
Очевидно, что мультиплексоры являются полезными устройствами в любом приложении, где данные от многих источников должны быть переданы адресату. Распространенным является применение мультиплексора в компьютерах между регистрами процессора и его арифметическо-логическим устройством (АЛУ).
Рисунок 11 - а) входы и выходы мультиплексора; б) функциональный эквивалент
Чтобы выбрать один из п источников данных для передачи их по шине, можно воспользоваться мультиплексором. Чтобы направить данные к одному из т адресатов на приемном конце шины, можно применить демультиплексор. Такая система с 1-разрядной шиной изображена в виде переключателей на рис. 12 (a). В блок-схемах мультиплексоры и демультиплексоры часто изображают в виде трапеций [рис. 12(b)], чтобы наглядно показать, как сигналы одного, выбранного из многих, источника данных поступают на шину и направляются к тому или иному адресату, выбранному из многих адресатов.
Функция, реализуемая демультиплексором, прямо противоположна функции, выполняемой мультиплексором. Например, 1-разрядный демультиплексор с п выходами имеет один вход данных и s входов выбора одного из п = 2s выходов данных. При нормальной работе сигналы на всех выходах, кроме выбранного, равны 0; данные на выбранном выходе совпадают с данными на входе. Это определение можно обобщить на b-разрядный демультиплексор с п выходами; у такого демультиплексора b входов данных, и в нем с помощью s сигналов на входах выбора выбирается один из п = 2s наборов с b выходами данных в каждом.
В качестве демультиплексора можно применять полный дешифратор с входом разрешения, как показано на рис. 5.13. Вход разрешения дешифратора подключается к линии данных, а от сигналов на входах выбора зависит, на какой из его выходных линий сигнал будет определяться битом данных. Сигналы на остальных выходных линиях имеют неактивный уровень. Таким образом, микросхему 74x139 можно использовать как 2-разрядный демультиплексор с 4 выходами с низким активным уровнем сигналов на входе данных и на выходах, а дешифратор 74x138 можно применять как 1-разрядный демультиплексор с 8 выходами. Обычно в каталоге производителя эти ИС и на самом деле обозначаются как «дешифраторы/демультиплексоры».
Рисунок 12 - Мульти- и демультиплесоры, получающие сигнал с шины. а) эквивалентная схема в виде переключателей, b) блок-схема с условными обозначениями
Рисунок 13 - Применение полного дешифратора 2х4 в качестве 1-разрядного демультиплексора с 4 выходами: а) стандартный дешифратор; б) демультиплексор 74x139