Наука и образование / Мультиплексоры: Принципы Работы и Преобразование Данных

Мультиплексоры: Принципы Работы и Преобразование Данных

Мультиплексоры
Поделится:

Введение

Мультиплексоры и демультиплексоры — основные компоненты цифровых схем, обеспечивающие управление потоками сигналов. В этой статье мы кратко рассмотрим их принципы работы и области применения.

Мультиплексор

Мультиплексор — это цифровое устройство, которое выбирает один из нескольких входных сигналов и передаёт его на один выход. Выбор конкретного входа осуществляется с помощью управляющих линий, называемых линиями выбора.

Мультиплексор, или MUX, также известный как селектор данных, представляет собой комбинационную схему с несколькими входными линиями, одной выходной линией и несколькими линиями выбора. Некоторые мультиплексоры в виде интегральных схем обеспечивают комплементарные выходы. Кроме того, в ИС-мультиплексорах почти всегда присутствует вход ENABLE или STROBE, который должен быть активен для корректной работы устройства. Мультиплексор выбирает двоичную информацию с одного из входов в зависимости от логического состояния линий выбора и передает ее на выход. Если имеется n линий выбора, максимальное число возможных входных линий составляет 2n, и такой мультиплексор называется мультиплексором типа «2n к 1» или «2n × 1».

Схема и таблица истинности базового мультиплексора 4-к-1.

Схема базового мультиплексора 4-к-1.

Таблица истинности мультиплексора 4-к-1.

X1X0Y
00I0
01I1
10I2
11I3

Схема и таблица истинности базового мультиплексора 8-к-1.

Чтобы познакомить вас с практическими мультиплексорами в виде интегральных схем, отметим, что ИС с номером 74151 из семейства TTL является мультиплексором «8 к 1», а ИС с номером 74150 — мультиплексором «16 к 1». Мультиплексор «8 к 1» имеет активный низкий вход ENABLE и предоставляет комплементарные выходы.

Схема базового мультиплексора 8-к-1.

Таблица истинности мультиплексора 8-к-1.

Вход CВход BВход AВход включения GВыход YВыход W
XXXHLH
LLLLD0D0
LLHLD1D1
LHLLD2D2
LHHLD3D3
HLLLD4D4
HLHLD5D5
HHLLD6D6
HHHLD7D7

Примечания:

  • Y, W: Выходы
  • G: Вход включения
  • A, B, C: Входы выбора
  • D0-D7: Входные данные

Схема и таблица истинности базового мультиплексора 16-к-1.

Мультиплексор «16 к 1» также имеет активный низкий вход ENABLE, но при этом обладает активным низким выходом.

Схема базового мультиплексора 16-к-1.

Таблица истинности мультиплексора 16-к-1.

Вход DВход CВход BВход AВход включения GВыход W
XXXXHH
LLLLLD0
LLLHLD1
LLHLLD2
LLHHLD3
LHLLLD4
LHLHLD5
LHHLLD6
LHHHLD7
HLLLLD8
HLLHLD9
HLHLLD10
HLHHLD11
HHLLLD12
HHLHLD13
HHHLLD14
HHHHLD15

Внутренняя структура мультиплексора

Давайте кратко рассмотрим, как устроена комбинационная логическая схема внутри мультиплексора на примере мультиплексора «2 к 1». Функциональная таблица этого устройства

( S )( Y )
0I0
1 I1

Схема работает следующим образом:

  • При S = 0 выход определяется булевой функцией: Y = I0
  • При S = 1 выход определяется булевой функцией: Y = I1

Таким образом, входы I0 и I1 подключаются к выходу при S = 0 и S = 1 соответственно. Расширяя эту концепцию, рассмотрим логическую схему мультиплексора «4 к 1». Комбинации сигналов 00, 01, 10 и 11 на линиях выбора переключают на выход I0, I1, I2 и I3 соответственно. Работа этой схемы описывается следующей булевой функцией:

Y = I_0 \overline{S_1} \overline{S_0} + I_1 \overline{S_1} S_0 + I_2 S_1 \overline{S_0} + I_3 S_1 S_0

Аналогично, мультиплексор «8 к 1» описывается булевой функцией:

\begin{aligned}
Y =\ & I_0 \overline{S_2} \overline{S_1} \overline{S_0} + I_1 \overline{S_2} \overline{S_1} S_0 + I_2 \overline{S_2} S_1 \overline{S_0} + I_3 \overline{S_2} S_1 S_0 \\
    &+ I_4 S_2 \overline{S_1} \overline{S_0} + I_5 S_2 \overline{S_1} S_0 + I_6 S_2 S_1 \overline{S_0} + I_7 S_2 S_1 S_0
\end{aligned}

    Как отмечалось ранее, мультиплексоры обычно имеют вход ENABLE, который можно использовать для управления функцией мультиплексирования. Когда этот вход активен, то есть находится в состоянии логической «1» или логического «0» (в зависимости от того, активен ли вход ENABLE по высокому или низкому уровню соответственно), выход также становится активным. Мультиплексор функционирует нормально. Когда вход ENABLE неактивен, выход отключается и постоянно находится либо в состоянии логического «0», либо в состоянии логической «1», в зависимости от того, является ли выход прямым или инверсным. На рисунке

    как можно модифицировать мультиплексор «2 к 1» для включения входа ENABLE

    показано, как можно модифицировать мультиплексор «2 к 1» для включения входа ENABLE. Функциональная таблица этого модифицированного мультиплексора

    SENY
    X00
    01I0
    11I1

    Здесь вход ENABLE активен при высоком уровне. Некоторые ИС содержат более одного мультиплексора. В таком случае вход ENABLE и входы выбора общие для всех мультиплексоров внутри одного корпуса ИС. На рисунке показан мультиплексор «4 к 1» с входом ENABLE, активным по низкому уровню.

    мультиплексор «4 к 1» с входом ENABLE, активным по низкому уровню

    Реализация булевых функций с помощью мультиплексоров

    Одним из наиболее распространённых применений мультиплексора является его использование для реализации комбинационных логических булевых функций. Самый простой способ сделать это — использовать мультиплексор «2n к 1» для реализации булевой функции от n переменных. Входные линии, соответствующие каждому минтерму, присутствующему в булевой функции, устанавливаются в логическое состояние «1». Остальные минтермы, отсутствующие в булевой функции, отключаются путём установки их соответствующих входных линий в логическое состояние «0».

    использование мультиплексора 8к1 для реализации заданной логической функции

    Например, использование мультиплексора «8 к 1» для реализации булевой функции, заданной уравнением:

    f(A, B, C) = \sum m(2, 4, 7)

    Уравнение с переменными A, B и C можно записать так:

    f(A, B, C) = \overline{A} \cdot B \cdot \overline{C} + A \cdot \overline{B} \cdot C + A \cdot B \cdot \overline{C}

    Входы, соответствующие трём минтермам, присутствующим в данной булевой функции, подключены к логическому «1». Оставшиеся пять возможных минтермов, отсутствующих в функции, подключены к логическому «0».

    Однако существует более эффективный способ достижения того же результата. Можно использовать мультиплексор типа «2n-1 к 1» для реализации булевой функции с n + 1 переменными. Процедура такова: из n + 1 переменных n подключаются к n линиям выбора мультиплексора «2n-1 к 1». Оставшаяся переменная используется на входных линиях. Различные входные линии подключаются к одному из следующих сигналов: «0», «1», оставшаяся переменная или её инверсия. Определить, какой сигнал подключать к каждой линии, можно с помощью простой процедуры. Эта процедура проиллюстрирована на примере булевой функции, приведённой выше.

    Это булевая функция от трёх переменных. Обычно для её реализации потребовался бы мультиплексор «8 к 1». Сейчас мы покажем, как её можно реализовать с помощью мультиплексора «4 к 1». У выбранного мультиплексора две линии выбора. Первый шаг — составить таблицу истинности данной булевой функции.

    МинтермABCf(A, B, C)
    00000
    10010
    20101
    30110
    41000
    51011
    61101
    71111

    На следующем этапе две из трёх переменных подключаются к двум линиям выбора, причём переменная старшего разряда подключается к линии выбора старшего разряда. В данном случае переменные B и C выбраны для линий выбора и подключаются соответственно к S1 и S0. Затем строится таблица, в которой минтермы располагаются в двух строках под входами мультиплексора. Первая строка содержит термы, где оставшаяся переменная A инвертирована, а вторая — где A без инверсии. Это легко сделать с помощью таблицы истинности.

    Необходимые минтермы идентифицируются и помечаются в этой таблице. Затем каждый столбец входов рассматривается отдельно. Если ни один минтерм в определённом столбце не помечен, под ним записывается «0». Если помечены оба, записывается «1».

    Если выделен только один минтерм, записывается соответствующая переменная (инверсная или нет). Затем входные линии устанавливаются в соответствующее логическое состояние. В данном случае

    Аппаратная реализация булевой функции, заданной уравнением

    I0, I1, I2 и I3 будут подключены к A, 0, A и A соответственно.

    Не обязательно выбирать только самую левую переменную для использования на входах мультиплексора. Можно использовать любую переменную, если соответствующим образом составить таблицу реализации. В рассмотренном выше примере переменная A была выбрана для входных линий, и первая строка таблицы реализации содержала записи, где A была инверсной, а вторая строка — где A была без инверсии. Если выбрать переменную C в качестве оставшейся, таблица реализации изменится соответствующим образом.

    I0I1I2I3
    C0246
    C1357
    0CCC

    Аппаратная реализация в этом

    Аппаратная реализация с использованием мультиплексора 4-к-1.

    случае будет отличаться. Если переменная B выбрана как оставшаяся, таблица реализации и аппаратная реализация также изменятся соответственно.

    I0I1I2I3
    0145
    B2367
    B0B

    Мультиплексоры для преобразования данных из параллельного в последовательный формат

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

    Мультиплексор для параллельно-последовательного преобразования.

    Один из таких методов использует мультиплексор «8 к 1» для преобразования восьмибитных параллельных двоичных данных в последовательную форму. Трёхбитный счётчик управляет линиями выбора. По мере того как счётчик проходит значения от 000 до 111, выход мультиплексора проходит через I0 до I7. Процесс преобразования занимает восемь тактовых циклов. В данной схеме трёхбитный счётчик реализован с помощью трёх триггеров типа «переключение». Тем не менее, в виде интегральных схем доступны различные типы и сложности счётчиков. Триггеры и счётчики рассматриваются подробно в главах 10 и 11 соответственно.

    Пример

    Реализуем булеву функцию в виде произведения сумм, выраженную через минтермы 1, 2, 5, с помощью подходящего мультиплексора.

    Решение

    • Пусть булева функция имеет вид f(A, B, C) = произведение по минтермам 1, 2, 5.
    • Эквивалентное выражение в виде суммы произведений можно записать как f(A, B, C) = сумма по минтермам 0, 3, 4, 6, 7.

    Таблица истинности для данной булевой функции приведена в таблице.

    CBAf(A, B, C)
    0001
    0010
    0100
    0111
    1001
    1010
    1101
    1111

    Функцию можно реализовать с помощью мультиплексора «4 к 1» с двумя линиями выбора. Переменные A и B выбраны для линий выбора. Таблица реализации, составленная на основе таблицы истинности, приведена в таблице.

    I0I1I2I3
    0123
    C4567
    10C1

    Аппаратная реализация представлена на рисунке.

    Аппаратная реализация
    • 31.10.2024