Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 8 часть 2.docx
Скачиваний:
15
Добавлен:
11.06.2022
Размер:
1.07 Mб
Скачать

Создание модели

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

Логика поведения дешифратора для разных значений входных сигналов описывается в поле «Таблица истинности (матрица значений на выходе)» окна настройки параметров блока LOGIC (рис. 1б).

В соответствии с представленной в таблице 1 таблицей истинности параметр «Таблица истинности (матрица значений на выходе)» должен быть представлен в виде матрицы, которая имеет следующий вид [1 0 0 0; 0 1 0 0; 0 0 1 0; 0 0 0 1]. Однако правила синтаксиса данного поля не позволяют задать матрицу значений именно в таком виде. Для решения этой задачи можно воспользоваться функциями zeros ( ) и eye( ). Функция zeros(m1,m2) создает матрицу составленную из нулей, где m1, m2 – размер матрицы. Функция eye(m,n) в соответствии со своими аргументами определяет матрицу mxn с единицами по главной диагонали. Таким образом, результатом выражения [zeros(4,4); eye(4,4)] будет матрица размерностью 4х4 заполненная нулями с единицами по диагонали. После запуска моделирования в зависимости от комбинации входных сигналов, на выход блока LOGIC будет подана одна из строк матрицы. Значения входных сигналов в явном виде в окне настроек данного блока не указываются.

Отобразить результаты моделирования на экране можно при помощи блока AFFICH_m. Однако, этот блок имеет такую особенность – на его вход может поступать только один сигнал, а из поставленной задачи известно, что дешифратор имеет четыре информационных выхода. Поэтому необходимо объединить четыре отдельных значения поступающих с блока LOGIC в один вектор. Решить эту задачу можно при помощи блока MUX. Входные значения блока LOGIC задаются в окне настроек блоков CONST_m в поле «Постоянное значение» (рис. 1в).

Для упрощения чтения блок-диаграммы присвоим блокам осмысленные имена: для блоков CONST_m – Источник 1 и Источник 2, Сигнал управления, блоку LOGIC – Дешифратор, блоку AFFICH_m – Результат. Для того, чтобы добавить имена, можно воспользоваться блоком TEXT_f (раздел библиотеки «Примечания»). Для этого выберите блок TEXT_f в окне «Палитры блоков» и переместите его при помощи мыши в рабочее поле программы. Для ввода текстовых надписей в данном блоке необходимо дважды щелкнуть по нему левой кнопкой, в результате чего указатель примет вид мигающей черточки. Далее необходимо при помощи клавиатуры стереть стандартное название блока и ввести свое, после чего щелкнуть левой кнопкой мыши в свободной области блок-диаграммы.

После того как все блоки размещены в поле блок-диаграммы, соединим их в соответствии с логикой их взаимодействия: сигналы с выходов блоков Источник 1, Источник 2, Сигнал управления должны поступать на входы блока Дешифратор. Далее соединим выходы блока Дешифратор с входом блока Результат через блоки CONVERT и MUX. В Xcos может случиться так, что при построении модели типы данных порта источника и приемника информационного сигнала могут отличаться. Для их согласования используют блок CONVERT. При этом тип входного сигнала указывается в поле «Тип на входе», а тип выходного сигнала – в поле «Тип на выходе» окна настроек параметров блока (рис. 1г).

Блок MUX преобразует полученные с блока CONVERT сигналы в вектор значений и передает далее полученный вектор на вход блока Результат. Далее соединим выход блока CLOCK_c с входом блока Результат. На рисунке 2 показана собранная нами блок-диаграмма.

Сохраним нашу модель на диск компьютера при помощи команды основного меню «Файл/Сохранить как» и проведем пробное моделирование, посредством нажатия кнопки «Запустить» на панели инструментов окна модели Xcos. В процессе моделирования системой могут быть обнаружены ошибки, описание которых будет представлено во всплывающем окне (рис. 3).

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

Теперь можно снова запустить процесс моделирования. Как видно из рисунка 4 (а, б) - полученный результат соответствует таблице истинности дешифратора. Необходимо отметить, что параметры модели дешифратора в целом были установлены по умолчанию.

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

Литература: https://www.kv.by/content/335330-modelirovanie-sistem-v-programmnoi-srede-scilab-xcos-551-chast-3

Порядок выполнения работы:

  1. Построить модель дешифратора в среде Xcos, проверить таблицу истинности

  2. В отчет занести скриншоты проверки таблицы истинности

  3. Промоделировать импликацию и эквиваленцию, занести скриншоты в отчет

  4. С помощью Scilab найти выражение, соответствующее приведенной таблице истинности (делайте через матрицы)