Вопрос по элементу схемы в мультисиме
Курганов Никита
Знаток
(447),
на голосовании
6 лет назад
Все привет. У меня вопрос по элементу из этой схемы. Что это и где его найти? В разделе Switch его нет.
Голосование за лучший ответ
Цифровыми
называют устройства, предназначенные
для формирования, преобразования и
передачи кодовых слов. При этом кодовые
слова (коды или числа) в электронных
цифровых устройствах представляются
в виде последовательностей электрических
импульсов (сигналов с двумя уровнями
напряжения: высоким и низким), а их
преобразования осуществляются
арифметическими, логическими, запоминающими
и вспомогательными устройствами.
Элементами
и узлами цифровых устройств, служащими
основой для построения микропроцессоров,
микропроцессорных систем, компьютеров,
автоматизированных систем управления
объектами, технологическими процессами
и информационными потоками являются:
дешифраторы, сумматоры, триггеры,
регистры, счетчики и многие другие.
Базовые
элементарные единицы цифровых схем,
такие как элементы «И», «ИЛИ», «НЕ»,
находятся в разделе Misc
Digital,
подраздел TIL.
Рассмотрим
каждый из них в отдельности:
Элемент |
|
Элемент |
|
Элемент |
|
|
Элемент |
Элемент |
На
основе базовых элементов создадим схему
цифрового устройства для принятия
решения по условию. Блок-схема такого
устройства представлена на рис. 6.22.
Условие будет задано логическим
выражением:
Рис.
6.22. Блок-схема цифрового устройства
Модель, полученная
в Multisim, отображена на рис. 6. 23. На выходах
будет наблюдаться сигнал высокого
уровня (5В), когда конфигурация входов
будет удовлетворять заданному условию.
Рис.
6.23. Модель устройства в Multisim
Теперь рассмотрим
схему и механизм работы часто используемого
устройства – мультиплексора –
переключателя каналов. Структурная
схема отображена на рис. 6.21. На схеме
есть два базовых элемента – переключатель
и выключатель. Переключатель выполнен
в виде ключа с сигналами x1 и x2, именно
он определяет, какой из четырех каналов
подключен к выходу в данный момент. В
положении ключа 00 (код адреса х1 = 0, х2 =
0) у = а; в положении 01 (х1 = 0, х2 = 1) у = b; в
положении 10 (х1 = 1, х2 = 0) у = c; в положении
11 (х1 = 1, х2 = 1) у = d. Выключатель контролирует
работу устройства в целом: при Е = 1
мультиплексор работает как обычно, при
Е = 0 выход узла находится в неактивном
состоянии, мультиплексор заперт.
Функционирование мультиплексора
описывается выражением:
Рис.
6. 24. Структурная схема мультиплексора
На рис. 6.25 а, б
приведены два примера реализации модели
мультиплексора. В первом случае ключ
состоит из двух линий, в каждой из которых
по два последовательно включенных
элементов «НЕ». Во втором – используется
дешифратор DCD_2TO4.
Рис.
6.25 а. Модель мультиплексора
Рис.
6.25 б. Модель мультиплексора
Триггеры.
Триггерами
называются устройства, обладающие двумя
устойчивыми состояниями (Q
= 1 иQ = 0) и
способные находиться в одном из них
сколь угодно долго и переходить из
одного состояния в другое под воздействием
внешних сигналов. В каком из этих
состояний окажется триггер, зависит от
сигналов на входах триггера и от его
предыдущего состояния, т.е. он имеет
память. Таким образом, триггер –
элементарная ячейка памяти.
Тип
триггера определяется алгоритмом его
работы, в зависимости от которого триггер
может иметь установочные, информационные
и управляющие входы. Установочные входы
обуславливают состояние триггера
независимо от состояния других входов.
Входы управления разрешают запись
данных, подающихся на информационные
входы. Наиболее распространенными
являются триггерыRS-,JK–,D–
иT-типов.
RS-триггер– простейший автомат с памятью, который
может находиться в двух состояниях.
Триггер имеет два установочных входа:
установкиS(set– установка) и сбросаR(reset– сброс), на которые
подаются входные сигналы от внешних
источников. При подаче на установки
активного логического уровня триггер
устанавливается в единицу (Q= 1,Q′ = 0, здесь штрих
означает инвертирование), при подаче
активного уровня на вход сброса триггер
устанавливается в ноль (Q= 0,Q′ = 1). Если на оба
установочных входа подать пассивный
логический уровень, то триггер сохраняет
предыдущее состояние выходов:Q
= 1 илиQ = 0. Каждое
состояние устойчиво и поддерживается
за счет действия обратных связей. Подача
активного уровня одновременно на оба
установочных входа запрещена, так как
триггер не может быть установлен в ноль
и единицу.
RS-триггер
может быть выполнен на элементах «ИЛИ-НЕ»
или «И-НЕ» (рис. 6.26).
а
б
Рис.
6.26. RS-триггер:
а –
на элементах «ИЛИ-НЕ», б
– на элементах
«И-НЕ»
Рис.
6.26. Моделирование RS-триггера в Multisim
Для RS-триггеров,
выполненных на элементах «ИЛИ-НЕ»,
активным уровнем на управляющих входах
является уровень логической единицы,
а на элементах «И-НЕ» – уровень
логического нуля.
RS-триггер
– основной узел построения последовательных
схем. Условия переходов триггеров из
одного состояния в другое можно описать
табличным, аналитическим или графическим
способами. Табличное описание работыRS-триггера на элементах
«ИЛИ-НЕ» и «И-НЕ» представлено в табл.
6.1 и 6.2 соответственно, где Qt– предшествующее состояние выхода;Qt+1– новое состояние, устанавливающееся
после перехода; – – неопределенное
состояние.
Т а б л и ц а
6.1 Т а б л и ц
а 6.2
-
R
S
Qt+1
R
S
Qt+1
0
0
Qt
0
0
–
1
0
0
1
0
1
0
1
1
0
1
0
1
1
–
1
1
Qt
Триггер JK-типаимеет более сложную структуру и более
широкие возможности по сравнению вRS-триггером. Кроме
информационных входовJиKи прямого и
инверсного выходовQиQ′,JK-триггер
имеет вход управленияC(тактирующий или счетный) и два асинхронных
установочных входаRиS. Обычно активными
уровнями установочных сигналов являются
нули. Установочные входы имеют приоритет
над остальными входами. Активный уровень
сигнала на входеSустанавливает триггер в состояние
единица (Q = 1), а на
входеRв состояние
ноль (Q = 0), независимо
от сигналов на остальных входах. Если
на входы установки подать пассивный
уровень сигнала, то состояние триггера
будет изменяться по фронту импульса на
счетном входе в зависимости от состояния
входовJиK.
Один из вариантов
функциональной схемы JK-триггера
и его условное графическое изображение
приведены на рис. 6.27, временные
диаграммы его работы приR=S=1
– на рис. 6.28.
Рис.
6.27. JK-триггер:
а
– функциональная схема; б
– условное
графическое обозначение
Рис.
6.28. Временная
диаграмма работы JK-триггера
Рис.
6.29. Моделирование JK-триггера в Multisim
D-триггеримеет один информационный входD(data– данные) и один
счетный входC.
Информация с входаDзаписывается в триггер по положительному
перепаду импульса на счетном входе и
сохраняется до следующего положительного
перепада. Кроме счетногоCи информационногоDвходов, у триггера есть два асинхронных
установочных входаRиS. Установочные
входы приоритетные. Активный уровень
сигнала на входеSустанавливает триггер в состояние
единица (Q=1), а на входеRв состояние ноль
(Q=0), независимо от сигналов
на остальных входах.
Условное обозначение
D-триггера с диаграммами
входных и выходных сигналов приведено
на рис. 6.30.
Рис.
6.30. D-триггер:
а –
условное обозначение; б
– временные
диаграммы
Рис.
6.31. Моделирование D-триггера в Multisim
T-триггер,
илисчетный триггер, – устройство,
осуществляющее счетный режим. Такие
схемы можно построить на основеJK–
илиD-триггеров.
В D-триггере
счетный режим (рис. 6.32,а) реализуется
при помощи обратной связи, когда на
входDподается сигнал
с инверсного выхода триггера, т.е. всегда
осуществляется неравенство сигналов
на входеDи на выходеQ(еслиQ=1,D=0 и наоборот). Следовательно, при
каждом положительном перепаде сигнала
на счетном входеСсостояние выхода
будет изменяться на противоположное.
Рис.
6.32. T-триггер:
а –
условное обозначение; б
– временная
диаграмма
Таким образом, на
каждые два входных тактовых импульса
T-триггер формирует
один период выходного сигналаQ,
т.е. период выходного сигнала в два раза
больше периода входного сигнала.
Следовательно, триггер осуществляет
деление частотыfтна его входе на две:fQ=fт/2, гдеfQ– частота следования импульсов на
выходе триггера.
Рис.
6.33. Моделирование T-триггера
в Multisim
Регистры.
Триггерным
регистром называется совокупность
триггеров с определенными связями между
ними, при которых они действуют как
единое устройство. Регистры выполняются
на синхронных триггерахJK–
илиD-типа. В зависимости
от выполняемых функций регистры делятся
на накопительные (параллельные) и
сдвигающие.
В последовательном
регистре выход предыдущего триггера
подается на вход следующего триггера,
а тактовые импульсы подаются на входы
Свсех триггеров, составляющих
регистр, одновременно (рис. 6.34). При этом
содержимое каждого триггера записывается
в последующий триггер. Такие регистры
называются сдвиговыми регистрами, или
регистрами сдвига.
Рис.
6.34. Последовательный
регистр (регистр сдвига)
Рис.
6.35. Моделирование последовательного
регистра в Multisim
Если на вход Dрегистра сдвига подать единицу, а на
входСтактовую частоту, то единица
начнет продвигаться по регистру сдвига,
т.е. под воздействием первого тактового
импульса единица запишется в первый
триггер регистра. Под воздействием
второго тактового импульса эта единица
перепишется во второй триггер и т.д.,
когда под воздействиемN-го
тактового импульса единица не выйдет
из регистра сдвига. Временная диаграмма
работы четырехразрядного регистра
сдвига приведена на рис. 6.36.
Рис.
6.36. Временная
диаграмма четырехразрядного регистра
сдвига
Виды регистров
сдвига:
-
с последовательным
вводом и выводом; -
с последовательным
вводом и параллельным выводом; -
с параллельным
вводом и последовательным выводом; -
с
Рис.
6.37. Параллельный
регистрпеременным направлением
сдвига (реверсивные регистры сдвига).
Кроме последовательных
регистров сдвига существуют параллельные
регистры, в
которых информация подается
одновременно на все Nтриггеров и считывается одновременно
с выходов всех триггеров регистра (рис.
6.37). Тактовая частота подается одновременно
на все триггеры.
Рис.
6.38. Моделирование параллельного регистра
в Multisim
Параллельные
регистры используются для хранения
двоичной информации небольшого объема
в течение короткого промежутка времени.
Счетчики.
Счетчиком называется
устройство, подсчитывающее число входных
импульсов. Число, представляемое
состоянием его выходов по фронту каждого
входного импульса, изменяется на единицу.
Счетчик состоит из nпоследовательно соединенных счетных
триггеров, причем выход одного счетного
триггера соединен с тактовым входом
следующего триггера. Счетчики бывают
суммирующими (прямой счет) и вычитающими
(обратный счет). В суммирующих счетчиках
каждый входной импульс увеличивает
число на его выходах на единицу, в
вычитающих счетчиках уменьшает это
число на единицу. Для того чтобы построить
суммирующий счетчик, необходимо счетный
вход очередного триггера подключить
к инверсному выходу предыдущего (рис.
6.39).
Рис.
6.39. Суммирующий
счетчик и диаграмма его работы
Рис.
6.40. Моделирование суммирующего счетчика
в Multisim
Для того чтобы
изменить направление счета (реализовать
вычитающий счетчик), необходимо счетный
вход очередного триггера подключить к
прямому выходу предыдущего, при этом
изменяется последовательность
переключения триггеров (рис. 6.41).
Счетчик характеризуется
числом состояний в течение одного
периода (цикла). Для двоичных счетчиков
полный цикл счета N=2nот состояния 0..000 до состояния 1…11. Число
состояний называется коэффициентом
пересчетаKсч,
равным отношению числа импульсовNсна входе к числу импульсовNQстна выходе старшего разряда за период:
.
Рис.
6.41. Вычитающий
счетчик и диаграмма его работы
Рис.
6.42. Моделирование вычитающего счетчика
в Multisim
Счетчик характеризуется
числом состояний в течение одного
периода (цикла). Для двоичных счетчиков
полный цикл счета N=2nот состояния 0..000 до состояния 1…11. Число
состояний называется коэффициентом
пересчетаKсч,
равным отношению числа импульсовNсна входе к числу импульсовNQстна выходе старшего разряда за период:
.
Если на вход
счетчика подавать периодическую
последовательность импульсов с частотой
fс, то частотаfQна выходе старшего разряда счетчика
будет меньше вKсч
раз:Kсч=fс/fQ.
Поэтому счетчики также называют
делителями частоты, аKсч– коэффициентом деления. Для увеличения
величиныKсчнужно увеличить число триггеров в
цепочке. Каждый дополнительный триггер
удваивает число состояний счетчика и
числоKсч.
Дешифраторы.
Комбинационной
называется логическая схема, реализующая
однозначное соответствие между значениями
входных и выходных сигналов. Дешифратор
– логическая комбинационная схема,
имеющая nинформационных
входов и 2nвыходов. Каждой комбинации логических
уровней на входах будет соответствовать
активный уровень на одном из 2nвыходов. Как любая логическая схема,
дешифратор может быть задан таблицей
истинности. Таблица истинности дешифратора
3х8 (табл. 6.3) состоит из трех столбцов,
соответствующих входным сигналамХ0,Х1,Х2, и восьми
столбцов, соответствующих выходным
сигналамY0,Y1,Y2,Y3,Y4,Y5,Y6,Y7.
В первых слева трех столбцах расположены
возможные комбинации входных сигналов,
а в последних восьми – соответствующие
им комбинации выходных сигналов.
Т
а б л и ц а 6.3
Схема имеет восемь
выходов, на одном из которых потенциал
высокий, на остальных низкий. Номер
единственного выхода, имеющего высокий
потенциал, соответствует двоичному
числу, формируемому состояниями входных
сигналов. Этот принцип формирования
выходного сигнала можно описать следующим
образом: Yi= 0, еслиi=k;Yi= 1, еслиi≠k,
здесьi– номер разряда;k= 22 X2+ 21X1 +
20X0.
Выражения для
каждого выхода дешифратора:
где «¯» –
инвертирование.
Таким образом,
схема дешифратора должна содержать три
схемы «НЕ» и восемь схем «3И» (рис. 6.43).
Рис.
6.43. Схема
дешифратора 3х8
Рис.
6.44. Моделирование дешифратора 3х8 в
Multisim
Разработка схем электрических принципиальных с использованием микроконтроллеров
В 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.
Теги:
Все статьи цикла.
Введение
В связи с развитием современных компьютерных технологий существенно изменились подходы к решению проблем проектирования электронных устройств. Физическое проектирование устройства связано с большими материальными затратами, поскольку требуется изготовление макетов и их трудоемкое исследование при помощи приборов. При этом большинство ошибок допускается на ранних стадиях проектирования, когда спецификации принимаются в форме, не допускающей моделирования. Просчеты обнаруживаются на более поздних стадиях с помощью имитатора реализации в прототипе или уже в изготовленном оборудовании. Затраты на исправление большинства ошибок увеличиваются по мере работы над проектом вплоть до их окончательного выявления на этапе проверки, например при проектировании микросхемы, когда недостатки выявляются при испытании кремниевой пластины после ее получения от изготовителя. Это означает, во‑первых, чрезвычайно высокую стоимость исправления ошибок и возвращение к этапу проектирования, а во‑вторых, потерю многих месяцев на исправление ошибки, дополнительную проверку и отправление на завод для повторного изготовления. В результате изделие выходит на рынок с опозданием, а объемы продаж и прибыли сокращаются. Часто физическое моделирование просто невозможно из-за чрезвычайной сложности устройства. Тогда прибегают к математическому моделированию с использованием компьютерных программ.
Компьютерное моделирование схем электрических принципиальных обеспечивает раннее выявление ошибок, что очень важно, ведь каждая задержка в обнаружении и исправлении проектной ошибки увеличивает на порядок стоимость ее устранения. Также компьютерное моделирование является хорошим средством для обучения и подготовки специалистов.
Программные пакеты, предназначенные для исследования и проектирования электрических схем, позволяют качественно изменить и существенно расширить возможности инженера. Разработка любого цифрового устройства, помимо физического или математического моделирования, сопровождается анализом работы схемы прибора — процессом очень сложным, кропотливым, требующим большого внимания. Система схемотехнического моделирования Multisim представляет собой удобное и практичное средство, разрешающее моделировать электрические схемы и анализировать их работу. В процессе анализа исследуемой схемы в первую очередь считываются с окна редактора схем сведения обо всех компонентах схемы, номинальных значениях и соединениях элементов. Далее выполняется проверка правильности сборки схемы и введенных данных о компонентах, после чего данные о компонентах схемы заменяются их математическими моделями SPICE. При обнаружении критической ошибки эмуляция прерывается. В таком случае для решения возникшей проблемы разработчику необходимо проверить анализируемую схему и убедиться, что в ней нет разорванных соединений, все компоненты схемы правильно включены в цепь. Если проблема все же осталась, можно порекомендовать проверить правильность пользовательских значений параметров компонентов схемы, а также установок моделирования. Если же ошибок не было обнаружено, Multisim на основании введенных сведений о компонентах схемы выполнит автоматическое составление и решение численными методами системы линейных, нелинейных или дифференциальных уравнений. Результаты анализа отображаются в окне плоттера Grapher, сохраняются для использования в постпроцессоре, записываются в журнал аудита.
Постпроцессор и Grapher — программы пакета Multisim, отображающие результаты моделирования в графическом виде. Постпроцессор позволяет быстро создать график с нужными переменными. Для построения графика в Grapher при помощи функций постпроцессора в первую очередь необходимо создать новую страницу.
Остановимся немного подробнее на Grapher. Это программа пакета Multisim, представляющая результаты моделирования в графическом виде и использующаяся для отображения результатов разных видов анализа программы Multisim в виде графиков и таблиц. При этом на графиках данные отображаются в виде кривых по вертикальной и горизонтальной оси, в таблицах — текстовые данные в строках и колонках. В зависимости от количества запущенных видов анализа в окне Grapher может отображаться несколько вкладок с результатами анализа. Окно плоттера Grapher открывается автоматически после нажатия в окне анализа на кнопку «Моделировать» или же при помощи команды основного меню «Вид/Графопостроитель». Активная область диаграммы/графика, так же как и активная вкладка, помечается красной стрелкой. Впоследствии к помеченной вкладке или области можно применять операции копирования, вставки, удаления. В Grapher есть возможность управлять отображением кривых графиков на экране — показывать/скрывать кривые, выделять их при помощи маркеров. Под каждым графиком размещен ряд чекбоксов (расшифровка), каждому из них соответствует название переменной и цветная линия, которой отображается график функции этой переменной. Управление видимостью кривых на экране производится путем установки/снятия флажков в этих чекбоксах. Выделить кривую на графике можно, щелкнув левой кнопкой мыши по области названия ее переменной в поле расшифровки или же по самой кривой на графике. Причем кривая становится активной (выделяется при помощи маркеров), а ее название помечается красной стрелкой.
Панель инструментов Grapher предоставляет ряд функций, с помощью которых можно управлять отображением графиков на экране плоттера, а именно выполнять операции удаления и копирования вкладки или графика, вставки ранее скопированного листа графика или графика, отображения/скрытия сетки, ряда чекбоксов, курсоров для выбранного графика. Результаты проведения анализов схемы отображаются на отдельных вкладках плоттера Grapher. Для генерации данных для всех видов анализа в Multisim используется симуляция схемы.
Средства анализа данных моделирования
Модельный эксперимент с использованием функций анализа является мощным средством предварительного исследования и анализа электронной схемы, позволяющим проверить правильность расчета параметров элементов и характеристик.
В Multisim разработчик может настраивать для каждого анализа определенные параметры, значения переменных, установки моделирования. Возможность настройки опций анализа появляется после его запуска, в результате чего будет открыто окно настроек.
Для начала анализа необходимо выбрать нужную функцию из основного меню программы Multisim, запустив команду «Моделирование/Вид анализа», настроить параметры анализа и выполнить анализ нажатием кнопки «Моделировать».
Анализ изменения на постоянном токе (DC Sweep Analysis)
В DC Sweep Analysis реализуется многократная симуляция схемы с изменением DC-значений в определенном пользователем диапазоне. Настройки анализа позволяют задать начальное, конечное значение и приращение для DC-диапазона. Для расчета DC-отклика схемы используются только DC-значения источников напряжения и тока, все конденсаторы рассматриваются как обрыв цепи, все индуктивности — как закороченные. DC Sweep Analysis — вариация параметров используемых в анализируемой схеме источников питания при расчете режима по постоянному току. Параметры анализа изменения на DC устанавливаются на вкладке «Анализируемые параметры» (рис. 1) окна настроек параметров анализа, которое можно открыть при помощи команды основного меню программы Multisim «Моделирование/Вид анализа/Изменения на DC». Рассмотрим данную вкладку. На ней расположено два окна: «Источник 1» и «Источник 2», таким образом, значения параметров можно установить для одного или двух источников. Следует отметить, что окно «Источник 2» активизируется лишь в том случае, если в чекбоксе «Использовать источник 2» установлен флажок. Окна идентичны, каждое содержит следующие поля ввода:
Рис. 1. Вкладка «Анализируемые параметры» окна «Изменения на DC»
- «Обозначение»— источник изменения;
- «Начальное значение»— начальное значение DC-диапазона;
- «Конечное значение»— конечное значение DC-диапазона;
- «Приращение»— значение, на которое будет увеличиваться каждое следующее значение изменения.
- Также в каждом из окон находится кнопка «Изменить фильтр». После ее нажатия открывается окно «Фильтр узлов» (рис. 2), в котором посредством установки флажков в следующих чекбоксах:
- «Вкл внутренние узлы»— узлы внутри BJT-модели или SPICE-подсхемы;
- «Вкл субмодули»— выходные переменные из любого подмодуля, содержащегося в схеме;
- «Вкл открытые выводы»— все не присоединенные узлы схемы, можно задать отображение в поле «Обозначение» всех или некоторых источников.
Рис. 2. Окно «Фильтр узлов»
Рассмотрим вкладку «Переменные» окна «Изменения на DC» (рис. 3). Данная вкладка содержит два окна, в одном из них отображаются все возможные выходные переменные для текущей схемы (окно «Выходные переменные»), а в другом — переменные, которые будут использоваться в анализе (окно «Переменные для анализа»). Добавление переменных в анализ производится при помощи перемещения их названия из первого окна во второе, путем выбора переменной левой кнопкой мыши в окне «Выходные переменные» и последующего нажатия кнопки «Добавить». При необходимости переменную можно вернуть в исходное окно, для этого используйте кнопку «Удалить». После того как переменные добавлены в анализ, перейдем на вкладку «Установки моделирования» (рис. 4). В верхней части вкладки расположено поле «Установки SPICE», где, установив переключатель в нужную позицию, можно задать настройки параметров Multisim по умолчанию либо пользовательские. Более подробно настройка параметров вкладок «Переменные» и «Установки моделирования» рассмотрена в [4].
Рис. 3. Вкладка «Переменные» окна «Изменения на DC»
Рис. 4. Вкладка «Установки моделирования» окна «Изменения на DC»
Для просмотра информации об анализе предназначена вкладка «Итоги», в которой представлен обзор всех установок анализа DC Sweep Analysis.
Для того чтобы запустить анализ с текущими установками, необходимо нажать кнопку «Моделировать», расположенную в нижней части окна «Изменения на DC».
Перед установкой параметров анализа нужно выбрать нужный узел и определить источники изменения. В ходе данного процесса выполняется последовательное построение соответствующих кривых. Если изменяется только один источник, построение кривой выходного узла производится в зависимости от значения источника. Если же изменяется два источника, то количество кривых равно количеству точек для второго источника. Каждая кривая представляет значение выходного узла в зависимости от значения первого источника, пока значение второго источника удерживается на каждом из значений его изменения.
В течение DC Sweep Analysis производится добавление значения поля «Приращение» к начальному значению и пересчет переменных схемы. После чего значение поля «Приращение» добавляется к вновь полученному значению, и процесс продолжается до тех пор, пока не будет достигнуто конечное значение.
Рассмотрим процесс анализа DC Sweep Analysis на конкретном примере (рис. 5). Для этого определим на вкладке «Анализируемые параметры» окна «Изменения на DC» следующие настройки параметров анализа:
Рис. 5. Анализируемая в DC Sweep Analysis схема
- в окне «Источник 1» в поле «Обозначение» из выпадающего списка выберем первый источник изменения — VPULSE1, укажем начальное — 0 V, конечное — 3,3 V значения и приращение — 0,001 V в соответствующих полях;
- в окне «Источник 2» в поле «Обозначение» выберем из выпадающего списка второй источник изменения — VDD, укажем начальное — 0 V, конечное — 5 V значения и приращение — 0,5 V в соответствующих полях.
На вкладке «Переменные» в поле «Переменные для анализа» добавим следующую переменную для анализа — I(VDD).
После того как все параметры настроены, нажмем кнопку «Моделировать» в окне DC Sweep Analysis. В результате системой будут построены графики параметров (рис. 6), они отобразятся в окне плоттера Grapher.
Рис. 6. Результаты DC Sweep Analysis (окно плоттера Grapher)
Для проведения измерений в окне плоттера Grapher можно использовать курсоры, которые активизируются при помощи одноименной кнопки панели инструментов Grapher. В итоге на активном графике появятся два вертикальных курсора, а также откроется окно «Курсор» (рис. 7), содержащее следующие данные:
Рис. 7. Окно «Курсор»
- x1, y1 — координаты левого курсора;
- x2, y2 — координаты правого курсора;
- dx — разность между проверяемыми точками по оси Х;
- dy — разность между проверяемыми точками по оси Y;
- min x, min y — x и y минимумы внутри области измерений графика;
- max x, max y — x и y максимумы внутри области измерений графика.
Перемещение курсоров в области графика производится посредством их передвижения левой кнопкой мыши или же путем установки курсора в точное место графика, координаты которого можно задать. Курсоры автоматически связаны с числовыми данными, отображающимися в окне «Курсор» синхронно с перемещением курсоров на графике.
Рассмотрим пример, когда изменяется только один источник. Для этого определим на вкладке «Анализируемые параметры» окна «Изменения на DC» следующие настройки параметров анализа (рис. 8):
Рис. 8. Настройки параметров DC Sweep Analysis на вкладке «Анализируемые параметры» окна «Изменения на DC» в случае, когда задано изменение только одного источника
- в окне «Источник 1» в поле «Обозначение» из выпадающего списка выберем источник изменения — VPULSE1, укажем начальное — 0 V, конечное — 9 V значения и приращение — 0,1 V в соответствующих полях;
- снимем флажок в чекбоксе «Использовать источник 2».
На вкладке «Переменные» в поле «Пере-менные для анализа» добавим следующую переменную для анализа — V(out).
После того как все параметры настроены, нажмем кнопку «Моделировать» в окне DC Sweep Analysis. В результате системой будет построен график параметров, который отобразится в окне плоттера Grapher. Анализируемая схема и полученный результат представлены на рис. 9.
Рис. 9. Анализируемая в DC Sweep Analysis схема и полученный результат в случае, когда задано изменение только одного источника
Разместим курсор 2 в левой крайней точке графика, а курсор 1 в правой крайней точке. Полученные характеристики преобразования DC будут отображены в окне «Курсор» (рис. 10).
Рис. 10. Характеристики преобразования DC в окне «Курсор»
Анализ передаточной функции (Transfer Function Analysis)
Transfer Function Analysis выполняет расчет передаточной функции DC при малом сигнале между входным источником и двумя выходными узлами (для напряжения) или выходной переменной (для тока) в схеме, а также вычисление входного и выходного сопротивления. При этом любые нелинейные модели вначале линеаризуются, основываясь на DC рабочей точке, а затем выполняется малосигнальный анализ. Выходная переменная может быть узловым напряжением, в таком случае вход должен быть зависимым источником, определенным в схеме. Результаты анализа в Multisim отображаются в виде таблицы, где показано отношение выходного и входного сигналов, входное сопротивление в узле входного источника и выходное сопротивление через напряжение выходного узла.
Запуск анализа передаточной функции осуществляется командой основного меню «Моделирование/Вид анализа/Передаточная функция». В результате откроется окно «Анализ передаточных функций» (рис. 11). Необходимо отметить, что в данном окне отсутствует вкладка «Переменные». Настройка параметров анализа производится на вкладке «Анализируемые параметры». На вкладке находятся следующие поля:
Рис. 11. Окно «Анализ передаточных функций»
- «Входной источник»— источник напряжения или тока;
- «Выходной узел/источник»— указываются узел схемы, для которого необходимо получить результаты, и опорный узел или выходной источник.
В поле «Выходной узел/источник» есть два переключателя: «Напряжение» и «Ток». При установке переключателя в позицию «Напряжение» становятся активными следующие поля:
- «Выходной узел»;
- «Опорный узел».
При установке переключателя в позицию «Ток» активизируется поле «Выходной источник». Значения этих полей устанавливаются путем выбора из выпадающего списка, в котором по умолчанию отображаются только узлы, являющиеся частью текущей страницы схемы. Однако при проведении анализа следует учитывать и те случаи, когда схема содержит иерархические блоки и подсхемы, которые в свою очередь также включают компоненты электрической схемы. Для того чтобы в выпадающих списках отобразились узлы, содержащиеся внутри подсхем и иерархических блоков, надо воспользоваться кнопками «Изменить фильтр». Необходимо отметить, что на вкладке «Анализируемые параметры» находится несколько таких кнопок и для выбора определенного узла применяется соответствующая ему кнопка. В результате нажатия на одну из кнопок «Изменить фильтр» будет открыто окно «Фильтр узлов», в котором путем установки флажка в чекбоксах можно задать отображение в списке меню:
- внутренних узлов иерархических блоков и подсхем — чекбокс «Вкл внутренние узлы»;
- всех неприсоединенных узлов схемы — чекбокс «Вкл открытые выводы»;
- компонентов внутри полупроводниковых устройств, определяемых SPICE-моделью этого устройства, — чекбокс «Вкл субмодули».
Перед выполнением анализа необходимо определить в схеме выходной и опорный узел и входной источник. Анализируемая схема и результаты Transfer Function Analysis представлены на рис. 12.
Рис. 12. Анализируемая схема и результаты Transfer Function Analysis
Анализ критических режимов (Worst Case Analysis)
Worst Case Analysis выполняет исследование критических комбинаций параметров компонентов, действующих на схему. Multisim осуществляет этот анализ в сочетании с DC- или AC-анализом. На первом этапе анализа производится симуляция с номинальными значениями, затем для определения чувствительности выходного напряжения или тока к параметрам компонентов проводится анализ чувствительности АС или DC. На заключительном этапе анализа критических режимов реализуется симуляция со значениями параметров компонента, которые дают критические значения на выходе.
В Multisim запуск анализа Worst Case Analysis происходит при помощи команды основного меню «Моделирование/Вид анализа/Критических режимов». В результате открывается окно «Анализ критических режимов».
В данном окне, помимо уже рассмотренных ранее в [4] стандартных вкладок, находится вкладка «Параметры анализа» (рис. 13). Обратим внимание на данную вкладку. В ее верхней части расположено поле «Параметры анализа», в котором задаются следующие параметры анализа критических режимов:
Рис. 13. Вкладка «Параметры анализа» окна «Анализ критических режимов»
- «Вид анализа»;
- «Выходная переменная»;
- «Функция выделения»;
- «Направление»;
- «Порог» — название данного поля может меняться в зависимости от выбранной функции выделения. В том случае, когда разработчик выбрал в поле «Функция выделения» значение «Частота», поле будет иметь название «Частота». Название «Порог»— если выбраны значения «Фронт_сигнала» или «Спад_сигнала». При выборе в поле «Функция выделения» значений «Мин» или «Макс» поле будет недоступно для ввода значений.
Вид анализа задается выбором из выпадающего списка одного из двух значений: «Рабочая точка DC», «Анализ АС». Если выбрана «Рабочая точка DC», анализ критических режимов генерирует таблицу возможных выходных напряжений для схемы, от заданных номинальных значений до критических значений. Список компонентов и их критических значений появляется в табличной форме. Если выбран «Анализ АС», анализ критических режимов генерирует раздельные графики. Список компонентов и их критических значений появляется в табличной форме.
В поле «Параметры анализа» находится кнопка «Изменить фильтр». После ее нажатия открывается окно «Фильтр узлов», в котором посредством установки флажков в следующих чекбоксах:
- «Вкл внутренние узлы»— узлы внутри BJT-модели или SPICE-подсхемы;
- «Вкл субмодули»— выходные переменные из любого подмодуля, содержащегося в схеме;
- «Вкл открытые выводы»— все не присоединенные узлы схемы, можно задать отображение в поле «Выходная переменная» всех или некоторых переменных. Установка флажка в чекбоксе «Выражение» преобразует меню выбора поля «Выходная переменная» в поле ввода, в результате чего значение в данное поле может быть введено с клавиатуры. Необходимо отметить, что в это поле в таком случае может быть введена как одна переменная, так и выражение, которое представляет собой набор переменных и функций (например, abs(V(1)V(2))). Флажок в чекбоксе «Все кривые на одном графике» (поле «Результат») устанавливается, когда нет необходимости отображения каждой кривой на отдельном графике.
При подготовке к такому виду анализа критических режимов, как «Анализ АС», необходимо настроить параметры частоты. Для этого на вкладке «Параметры анализа» выберем в поле «Вид анализа» пункт «Анализ АС» и нажмем на кнопку «Редактировать», в результате будет открыто окно «Анализ АС» (рис. 14), в котором задаются следующие параметры:
Рис. 14. Окно «Анализ АС»
- «Начальная (FSTART)»— начальная частота;
- «Конечная (FSTOP)»— конечная частота;
- «Характеристика изменения»— тип изменения: декадный, октавный, линейный;
- «Количество точек»— количество точек, в которых производится расчет частотных характеристик в процессе анализа;
- «Вертикальная шкала»— вертикальная шкала: логарифмическая, линейная, затухания (дБ), октавная (данный параметр управляет масштабом по оси Y на выходном графике).
Для того чтобы скопировать установки текущего AC Analysis, следует нажать кнопку «Возврат к основным значениям АС». Вернуться к значениям по умолчанию можно при помощи кнопки «По умолчанию». После того как все настройки произведены, необходимо нажать кнопку ОК.
Рис. 15. Вкладка «Допуски» окна «Анализ критических режимов»
Рассмотрим вкладку «Допуски» окна «Анализ критических режимов» (рис. 15). На вкладке в виде таблицы отображен перечень используемых допусков и ряд кнопок, позволяющих добавлять, удалять, редактировать, загружать допуски RLC-компонентов из схемы. Для того чтобы добавить допуск в перечень, надо нажать кнопку «Добавить», в результате откроется окно «Допуск» (рис. 16), где можно задать:
- «Тип устройства»;
- «Наименование»;
- «Параметр» (доступные параметры для устройства/модели);
- «Текущее значение»;
- «Вид» (вид допуска: абсолютная величина, проценты);
- «Значение».
Рис. 16. Окно «Допуск»
В верхней части окна «Допуск» расположено поле «Выбрать», в котором путем выбора из выпадающего списка устанавливается одно из значений: «Параметры устройства», «Параметры модели». В поле «Описание» выводится описание выбранного устройства/модели.
После нажатия на кнопку ОК допуск будет добавлен в перечень допусков вкладки «Допуски». Запуск анализа производится после настройки всех параметров в окне «Анализ критических режимов» нажатием кнопки «Моделировать», расположенной в нижней части окна.
Рис. 17. Результаты анализа критических режимов (вид анализа: «Анализ АС»):
а) графики функций;
б) описание прохода
Результаты анализа критических режимов (вид анализа: «Анализ АС») представлены на рис. 17. Анализируемая схема показана на рис. 18. Результаты анализа критических режимов (вид анализа: «Рабочая точка DC») представлены на рис. 19.
Рис. 18. Анализируемая в Worst Case Analysis схема (вид анализа: «Анализ АС»)
Рис. 19. Результаты анализа критических режимов (вид анализа: «Рабочая точка DC»)
В таблице «Анализ критических режимов» показана рабочая точка по постоянному току в узле V1 для номинального и критического случаев. В таблице «Описание прохода» отображены значения резисторов, требуемые для сохранения наибольшего отклонения от номинального значения. Анализируемая схема дана на рис. 20.
Рис. 20. Анализируемая в Worst Case Analysis схема (вид анализа: «Рабочая точка DC»)
Анализ нулей и полюсов (Pole Zero Analysis)
Pole Zero Analysis выполняет расчет карты нулей и полюсов передаточной характеристики анализируемой схемы для определения ее стабильности. Поведение аналоговой схемы в частотной области выражается формулой передаточной функции, в которой числитель содержит нули, а знаменатель полюса. Нули функции — это те частоты, на которых передача становится нулевой, тогда как полюса функции — это естественные режимы в сети, определяемые естественными частотами. Другими словами, полюс — это любое число, приводящее знаменатель в формуле передаточной функции к нулю. Нули — любое число, приводящее числитель в формуле передаточной функции к нулю. И полюсы, и нули могут содержать реальные, комплексные и мнимые числа. Графически нули и полюса изображают как точки на комплексной плоскости. Нуль или полюс вычисляют как пару реального и мнимого чисел. Количество полюсов с ненулевыми мнимыми координатами всегда парное. Определение полюсов и нулей из формулы передаточной функции позволяет разработчику предсказывать поведение схемы, при этом важно понимать, каким образом эти числа соотносятся со стабильностью схемы.
В Multisim Pole Zero Analysis рассчитывает полюса и нули в малосигнальной АС передаточной функции, в результате чего будут получены реальные и мнимые координаты полюсов и нулей.
Перед выполнением анализа нулей и полюсов необходимо определить в схеме входные (положительные или отрицательные точки, являющиеся входами передаточной функции) и выходные узлы (положительные или отрицательные точки, являющиеся выходами передаточной функции). «Землю» можно использовать как для положительных, так и для отрицательных узлов.
Запуск анализа Pole Zero Analysis производится командой основного меню «Модели-рование/Вид анализа/Нулей и полюсов». В результате будет открыто окно «Анализ нулей и полюсов». Рассмотрим вкладку «Анализируемые параметры» этого окна (рис. 21). В ее верхней части расположено поле «Тип анализа», в котором с помощью переключателя можно выбрать одно из следующих значений:
- «Усиление (Uвых/Uвх)»;
- «Анализ полного сопротивления (Uвых/Iвх)»;
- «Входное сопротивление»;
- «Выходное сопротивление».
Рис. 21. Вкладка «Анализируемые параметры» окна «Анализ нулей и полюсов»
В поле «Узлы» расположено четыре выпадающих списка:
- «Вход (+)»;
- «Вход (–)»;
- «Выход (+)»;
- «Выход (–)».
Из них выбирают входные и выходные узлы. Напротив каждого списка находится кнопка «Изменить фильтр». После ее нажатия открывается окно «Фильтр узлов», в котором посредством установки флажков в следующих чекбоксах:
- «Вкл внутренние узлы»— узлы внутри BJT-модели или SPICE-подсхемы;
- «Вкл субмодули»— выходные переменные из любого подмодуля, содержащегося в схеме;
- «Вкл открытые выводы»— все не присоединенные узлы схемы, можно задать отображение в списке всех или некоторых узлов.
В поле «Выполняемый анализ» из выпадающего списка выбирают анализ, который будет выполнен в текущем сеансе моделирования:
- «Анализ нулей и полюсов»— поиск нулей и полюсов передаточной функции;
- «Анализ полюсов»— поиск полюсов передаточной функции;
- «Анализ нулей»— поиск нулей передаточной функции.
После настройки всех параметров в окне «Анализ нулей и полюсов» можно произвести запуск анализа. Для этого необходимо нажать кнопку «Моделировать», расположенную в нижней части окна. Анализируемая схема и результаты анализа показаны на рис. 22. Результатом анализа Pole Zero Analysis являются представленные в табличном виде реальные и мнимые координаты полюсов и нулей в зависимости от выбранного выполняемого анализа. Располагая такими данными, можно сделать вывод об устойчивости работы исследуемой схемы.
Рис. 22. Анализируемая схема и результаты Pole Zero Analysis
В нашем случае, как видно на рис. 22, анализ определил существование четырех полюсов. Два из них имеют положительные мнимые координаты, а это является признаком неустойчивости анализируемого устройства, что соответствует действительности, поскольку устройство представляет собой генератор. Анализ дает точные результаты для цепей, содержащих пассивные компоненты, такие как резисторы, конденсаторы, индуктивности. Схемы, включающие активные компоненты — транзисторы или операционные усилители, не всегда отображают ожидаемые результаты.
Решение проблемы ошибок симуляции
Общие сведения о процессе симуляции в Multisim
Симуляция — это математический метод моделирования поведения схемы, позволяющий определить ее свойства без физической сборки или использования реальных приборов. Числовой расчет математического представления схемы выполняет симулятор, а каждый компонент представлен математической моделью. Математические модели соединяют схему в окне редактора с математическим представлением для симуляции. Точность моделей компонентов — одно из ключевых условий, определяющих уровень совпадения результатов, полученных как при симуляции, так и при физической реализации схемы. Математическое представление схемы — это система совместных нелинейных дифференциальных уравнений. Основная задача симулятора — численное решение таких уравнений. Симуляторы, основанные на SPICE, преобразуют нелинейные дифференциальные уравнения в систему линейных алгебраических уравнений. Далее они линеаризуются и решаются с помощью различных методов.
Хотя для пользователя процесс симуляции в Multisim выглядит просто, технология, поддерживающая не только скорость и точность симуляции, но и простоту применения, достаточно сложна. Multisim объединяет ядро системы симуляции SPICE3F5 и XSPICE с расширениями, разработанными специально для оптимизации процесса цифровой и смешанной симуляции. SPICE3F5 и XSPICE — промышленно принятые общедоступные стандарты. SPICE3F5 — самая последняя редакция ядра SPICE (Simulation Program with Integrated Circuit Emphasis), созданная в Калифорнийском университете в Беркли. XSPICE — набор уникальных расширений SPICE, который включает событийно-ориентированный смешанный режим симуляции и подсистему моделирования, расширяемую конечными пользователями. В событийно-ориентированной симуляции процесс осуществляется только тогда, когда какой-нибудь элемент схемы меняет свое состояние. При этом только дискретные логические уровни принимают в нем участие, что позволяет представить функционирование компонентов на более высоком уровне. Событийно-ориентированная симуляция на несколько порядков быстрее, чем аналоговая симуляция этой же схемы.
При симуляции или анализе выполняется проверка согласованности схемы для определения ее соответствия правилам симуляции. Возникшие при этом ошибки фиксируются в журнале. После запуска анализа или моделирования схемы симулятор выполняет ее расчет и генерацию данных, которые будут отображены в виде числовых значений или графической информации на панелях виртуальных приборов или в плоттере Grapher.
Контроль скорости симуляции
Есть много параметров, влияющих на скорость симуляции и сходимость. Их настройка производится в окне «Установки интерактивного моделирования», которое можно открыть при помощи команды «Моделирование/Установки интерактивного моделирования» основного меню Multisim (рис. 23). Основные установки показаны на закладке «Умолчания для анализа переходных процессов». Самая важная установка для контроля скорости симуляции — это «Длительность шага (TMАХ)», или максимальное время шага, которое симулятору разрешено принимать. Для достижения результата симулятор может на свое усмотрение использовать время шагов меньше, но не должен делать шаг больше, чем задано в поле «Длительность шага (TMАХ)». Чем меньше данное значение, тем точнее будут результаты симуляции. Однако тогда симуляция займет больше времени. В большинстве случаев симуляция работает медленнее, чем в реальности. Если результаты симуляции получаются быстрее, чем в реальном времени, они искусственно занижаются до реального времени и процессор освобождается для выполнения других заданий.
Рис. 23. Окно «Установки интерактивного моделирования»
Если в поле «Использовать максимальный шаг по времени (ТМАХ)» выбран пункт «Создавать автоматически», то длительность временных шагов будет устанавливаться автоматически в соответствии с наивысшей частотой источника AC power в схеме или наименьшим разрешением прибора.
Ошибки анализа данных моделирования
При моделировании или анализе схемы электрической принципиальной в Multisim может возникнуть ситуация, когда симулятор не в состоянии закончить работу. Попытайтесь изменить точность и ограничение на количество итераций для анализа в окне «Выбор параметров анализа», а также проверьте схему на наличие ошибок. Для решения проблемы необходимо убедиться в том, что в схеме нет разорванных соединений, все компоненты правильно включены в цепь, контакты микросхем правильно соединены, параметры всех компонентов схемы настроены верно, а схема имеет заземление.
Бывает, что причиной ошибок, в результате которых симулятор не может закончить свою работу, становится использование «плохих» моделей компонентов. Остерегайтесь применения моделей сторонних производителей, поскольку такие модели могут включать элементы и синтаксические конструкции, не поддерживающие стандарт SPICE.
В том случае, если проблема все же осталась, можно порекомендовать проверить правильность установленных значений параметра GMIN (минимальная проводимость) в окне «Выбор параметров анализа». Данный параметр стремится к нулю. Следует учитывать, что увеличение значения параметра GMIN способно негативно сказываться на точности симуляции. По умолчанию значение данного параметра 1E‑12, значения больше 1E‑9 дадут довольно бессмысленные результаты. В любом случае, если вначале схема не сходится, SPICE попробует выполнить продвижение GMIN. Это означает, что большее значение GMIN будет использоваться для нахождения начального решения, а затем производиться постепенное возвращение к его оригинальному значению, чтобы сохранить точность. Когда GMIN стремится к нулю, вырабатывается окончательное решение для цепи и получается корректный ответ. Алгоритм GMIN преобразует одношаговое решение простой нелинейной итерации в многошаговое решение, применяющее тот же алгоритм, но с меньшим шагом. Значение минимальной проводимости задается на вкладке «Общие» в поле «Минимальная электропроводность [GMIN]» окна «Выбор параметров анализа». Количество шагов алгоритма задается на вкладке «DC» в поле «Количество шагов Gmin [GMINSTEPS]».
Если симуляция схемы все же не может быть выполнена, проверьте правильность установленных значений параметров ABSTOL, RELTOL, TRTOL. Значения параметров ABSTOL и RELTOL управляют точностью, которая требуется для симуляции, и их можно увеличить относительно установленных значений по умолчанию. Однако чем больше вы делаете допуск, тем менее точные получаете результаты. Значение TRTOL можно уменьшить относительно установленного значения по умолчанию. Это заставит SPICE использовать меньшие временные шаги, что снизит вероятность «потерять» сходящееся решение, но может увеличить время симуляции. Уменьшение значения TRTOL оправдано лишь тогда, когда процесс симуляции прерывается во время анализа переходного процесса. Также можно применить уменьшение значения TRTOL, в случае если полученные в результате анализа кривые выглядят «изрезанными» или содержат математический шум. Значения параметров ABSTOL и RELTOL можно настроить в окне «Выбор параметров анализа» на вкладке «Общие» в поле «Абсолютная погрешность [ABSTOL]» и «Относительная погрешность [RELTOL]» соответственно. Значение TRTOL задается на вкладке «Переходные» в поле «Фактор округления ошибки [TRTOL]».
Рис. 24. Вкладка «Установки моделирования» окна «Анализ нулей и полюсов»
Для того чтобы открыть окно «Выбор параметров анализа», необходимо в окне анализа перейти на вкладку «Установки моделирования» (рис. 24). В верхней части вкладки расположено поле «Установки SPICE», где посредством установки переключателя в нужную позицию можно задать настройки параметров Multisim по умолчанию либо пользовательские. В том случае, если в поле выбран пункт «Пользовательские», становится активной кнопка «Выбрать», нажав на ее, можно открыть окно «Выбор параметров анализа» (рис. 25). Функции всех параметров данного окна были рассмотрены в [4]. Пользовательский выбор параметров анализа позволяет задавать собственную технику симуляции и обзора результатов. Однако к ручной установке параметров анализа следует подходить очень внимательно, так как от выбранных установок зависит эффективность симуляции схемы. Выбор параметров анализа производится установкой флажка в чекбоксе в нужной строке, при этом становится активным поле значений, куда можно вносить изменения с клавиатуры. По окончании внесения изменений в окне «Выбор параметров анализа» нажмите кнопку ОК. При необходимости можно вернуться к значениям по умолчанию, для чего нужно нажать кнопку «Вернуться к рекомендованным».
Рис. 25. Окно «Выбор параметров анализа»
Литература
- NI Circuit Design Suite — Getting Started with NI Circuit Design Suite. National Instruments, January 2012.
- NI Multisim. Fundamentals. National Instruments, January 2012.
- Multisim User Guide. National Instruments Corporation, 2007.
- Колесникова Т. Инструменты анализа схем электрических принципиальных в программной среде NI Multisim 12.0. Часть 2 // Компоненты и технологии. 2015. № 2.
The time delay switch is an interactive component, that means
when you run the simulation in the regular mode, you can see the switch switching
on the screen. This is not a SPICE
native property so when you import it into the transient analysis, it does not
work.
To work around this, you can create a SPICE native model and
the switch should change state in middle of the analysis. Below is a model to emulate the time delay
switch:
.subckt TD S1 S2
xU2 1 0 S1 S2 SW
xU1 1 0 PWL
.subckt SW 1 2 3 4
S1 3 4 1
2 vsw
.model vsw sw (
+ vt = 0.001
+
vh = -1e-006
+
ron = 0.001
+
roff = 1e+009
+ )
.ends
.subckt PWL 1 2
V1 1 0 PWL (0,0) (0.01,0) (0.01001,10)
.ends
.ends
The model is made up of two basic SPICE components, a PWL
and a voltage control switch.
The body of the PWL is here:
V1 1 0 PWL (0,0) (0.01,0) (0.01001,10)
(0,0)àtime 0 voltage is 0V
(0.01,0) >> t=0.01, V= 0
(0.01001,10) >> t=0.01001 V=10
The PWL is a “connect the dot” component and in this
example, I gave it three points.
The second part of the model is a Volt control switch. When the voltage crosses the 0.001V it
changes state.
I also made a circuit to show what this model looks like in a schematic.