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

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

Введение

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

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

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

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

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

 

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

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

Компаратор определяет равенство двух двоичных n‑разрядных чисел A и B либо вид неравенства A > B или A < B. Цифровые компараторы имеют три выхода, которые соответствуют функциям А < В, А = В, А > В. В зависимости от результатов сравнения активным становится один из выходов. Критерием равенства двух чисел является совпадение их по всем разрядам. Если условие выполняется (А < В, А = В, А > В), на соответствующем выходе компаратора устанавливается логическая единица, в противном случае — логический ноль. Например, если оба числа равны, на выходе А = В появится логическая единица, на остальных выходах (A > B и A < B) будет ноль.

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

Цифровые компараторы выпускают, как правило, в виде самостоятельных микросхем. Так, микросхема К155СП1 является четырехразрядным компаратором, в котором работа каждого из одноразрядных компараторов описывается при помощи таблицы истинности (табл. 1).

Таблица 1. Таблица истинности одноразрядного компаратора

Номер набора

А

В

A < B

А = В

A > B

0

0

0

0

1

0

1

0

1

1

0

0

2

1

0

0

0

1

3

1

1

0

1

0

Микросхема К155СП1 имеет расширяющие входы А < В, А = В, А > В, что позволяет наращивать разрядность обоих чисел А и В, для чего секции компараторов соединяют последовательно или параллельно. В Proteus микросхема К155СП1 представлена компонентом 7485, который находится в разделе Comparators библиотеки TTL 74 series (рис. 2).

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

Рис. 2. Выбор микросхемы 7485 из раздела Comparators библиотеки компонентов TTL 74 series

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

Для тестирования работы микросхемы компаратора можно воспользоваться цветными пробниками логических уровней 0 и 1, которые в программе Proteus представлены компонентами LOGICPROBE и LOGICPROBE (BIG) из раздела Logic Probes библиотеки Debugging Tools. В нашем примере для контроля выходных сигналов микросхемы 7485 добавим в рабочее поле проекта три компонента LOGICPROBE (BIG) и подключим их входы к выходам микросхемы компаратора.

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

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

Схема тестирования микросхемы 7485

Рис. 3. Схема тестирования микросхемы 7485

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

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

Результат моделирования работы микросхемы компаратора представлен на рис. 4. Как видно из рисунка, активный уровень сигнала появляется на выходе QА = В, когда поданный на входы А0–А3 микросхемы компаратора двоичный четырехразрядный код соответствует коду, поданному на входы В0–В3 (рис. 4а). Если на входы А0–А3 поступило двоичное число, значение которого меньше значения числа, поступившего на входы В0–В3, то на выходе QA < B микросхемы компаратора появится активный уровень сигнала, на выходах QA > B и QА = В будет логический ноль (рис. 4б). Активное значение на выходе QA>B появится, если на входы А0–А3 микросхемы компаратора будет подано двоичное число, чье значение больше значения числа, поданного на входы В0–В3 (рис. 4в). Полученные данные занесем в таблицу истинности (табл. 2).

Результат моделирования работы микросхемы компаратора 7485

Рис. 4. Результат моделирования работы микросхемы компаратора 7485:
а) активный уровень сигнала появляется на выходе QА = В, когда поданный на входы А0–А3 двоичный четырехразрядный код соответствует коду, поданному на входы В0–В3;
б) когда на входы А0–А3 поступило двоичное число, значение которого меньше значения числа, поступившего на входы В0–В3, то на выходе QA < B микросхемы компаратора появится активный уровень сигнала, на выходах QA > B и QА = В будет логический ноль;
в) когда на входы А0–А3 микросхемы компаратора подано двоичное число, значение которого больше значения числа, поданного на входы В0–В3, то на выходе QA > B появится активное значение сигнала

 

Таблица 2. Таблица истинности четырехразрядного компаратора

Входы сравнения данных

Выходы

А3В3

А2В2

А1В1

А0В0

QA < B

QА = В

QA > B

A3 > B3

Х

Х

Х

0

0

1

A3 <B3

Х

Х

Х

1

0

0

А3 = В3

A2 > B2

Х

Х

0

0

1

А3 = В3

A2 < B2

Х

Х

1

0

0

А3 = В3

А2 = В2

A1 > B1

Х

0

0

1

А3 = В3

А2 = В2

A1 < B1

Х

1

0

0

А3 = В3

А2 = В2

А1 = В1

A0 > B0

0

0

1

А3 = В3

А2 = В2

А1 = В1

A0 < B0

1

0

0

А3 = В3

А2 = В2

А1 = В1

А0 = В0

0

1

0

Если разрядность сравниваемых двоичных чисел больше чем четыре, то применяют наращивание разрядности компараторов, которое обеспечивается увеличением количества интегральных схем компараторов и заключается в последовательном или параллельном соединении секций микросхем. Необходимо отметить, что в микросхеме 7485 входы наращивания имеют меньший приоритет, чем входы операндов А0–А3 и В0–В3, поэтому на них подаются результаты операций сравнения с секций младших разрядов. Если на все входы наращивания микросхемы 7485 подать логический ноль, то при выполнении операции сравнения двух одинаковых чисел на выходах микросхемы появится комбинация с несколькими активными сигналами, а на выходе QА = В неактивный сигнал. Чтобы избежать этого, в секцию младших разрядов на вход А = В подают активный уровень, а на входы А < В, А > В — неактивный.

 

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

Рассмотрим последовательное соединение компараторов 7485 для сравнения двух десятиразрядных чисел (рис. 5). В последовательной схеме секции компараторов соединяют последовательно одну за другой, начиная с секции младших разрядов. Для построения k‑разрядного компаратора на основе n‑разрядных секций потребуется k/n секций (полученный результат округляем до целого числа в большую сторону). Таким образом, в нашем примере для построения десятиразрядного компаратора на основе четырехразрядных секций нам потребуется три микросхемы 7485. При этом выходные сигналы микросхем, обрабатывающих младшие разряды кода, подаются на входы А < В, А > В и А = В микросхем, обрабатывающих старшие разряды кода. К входам А < В, А > В и А = В микросхемы, обрабатывающей четыре младших разряда кода, подключим соответственно два компонента GROUND и один POWER так, как показано на рис. 5. К неиспользуемым входам А2, А3 и В2, В3 микросхемы, обрабатывающей два старших разряда кода, подключим компонент GROUND.

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

Рис. 5. Последовательное соединение трех компараторов 7485 для сравнения двух двоичных десятиразрядных чисел

Для того чтобы добавить компоненты GROUND и POWER в рабочее поле программы, необходимо нажать на строку с их названием на панели TERMINALS (рис. 6) и разместить их с помощью мыши в нужном месте на схеме. Панель TERMINALS (по умолчанию она расположена в левой части программы) открывается нажатием на кнопку Terminals Mode на левой панели инструментов редактора ISIS.

Панель TERMINALS

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

Для тестирования работы спроектированного устройства сравнения двух десятиразрядных двоичных чисел воспользуемся цветными пробниками (три компонента LOGICPROBE (BIG)) и источниками (двадцать компонентов LOGICTOGGLE) логических уровней 0 и 1. В качестве примера выполним сравнение двоичных десятиразрядных чисел 0011000011 и 0011000011 (рис. 7а), 0001111111 и 0100000000 (рис. 7б), 1100010110 и 0100110001 (рис. 7в). Указанные числа сгенерируем с помощью компонентов LOGICTOGGLE, десять из которых подключим к входам А0–А3 микросхем U1, U2 и к входам А0, А1 микросхемы U3. Еще десять подключим к входам В0–В3 микросхем U1, U2 и к входам В0, В1 микросхемы U3. Результат сравнения отображается с помощью компонентов LOGICPROBE (BIG), подключенных к выходам секции U3.

Рис. 7. Результат тестирования последовательной схемы наращивания разрядности компараторов: а) активный уровень сигнала появляется на выходе QА = В микросхемы U3, когда поданный на входы А0–А9 двоичный десятиразрядный код соответствует коду, поданному на входы В0–В9; б) когда на входы А0–А9 поступил двоичный десятиразрядный код, значение которого меньше значения кода, поступившего на входы В0–В9, то на выходе QA < B микросхемы U3 появится активный уровень сигнала, на выходах QA > B и QА = В будет логический ноль;
в) когда на входы А0–А9 десятиразрядного компаратора подано двоичное число, значение которого больше значения числа, поданного на входы В0–В9, то на выходе QA > B появится активное значение сигнала

Запустим симуляцию схемы и подадим на входы А9–А0 и В9–В0 десятиразрядного компаратора двоичное число 0011000011, в результате чего на выходе устройства будет получен двоичный код 010, что соответствует логике работы компаратора — так как числа равны, активный уровень сигнала появляется на его выходе QА = В (то есть на выходе QА = В микросхемы U3). Подадим на входы А9–А0 десятиразрядного компаратора двоичное число 0001111111, а на входы В9–В0 двоичное число 0100000000, в результате чего на выходе QA < B спроектированного устройства появится активный уровень сигнала, на выходах QA > B и QА = В будет логический ноль, что соответствует логике работы компаратора. Когда на входы А9–А0 десятиразрядного компаратора подадим двоичное число 1100010110, значение которого больше значения числа 0100110001, поданного на входы В9–В0, то на выходе QA > B десятиразрядного компаратора появится активное значение сигнала.

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

 

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

Рассмотрим параллельное соединение компараторов 7485 для сравнения двух восьмиразрядных чисел (рис. 8). В параллельной схеме секции компараторов соединяют в виде дерева, в его первом ярусе каждый компаратор сравнивает свою группу разрядов А0–А3 и В0–В3. В результате на выходе каждого компаратора будет получен код, в котором присутствует одна логическая единица и два логических нуля.

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

Рис. 8. Параллельное соединение трех компараторов 7485 для сравнения двух двоичных восьмиразрядных чисел

В нашем примере, если рассматривать полученные в результате сравнения значения на выходах QA < B компараторов U1 и U2 как многоразрядный код I, а код на выходах QA > B компараторов U1 и U2 как многоразрядный код II, то в зависимости от соотношения восьмиразрядных чисел, поданных на входы А0–А7 и В0–В7 проектируемого устройства, определенным образом будут соотноситься и коды I и II.

Если двоичное число, поданное на входы А0–А7, больше числа, поданного на входы В0–В7, то код II больше кода I. Если двоичное число, поданное на входы А0–А7, меньше числа, поданного на входы В0–В7, то код I больше кода II. Если двоичные числа, поданные на входы А0–А7 и В0–В7, равны, то и код I равен коду II (на всех выходах первого яруса восьмиразрядного компаратора будет логический ноль). Отметим, что выходы QA = B компараторов U1 и U2 в нашей схеме не используются.

Следовательно, чтобы сравнить двоичные числа, поданные на входы А0–А7 и В0–В7 проектируемого устройства, необходим еще один, третий компаратор U3, который будет выполнять сравнение кодов I и II. Если окажется, что код I больше кода II, то двоичное число, поданное на входы восьмиразрядного компаратора А0–А7, меньше числа, поданного на входы В0–В7. Если код II больше кода I, то число А0–А7 больше числа В0–В7. Если код II равен коду I, то число А0–А7 равно числу В0–В7.

Таким образом, в нашем примере для построения восьмиразрядного компаратора на основе четырехразрядных секций нам потребуется три микросхемы 7485. При этом выходные сигналы QA < B секций U1 и U2 подключаются к входам В0 и В1 секции U3, а выходные сигналы QA > B секций U1 и U2 подключаются к входам А0 и А1 секции U3. Входы А2, А3 и В2, В3 секции U3 не используются и подключены к компоненту GROUND. К входам А < В, А > В и А = В микросхем первого и второго яруса восьмиразрядного компаратора подключим компоненты GROUND и POWER так, как показано на рис. 8.

Для тестирования работы спроектированного устройства сравнения двух восьмиразрядных двоичных чисел воспользуемся цветными пробниками (три компонента LOGICPROBE (BIG)) и источниками (16 компонентов LOGICTOGGLE) логических уровней 0 и 1. В качестве примера выполним сравнение двоичных восьмиразрядных чисел 11111111 и 11111111 (рис. 9а), 10001100 и 11111100 (рис. 9б), 01110001 и 00001100 (рис. 9в). Указанные числа сгенерируем с помощью компонентов LOGICTOGGLE, восемь из которых подключим к входам А0–А3 микросхем U1, U2. Еще восемь подключим к входам В0–В3 микросхем U1, U2. Результат сравнения отображается с помощью компонентов LOGICPROBE (BIG), подключенных к выходам секции U3.

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

Рис. 9. Результат тестирования параллельной схемы наращивания разрядности компараторов:
а) активный уровень сигнала появляется на выходе QА = В микросхемы U3, когда поданный на входы А0–А7 двоичный восьмиразрядный код соответствует коду, поданному на входы В0–В7;
б) когда на входы А0–А7 поступил двоичный восьмиразрядный код, значение которого меньше значения кода, поступившего на входы В0–В7, то на выходе QA < B микросхемы U3 появится активный уровень сигнала, на выходах QA > B и QА = В будет логический ноль;
в) когда на входы А0–А7 восьмиразрядного компаратора подано двоичное число, значение которого больше значения числа, поданного на входы В0–В7, то на выходе QA > B появится активное значение сигнал

Запустим симуляцию схемы и подадим на входы А7–А0 и В7–В0 восьмиразрядного компаратора двоичное число 11111111, в результате чего на выходе устройства будет получен двоичный код 010, что соответствует логике работы компаратора — так как числа равны, активный уровень сигнала появляется на его выходе QА = В (то есть на выходе QА = В микросхемы U3). Подадим на входы А7–А0 восьмиразрядного компаратора двоичное число 10001100, а на входы В7–В0 двоичное число 11111100, в результате на выходе QA < B спроектированного устройства появится активный уровень сигнала, на выходах QA > B и QА = В будет логический ноль, что соответствует логике работы компаратора. Когда на входы А7–А0 восьми-разрядного компаратора подадим двоичное число 01110001, значение которого больше значения числа 00001100, поданного на входы В7–В0, то на выходе QA > B восьмиразрядного компаратора появится активное значение сигнала.

 

Проектирование комбинационного устройства сдвига двоичных чисел в среде Proteus

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

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

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

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

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

В нашем примере комбинационное устройство сдвига имеет два адресных входа А0, А1, четыре входа данных Х0–Х3, четыре выхода Y0–Y3. Входными данными для построения комбинационного устройства сдвига служит таблица, которая устанавливает связь кода адреса мультиплексора с подключенным к каждому из его выходов разрядом сдвигаемого числа (табл. 3).

Таблица 3. Таблица изменения выходных сигналов комбинационного устройства сдвига

А1

А0

Y3

Y2

Y1

Y0

0

0

X3

X2

X1

X0

0

1

X2

X1

X0

X3

1

0

X1

X0

X3

X2

1

1

X0

X3

X2

X1

Для построения комбинационного устройства сдвига четырехразрядного двоичного кода понадобится четыре мультиплексора, обеспечивающих выбор «1‑из‑4» — в нашем случае это две микросхемы 74LS153 (рис. 11). Если на адресные входы устройства А0–А1 подать значение 00, то на его выходах будут следующие значения: Y3 = X3, Y2 = X2, Y1 = X1, Y0 = X0. Если на один из адресных входов (или на оба) подано значение логической единицы, то произойдет изменение в подключении выходов к входам и на выходе окажется сдвинутое двоичное число Х.

Комбинационное устройство сдвига на мультиплексорах

Рис. 11. Комбинационное устройство сдвига на мультиплексорах

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

Запустим симуляцию схемы и в качестве примера на входы данных устройства сдвига подадим двоичное число Х3 = 0, Х2 = 0, Х1 = 1, Х0 = 1. На адресные входы подадим значение А0 = 0, А1 = 0. Как видно на рис. 12а, на выходах устройства получены следующие значения: Y3 = X3 = 0, Y2 = X2 = 0, Y1 = X1 = 1, Y0 = X0 = 1. Подадим на адресные входы значение А0 = 1, А1 = 0, в результате (как видно на рис. 12б) произойдет изменение в подключении выходов к входам и на выходе окажется двоичное число Y3 = X2 = 0, Y2 = X1 = 1, Y1 = X0 = 1, Y0 = X3 = 0, сдвинутое влево на один разряд. При этом старший разряд числа появится на освободившемся выходе Y0. Когда на адресных входах установлено значение А0 = 0, А1 = 1, на выходах будет двоичное число Y3 = X1 = 1, Y2 = X0 = 1, Y1 = X3 = 0, Y0 = X2 = 0, которое сдвинуто влево на два разряда относительно исходного значения (рис. 12в). Когда А0 = 1, А1 = 1, на выходах будет двоичное число Y3 = X0 = 1, Y2 = X3 = 0, Y1 = X2 = 0, Y0 = X1 = 1, которое сдвинуто влево на три разряда относительно исходного значения (рис. 12г).

Тестирование работы комбинационного устройства сдвига на мультиплексорах: а) установка исходной комбинации сигналов 0011 на информационных входах устройства; б) сдвиг исходного двоичного числа 0011 на один разряд влево, в результате чего на выходе получено число 0110; в) сдвиг исходного числа на два разряда влево, в результате чего на выходе получено число 1100; г) сдвиг исходного числа на три разряда влево, в результате чего на выходе получено число 1001

Рис. 12. Тестирование работы комбинационного устройства сдвига на мультиплексорах:
а) установка исходной комбинации сигналов 0011 на информационных входах устройства;
б) сдвиг исходного двоичного числа 0011 на один разряд влево, в результате чего на выходе получено число 0110; в) сдвиг исходного числа на два разряда влево, в результате чего на выходе получено число 1100;
г) сдвиг исходного числа на три разряда влево, в результате чего на выходе получено число 1001

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

Тестирование работы собранного устройства в Proteus можно организовать и другим способом. Подачу двоичного кода на адресные входы и входы данных комбинационного устройства сдвига удобно выполнить с помощью такого виртуального прибора, как цифровой генератор шаблона [3], который генерирует выходные цифровые сигналы по заданному 8‑битовому шаблону и может использоваться для подачи данных сигналов в моделируемую схему.

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

Панель INSTRUMENTS

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

В нашем примере все возможные комбинации адресных сигналов и тестовое четырехразрядное число запишем в файл шаблона, для чего на диске компьютера создадим текстовый файл, занесем в него нужные комбинации сигналов и сохраним с расширением *.ptn. Порядок передачи сигналов X3–X0, A1 и А0, а также соответствие линий генератора шаблона и схемы сдвига представлены в таблице 4.

Таблица 4. Порядок передачи кодовых комбинаций сигналов X3–X0, A1 и А0 и соответствие линий генератора шаблона и схемы сдвига

Выводы цифрового
генератора шаблона

Q5

Q4

Q3

Q2

Q1

Q0

Выводы схемы сдвига

А1

А0

Х3

Х2

Х1

Х0

первая серия сигналов

0

0

1

0

0

1

вторая серия сигналов

0

1

1

0

0

1

третья серия сигналов

1

0

1

0

0

1

четвертая серия сигналов

1

1

1

0

0

1

 

Запись кодовых комбинаций сигналов X3–X0, A1 и А0 в файле шаблона (рис. 14):

Запись кодовых комбинаций сигналов X3–X0, A1 и А0 в файле шаблона shablon.ptn

Рис. 14. Запись кодовых комбинаций сигналов X3–X0, A1 и А0 в файле шаблона shablon.ptn

;запись первой серии сигналов

%00001001,

;запись второй серии сигналов

%00011001,

;запись третьей серии сигналов

%00101001,

;запись четвертой серии сигналов

%00111001,

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

Добавим в рабочее поле проекта пиктограмму цифрового генератора шаблона, подключим ее выводы Q3–Q0 к входам Х3–Х0, а выводы Q5, Q4 к входам А1, А0 схемы сдвига, укажем в окне свойств генератора путь к файлу шаблона. Подключение схемы сдвига к генератору шаблона представлено на рис. 15.

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

Рис. 15. Подключение схемы сдвига к генератору шаблона

Задать использование шаблона из файла можно в окне настройки параметров цифрового генератора шаблона Edit Component (рис. 16) в поле Pattern Generator Script нажатием на значок открытой папки и выбором нужного файла на диске компьютера (в нашем случае shablon.ptn). Открыть окно Edit Component можно следующим образом: выделите левой кнопкой мыши пиктограмму генератора шаблона в области схемы, а правой кнопкой вызовите контекстное меню и выберите в нем пункт Edit Properties.

Окно настройки параметров цифрового генератора шаблона

Рис. 16. Окно настройки параметров цифрового генератора шаблона

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

Окно настройки параметров генератора DPULSE

Рис. 17. Окно настройки параметров генератора DPULSE

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

Панель GENERATORS

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

Отобразить результаты тестирования схемы сдвига в графическом виде в нашем случае будет удобно с помощью объекта «График», его назначение — управлять частичной симуляцией и отображать результаты этой симуляции. Чтобы добавить объект «График» в рабочую область проекта, необходимо на панели GRAPHS (рис. 19а) выбрать его тип (в нашем случае DIGITAL, так как исследуемые сигналы могут принимать значение логического нуля или логической единицы) и разместить его с помощью мыши в соответствующем месте рабочего поля. Для этого поместите указатель мыши в окне редактора в точке, где должен находиться верхний левый угол графика. Нажмите левую кнопку мыши и растяните прямоугольник до размера, нужного для отображения результатов моделирования, а затем отпустите кнопку мыши. Для того чтобы открыть панель GRAPHS, надо на левой панели инструментов редактора ISIS нажать на пиктограмму Graph Mode.

Панель: а) GRAPHS; б) PROBES

Рис. 19. Панель: а) GRAPHS; б) PROBES

Контроль входных/выходных сигналов схемы сдвига можно выполнить при помощи пробников напряжения VOLTAGE — они размещаются с помощью мыши до запуска процесса симуляции в тех точках схемы, за которыми мы хотим наблюдать. Выбрать нужный пробник можно на панели PROBES (рис. 19б), она открывается нажатием на пиктограмму Probe Mode на левой панели инструментов редактора ISIS.

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

Для подключения измерительного пробника к схеме нужно выбрать его название на панели PROBES, подвести курсор к месту размещения пробника и щелкнуть левой кнопкой мыши по проводнику (рис. 20). В каждой схеме может использоваться много пробников, в том числе и копии одного и того же прибора. Каждая копия настраивается и соединяется отдельно. Неподключенные пробники имеют по умолчанию название «?». Когда пробник присоединен к цепи, ему автоматически присваивается имя цепи, а если цепь не имеет имени, то в качестве имени пробник получает позиционное обозначение компонента или пина, после которого он подключен. Также разработчик может самостоятельно присвоить пробнику имя.

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

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

Для того чтобы настроить параметры пробника, необходимо выделить его в рабочем поле левой кнопкой мыши, а правой кнопкой вызвать контекстное меню и выбрать в нем пункт Edit Properties. В результате будет открыто окно Edit Voltage Probe (рис. 21), где задаются имя пробника (поле Probe Name) и название файла (поле Filename), в который будут записываться данные, а также значение сопротивления нагрузки (поле Load (Ohms)).

Окно Edit Voltage Probe

Рис. 21. Окно Edit Voltage Probe

Для отображения на графике данных, которые фиксируют пробники, необходимо добавить на него эти объекты. Причем график должен быть размещен в рабочем поле проекта. Любой график может отображать несколько диаграмм. Каждая диаграмма содержит данные, ассоциированные с одним пробником. Таким образом, для исследования работы спроектированной схемы сдвига в рабочее поле проекта нужно добавить и подключить к схеме шесть пробников напряжения для контроля входных сигналов Х0–Х3 и А0, А1 и четыре пробника напряжения для контроля выходных сигналов Y0–Y3.

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

Добавление пробников напряжения на график: а) перемещением мышью пиктограммы пробника со схемы в окно графика; б) командой контекстного меню Add Traces

Рис. 22. Добавление пробников напряжения на график: а) перемещением мышью пиктограммы пробника со схемы в окно графика; б) командой контекстного меню Add Traces

Для добавления пробника на график нужно левой кнопкой мыши выделить его пиктограмму на схеме и перетащить ее мышью в окно графика (рис. 22а). В результате на графике отобразится название добавленного пробника. Также для добавления пробников на график можно воспользоваться командой Add Traces. Для того чтобы вызвать эту команду, необходимо при помощи левой кнопки мыши выделить график, на который предполагается добавить объекты, а правой кнопкой мыши вызвать контекстное меню и выбрать в нем пункт Add Traces (рис. 22б).

Рис. 23. Диалоговое окно Add Transient Trace

Рис. 23. Диалоговое окно Add Transient Trace

В результате откроется диалоговое окно Add Transient Trace (рис. 23), которое содержит следующие поля ввода:

Name — имя новой диаграммы;

Probe P1 – Probe P4 — выбор пробников для отображения данных;

Expression — в качестве переменной для отображения данных может быть использовано выражение;

Trace Type — тип кривой: Analog (аналоговая), Digital (цифровая), Phasor (фазовый вектор), Noise (шум);

Axis — ось Y: Left (левая), Right (правая), Reference (опорная).

РГрафик после добавления всех пробников напряжения

Рис. 24. График после добавления всех пробников напряжения

После того как все параметры в окне Add Transient Trace настроены, нажмите на кнопку ОК, и выбранные пробники будут добавлены в окно графика. Изменим названия пробников в соответствии с названиями линий схемы сдвига, к которым они подключены, путем ввода нужных имен в поле Probe Name окна настроек параметров каждого пробника. Изменим названия диаграмм, для чего в рабочей области проекта выделим график, вызовем контекстное меню и выберем пункт Simulate Graph, в результате названия диаграмм будут соответствовать названиям добавленных на график пробников (рис. 24). Подробно работа с пробниками напряжения и объектом «График» рассмотрена в [4].

Подключение пробников напряжения к входам/выходам схемы сдвига двоичных чисел

Рис. 25. Подключение пробников напряжения к входам/выходам схемы сдвига двоичных чисел

После того как в рабочей области проекта собрана схема (рис. 25), можно начать моделирование при помощи кнопки Run the simulation, которая находится в левом нижнем углу окна программы.

Схема сдвига двоичных чисел после запуска симуляции

Рис. 26. Схема сдвига двоичных чисел после запуска симуляции

После запуска симуляции схемы (рис. 26) откроется лицевая панель генератора шаблона (рис. 27), на которой с помощью ручек управления установим следующие значения параметров:

  • в левом голубом окне установим ручку Clock в положение «1», ручку Vernier в положение «5»;
  • в правом желтом окне установим ручку Trigger в положение «0.1», ручку Vernier в положение «5».
Лицевая панель цифрового генератора шаблона, на которой отображаются кодовые комбинации тестовых сигналов Х0–Х3, А0, А1, считанные из файла шаблона shablon.ptn

Рис. 27. Лицевая панель цифрового генератора шаблона, на которой отображаются кодовые комбинации тестовых сигналов Х0–Х3, А0, А1, считанные из файла шаблона shablon.ptn

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

  • Clock Rate — 1,200 Гц;
  • Reset Rate — 500 мГц;
  • Pattern Generator Script — shablon.ptn.

Все остальные опции оставлены по умолчанию.

Результат моделирования работы схемы сдвига (часовые диаграммы формирования цифровых сигналов по заданному в *.ptn-файле шаблону и сигналов, полученных с линий Y0–Y3) представлен на рис. 28.

Часовые диаграммы формирования цифровых сигналов по заданному в *.ptn-файле шаблону и сигналов, полученных с линий Y0–Y3 схемы сдвига

Рис. 28. Часовые диаграммы формирования цифровых сигналов по заданному в *.ptn-файле шаблону
и сигналов, полученных с линий Y0–Y3 схемы сдвига

Сопоставив полученные данные с таблицей 3, можно сделать вывод, что спроектированное устройство работает правильно. Как видно на рис. 28, когда на адресных входах устройства сдвига установлен код А0 = 0, А1 = 1, на выходах Y0–Y3 отображается поданное на информационные входы двоичное число Y3 = X1 = 0, Y2 = X0 = 1, Y1 = X3 = 1, Y0 = X2 = 0, сдвинутое на два разряда влево относительно исходного значения 1001, что соответствует логике работы схемы. Когда А0 = 1, А1 = 1, на выходах будет двоичное число Y3 = X0 = 1, Y2 = X3 = 1, Y1 = X2 = 0, Y0 = X1= 0, которое сдвинуто влево на три разряда относительно исходного значения, что соответствует логике работы схемы.

Проанализируем работу демонстрационной схемы, представленной на рис. 26. При помощи записанного в файле shablon.ptn скрипта были даны указания цифровому генератору шаблона через линии Q0–Q5 отправить на входы схемы сдвига кодовые комбинации сигналов Х0–Х3 (тестовое двоичное число, которое будем сдвигать) и А0, А1 (количество разрядов, на которые необходимо выполнить сдвиг: А0 = 0, А1 = 0 — нет сдвига, А0 = 0, А1 = 1 — два разряда, А0 = 1, А1 = 0 — один разряд, А0 = 1, А1 = 1 — три разряда).

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

После запуска симуляции схемы цифровой код, записанный в файле шаблона, отображается на дисплее лицевой панели генератора шаблона в виде белых (логический ноль) и черных клеток (логическая единица). С каждым тактовым импульсом внешнего источника синхронизации выполняется продвижение по шаблону, при этом кодовая комбинация нулей и единиц (пустых и закрашенных ячеек) последнего столбца таблицы лицевой панели прибора поступает на выходы Q0–Q5 цифрового генератора шаблона, откуда передается на линии Х0–Х3 и А0, А1 схемы сдвига. В зависимости от поданного на вход схемы сдвига кода А0, А1 на выходах схемы появится исходное или сдвинутое относительно исходного число.

К выводам схемы сдвига подключены пробники напряжения, фиксирующие сформированные по заданному в *.ptn-файле
шаблону цифровые сигналы и сигналы, полученные с выходов схемы. Часовые диаграммы этих сигналов отображаются на графике DIGITAL ANALYSIS. Результаты тестирования схемы занесем в таблицу 5, которая описывает работу спроектированного комбинационного устройства сдвига двоичного кода.

Таблица 5. Результаты тестирования комбинационного устройства сдвига, спроектированного на мультиплексорах

А0

А1

Х3

Х2

Х1

Х0

Y3

Y2

Y1

Y0

Количество
разрядов сдвига

0

0

1

0

0

1

1

0

0

1

0

0

1

1

0

0

1

0

1

1

0

2

1

0

1

0

0

1

0

0

1

1

1

1

1

1

0

0

1

1

1

0

0

3

Литература
  1. ISISHelp. LabcenterElectronics, 2014.
  2. Филатов М. Синтез цифровых устройств комбинационного типа в программной среде Proteus 8.1. Мультиплексоры и демультиплексоры // Компоненты и технологии. 2018. № 3
  3. Филатов М. Проведение измерений при помощи виртуальных приборов в программной среде Proteus 8.1.Часть 2 // Компоненты и технологии. 2015. № 5.
  4. Филатов М. Анализ схем электрических принципиальных в программной среде Proteus 8.1 // Компоненты и технологии. 2015. № 9.

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

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