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

№ 3’2018
PDF версия
В статье рассматриваются возможности программы по проектированию таких цифровых устройств комбинационного типа, как мультиплексоры и демультиплексоры. Представлены примеры применения различных инструментов, виртуальных приборов и компонентов Proteus (четырехканального осциллографа, логического анализатора, источников и пробников цифровых сигналов, генераторов цифровых сигналов, иерархических структур: иерархических блоков и подсхем) для исследования работы спроектированных схем.

Введение

В вычислительной технике техническим аналогом булевой функции является комбинационная схема, на вход которой поступают и с выхода снимаются электрические сигналы в виде одного из уровней напряжения, соответствующих значениям логического 0 или логической 1. Значения, полученные на выходе комбинационной схемы, в произвольный момент времени определяются значениями, поданными на вход этой схемы. Структурно комбинационная схема может быть представлена как совокупность элементарных логических схем (логических элементов), которые выполняют над входными сигналами логические операции. Число входов логического элемента соответствует числу аргументов воспроизводимой им булевой функции.

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

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

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

Наиболее распространенными комбинационными устройствами считаются дешифраторы, шифраторы, мультиплексоры и демультиплексоры, арифметические сумматоры и арифметико-логические устройства (АЛУ).

Мультиплексор — это комбинационное устройство, которое подключает к своему выходу один из информационных входов в соответствии с сигналами, поданными на входы управления, имеет один выход и две группы входов: адресные входы (входы управления) и входы данных. Фактически мультиплексор является коммутатором соответствующего входа данных на свой выход. Нужный вход данных выбирается с помощью соответствующего адреса. Если мультиплексор имеет n адресных входов, то максимально возможное количество его входов данных равно 2n. Фактически мультиплексор состоит из дешифратора, который выполняет выборку входного канала, и управляемой им схемы коммутации входных сигналов на выход.

Демультиплексор — комбинационное устройство (коммутатор), которое подключает информационный вход к одному из нескольких информационных выходов в соответствии с сигналами, поданными на входы управления. Демультиплексор выполняет функцию, обратную функции мультиплексора.

Интерфейс программы Proteus 8.1

Рис. 1. Интерфейс программы Proteus 8.1

Для моделирования работы схем мультиплексоров и демультиплексоров можно использовать специализированную програм-мную среду Proteus (рис. 1), предназначенную для схемотехнического проектирования электронных средств и содержащую практически все основные элементы электронных цепей, а также большой набор виртуальных приборов для исследования работы и анализа схем.

 

Проектирование и исследование работы мультиплексоров в среде Proteus

Построение мультиплексора на два информационных входа

Таблица истинности мультиплексора на два информационных входа состоит из трех столбцов, соответствующих входным сигналам A0, D0, D1, и одного столбца, соответствующего выходному сигналу Y (таблица 1).

Таблица 1. Таблица истинности мультиплексора на два информационных входа

A0

D0

D1

Y

0

0

Х

0

0

1

Х

1

1

Х

0

0

1

Х

1

1

Согласно таблице истинности составим логическую функцию:

Запишем ее в базисе И‑НЕ, преобразовав к виду:

Панель DEVICES

Рис. 2. Панель DEVICES

Теперь можно собрать схему, которая реализует составленное выражение. Для чего в редакторе ISIS при помощи команды контекстного меню Place/Component/From Libraries или посредством нажатия на кнопку P на панели DEVICES (рис. 2) необходимо открыть окно Pick Devices и выбрать из библиотеки компонентов Proteus элементы схемы, разместить их в рабочей области программы и соединить проводниками (рис. 3). Панель DEVICES (по умолчанию данная панель расположена в левой части программы и содержит список имеющихся в проекте компонентов) открывается нажатием на кнопку Component Mode на левой панели инструментов редактора ISIS.

Схема мультиплексора на два информационных входа на элементах НЕ и 2И‐НЕ

Рис. 3. Схема мультиплексора на два информационных входа на элементах НЕ и 2И‐НЕ

В целом для построения мультиплексора на два информационных входа необходимо три логических элемента 2И‑НЕ и один элемент НЕ. В полученной схеме инвертор выполняет функцию дешифратора на два выхода.

Для моделирования цифровых устройств в Proteus доступны библиотеки компонентов TTL (рис. 4а) и CMOS (рис. 4б).

Библиотеки компонентов программы Proteus: а) TTL; б) CMOS

Рис. 4а. Библиотеки компонентов программы Proteus: TTL

Библиотеки компонентов программы Proteus: а) TTL; б) CMOS

Рис. 4б. Библиотеки компонентов программы Proteus: CMOS

Чтобы добавить логические элементы НЕ и 2И‑НЕ в рабочее поле проекта, выберем в левой верхней части окна Pick Devices в поле Category библиотеку TTL 74S series, а в поле Results — пункты 74S04 (рис. 5а) и 74S00 (рис. 5б) соответственно.

Выбор логических элементов: а) НЕ; б) 2И‐НЕ из библиотеки TTL 74S series

Рис. 5а. Выбор логических элементов: НЕ

Выбор логических элементов: а) НЕ; б) 2И‐НЕ из библиотеки TTL 74S series

Рис. 5б. Выбор логических элементов: 2И‐НЕ из библиотеки TTL 74S series

Для подачи тестовых сигналов нуля и единицы в исследуемую схему мультиплексора будем использовать один компонент LOGICTOGGLE и два генератора DCLOCK. LOGICTOGGLE находится в разделе Logic Stimuli библиотеки компонентов Debugging Tools (рис. 6). После запуска симуляции компонент подает в схему логический сигнал, чье значение отображено на его пиктограмме. Переключение логического сигнала выполняется щелчком левой кнопки мыши по значку стрелки, расположенному над пиктограммой компонента на схеме. Добавим компонент LOGICTOGGLE в рабочую область проекта и подключим к входу А0 проектируемого мультиплексора.

Выбор компонента LOGICTOGGLE из раздела Logic Stimuli библиотеки компонентов Debugging Tools

Рис. 6. Выбор компонента LOGICTOGGLE из раздела Logic Stimuli библиотеки компонентов Debugging Tools

Выбор генератора производится на панели GENERATORS (рис. 7), которая открывается нажатием на кнопку Generator Mode на левой панели инструментов редактора ISIS. Чтобы добавить генератор DCLOCK в рабочее поле программы, необходимо нажать на строку с его названием на панели GENERATORS (по умолчанию панель расположена в левой части программы и содержит список имеющихся виртуальных генераторов) и разместить его с помощью мыши в необходимом месте на схеме. Данные приборы размещаются в рабочем проекте Proteus до запуска процесса симуляции схемы. Над панелью GENERATORS расположено окно просмотра, где отображается выбранный на панели генератор.

Панель GENERATORS

Рис. 7. Панель GENERATORS

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

Для подключения генератора к схеме нужно выбрать его название на панели GENERATORS, подвести курсор к месту размещения генератора и щелкнуть левой кнопкой мыши по цепи. Подключение уже размещенного в рабочей области проекта прибора выполняется с помощью проводника. В каждой схеме может использоваться несколько генераторов, в том числе и копии одного и того же прибора. Каждая копия прибора настраивается и соединяется отдельно.

Неподключенные генераторы имеют по умолчанию название «?». Когда прибор присоединен к цепи, ему автоматически присваивается имя цепи, а если цепь не имеет имени, то прибор получает в качестве имени позиционное обозначение компонента или имя вывода того компонента, который первый подключен к цепи. Также разработчик может самостоятельно присвоить имя генератору.

Для того чтобы настроить параметры генератора DCLOCK, надо выделить его в рабочем поле при помощи левой кнопки мыши, а правой кнопкой вызвать контекстное меню и выбрать в нем пункт Edit Properties. В результате будет открыто диалоговое окно Digital Clock Generator Properties(рис. 8).

Окно Digital Clock Generator Properties

Рис. 8. Окно Digital Clock Generator Properties

Рассмотрим данное окно более подробно. В его левой части размещены следующие поля:

  • Generator Name — имя генератора;
  • Analogue Types — генераторы аналогового типа;
  • Digital Types — генераторы цифрового типа;
  • Current Source — посредством установки флажка в данном чекбоксе можно превратить генератор в источник тока (чекбокс недоступен для генераторов цифрового типа);
  • Isolate Before — путем установки флажка в данном чекбоксе можно имитировать обрыв цепи, к которой подключен генератор. При этом цепь, отходящая от генератора, изолируется от цепи за генератором;
  • Manual Edits — установка флажка в данном чекбоксе меняет способ ввода и отображение параметров генератора. При этом параметры генератора отображаются в виде текстового списка, а вводятся вручную с клавиатуры.

DCLOCK генерирует последовательность цифровых сигналов, частоту (Frequency, Hz), период (Period, Secs), задержку (First Edge At) и тип (Clock Type — Low-High-Low Clock или High-Low-High Clock) которых можно настроить в правой части окна Digital Clock Generator Properties (рис. 8).

Подключение компонента LOGICTOGGLE и двух генераторов DCLOCK к схеме мультиплексора на два информационных входа, спроектированной на вентилях НЕ и 2И‐НЕ

Рис. 9. Подключение компонента LOGICTOGGLE и двух генераторов DCLOCK к схеме мультиплексора на два информационных входа, спроектированной на вентилях НЕ и 2И‐НЕ

Добавим в рабочую область проекта два генератора DCLOCK, подключим их к входам D0 и D1 схемы мультиплексора (рис. 9) и установим в окне Digital Clock Generator Properties следующие параметры:

для генератора D0:

  • частота — 1 Гц,
  • тип — Low-High-Low Clock (0-1-0),
  • задержка — 0 с;

для генератора D1:

  • частота — 3 Гц,
  • тип — High-Low-High Clock (1-0-1),
  • задержка — 0 с.

Отметим, что значения частоты выбраны произвольно.

Для тестирования спроектированного мультиплексора воспользуемся таким виртуальным прибором программы Proteus, как четырехканальный осциллограф. Для чего выберем строку OSCILLOSCOPE на панели INSTRUMENTS (рис. 10) и разместим прибор при помощи мыши в рабочем поле программы. Чтобы открыть панель INSTRUMENTS, необходимо на левой панели инструментов редактора ISIS нажать на пиктограмму Instrument Mode. Над панелью INSTRUMENTS расположено окно просмотра, где отображается выбранный на панели прибор.

Панель INSTRUMENTS

Рис. 10. Панель INSTRUMENTS

Виртуальный осциллограф предоставляет возможность наблюдать за формой сигнала во времени. В Proteus осциллограф имеет четыре сигнальных входа (канал А, В, C и D), и может отображать осциллограммы четырех сигналов одновременно. Осциллограф заземлен по умолчанию, поэтому вывод заземления отсутствует. Также отсутствует и вывод внешней синхронизации. Лицевая панель прибора открывается при запуске симуляции схемы. Пиктограмма используется для подключения прибора к схеме, в свою очередь лицевая панель предназначена для настройки прибора и наблюдения формы исследуемого сигнала.

Подключим четырехканальный осциллограф к схеме, как показано на рис. 11. Каналы А, В и С подсоединим к входам схемы, канал D — к ее выходу.

Подключение четырехканального осциллографа к схеме мультиплексора на два информационных входа, спроектированного на вентилях НЕ и 2И‐НЕ

Рис. 11. Подключение четырехканального осциллографа к схеме мультиплексора на два информационных входа, спроектированного на вентилях НЕ и 2И‐НЕ

После того как все компоненты добавлены в рабочую область программы и подсоединены к схеме мультиплексора, запустим процесс симуляции, в итоге будет открыта лицевая панель осциллографа (рис. 12а).

Лицевая панель четырехканального осциллографа: до выполнения настройки отображения сигналов и после

Рис. 12. Лицевая панель четырехканального осциллографа:
а) до выполнения настройки отображения сигналов;
б) после

Необходимо отметить, что процесс моделирования запускается при помощи кнопки Run the simulation, находящейся в левом нижнем углу окна программы. Для того чтобы временно приостановить процесс симуляции, используйте кнопку Pause the simulation, or start up at time 0 if stopped(кнопка находится в левом нижнем углу окна программы). Остановить моделирование можно кнопкой Stop the simulation.

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

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

  1. Вертикальное отклонение: установка уровня ослабления или усиления сигнала.
  2. Горизонтальное отклонение: установка скорости развертки.
  3. Запуск: установка параметров запуска осциллографа.

Рассмотрим панель управления виртуального четырехканального осциллографа более подробно и выполним нужные настройки.

На панели управления размещено шесть окон настроек:

  • Trigger (синхронизация);
  • Channel A (канал А);
  • Channel C (канал С);
  • Channel B (канал В);
  • Channel D (канал D);
  • Horizontal (развертка).

В нижней части окна Channel A расположена ручка, при помощи которой задается величина деления по оси Y (количество вольт на деление). Начальная точка вывода сигнала на оси Y указывается в поле Position. Поле может принимать как положительное, так и отрицательное значение. Выбор положительного значения в данном поле сдвигает начальную точку вверх по оси Y, соответственно, выбор отрицательного значения сдвигает начальную точку вниз. Выбор режима работы осуществляется установкой ползунка в одну из четырех позиций: АС, DC, GND, OFF. В режиме АС отображается только переменная составляющая сигнала. В режиме DC отображается сумма переменной и постоянной составляющих сигнала. В случае выбора позиции GND входной канал замыкается на «землю», а на экране графического дисплея отображается прямая линия в точке исходной установки оси Y. Установка ползунка в позицию OFF выключает отображение сигнала на дисплее. Также в окне Channel A расположено две кнопки:

  • Invert — задает инверсный режим работы осциллографа, в котором сигнал инвертируется относительно положения нуля;
  • A+B — задает режим, в котором на экране графического дисплея отображается суммарный сигнал каналов А и В.

Интерфейс окон Channel C, Channel B, Channel D аналогичен уже рассмотренному окну Channel A за исключением того, что в окне Channel Cвместо кнопки A+B присутствует кнопка С+D, устанавливающая режим, в котором на экране графического дисплея отображается суммарный сигнал каналов С и D. В окнах Channel B и Channel D такая кнопка вообще отсутствует.

В нижней части окна Horizontal расположена ручка, при помощи которой задают величину деления по оси Х. Начальная точка вывода сигнала на оси Х указывается в поле Position. Поле может принимать как положительное, так и отрицательное значение. Отображение сигнала на экране графического дисплея производится слева направо. Выбор положительного значения в данном поле сдвигает начальную точку вывода сигнала вправо, соответственно, выбор отрицательного значения сдвигает начальную точку влево. Выбор режима развертки осуществляется в поле Source посредством установки ползунка в одну из следующих позиций: ˄, А, В, С, D. В случае выбора режима ˄ (сигнал по оси Y/время) на экране графического дисплея по оси Y будут отображаться сигналы каналов А, В, C, D, а ось Х будет осью времени. Режимы А, В, C, D — это режимы наблюдения фигур Лиссажу.

В верхней левой части панели управления осциллографа размещено окно Trigger (Синхронизация). Выбор канала для запуска синхронизации производится в поле Source посредством установки ползунка в одну из следующих позиций: А, В, С, D. Осуществить выбор запуска сигнала синхронизации — по фронту или по срезу — можно, расположив ползунок в соответствующем поле. В правой части окна Trigger находятся кнопки выбора режима синхронизации. Подробно работа с виртуальным осциллографом была рассмотрена в [2].

Отображение диаграмм на лицевой панели Digital Oscilloscope отрегулируем с помощью ручек управления. Установим в окнах Channel A, Channel C, Channel B, Channel D маленькую ручку в позицию 2, большую ручку в позицию 5. Установим маленькую и большую ручки в окне Horizontalв позицию 200. Установим режим работы осциллографа — DC. Отображение сигнала на экране графического дисплея производится слева направо.

Результаты работы четырехканального осциллографа отображаются на экране графического дисплея (рис. 12б), расположенном в левой части лицевой панели данного прибора, в виде четырех временных диаграмм, которые представляют четыре входных сигнала, полученных с входов А, В, C, D. Как видно на рис. 13а, когда на адресный вход схемы мультиплексора подан логический ноль, на выход схемы будет передан сигнал с первого информационного входа схемы. Если же на адресном входе единица (рис. 13б), то на выходе схемы будет присутствовать сигнал со второго информационного входа.

Результаты тестирования схемы мультиплексора на два информационных входа, спроектированного на вентилях НЕ и 2И‐НЕ: а) на адресный вход схемы подан логический ноль; б) на адресный вход схемы подана логическая единица

Рис. 13. Результаты тестирования схемы мультиплексора на два информационных входа, спроектированного на вентилях НЕ и 2И‐НЕ:
а) на адресный вход схемы подан логический ноль;
б) на адресный вход схемы подана логическая единица

На лицевой панели осциллографа нижняя кривая отображает сигнал, полученный с выхода мультиплексора, верхняя кривая — с адресного входа A0, вторая кривая — сигнал с первого информационного входа D0, а третья кривая — сигнал со второго информационного входа D1 мультиплексора. Полученные данные занесем в таблицу истинности (табл. 2).

Таблица 2. Таблица истинности мультиплексора на два информационных входа, разработанного на логических элементах 2И‑НЕ и НЕ

А0

Y

0

D0

1

D1

Как видно из таблицы, в зависимости от поданного на вход А0 адреса на выход Y будет передан сигнал с входа D0 или D1.

Также построение схемы мультиплексора можно выполнить и другим способом на основе исходного выражения Y = ×D0+A0×D1, реализовав функцию только на вентилях И‑НЕ. Для этого потребуется четыре элемента 2И‑НЕ, в качестве которых можно применить элементы микросхемы 74S00 из библиотеки TTL 74S series. Добавим вентили в рабочее поле программы и соберем схему, соответствующую условиям заданной функции, соединив проводниками элементы 2И‑НЕ (рис. 14), один из которых (U1:A) выполняет роль инвертора.

Построение схемы мультиплексора на логических вентилях 2И‐НЕ согласно с заданной функцией

Рис. 14. Построение схемы мультиплексора на логических вентилях 2И‐НЕ согласно с заданной функцией

Протестируем полученную схему. Для чего к входам A0, D0, D1 мультиплексора подключим выводы A, B, C четырехканального осциллографа, а к выходу мультиплексора — вывод D четырех-канального осциллографа. Как и в первом примере, в качестве источника логических сигналов нуля и единицы для мультиплексора будем использовать один компонент LOGICTOGGLE и два генератора DCLOCK (рис. 15).

Подключение компонента LOGICTOGGLE, двух генераторов DCLOCK и четырехканального осциллографа к схеме мультиплексора на два информационных входа, спроектированного на вентилях 2И‐НЕ

Рис. 15. Подключение компонента LOGICTOGGLE, двух генераторов DCLOCK и четырехканального осциллографа к схеме мультиплексора на два информационных входа, спроектированного на вентилях 2И‐НЕ

В окне настроек генераторов установим следующие параметры:

для генератора D0:

  • частота — 1 Гц,
  • тип — Low-High-Low Clock (0-1-0),
  • задержка — 0 с;

для генератора D1:

  • частота — 5 Гц,
  • тип — High-Low-High Clock (1-0-1),
  • задержка — 0 с.

Запустим симуляцию схемы, в результате чего откроется лицевая панель осциллографа. Верхняя диаграмма на графическом дисплее осциллографа отображает сигнал, полученный с канала А осциллографа (с адресного входа мультиплексора), вторая диаграмма — сигнал с канала В, третья — сигнал с канала С. Нижняя диаграмма отображает сигнал, полученный с канала D четырехканального осциллографа, который соответствует данным, полученным с выхода схемы мультиплексора.

Результаты тестирования схемы мультиплексора на два информационных входа, спроектированного на вентилях 2И‐НЕ: а) на адресный вход схемы подан логический ноль; б) на адресный вход схемы подана логическая единица

Рис. 16. Результаты тестирования схемы мультиплексора на два информационных входа, спроектированного на вентилях 2И‐НЕ:
а) на адресный вход схемы подан логический ноль;
б) на адресный вход схемы подана логическая единица

Полученные данные (рис. 16) соответствуют результатам, указанным в таблице 2. Из этого следует, что спроектированное устройство работает правильно.

Построение мультиплексора на четыре информационных входа

Таблица истинности мультиплексора на четыре информационных входа состоит из шести столбцов, соответствующих входным сигналам A0, A1, D0, D1, D2, D3, и одного столбца, соответствующего выходному сигналу Y (табл. 3).

Таблица 3. Таблица истинности мультиплексора на четыре информационных входа

A0

A1

D0

D1

D2

D3

Y

0

0

0

Х

Х

Х

0

0

0

1

Х

Х

Х

1

0

1

Х

0

Х

Х

0

0

1

Х

1

Х

Х

1

1

0

Х

Х

0

Х

0

1

0

Х

Х

1

Х

1

1

1

Х

Х

Х

0

0

1

1

Х

Х

Х

1

1

Согласно таблице истинности составим логическую функцию:

Запишем ее в базисе И‑НЕ, преобразовав к виду:

Теперь можно собрать схему, которая реализует составленное выражение.

В рабочей области проекта схему мультиплексора можно оформить в виде подсхемы, представленной на основной схеме блоком («черным ящиком») в виде прямоугольника с выводами. Такой прием уменьшает размеры схемы, позволяет разделить сложный проект на более мелкие взаимосвязанные схемы.

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

Для того чтобы добавить иерархический блок в разрабатываемую схему, необходимо на левой панели редактора ISIS нажать на пиктограмму Subcircuit Mode, на открывшейся панели PORTS (рис. 17) выбрать пункт DEFAULT и с помощью мыши поместить блок в нужном месте рабочего поля. Для этого установите указатель мыши в окне редактора в точке, где должен находиться верхний левый угол блока. Нажмите левую кнопку мыши и растяните прямоугольник до требуемого размера, а затем отпустите кнопку мыши. Зафиксируйте размер блока щелчком левой кнопки мыши.

Панель PORTS

Рис. 17. Панель PORTS

Размер уже сформированного блока можно изменить. Для чего нужно выделить его левой кнопкой мыши (рис. 18а) и растянуть мышью границы блока до нужных размеров (рис. 18б), а затем снять выделение щелчком левой кнопки мыши в области схемы (рис. 18в).

Иерархический блок в рабочем поле проекта: а) до выделения; б) в процессе изменения его размера; в) после снятия выделения

Рис. 18. Иерархический блок в рабочем поле проекта:
а) до выделения;
б) в процессе изменения его размера;
в) после снятия выделения

Название иерархического блока задается в поле Name его окна свойств Edit Subcircuit (рис. 19). Чтобы открыть данное окно, необходимо выделить блок на схеме левой кнопкой мыши, правой кнопкой мыши вызвать контекстное меню и выбрать в нем пункт Edit Properties.

Окно свойств Edit Subcircuit

Рис. 19. Окно свойств Edit Subcircuit

Для того чтобы перейти к листу схемы созданного иерархического блока, следует левой кнопкой мыши выделить блок, правой кнопкой мыши вызвать контекстное меню и выбрать в нем пункт Goto Child Sheet (перейти к дочернему листу), как показано на рис. 20. Лист схемы созданного блока представляет собой обычный лист схемного проекта Proteus. Теперь, когда вы находитесь в рабочем поле схемы подсхемы, остается создать необходимый узел и подсоединить его выводы к контактам соединения блока подсхемы с основной схемой.

Переход из основной схемы к подсхеме с помощью команды контекстного меню Goto Child Sheet

Рис. 20. Переход из основной схемы к подсхеме с помощью команды контекстного меню
Goto Child Sheet

В целом для построения мультиплексора на четыре информационных входа необходимо пять логических элементов 2И‑НЕ, шесть элементов 2И и два элемента НЕ. Чтобы добавить логические элементы 2И в рабочее поле проекта, откроем окно Pick Devices и выберем в его левой верхней части в поле Category библиотеку TTL 74S series, в поле Sub-category — раздел Gates & Inverters, а в поле Results пункт — 74S08 (рис. 21).

Выбор логических элементов 2И из библиотеки TTL 74S series

Рис. 21. Выбор логических элементов 2И из библиотеки TTL 74S series

Соединительные контакты в схему подсхемы добавляют вручную. Для этого, находясь на листе подсхемы, откройте панель TERMINALS (рис. 22) добавьте в рабочую область чертежа необходимое количество входных (INPUT) и выходных (OUTPUT) контактов и подсоедините их к разработанному узлу. В нашем примере используются шесть соединителей INPUT и один OUTPUT. Открыть панель TERMINALS можно с помощью пиктограммы Terminals Mode левой панели инструментов редактора ISIS.

Панель TERMINALS

Рис. 22. Панель TERMINALS

Теперь разработчику остается только согласовать соединительные выводы с цепью основной схемы. Для чего с помощью команды контекстного меню Exit to Parent Sheet (перейти к родительскому листу) выполняется переход из подсхемы к основной схеме (рис. 23). Вызов контекстного меню производится щелчком правой кнопки мыши в области подсхемы.

Лист подсхемы, на котором собрана схема мультиплексора на четыре информационных входа с подключенными к ее входам и выходу соединительными контактами, и выбор в контекстном меню команды Exit to Parent Sheet

Рис. 23. Лист подсхемы, на котором собрана схема мультиплексора на четыре информационных входа с подключенными к ее входам и выходу соединительными контактами, и выбор в контекстном меню команды Exit to Parent Sheet

Соединительные контакты также нужно добавить вручную и к иерархическому блоку основной схемы. Для этого, находясь на родительском листе, откройте панель PORTS и выберите на ней пункт INPUT для добавления входных соединителей и пункт OUTPUT для добавления выходного соединителя. Подключение соединителей к блоку выполняется щелчками левой кнопки мыши в местах размещения контактов. После выбора соединителя на панели PORTS для размещения каждого отдельного контакта необходимо подвести курсор мыши к краю иерархического блока мультиплексора (при этом в месте стыковки отобразится значок крестика) и щелкнуть в этом месте левой кнопкой мыши (рис. 24).

Подключение соединителей к иерархическому блоку мультиплексора на основном листе схемы

Рис. 24. Подключение соединителей к иерархическому блоку мультиплексора на основном листе схемы

Соединительные контакты родительской схемы согласовываются с контактами дочерней схемы путем назначения им одинаковых имен. Имя соединительному контакту, подключенному к иерархическому блоку, присваивается в окне Edit Terminal Label (рис. 25), открыть которое можно дважды щелкнув по контакту. Аналогичным образом присваивается имя и соединительным контактам подсхемы.

Окно Edit Terminal Label

Рис. 25. Окно Edit Terminal Label

В качестве источника информационных сигналов будем использовать четыре генератора DCLOCK. В окне свойств каждого генератора установим следующие значения частоты генерируемых им цифровых сигналов:

  • для генератора DCLOCK D0 — 1 Гц;
  • для генератора DCLOCK D1 — 3 Гц;
  • для генератора DCLOCK D2 — 5 Гц;
  • для генератора DCLOCK D3 — 8 Гц.

Значения параметров Clock Type (тип) и First Edge At (задержка) оставим по умолчанию (Low-High-Low Clock и 0 с соответственно).

Подачу сигналов на адресные входы А0, А1 мультиплексора организуем с помощью двух компонентов LOGICTOGGLE.

Для проверки работы спроектированного устройства можно воспользоваться таким виртуальным инструментом программы Proteus, как логический анализатор. Чтобы добавить прибор в рабочую область проекта, необходимо левой кнопкой мыши выбрать строку с его названием (LOGIC ANALYSER) на панели INSTRUMENTS и разместить прибор мышью в нужном месте на схеме.

Для съема сигналов с исследуемой схемы логический анализатор имеет 16 выводов и четыре шины разрядностью 8 бит каждая. Пикто-грамма логического анализатора на схеме и его лицевая панель представлены на рис. 26.

Пиктограмма логического анализатора на схеме и его лицевая панель

Рис. 26. Пиктограмма логического анализатора на схеме и его лицевая панель

Добавим логический анализатор в рабочее поле проекта и подключим первых два его канала А0 и А1 к адресным входам А0 и А1 мультиплексора, следующие четыре канала, А2–А5, подключим к информационным входам D0–D3 мультиплексора. Выход мультиплексора Y подсоединим к седьмому каналу А6 логического анализатора (рис. 27).

Подключение блока мультиплексора на четыре информационных входа к логическому анализатору

Рис. 27. Подключение блока мультиплексора на четыре информационных входа к логическому анализатору

Лицевая панель прибора открывается при запуске симуляции схемы. Шестнадцать переключателей в левой части панели соответствуют шестнадцати каналам съема сигналов A0–A15. В следующей колонке отображены имена входов логического анализатора. После запуска симуляции схемы прибор снимает входные значения со своих выводов и отображает полученные данные в виде прямоугольных импульсов на часовой диаграмме во временной области лицевой панели. В нижней части временной области отображаются сигналы, полученные с входов В0[0..7]–B3[0..7].

В правой части лицевой панели данного прибора расположена панель управления, на которой находятся два окна:

  • Trigger (синхронизация);
  • Horizontal (развертка).

Логический анализатор оперирует последовательно записанными в буфер захвата входными цифровыми данными. Процесс захвата данных запускается при помощи кнопки Capture окна Trigger. Спустя некоторое время после выполнения условий переключения процесс останавливается, а кнопка меняет свой цвет при записи и после ее завершения. Результат — содержимое буфера захвата — отображается на дисплее.

В окне Horizontal предусмотрено две ручки: Display Scale и Capture Resolution. При помощи первой производится масштабирование отображения диаграммы, при помощи второй — подстройка разрешения.

Итоги работы логического анализатора отображаются на экране графического дисплея в виде диаграмм, которые представляют сигналы, полученные с его входов. Подробно работа с логическим анализатором была рассмотрена в [2].

Запустим симуляцию схемы. Отображение диаграмм на панели VSM Logic Analyser отрегулируем с помощью ручек управления Display Scale и Capture Resolution окна Horizontal. Установим маленькую ручку Display Scale в позицию 1х, большую ручку Display Scale в позицию 500. Установим маленькую и большую ручки Capture Resolution в позицию 200.

Результаты тестирования (часовые диаграммы во временной области лицевой панели логического анализатора) представлены на рис. 28. Две верхние диаграммы А0, А1 соответствуют сигналам на адресных входах мультиплексора, следующие четыре диаграммы, А2–А5, соответствуют сигналам на информационных входах мультиплексора, а диаграмма А6 — сигналу на выходе мультиплексора.

Результаты тестирования схемы мультиплексора на четыре информационных входа, построенного на логических элементах 2И‐НЕ, 2И, НЕ: а) сигналы А0, А1 — 00; б) сигналы А0, А1 — 01

Рис. 28. Результаты тестирования схемы мультиплексора на четыре информационных входа, построенного на логических элементах 2И‐НЕ, 2И, НЕ:
а) сигналы А0, А1 — 00;
б) сигналы А0, А1 — 01

Полученные данные занесем в таблицу истинности (табл. 4).

Таблица 4. Таблица истинности мультиплексора на четыре информационных входа, построенного на логических элементах 2И‑НЕ, 2И, НЕ

А0

А1

Y

0

0

D0

0

1

D1

1

0

D2

1

1

D3

Как видно из таблицы, в зависимости от поданного на входы мультиплексора А0, А1 адреса на выход Y будет передан сигнал с одного из информационных входов D0, D1, D2 или D3, это означает, что спроектированное устройство работает правильно.

Вкладка Physical Partlist View

Рис. 29. Вкладка Physical Partlist View

Просмотр иерархии проекта выполняется на вкладке Physical Partlist View (рис. 29), которая открывается с помощью пиктограммы Design Explorerверхней панели инструментов редактора ISIS.

Наращивание разрядности мультиплексоров с использованием серийных микросхем

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

Для выбора одного информационного входа из 16 согласно формуле 2n (где n — количество адресных входов) необходимы четыре входные линии адреса (16 = 24): А0, А1, А2, А3. Четыре базовых мультиплексора обеспечивают выбор в зависимости от кода, поданного на входы А0 и А1 соответственно: первый — одного из сигналов D0, D1, D2, D3; второй — из сигналов D4, D5, D6 или D7; третий — из сигналов D8, D9, D10 или D11; четвертый — из сигналов D12, D13, D14 или D15. Также для реализации задачи необходим еще один, пятый мультиплексор, обеспечивающий выбор одного из ранее указанных сигналов в зависимости от кода, подаваемого на входы А2 и А3. Так, при подаче на линии А0–А3 кода 0111 на адресные входы А0 и А1 первых четырех мультиплексоров начнет поступать двоичный код 01. Поэтому первая часть каскада будет выбирать входные информационные линии D1, D5, D9, D13, соответственно подключенные к входам D0–D3 пятого мультиплексора. Поскольку на его адресные линии А2–А3 приходит код 11, на выход каскада передается информация с входа D3 пятого мультиплексора, то есть информация с входной информационной линии D13, что согласуется с принципом работы проектируемого мультиплексора «1 из 16».

В качестве мультиплексоров «1 из 4» в Proteus можно использовать микросхему 74LS153 (отечественный аналог — К555КП2) из раздела Multiplexers библиотеки компонентов TTL 74LS series (рис. 30). Микросхема 74LS153 — это два мультиплексора с объединенными адресными входами А0, А1. Каждый из мультиплексоров имеет четыре информационных входа (пины 1Х0–1Х3 и 2Х0–2Х3) и один выход (пины 1Y и 2Y). Выбор информационного входа для подключения к выходу реализуется подачей соответствующих сигналов на адресный вход. Таким образом, построение мультиплексора «1 из 16» можно выполнить на базе трех микросхем 74LS153.

Выбор микросхемы 74LS153 из раздела Multiplexers библиотеки компонентов TTL 74LS series

Рис. 30. Выбор микросхемы 74LS153 из раздела Multiplexers библиотеки компонентов TTL 74LS series

Для тестирования собранной схемы воспользуемся цветными пробниками логических уровней 0 и 1, при помощи которых можно выполнить контроль выходных сигналов, и цветными источниками логических уровней 0 и 1, при помощи которых организуем подачу на схему информационных сигналов D0–D15, сигналов управления A0–A3 и стробирующего сигнала E.

Цветные пробники логических уровней 0 и 1 в программе Proteus представлены компонентами LOGICPROBE и LOGICPROBE (BIG) из раздела Logic Probes библиотеки Debugging Tools. Цветные источники логических уровней 0 и 1 представлены компонентами LOGICTOGGLE из раздела Logic Stimuli библиотеки Debugging Tools.

Добавим в рабочее поле программы пять пробников логических уровней 0 и 1 LOGICPROBE (BIG) и 21 источник логических уровней 0 и 1. Выводы пробников подключим к выходам микросхем DD1–DD3, а выводы источников — к входам микросхем DD1–DD3 так, как показано на рис. 31.

Построение схемы мультиплексора «1 из 16» на основе трех микросхем 74LS153

Рис. 31. Построение схемы мультиплексора «1 из 16» на основе трех микросхем 74LS153

Запустим моделирование и определим правильность работы собранной схемы подачей тестовых значений на ее входы (рис. 32).

Результаты тестирования схемы мультиплексора «1 из 16», построенного на основе трех микросхем 74LS153: а) сигналы А0, А1, А2, А3 — 0100 (на выходе сигнал со входа D1); б) сигналы А0, А1, А2, А3 — 0110 (на выходе сигнал со входа D9); в) сигналы А0, А1, А2, А3 — 1111 (на выходе сигнал со входа D15); г) сигналы А0, А1, А2, А3 — 0011 (на выходе сигнал со входа D12)

Рис. 32. Результаты тестирования схемы мультиплексора «1 из 16», построенного на основе трех микросхем 74LS153:
а) сигналы А0, А1, А2, А3 — 0100 (на выходе сигнал со входа D1);
б) сигналы А0, А1, А2, А3 — 0110 (на выходе сигнал со входа D9);
в) сигналы А0, А1, А2, А3 — 1111 (на выходе сигнал со входа D15);
г) сигналы А0, А1, А2, А3 — 0011 (на выходе сигнал со входа D12)

Результаты тестирования занесем в таблицу истинности (табл. 5).

Таблица 5. Таблица истинности мультиплексора «1 из 16», построенного на основе трех микросхем 74LS153

А0

А1

А2

А3

Y

0

0

0

0

D0

0

1

0

0

D1

1

0

0

0

D2

1

1

0

0

D3

0

0

0

1

D4

0

1

0

1

D5

1

0

0

1

D6

1

1

0

1

D7

0

0

1

0

D8

0

1

1

0

D9

1

0

1

0

D10

1

1

1

0

D11

0

0

1

1

D12

0

1

1

1

D13

1

0

1

1

D14

1

1

1

1

D15

Как видно из таблицы, в зависимости от поданного на входы А0–А3 адреса на выход Y поступит сигнал с одного из 16 информационных входов D0–D15 спроектированного устройства.

 

Проектирование и исследование работы демультиплексоров в среде Proteus

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

Таблица истинности демультиплексора, имеющего один информационный вход D и четыре выхода, состоит из двух столбцов, соответствующих входным сигналам управления A0 и А1, и четырех столбцов, соответствующих выходным сигналам Y0–Y3 (табл. 6).

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

А0

А1

Y0

Y1

Y2

Y3

0

0

D

0

0

0

0

1

0

D

0

0

1

0

0

0

D

0

1

1

0

0

0

D

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

Построение на базе логических элементов НЕ и 3И схемы демультиплексора, имеющего один информационный вход и четыре выхода

Рис. 33. Построение на базе логических элементов НЕ и 3И схемы демультиплексора, имеющего один информационный вход и четыре выхода

Построить схему демультиплексора с одним информационным входом и четыремя выходами (рис. 33) можно на базе логических элементов НЕ (например, с помощью элементов НЕ микросхемы 74S04) и 3И (в частности, посредством элементов 3И микросхемы 74S11), которые добавляются в рабочее поле проекта Proteus из раздела Gates & Inverters библиотеки компонентов TTL 74S series (рис. 34).

Выбор логических элементов 3И из раздела Gates & Inverters библиотеки компонентов TTL 74S series

Рис. 34. Выбор логических элементов 3И из раздела Gates & Inverters библиотеки компонентов TTL 74S series

Протестируем собранную схему при помощи компонентов LOGICTOGGLE и LOGICPROBE (BIG) (рис. 35).

Тестирование схемы демультиплексора на один вход данных и четыре выхода: а) сигналы А0, А1, D — 101 (логическая 1 со входа D появится на выходе Y2); б) сигналы А0, А1, D — 111 (логическая 1 со входа D появится на выходе Y3); в) сигналы А0, А1, D — 110 (на всех выходах демультиплексора отображается логический ноль)

Рис. 35. Тестирование схемы демультиплексора на один вход данных и четыре выхода:
а) сигналы А0, А1, D — 101 (логическая 1 со входа D появится на выходе Y2);
б) сигналы А0, А1, D — 111 (логическая 1 со входа D появится на выходе Y3);
в) сигналы А0, А1, D — 110 (на всех выходах демультиплексора отображается логический ноль)

Результаты запишем в таблицу 7.

Таблица 7. Таблица истинности демультиплексора, имеющего один информационный вход и четыре выхода, собранного на логических вентилях НЕ и 3И

D

А0

А1

Y0

Y1

Y2

Y3

0

0

0

0

0

0

0

1

0

0

1

0

0

0

0

0

1

0

0

0

0

1

0

1

0

1

0

0

0

1

0

0

0

0

0

1

1

0

0

0

1

0

0

1

1

0

0

0

0

1

1

1

0

0

0

1

Как видно из таблицы, если на вход данных демультиплексора подать логическую единицу, то на выбранном в соответствии с заданным адресом выходе будет логическая единица, на остальных выходах — логический ноль. Если же на вход данных подать логический ноль, то на всех выходах демультиплексора будет логический ноль.

 

Заключение

Комбинационные устройства — это электронные схемы, выходной сигнал которых зависит от комбинации входных сигналов. Любое изменение входного сигнала влечет изменение сигнала на выходе. Как вы уже могли убедиться, программа Proteus предоставляет широкий набор инструментов для проектирования схем комбинационных устройств, их тестирования и отладки.

Литература
  1. ISIS Help. Labcenter Electronics, 2014.
  2. Филатов  М. Проведение измерений при помощи виртуальных приборов в программной среде Proteus 8.1 // Компоненты и технологии. 2015. № 4.
  3. Филатов  М. Синтез цифровых устройств комбинационного типа в програм-мной среде Proteus 8.1. Дешифраторы // Компоненты и технологии. 2018. № 2.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *