Дешифратор в мультисиме где найти

от admin

I Лабораторная работа №1: Дешифраторы

Целью лабораторной работы является изучение работы дешифратора.

2. Теоретические сведения:

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

Дешифраторы:

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

При подаче на входы дешифратора любого набора из двоичных переменных только на одном из соответствующих выходов его вырабатывается сигналов “1”, а на всех остальных выходах сохраняются сигналы “0”.

Часто в целях экономии оборудования код слова передается в дешифратор не только своими прямыми, но и инверсными значениями, т.е. парафазно, и число входов таких дешифраторов равно 2n (рис.1 для четырехвходового дешифратора). Система логических функций полного дешифратора в базисе «И/НЕ» на n входов имеет следующий вид:

Здесь индекс i функции fi вычисляется по формуле

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

Рис. 1

По способам построения дешифраторы классифицируются на линейные, прямоугольные и пирамидальные.

Для линейного дешифратора число каскадов k равно единице, число клапанов (схем И, ИЛИ-НЕ) М=2 n и общее число входов в клапаны М= n 2 n

Если разрядность дешифрируемого слова n больше максимально возможного числа входов клапана в используемой базе элементов, то для реализации функций необходимо объединить схемы в каскад из нескольких клапанов. В таком случае дешифратор уже не будет линейным (однокаскадным).

Если строить схему дешифратора по методу каскадов, т.е. первый каскад для дешифрации двух переменный (x1,x2), затем использовать выходы первого каскада для построения дешифратора из трех переменных (x1,x2,x3), выходы второго каскада для построения дешифратора из четырех переменных (x1,x2,x3,x4) и т.д., то на n –м каскаде схемы дешифратора будет 2 n элементов “И”, а общее число всех элементов определяется из соотношения

M=4+8+16+…+2 n =2(2 n -2)

Полный дешифратор, построенный по методу каскадов, является пирамидальным дешифратором (k=n-1). Схема пирамидального дешифратора представлена на рис.1, на первый каскад которого поступает сигнал синхронизации дешифрации работы C.

Поскольку любую функцию дешифратора из системы логических функций полного дешифратора в базисе «И/НЕ» на n=m+s входов можно представить в виде конъюнкции двух соответствующих функций

для полных дешифраторов на m и s=nm входов (например, ), то пирамидальный дешифратор представляет собой полный дешифратор на n входов, построенный за счет многократного объединения полного дешифратора на m=2,3,…n –1 входа и полного дешифратора на один вход s=1.

Быстродействие пирамидального дешифратора определяется временем дешифрирования tдш=срk , где τсрk — среднее время задержки сигнала формирования функции на клапанах k-го каскада дешифратора. Тогда с увеличением числа каскадов быстродействие пирамидального дешифратора, построенного на одинаковых элементах уменьшается в k раз. Поэтому для повышения быстродействия и экономии оборудования, сложные дешифраторы строятся, как правило, прямоугольными. Прямоугольные дешифраторы строятся путем объединения линейных дешифраторов на меньшее число входов (рис.2) m и s схемами, реализующими конъюнкцию . Дешифратор, построенный по принципу разбиения n “почти пополам”(s>1), обычно называется прямоугольным дешифратором.

Функциональная схема прямоугольного дешифратора для четырехразрядного (n=4) входного слова показана на рис. 2. Количество клапанов “И” в двухкаскадном (K=2) прямоугольном дешифраторе можно определить по формуле

3. Выполнение работы и содержание отчета

Собрать схему дешифратора в соответствии с заданным вариантом и провести её исследование по методике, используя пакет Multisim.

Вариант 1 — DС(0,3), прямоугольный, базис 2И/НЕ;

Вариант 2 — DС(0,4), пирамидальный, базис 2ИЛИ/НЕ;

Вариант 3 — DС(0,4), линейный, базис 5ИЛИ/НЕ;

Вариант 4 — DС(0,3), пирамидальный, базис 2И/НЕ;

Вариант 5 — DС(0,4), прямоугольный, базис 3И/НЕ.

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

Отчет по работе должен содержать:

схему дешифратора в соответствии с вариантом; уравнения, по которым построена схема в заданном базисе; описание работы, распечатки временных диаграмм работы;

индивидуальные выводы в одном предложении, которые начинаются со слов: «Установлено, что…», «Показано, что…».

4. Контрольные вопросы:

4.1. Расскажите принцип работы линейного дешифратора, его назначение и характеристики.

4.2. Определите быстродействие пирамидального дешифратора на три входа.

4.3. Определите быстродействие прямоугольного дешифратора на шесть входов.

4.4. С какой целью на вход дешифратора код часто подается парафазно.

5. Пример выполнения работы в Multisim 8

Рассмотрим для примера построение пирамидального трехвходового дешифратора на логических элементах «и/не».

Внимательно читаем теорию.

Запускаем Multisim: Пуск -> Программы -> Electronics Workbench -> Multisim 8 -> Multisim 8 Если нет окна нового проекта, то создаем новый проект: File -> New или комбинация клавиш Ctrl+N (Рис. 1)

На панели инструментов «Components» выбираем «Misc Digital» (или иной набор компонентов, в зависимости от условий задачи): появится панель выбора компонентов (Рис. 2 ). Её также можно вызвать в меню Place -> Component (или сочетание славишь Ctrl+W). В ней в поле Family выбираем класс компонента (например, Til), в поле Component выбираем тип компонента (например, Not). Нажимаем Ok и этот компонент появится на рабочем поле (он будет следовать за курсором мыши, пока вы не кликните на рабочем поле для его размещения).

На рисунке приведены типовые элементы, которые необходимы для построения схемы дешифратора: «и, не»

Строим требуемую схему (Рис. 1.3).

На правой панели инструментов «Instruments» выбираем Word Generator и Logic Analizer (или в строке меню: Simulate -> instruments-> Word generator (Logic Analizer)). Эти элементы также следуют за курсором мыши до клика на рабочем поле. Размещаем их, и соединяем со схемой:

Работа с Word generator: кликаем на Word generator и в десятичной (Dec) системе записываем от 0 до кол-ва выходов (000000, 000001, 000002, …), и на последнем ставим Set Final после чего закрываем окно настроек Word generator’a.

П

Кликнуть правой кнопкой мыши

остроение векторной диаграммы: в строке меню выбираем View -> Grapher. Появляется окно Grapher View Не закрывая это окно, выбираем в меню Simulate -> Run. График готов.

Если на панели инструментов окна Grapher View вы выберите команду копировать, то в буфер скопируется построенная векторная диаграмма:

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

Проектирование электронных устройств в Multisim 12.0. Часть 7

В Multisim реализовано большое количество функций для профессионального проектирования микроэлектронных устройств, одной из которых является имитация работы микроконтроллеров. Необходимо отметить, что в состав системы Multisim 12.0 входит 68 моделей микроконтроллеров и 60 моделей микропроцессоров, однако запуск процесса моделирования возможен только для следующих типов микроконтроллеров: 8051, 8052, PIC16F84, PIC16F84A, которые находятся в библиотеке компонентов «MCU». Рассмотрим процесс моделирования схем с использованием микроконтроллеров на примере микроконтроллера 8051. На рисунке 1 представлена цоколевка этого микроконтроллера.


Рис. 1. Назначение выводов микроконтроллера х51.

Для того, что бы добавить данную микросхему в рабочее поле проекта, необходимо в программе Multisim в меню «Вставить» выбрать пункт «Компонент…», в результате чего откроется окно «Выбор компонента» (рис. 2).


Рис. 2. Диалоговое окно «Выбор компонента».

В левой верхней части окна находится меню «Раздел», в котором из выпадающего списка выбирается нужная библиотека компонентов базы данных Multisim. В нашем случае необходимо выбрать пункт «MCU». В поле «Семейство» расположены все группы семейств микросхем выбранной библиотеки, в то время как в поле «Компонент» отображаются все компоненты выбранного семейства. После того как выбор компонента произведен, его условное графическое обозначение отобразится в поле предварительного просмотра «Символ (ANSI)». Для того, что бы разместить выбранный компонент на схеме, необходимо в окне «Выбор компонента» нажать на кнопку «ОК», после чего данное окно будет закрыто, а символ компонента будет прикреплен к курсору мыши, при помощи которого необходимо поместить компонент в нужное место на схеме. При размещении микроконтроллера х51 в рабочем поле проекта откроется окно мастера MCU «Создатель MCU – шаг 1 из 3». Работа мастера состоит из трех шагов, на первом из которых (рис. 3) пользователю будет предложено выбрать директорию размещения проекта и создать для него рабочую папку.


Рис. 3. Окно мастера «Создатель MCU – шаг 1 из 3».

Для этого необходимо указать «Путь доступа к рабочей области для этого MCU» и «Название рабочей области». После того как соответствующие поля заполнены, необходимо нажать на кнопку «Далее», в результате чего будет открыто следующее окно мастера «Создатель MCU – шаг 2 из 3» (рис.4).


Рис. 4. Окно мастера «Создатель MCU – шаг 2 из 3».

На втором шаге мастер предложит определить следующие установки проекта:

  • «Тип проектирования» («Стандартный» или «Использовать внешний Hex файл») – выберите второй параметр в том случае, если у вас уже есть готовый hex файл, в противном случае установите стандартный тип проектирования;
  • «Язык программирования» («С» или «Ассемблер»);
  • «Инструменты ассемблера/компилятора»;
  • «Название проекта» — вводится вручную.

После установки всех параметров необходимо нажать на кнопку «Далее», в результате чего будет открыто третье окно мастера «Создатель MCU – шаг 3 из 3» (рис. 5).


Рис. 5. Окно мастера «Создатель MCU – шаг 3 из 3».

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

  • «Начать с пустого проекта»;
  • «Добавить исходный файл».

Выберите первый пункт в том случае, если у вас уже есть на диске компьютера подготовленный файл .hex. В противном случае, выберите второй пункт. При этом в поле «Имя исходного файла» необходимо прописать название файла .asm, в который в процессе проектирования будет вноситься код программы инициализации микроконтроллера. После того как переключатель установлен в нужную позицию, нажмите на кнопку «Закончить», в результате чего работа с мастером MCU будет закончена.

Новый файл можно добавить в проект и в процессе работы над схемой. Для этого в меню «Микроконтроллеры» выберите пункт «MCU 8051 U?/Менеджер кодов MCU» в результате чего будет открыто окно «Менеджер кодов MCU» (рис. 6) и в поле «Добавить в проект» нажмите на кнопку «Новый файл». Значение «U?» в пункте меню «MCU 8051 U?» зависит от количества микроконтроллеров в вашем проекте.


Рис. 6. Окно «Менеджер кодов MCU».

В том случае если в вашем проекте один микроконтроллер, данный пункт меню будет иметь следующее название «MCU 8051 U1». Если же в вашем проекте несколько микроконтроллеров, то в меню «Микроконтроллеры» количество пунктов «MCU 8051 U?» будет соответствовать количеству микроконтроллеров в вашем проекте, а значение «U?» — номеру микроконтроллера. Необходимо так же отметить, что если в вашей рабочей области создано несколько проектов, то предварительно посредством выделения при помощи левой кнопки мыши необходимо определить в окне «Менеджер кодов MCU» в поле дерева проектов проект, к которому будет добавлен новый файл. В результате выполненных действий будет открыто окно «Новый» (рис. 7), в котором в поле «Тип файла» необходимо выбрать один из следующих пунктов меню:

  • «Файл ассемблера (.asm)»;
  • «Вложенный файл ассемблера (.inc)»;
  • «Исходный файл С (.c)»;
  • «Выходной файл С (.h)»,

а в поле «Имя файла» ввести название файла, который будет добавлен в проект.


Рис. 7. Окно «Новый».

В проект можно так же добавить и уже подготовленные ранее .hex или .asm файлы. Для того, что бы добавить .asm файл, в окне «Менеджер кодов MCU» в поле «Добавить в проект» нажмите на кнопку «Файлы…», в результате чего будет открыто окно проводника Windows, в котором выберите на диске компьютера необходимый файл и нажмите на кнопку «Открыть». Для того, что бы добавить .hex файл, необходимо в меню «Микроконтроллеры» выбрать пункт «MCU 8051 U?/Менеджер кодов MCU» и в открывшемся окне «Менеджер кодов MCU» на вкладке «Основные» в поле «Файл машинного кода для моделирования (*.hex)» нажать на кнопку «Просмотр…» (рис. 8).


Рис. 8. Окно «Менеджер кодов MCU». Добавление .hex файла в проект.

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

После того как работа с мастером MCU закончена, в проект будет добавлена еще одна вкладка для ввода текста программы инициализации микроконтроллера. В меню «Микроконтроллеры» находятся команды для обеспечения написания и отладки программы с учетом особенностей разрабатываемого устройства.

Для наглядной демонстрации работы программы инициализации микроконтроллера воспользуемся цветными пробниками, порог срабатывания которых установим в соответствии с нижним уровнем значения напряжения логической единицы. Цветные пробники расположены на панели инструментов «Виртуальные измерительные компоненты», которую можно добавить в проект при помощи команды меню «Вид/Панель инструментов». Пробники напряжения определяют напряжение в конкретной точке схемы и если исследуемая точка имеет напряжение равное или большее значения напряжения срабатывания, которое указано в настройках данного цветного пробника, то пробник загорается цветом. Установить необходимое пороговое значение срабатывания цветного пробника можно в окне настроек данного прибора на вкладке «Параметры», установив в поле «Пороговое напряжение (VT)» необходимое значение напряжения. Окно настроек можно открыть с помощью двойного щелчка левой кнопки мыши на пиктограмме данного прибора на схеме.

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

После того как в рабочей области проекта собрана схема (рис. 9), а на вкладке «*.asm» введен код программы (рис. 10), можно запускать моделирование.


Рис. 9. Демонстрационная схема с использованием микроконтроллера и цветных пробников напряжения.


Рис. 10. Вкладка «*.asm».

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

  • *.hex — файл машинного кода (рис. 12);
  • *.asm — файл с ассемблерным кодом программы;
  • *.lst — файл листинга программы (рис. 13).

Рис. 11. Рабочая папка проекта MCU.


Рис. 12. Нex файл машинного кода.


Рис. 13. Файл листинга программы инициализации микроконтроллера.

Программа инициализации микроконтроллера пишется на языке программирования asm51. Это язык ассемблера, который предназначен специально для написания программ для микроконтроллеров семейства х51. Написанная программа транслируется с помощью ассемблера asm51, в результате чего будут получены hex файл для загрузки в память программ и листинговый файл с кодами команд и адресами расположения этих кодов. Файл листинга формируется ассемблером в процессе трансляции и представляет собой начальный ассемблерный файл, дополненный следующей информацией. Перед каждой командой размещен номер ее строки в ассемблерном тексте, адрес ячейки памяти программ, в которой размещен код операции команды, а после этого адреса – один, два или три байта самой команды. В конце программы находится таблица имен и меток.

В том случае, если в ходе компиляции кода программы инициализации микроконтроллера были обнаружены ошибки, они будут отмечены компилятором в файле листинга. При этом hex файл не будет сгенерирован до тех пор, пока ошибки не будут устранены. В файле листинга для каждой обнаруженной ошибки компилятор указывает причину ошибки и номер строки, в которой она была обнаружена. На рисунке 13 представлен файл листинга, в котором отладчик сообщает об ошибке номер 2 (Неопределенный идентификатор), которая обнаружена в восьмой строке кода программы и состоит в том что в коде программы неверно указано название порта ввода/вывода данных (в используемом микроконтроллере нет порта с названием Р4). Отчет о возможных ошибках в программе Multisim так же отображается и в нижней части рабочего проекта в окне «Блок информации» на вкладках «Результаты» и «Моделирование». Состояние памяти можно просмотреть при помощи команды меню «Микроконтроллеры/MCU 8051 U?/Просмотр памяти» (рис. 14).


Рис. 14. Окно «Просмотр памяти MCU».

Проанализируем работу демонстрационной схемы, представленной на рисунке 9.

На вкладке «main.asm» при помощи команды «MOV» были даны указания программе инициализации микроконтроллера записать в порт Р1 следующие значения линий порта Р1.7-Р1.0 – «00111111», а в порт Р2 – значения линий порта Р2.7-Р2.0 – «00000101». После запуска моделирования при помощи цветных пробников мы можем проверить правильность работы программы. Как видно из рисунка 9 на выводах портов микроконтроллера Р1 и Р2 действительно та комбинация которую мы указали в коде программы.

При написании кода программы для микроконтроллера х51 необходимо владеть синтаксисом языка программирования asm51. Система команд микроконтроллеров х51 насчитывает 111 базовых команд, которые разделены по функциональному признаку на пять групп: команды передачи данных, арифметических операций, логических операций, передачи управления и операций с битами. Наиболее часто используемые команды asm51 представлены в таблице 1.

Таблица 1. Система команд микроконтроллера х51.

Название команды Мнемокод
Пересылка в аккумулятор из регистра MOV A, R
Пересылка в регистр из аккумулятора MOV R, A
Загрузка константы в регистр MOV R, #d
Обмен аккумулятора с регистром XCH A, R
Сложение аккумулятора с регистром ADD A, R
Сложение аккумулятора с константой ADD A, #d
Инкремент аккумулятора INC A
Инкремент регистра INC R
Декремент аккумулятора DEC A
Декремент регистра DEC R
Логическое И аккумулятора и регистра ANL A, R
Логическое ИЛИ аккумулятора и регистра ORL A, R
Сброс аккумулятора CLR A
Инверсия аккумулятора CPL A
Переход, если аккумулятор равен нулю (mt – метка в коде программы) JZ mt
Переход, если аккумулятор не равен нулю (mt – метка в коде программы) JNZ mt
Пустая операция, которая может быть использована в качестве задержки на 1мкс NOP
Выход из подпрограммы RET

Сопряжение микроконтроллера х51 с микросхемами 7-сегментных индикаторов в Multisim

Система, в которой используется микроконтроллер, может не только чем-то управлять, но и что-то отображать. Чаще всего в качестве узла отображения в схеме используют знакосинтезирующие индикаторы. По способу формирования символов индикаторы бывают 7-сегментными или матричными. Для отображения цифр удобнее использовать 7-сегментный индикатор. Такие индикаторы широко применяются в самых разных устройствах цифровой техники: от калькулятора, до электронных часов. Матричные индикаторы обычно используют для отображения букв. Каких-либо стандартных правил сопряжения микроконтроллера с индикаторами не существует, и в каждом конкретном случае сопряжение может выполняться по-разному.

На рисунке 15 представлен пример соединения микросхемы индикатора с микроконтроллером. Принцип соединения микроконтроллера с элементами схемы такой же, как и для других компонентов схемы.


Рис. 15. Сопряжение микросхемы 7-сегментного индикатора с микроконтроллером.

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

Для управления 7-сегментным индикатором в схеме используется двоично-десятичный дешифратор 74LS48D (отечественный аналог КР514ИД1). Микросхема дешифратора выполняет преобразование двоичного кода полученного с микроконтроллера в код цифры для дальнейшего отображения на микросхеме 7-сегментного индикатора. Микросхема 74LS48D – это специальный дешифратор, предназначенный для преобразования двоичного кода в семисегментный код и управления семисегментными и жидкокристаллическими индикаторами. Входы А, B, C, D – информационные входы. Выходы QA-QG – выходы на семисегментный индикатор. Двоичные коды и соответствующие им десятичные цифры представлены в таблице 2.

Таблица 2. Двоичные коды и соответствующие им десятичные цифры.

Двоичный код Десятичная цифра
0000 0
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9

Для того, что бы добавить микросхему дешифратора в рабочее поле проекта, необходимо открыть окно «Выбор компонента» (рис. 16а) и в его левой верхней части в поле «Раздел» выбрать из списка библиотеку « TTL » . Ниже поля «Раздел» находится поле «Семейство», в котором необходимо выбрать пункт « 74LS » . В поле «Компонент» выберите микросхему 74LS48D и нажмите на кнопку « ОК » . Для того, что бы добавить микросхему семисегментного индикатора с общим катодом, выберите в окне «Выбор компонента» (рис. 16б) в поле «Раздел» библиотеку « Indicators » , в поле «Семейство» пункт « HEX_DISPLAY » , а в поле «Компонент» – SEVEN_SEG_DECIMAL_COM_K.


Рис. 16. Выбор компонентов схемы в окне «Выбор компонента»: (а) дешифратора, (б) семисегментного индикатора.


Рис. 17. Запись двоичного кода цифры 3 в порт Р2 микроконтроллера.

В представленном на рисунке 15 примере индикатор отображает цифру 3. Для этого на вкладке main.asm (рис. 17) при помощи команды mov были даны указания программе инициализации микроконтроллера записать в порт Р2 следующие значения линий порта Р2.7-Р2.0 – «00000011». После запуска моделирования мы можем проверить правильность работы программы. Как видно из рисунка 15 на выводах порта микроконтроллера Р2 действительно та комбинация которую мы указали в коде программы, а индикатор отображает цифру 3.

beluikluk Опубликована: 11.07.2015 0 0

Проектирование электронных устройств в Multisim 12.0. Часть 7

В Multisim реализовано большое количество функций для профессионального проектирования микроэлектронных устройств, одной из которых является имитация работы микроконтроллеров. Необходимо отметить, что в состав системы Multisim 12.0 входит 68 моделей микроконтроллеров и 60 моделей микропроцессоров, однако запуск процесса моделирования возможен лишь для следующих типов микроконтроллеров: 8051, 8052, PIC16F84, PIC16F84A, которые находятся в библиотеке компонентов «MCU». Рассмотрим процесс моделирования схем с использованием микроконтроллеров на примере микроконтроллера 8051. На рисунке 1 представлена цоколевка этого микроконтроллера.


Рис. 1. Назначение выводов микроконтроллера х51.

Для того, что бы добавить данную микросхему в рабочее поле проекта, необходимо в программе Multisim в меню «Вставить» выбрать пункт «Компонент…», в результате чего откроется окно «Выбор компонента» (рис. 2).


Рис. 2. Диалоговое окно «Выбор компонента».

В левой верхней части окна находится меню «Раздел», в котором из выпадающего списка выбирается нужная библиотека компонентов базы данных Multisim. В нашем случае необходимо выбрать пункт «MCU». В поле «Семейство» расположены все группы семейств микросхем выбранной библиотеки, в то время как в поле «Компонент» отображаются все компоненты выбранного семейства. После того как выбор компонента произведен, его условное графическое обозначение отобразится в поле предварительного просмотра «Символ (ANSI)». Для того, что бы разместить выбранный компонент на схеме, необходимо в окне «Выбор компонента» нажать на кнопку «ОК», после чего данное окно будет закрыто, а символ компонента будет прикреплен к курсору мыши, при помощи которого необходимо поместить компонент в нужное место на схеме. При размещении микроконтроллера х51 в рабочем поле проекта откроется окно мастера MCU «Создатель MCU – шаг 1 из 3». Работа мастера состоит из 3-х шагов, на первом из которых (рис. 3) пользователю будет предложено выбрать директорию размещения проекта и создать для него рабочую папку.


Рис. 3. Окно мастера «Создатель MCU – шаг 1 из 3».

Для этого необходимо указать «Путь доступа к рабочей области для этого MCU» и «Название рабочей области». После того как соответствующие поля заполнены, необходимо нажать на кнопку «Далее», в результате чего будет открыто следующее окно мастера «Создатель MCU – шаг 2 из 3» (рис.4).


Рис. 4. Окно мастера «Создатель MCU – шаг 2 из 3».

На втором шаге мастер предложит определить следующие установки проекта:

  • «Тип проектирования» («Стандартный» или «Использовать внешний Hex файл») – выберите второй параметр в том случае, если у вас уже есть готовый hex файл, в противном случае установите стандартный тип проектирования;
  • «Язык программирования» («С» или «Ассемблер»);
  • «Инструменты ассемблера/компилятора»;
  • «Название проекта» — вводится вручную.

После установки всех параметров необходимо нажать на кнопку «Далее», в результате чего будет открыто третье окно мастера «Создатель MCU – шаг 3 из 3» (рис. 5).


Рис. 5. Окно мастера «Создатель MCU – шаг 3 из 3».

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

  • «Начать с пустого проекта»;
  • «Добавить исходный файл».

Выберите первый пункт в том случае, если у вас уже есть на диске компьютера подготовленный файл .hex. В противном случае, выберите второй пункт. При этом в поле «Имя исходного файла» необходимо прописать название файла .asm, в который в процессе проектирования будет вноситься код программы инициализации микроконтроллера. После того как переключатель установлен в нужную позицию, нажмите на кнопку «Закончить», в результате чего работа с мастером MCU будет закончена.

Новый файл можно добавить в проект и в процессе работы над схемой. Для этого в меню «Микроконтроллеры» выберите пункт «MCU 8051 U?/Менеджер кодов MCU» в результате чего будет открыто окно «Менеджер кодов MCU» (рис. 6) и в поле «Добавить в проект» нажмите на кнопку «Новый файл». Значение «U?» в пункте меню «MCU 8051 U?» зависит от количества микроконтроллеров в вашем проекте.


Рис. 6. Окно «Менеджер кодов MCU».

В том случае если в вашем проекте один микроконтроллер, данный пункт меню будет иметь следующее название «MCU 8051 U1». Если же в вашем проекте несколько микроконтроллеров, то в меню «Микроконтроллеры» количество пунктов «MCU 8051 U?» будет соответствовать количеству микроконтроллеров в вашем проекте, а значение «U?» — номеру микроконтроллера. Необходимо так же отметить, что если в вашей рабочей области создано несколько проектов, то предварительно посредством выделения при помощи левой кнопки мыши необходимо определить в окне «Менеджер кодов MCU» в поле дерева проектов проект, к которому будет добавлен новый файл. В результате выполненных действий будет открыто окно «Новый» (рис. 7), в котором в поле «Тип файла» необходимо выбрать один из следующих пунктов меню:

  • «Файл ассемблера (.asm)»;
  • «Вложенный файл ассемблера (.inc)»;
  • «Исходный файл С (.c)»;
  • «Выходной файл С (.h)»,

а в поле «Имя файла» ввести название файла, который будет добавлен в проект.


Рис. 7. Окно «Новый».

В проект можно так же добавить и уже подготовленные ранее .hex или .asm файлы. Для того, что бы добавить .asm файл, в окне «Менеджер кодов MCU» в поле «Добавить в проект» нажмите на кнопку «Файлы…», в результате чего будет открыто окно проводника Windows, в котором выберите на диске компьютера необходимый файл и нажмите на кнопку «Открыть». Для того, что бы добавить .hex файл, необходимо в меню «Микроконтроллеры» выбрать пункт «MCU 8051 U?/Менеджер кодов MCU» и в открывшемся окне «Менеджер кодов MCU» на вкладке «Основные» в поле «Файл машинного кода для моделирования (*.hex)» нажать на кнопку «Просмотр…» (рис. 8).


Рис. 8. Окно «Менеджер кодов MCU». Добавление .hex файла в проект.

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

После того как работа с мастером MCU закончена, в проект будет добавлена ещё одна вкладка для ввода текста программы инициализации микроконтроллера. В меню «Микроконтроллеры» находятся команды для обеспечения написания и отладки программы с учетом особенностей разрабатываемого устройства.

Для наглядной демонстрации работы программы инициализации микроконтроллера воспользуемся цветными пробниками, порог срабатывания которых установим в соответствии с нижним уровнем значения напряжения логической единицы. Цветные пробники расположены на панели инструментов «Виртуальные измерительные компоненты», которую можно добавить в проект при помощи команды меню «Вид/Панель инструментов». Пробники напряжения определяют напряжение в конкретной точке схемы и если исследуемая точка имеет напряжение равное или большее значения напряжения срабатывания, которое указано в настройках данного цветного пробника, то пробник загорается цветом. Установить необходимое пороговое значение срабатывания цветного пробника можно в окне настроек данного прибора на вкладке «Параметры», установив в поле «Пороговое напряжение (VT)» необходимое значение напряжения. Окно настроек можно открыть с помощью двойного щелчка левой кнопки мыши на пиктограмме данного прибора на схеме.

Читать:
Как управлять ардуино с телефона

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

После того как в рабочей области проекта собрана схема (рис. 9), а на вкладке «*.asm» введен код программы (рис. 10), можно запускать моделирование.


Рис. 9. Демонстрационная схема с использованием микроконтроллера и цветных пробников напряжения.


Рис. 10. Вкладка «*.asm».

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

  • *.hex — файл машинного кода (рис. 12);
  • *.asm — файл с ассемблерным кодом программы;
  • *.lst — файл листинга программы (рис. 13).

Рис. 11. Рабочая папка проекта MCU.


Рис. 12. Нex файл машинного кода.


Рис. 13. Файл листинга программы инициализации микроконтроллера.

Программа инициализации микроконтроллера пишется на языке программирования asm51. Это язык ассемблера, который предназначен специально для написания программ для микроконтроллеров семейства х51. Написанная программа транслируется с помощью ассемблера asm51, в результате чего будут получены hex файл для загрузки в память программ и листинговый файл с кодами команд и адресами расположения этих кодов. Файл листинга формируется ассемблером в процессе трансляции и представляет собой начальный ассемблерный файл, дополненный следующей информацией. Перед каждой командой размещен номер ее строки в ассемблерном тексте, адрес ячейки памяти программ, в которой размещен код операции команды, а после этого адреса – один, два или три байта самой команды. В конце программы находится таблица имен и меток.

В том случае, если в ходе компиляции кода программы инициализации микроконтроллера были обнаружены ошибки, они будут отмечены компилятором в файле листинга. При этом hex файл не будет сгенерирован до тех пор, пока ошибки не будут устранены. В файле листинга для каждой обнаруженной ошибки компилятор указывает причину ошибки и номер строки, в которой она была обнаружена. На рисунке 13 представлен файл листинга, в котором отладчик сообщает об ошибке номер 2 (Неопределенный идентификатор), которая обнаружена в восьмой строке кода программы и состоит в том что в коде программы неверно указано название порта ввода/вывода данных (в используемом микроконтроллере нет порта с названием Р4). Отчет о возможных ошибках в программе Multisim так же отображается и в нижней части рабочего проекта в окне «Блок информации» на вкладках «Результаты» и «Моделирование». Состояние памяти можно просмотреть при помощи команды меню «Микроконтроллеры/MCU 8051 U?/Просмотр памяти» (рис. 14).


Рис. 14. Окно «Просмотр памяти MCU».

Проанализируем работу демонстрационной схемы, представленной на рисунке 9.

На вкладке «main.asm» при помощи команды «MOV» были даны указания программе инициализации микроконтроллера записать в порт Р1 следующие значения линий порта Р1.7-Р1.0 – «00111111», а в порт Р2 – значения линий порта Р2.7-Р2.0 – «00000101». После запуска моделирования при помощи цветных пробников мы можем проверить правильность работы программы. Как видно из рисунка 9 на выводах портов микроконтроллера Р1 и Р2 действительно та комбинация которую мы указали в коде программы.

При написании кода программы для микроконтроллера х51 необходимо владеть синтаксисом языка программирования asm51. Система команд микроконтроллеров х51 насчитывает 111 базовых команд, которые разделены по функциональному признаку на пять групп: команды передачи данных, арифметических операций, логических операций, передачи управления и операций с битами. Наиболее часто используемые команды asm51 представлены в таблице 1.

Таблица 1. Система команд микроконтроллера х51.

Название команды
Мнемокод
Пересылка в аккумулятор из регистра
MOV A, R
Пересылка в регистр из аккумулятора
MOV R, A
Загрузка константы в регистр
MOV R, #d
Обмен аккумулятора с регистром
XCH A, R
Сложение аккумулятора с регистром
ADD A, R
Сложение аккумулятора с константой
ADD A, #d
Инкремент аккумулятора
INC A
Инкремент регистра
INC R
Декремент аккумулятора
DEC A
Декремент регистра
DEC R
Логическое И аккумулятора и регистра
ANL A, R
Логическое ИЛИ аккумулятора и регистра
ORL A, R
Сброс аккумулятора
CLR A
Инверсия аккумулятора
CPL A
Переход, если аккумулятор равен нулю (mt – метка в коде программы)
JZ mt
Переход, если аккумулятор не равен нулю (mt – метка в коде программы)
JNZ mt
Пустая операция, которая может быть использована в качестве задержки на 1мкс
NOP
Выход из подпрограммы
RET

Сопряжение микроконтроллера х51 с микросхемами 7-сегментных индикаторов в Multisim

Система, в которой используется микроконтроллер, может не лишь чем-то управлять, но и что-то отображать. Чаще всего в качестве узла отображения в схеме используют знакосинтезирующие индикаторы. По способу формирования символов индикаторы бывают 7-сегментными или матричными. Для отображения цифр удобнее использовать 7-сегментный индикатор. Такие индикаторы широко применяются в самых разных устройствах цифровой техники: от калькулятора, до электронных часов. Матричные индикаторы обычно используют для отображения букв. Каких-либо стандартных правил сопряжения микроконтроллера с индикаторами не существует, и в каждом конкретном случае сопряжение может выполняться по-разному.

На рисунке 15 представлен пример соединения микросхемы индикатора с микроконтроллером. Принцип соединения микроконтроллера с элементами схемы такой же, как и для других компонентов схемы.


Рис. 15. Сопряжение микросхемы 7-сегментного индикатора с микроконтроллером.

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

Для управления 7-сегментным индикатором в схеме используется двоично-десятичный дешифратор 74LS48D (отечественный аналог КР514ИД1). Микросхема дешифратора выполняет преобразование двоичного кода полученного с микроконтроллера в код цифры для дальнейшего отображения на микросхеме 7-сегментного индикатора. Микросхема 74LS48D – это специальный дешифратор, предназначенный для преобразования двоичного кода в семисегментный код и управления семисегментными и жидкокристаллическими индикаторами. Входы А, B, C, D – информационные входы. Выходы QA-QG – выходы на семисегментный индикатор. Двоичные коды и соответствующие им десятичные цифры представлены в таблице 2.

Таблица 2. Двоичные коды и соответствующие им десятичные цифры.

Двоичный код
Десятичная цифра
0000
0
0001
1
0010
2
0011
3
0100
4
0101
5
0110
6
0111
7
1000
8
1001
9

Для того, что бы добавить микросхему дешифратора в рабочее поле проекта, необходимо открыть окно «Выбор компонента» (рис. 16а) и в его левой верхней части в поле «Раздел» выбрать из списка библиотеку «TTL». Ниже поля «Раздел» находится поле «Семейство», в котором необходимо выбрать пункт «74LS». В поле «Компонент» выберите микросхему 74LS48D и нажмите на кнопку «ОК». Для того, что бы добавить микросхему семисегментного индикатора с общим катодом, выберите в окне «Выбор компонента» (рис. 16б) в поле «Раздел» библиотеку «Indicators», в поле «Семейство» пункт «HEX_DISPLAY», а в поле «Компонент» – SEVEN_SEG_DECIMAL_COM_K.


Рис. 16. Выбор компонентов схемы в окне «Выбор компонента»: (а) дешифратора, (б) семисегментного индикатора.


Рис. 17. Запись двоичного кода цифры 3 в порт Р2 микроконтроллера.

Как построить схему дешифратора в мультисиме

Целью лабораторной работы является изучение работы дешифратора.

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

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

При подаче на входы дешифратора любого набора из двоичных переменных только на одном из соответствующих выходов его вырабатывается сигналов “1”, а на всех остальных выходах сохраняются сигналы “0”.

Часто в целях экономии оборудования код слова передается в дешифратор не только своими прямыми, но и инверсными значениями, т.е. парафазно, и число входов таких дешифраторов равно 2n (рис.1 для четырех входового дешифратора). Система логических функций полного дешифратора в базисе «И/НЕ» на n входов имеет следующий вид:

Здесь индекс i функции fi вычисляется по формуле

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

По способам построения дешифраторы классифицируются на линейные, прямоугольные и пирамидальные.

Для линейного дешифратора число каскадов k равно единице, число клапанов (схем И, ИЛИ-НЕ) М=2 n и общее число входов в клапаны М= n 2 n

Если разрядность дешифрируемого слова n больше максимально возможного числа входов клапана в используемой базе элементов, то для реализации функций необходимо объединить схемы в каскад из нескольких клапанов. В таком случае дешифратор уже не будет линейным (однокаскадным).

Если строить схему дешифратора по методу каскадов, т.е. первый каскад для дешифрации двух переменный (x1,x2), затем использовать выходы первого каскада для построения дешифратора из трех переменных (x1,x2,x3), выходы второго каскада для построения дешифратора из четырех переменных (x1,x2,x3,x4) и т.д., то на n –м каскаде схемы дешифратора будет 2 n элементов “И”, а общее число всех элементов определяется из соотношения

Полный дешифратор, построенный по методу каскадов, является пирамидальным дешифратором (k=n-1). Схема пирамидального дешифратора представлена на рис.1, на первый каскад которого поступает сигнал синхронизации дешифрации работы C.

Поскольку любую функцию дешифратора из системы логических функций полного дешифратора в базисе «И/НЕ» на n=m+s входов можно представить в виде конъюнкции двух соответствующих функций

для полных дешифраторов на m и s=n-m входов (например, ), то пирамидальный дешифратор представляет собой полный дешифратор на n входов, построенный за счет многократного объединения полного дешифратора на m=2,3,…n –1 входа и полного дешифратора на один вход s=1.

Быстродействие пирамидального дешифратора определяется временем дешифрирования tдш=kτсрk , где τсрk — среднее время задержки сигнала формирования функции на клапанах k-го каскада дешифратора. Тогда с увеличением числа каскадов быстродействие пирамидального дешифратора, построенного на одинаковых элементах уменьшается в k раз. Поэтому для повышения быстродействия и экономии оборудования, сложные дешифраторы строятся, как правило, прямоугольными. Прямоугольные дешифраторы строятся путем объединения линейных дешифраторов на меньшее число входов (рис.2) m и s схемами, реализующими конъюнкцию . Дешифратор, построенный по принципу разбиения n “почти пополам”(s>1), обычно называется прямоугольным дешифратором.

Функциональная схема прямоугольного дешифратора для четырехразрядного (n=4) входного слова показана на рис. 2. Количество клапанов “И” в двухкаскадном (K=2) прямоугольном дешифраторе можно определить по формуле

Пример выполнения работы в Multisim 8

Рассмотрим для примера построение пирамидального трехвходового дешифратора на логических элементах «и/не».

1. Внимательно читаем теорию.

2. Запускаем Multisim: Пуск -> Программы -> Electronics Workbench -> Multisim 8 -> Multisim 8
Если нет окна нового проекта, то создаем новый проект: File -> New или комбинация клавиш Ctrl+N (Рис. 1)

3. На панели инструментов «Components» выбираем «Misc Digital» (или иной набор компонентов, в зависимости от условий задачи):

появится панель выбора компонентов (Рис. 2 ).
Её также можно вызвать в меню Place -> Component (или сочетание славишь Ctrl+W). В ней в поле Family выбираем класс компонента (например, Til), в поле Component выбираем тип компонента (например, Not). Нажимаем Ok и этот компонент появится на рабочем поле (он будет следовать за курсором мыши, пока вы не кликните на рабочем поле для его размещения).

На рисунке приведены типовые элементы, которые необходимы для построения схемы дешифратора: «и, не»

5. На правой панели инструментов «Instruments» выбираем Word Generator и Logic Analizer (или в строке меню: Simulate -> instruments-> Word generator (Logic Analizer)). Эти элементы также следуют за курсором мыши до клика на рабочем поле. Размещаем их, и соединяем со схемой:

6. Работа с Word generator: кликаем на Word generator и в десятичной (Dec) системе записываем от 0 до кол-ва выходов (000000, 000001, 000002, …), и на последнем ставим Set Final после чего закрываем окно настроек Word generator’a.

Построение векторной диаграммы: в строке меню выбираем View -> Grapher. Появляется окно Grapher View

Не закрывая это окно, выбираем в меню Simulate -> Run. График готов.

Если на панели инструментов окна Grapher View вы выберите команду копировать, то в буфер скопируется построенная векторная диаграмма:

Разработка дешифратора в Multisim. Есть загвоздки и неясности

Задание:
«Разработка дешифратора управления девятисегментным индикатором»
Записать логические функции, реализация которых с помощью девятисегментного индикатора обеспечит воспроизведение знаков. Свечению сегмента соответствует логическая единица. Начертание символов выбрать самостоятельно. Разработать схему управления индикатором, провести её моделирование. Для упрощения логических выражений можно использовать логический конвертор — Logic Convertor. Индикатор находится в группе Indicators, семейство HEX_DISPLAY, элемент SEVEN_SEG_COM_K. Для воспроизведения «наклонных» сегментов использовать отдельные индикаторы (группе Indicators, семейство PROBE).
Знаки для воспроизведения: F, L, H, 4, Г, U
Что сделано:
Таблица истинности
Зачатки будущей схемы

Дальше, я так понял, нужно составить логические выражения некие, для каждого сегмента.
Например, в моем случае для сегмента «а» логическое выражение будет: /A*/B*С+/A*B*/C (Правильно ведь?)

Вопрос в том, как с помощью этих выражений составить схему в надлежащем виде и требуется ли по заданию сделать что-то ещё?

На схеме Logic Conventer, семисегментный индикатор и 2 индикатора для отображения наклонных линий элементов

Разработка дешифратора управления девятисигментныи индикатором в Multisim
Завтра последний день сессии. Осталось пройти босса. В связи с этим молю о помощи. :gcray2: .

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

Подсчёт выражения. Разработка программы и неясности с функцией pow
Привет, друзья. Задали задачку вот такую: http://habreffect.ru/files/808/bdadc49dd/DSC08284.jpg.

Есть ли кольцевой распределитель импульсов в Multisim 14?
Подскажите пожалуйста есть ли в Multisim 14 кольцевой распределитель импульсов, если есть какой у.

Указания по моделированию дешифраторов на ЭВМ с использованием пакета программ MULTISIM

Лабораторная работа № 2

Исследование дешифраторов и демультиплексоров

Цель работы: изучение принципов синтеза комбинационных схем (КС) и построения на их основе схем дешифраторов, а также освоение методики их моделирования с помощью пакета прикладных программ MULTISIM и MAX+plusII.

Теоретическое введение

При подготовке к работе необходимо: проработать теоретический материал, выполнить синтез заданной КС, провести экспериментальное исследование схем дешифраторов в соответствии с заданным номером варианта (табл. 2.1), и отмоделировать их на ЭВМ с использованием пакета MULTISIM, а затем собрать заданную схему в MAX+plus II.

Таблица 2.1 Варианты для выполнения индивидуального задания

№ варианта Полная схема Схема Россия (зарубежный аналог) Выполняемая функция Расширение возможностей DS — DC
К561ИД1 (4028/4028BT) Дешифратор 4®10 с открытым коллектором Фрагмент на 6
К155ИД3 (74154/74154N) Дешифратор 4®16 Демультиплексор 4®16 Каскадное соединение 2 ИМС
К155ИД4 (74155/74LS155D) Дешифратор 2®8 Расширение за счет объединения 2 ИМС
К1564ИД5 (74156/74LS156D) Дешифратор 2®8 Расширение за счет управления на 3 ИМС
К155ИД6 (7442/7442N) Дешифратор 4®10 Фрагмент на 7
К155ИД7 (74138/74LS138D) Дешифратор 3®8 Каскадное соединение 3 ИМС
К155ИД10 (74145/74LS145D) Дешифратор 4®10 Расширение за счет объединения 3 ИМС
К531ИД14 (74139/74LS139D) Дешифратор 2®4 Расширение за счет управления на 2 ИМС
К561ИД1 (4028/4028BD) Дешифратор 4®10 Расширение за счет управления на 2 ИМС
К155ИД3 (74154/74154N) Дешифратор 4®16 Расширение за счет управления на 3 ИМС
К155ИД4 (74155/74LS155N) Дешифратор 2®8 Расширение за счет управления на 2 ИМС
К1564ИД5 (74156/74LS156N) Дешифратор 2®8 Фрагмент на 6
К155ИД6 (7442/7442N) Дешифратор 4®10 Фрагмент на 8
К155ИД7 (74138/74LS138N) Дешифратор 3®8 Расширение за счет объединения 3 ИМС
К155ИД10 (74145/74LS145N) Дешифратор 4®10 Расширение за счет управления на ИМС
КР531ИД14 (74139/74LS139N) Дешифратор 2®4 Каскадное соединение 2 ИМС

Примечание: цифры в строке “полная схема” соответствуют построению полных дешифраторов 2-х, 3-х, 4-х разрядных двоичных кодов, где n=2,3,4-количество входов у дешифратора; в строке “фрагмент” — фрагментам схем дешифраторов 6-ти, 7-ми, 8-ми, 9-ти, 10-ти разрядных двоичных кодов с шестнадцатью выводами позиционного пространственного кода, где n=6,7,8,9,10-количество входов у дешифратора.

Дешифраторы являются преобразователями кодов, выполняющими преобразование двоичного или двоично-десятичного кода в унитарный код (код, представленный 2 n разрядами для двоичного n-разрядного числа, только один из разрядов которого равен “1”).

Полным дешифратором с прямыми выходами (DC-Decoder) называется КС, имеющая n входов и реализующая 2 n минтерма:

где v = (xn,…,x1), i = en…e1-двоичное число, а i = 0,1,2…2 n — 1-десятичное число; если ep=1, то xp = x, если ep = 0 , то xp= .

Такие дешифраторы называются дешифраторами n x 2 n . В соответствии со свойствами минтермов при каждой комбинации значений входных сигналов xp только один выход Fi принимает значение, равное 1. Поэтому дешифраторы широко используются в коммутаторах электронных устройств, обеспечивая включение в каждый момент времени только одного устройства.

Дешифраторы различают по ёмкости (2, 3, 4 бита), по числу каналов (один или два), а также форматом входного кода (двоичный или двоично-десятичный). Дешифраторы могут быть как полными, так и неполными.

Неполным дешифратором называется КС, имеющая n входов, но реализующая N n минтермов n переменных. Такие дешифраторы называются дешифраторами n x N. В виде ИС выпускаются дешифраторы 4 x 10, 4 х 7 и другие.

Полным дешифратором называется комбинационная схема (КС), имеющая n входов и 2 n выходов и реализующая на выходах с номерами 0,1,2…2 n -1 значения булевых функций соответственно:

Например, дешифратор 2´4 имеет 2 входа и 4 выхода, на которых реализованы функции K0, K1, K2, K3.

Принципиальная схема этого дешифратора приведена на рис. 2.1а.

Рис. 2.1 Дешифратор 2´4: а) принципиальная схема; б) условное обозначение

Дешифратор может быть неполным, реализующим m n функций (пример использования: преобразование двоично-десятичного кода в код, предназначенный для управления десятичным индикатором — дешифратор 4´10).

На основе полных дешифраторов строят дешифраторы — демультиплексоры выполняющие функции ¦i = V×Ki×(Xn…X1), то есть используется дополнительный вход V, сигнал с которого подаётся на все логические элементы полного дешифратора (рис. 2.2).

Рис. 2.2 Четырёхканальный дешифратор-демультиплексор.

Принципиальная схема ИМС К155ИД4 приведена на рис. 2.3.

Рис. 2.3 Принципиальная схема сдвоенного 4-х канального дешифратора-демультиплексора (ИМС К155ИД4), где D1, D2— адресные входы; V1, V2 и V3, V4— стробирующие; A0 -A3 и B0 -B3 – выходы (по 4 на каждый дешифратор)

Дешифратор выполняет следующие функции:

при и получается сдвоенный дешифратор 2´4 с инверсными выходами (рис. 2.4).

Рис. 2.4 Сдвоенный 4-х канальный дешифратор-демультиплексор (ИМС К155 ИД4): а) функциональная схема; б) условное графическое обозначение

Сдвоенный демультиплексор с одного входа на 4 выхода получают, если входы V2 и V4 используют для передачи данных соответственно для первого и второго демультиплексоров, входы V1 и V3 — стробирующие, а общие входы D1 и D2 используются для выбора (подключения) необходимого выхода.

Если положить V2 =`V4 = D3 и`V1 =`V3 º 0, то получится 8-ми канальный дешифратор-демультиплексор, выполняющий функции:

Рис. 2.5 Восьмиканальный дешифратор-демультиплексор, выполненный на ИМС К155 ИД4. Функциональная схема

При`Vº0 данная схема представляет собой дешифратор 3´8 с инверсными выходами.

16-ти канальный дешифратор-демультиплексор реализован на ИМС К155 ИД3 (рис. 2.6).

Рис. 2.6Принципиальная схема ИМС К155ИД3.

Вышеупомянутая ИМС К155ИД3 выполняет функцию:

— это коммутатор, который передаёт сигнал на один из 16-ти выходов в зависимости от значений сигналов на 4-х адресных входах (рис. 2.7).

Рис. 2.7Условное графическое обозначение16-ти канального дешифратора-демультиплексора ИМС К155 ИД3

Условное обозначение

Если положить`V1 =`V2 º 0 ИМС выполняет функцию дешифратора 4´16 с инверсными выходами.

Использование двух дополнительных входов`V1 и`V2 позволяет построить 32-х канальный дешифратор-демультиплексор (рис. 2.8).

Рис. 2.832-х канальный дешифратор-демультиплексор, выполненный на 2-х ИМС К155 ИД3. Функциональная схема

V2 используется в качестве 5-го адресного входа, имеющего вес — 16, а на вход`V1 подаётся коммутирующий на 32 выхода сигнал`V, т.е. схема выполняет функции:

принимая`Vº0 получаем дешифратор 5´32 и инверсными выходами.

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

Рис. 2.9Каскадный дешифратор. Функциональная схема на 4 входа и 16 выходов

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

Рис. 2.10 Фрагмент функциональной схемы дешифратора 6х64

Указания по моделированию дешифраторов на ЭВМ с использованием пакета программ MULTISIM

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

1. Запустите пакет программ Multisim. В меню Options нажмите Preferences для настройки Вашего рабочего места. В свойстве Color можно выбрать подходящие для Вас цвета (рис. 2.11), а в закладке Component Bin в стандарте символов установите DIN. Нажмите ОК..

Рис. 2.11 Выбор цветовой схемы

Рис. 2.12 Выбор стандарта для отображения элементов

2. Соберите схему дешифратора в соответствии с вариантом в таблице, используя линейку инструментов и панель инструментов (см. руководство пользователя Multisim).

3. Подключите генератор сигналов и логический анализатор (или несколько) к собранному дешифратору. Пример подключения показан на рис. 2.13.

Рис. 2.13 Дешифратор, для преобразования двоичного кода в коды управления семисегментным индикатором

4. Установите необходимые последовательности сигналов на выходе генератора. Установите значение параметра Frequency (рекомендуемое 16 кГц).

Рис. 2.14 Входные сигналы

5. В настройках Clock Setup логического анализатора (если несколько, то всех) установите значение частоты, равное значению, выбранному в генераторе слов (это важно, особенно при внутренней синхронизации логического анализатора).

Рис. 2.15 Задание частоты следования сигналов

6. Активизируйте анализатор сигналов и включите схему (Кнопка ВКЛ / ВЫКЛ схемы, обычно справа вверху).

7. Пронаблюдайте и зафиксируйте сигналы на выходе.

Рис. 2.16 Сигналы на выходе

2.3 Порядок проведения работы с использованием пакета MAX+PLUS

1. Процедура разработки нового проекта.

Процедуру разработки нового проекта можно упрощённо представить следующим образом:

1.1 Запуск пакета осуществляется щелчком по иконке .

1.2 Создание нового файла проекта или иерархической структуры нескольких файлов проекта с помощью любого сочетания редакторов в системе MAX+PLUS II, то есть графического, текстового и сигнального редакторов. Для этого выбираем из меню File / New.

Рис. 2.17 Окно создания нового файла

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

Рис. 2.18 Общий вид программы

1.3 Задание имени файла проекта верхнего уровня в качестве имени проекта. Для этого выбираем из меню: File / Project / Name.

Рис. 2.19 Задание имени нового проекта

В поле Project Name вводим имя проекта, для нашего примера это sum2 (сумма по модулю 2).

1.4 Назначаем семейство ПЛИС для проекта (например МАХ3000А);

Меню Assign / Device.

Рис. 2.20 Выбор семейства ПЛИС

В поле Device Family выбирается семейство ПЛИС, в данном случае мы выбираем MAX3000А, для удобства проектирования и создания входных сигналов, т.к. данная серия способна воспринимать сигналы с наносекундной задержкой, т.е. те, которые создаются редактором сигналов по умолчанию.

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

2.1 Для размещения элементов щелкаем по правой кнопке мыши, для появления контекстного меню, в котором выбираем Enter Symbol.

Рис. 2.21 Вставка элемента

2.2 В поле Symbol Libraries два раза щелкаем на строке c:\maxplus2\max2lib\mf, тогда в поле Symbol Files отобразится список элементов данной библиотеки, среди которых надо выбрать необходимые и нажать OK.

Стандартные логические элементы находятся в библиотеке mf.

Входные и выходные элементы находятся в библиотеке prim и называются input и output соответственно. С помощью мышки разместить элементы схемы в окне.

Элемент отрицания находится в библиотеке prim и называется not.

Например, мы строим 32-х канальный дешифратор-демультиплексор, выполненный на 2-х ИМС 74154.

2.3 Далее нажав кнопку , графическим курсором строим логическую схему.

2.4 Теперь зададим имена входных и выходных сигналов.

Для этого щелкаем два раза левой кнопкой мыши по месту, где написано input signal и пишем нужное название. Аналогично для выходных сигналов.

Например, входы обозначаем x1, x2, x3,x4, а выходы – от y (1-16).

Рис. 2.22 Дешифратор, который задаёт дешифрацию двоичного десятичного кода в унитарный код

Файл создается с входными и выходными сигналами.

3.1 Для этого: File/ New/ Waveform Editor File.

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

Рис. 2.23 Задание имён входных и выходных сигналов

Здесь задаем название сигнала в поле Node Name и его характер в поле I/O Type: входной (input pin), выходной (output pin) или биполярный (buried node). Они должны соответствовать названиям на схеме.

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

— для низкого уровня,

— для высокого уровня.

В меню View / Time Range можно задать видимую на экране часть временных диаграмм.

В меню File / End Timeзадаем конечное время.

Рис. 2.24 Диаграмма входных и выходных сигналов

Предоставляет очень широкие возможности управления алгоритмом компиляции посредством опций меню. В этой работе рассмотрим лишь некоторые возможности (подробнее об этом можно прочитать в руководстве пользователя):

· автоматический или ручной выбор ПЛИС;

· автоматическое разбиение (при необходимости) на несколько корпусов ПЛИС;

· возможность назначения сигналов на конкретные выводы микросхемы;

· возможность размещения конкретных функций в конкретных ресурсах микросхемы;

· оптимизация алгоритмов синтеза;

· временной синтез (с учетом требуемых временных параметров);

· возможность управления соотношением потребление/ быстродействие;

· удобная система отслеживания синтаксических и семантических ошибок.

Открытие окна компилятора Compiler( ) и выбор кнопки Startдля начала компиляции проекта. По желанию пользователя можно подключить модуль извлечения временных параметров проекта Timing SNF Extractor для создания файла, используемого при временном моделировании.

Рис. 2.25 Окно компилятора

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

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

5.1 Для проведения временного анализа задержек открыть окно Timing Analyzer, выбрать режим анализа и нажать кнопку Start.

Рис. 2.26 Анализ временных задержек

По строкам отображается информация о входных сигналах, в столбце о выходном. Таблица представляет собой перекрестную таблицу, показывающую время, через которое сигнал, поданный на вход вызовет реакцию на выходе (например, в нашем случае 7,5ns — задержка сигнал на выходе относительно входа).

5.2 Для проведения симуляции мы уже создали векторный тестовый вектор в файле канала тестирования (.scf), пользуясь сигнальным редактором. Затем открываем окно отладчика Simulator(иконка ).

Похожие публикации