Основные узлы и функциональные блоки
Регистр сдвига. Регистр сдвига потребуется для преобразования последовательной передачи данных в параллельную передачу и наоборот. Эта операция характерна для физического уровня.
Внутренняя схема модели D-триггера представляет собой подсистему, имеющую два управляющих входа С (Enable) и Trigger. Для упрощения ввода параллельных данных дополним D-триггер установочными входами R и S. Желательно, что бы установочные входы работали независимо от входа синхронизации, но на первом этапе они выполнены синхронизируемыми (см. рис. 17 б).
Рис.17. Схема модели D-триггера а – внутренняя схема, б – организация синхронизируемых R-S-входов
Подключение внешних информационных входов к R_S_D триггеру и образование ячейки регистра приведено на рис. 18 а). На рис. 18 б) показан фрагмент внутренней схемы регистра сдвига, построенного из полученных ячеек памяти. На входы !CLR всех ячеек подается постоянный разрешающий сигнал. Этот сигнал поступает на управляющий вход «С» модели D-триггера (см. рис. 17 а). Параллельные данные поступают на вход D_inp_LPT и демультиплексором распределяются по входам ячеек D_inp_LPT. Последовательные данные поступают на вход D_inp_COM первой ячейки регистра. Все последующие ячейки получают последовательные данные с Q-выходов предыдущих ячеек. Параллельный выход D_out_LPT образуется мультиплексором, подключенным к Q-выходам всех ячеек. Последовательный выход D_out_COM представляется Q-выходом последней ячейки. Управляющие входы регистра через логические схемы И (AND) контролируют прохождение информационных сигналов.
Рис. 18. Сдвигающий регистр а – внутренняя схема ячейки регистра, б – фрагмент внутренней схемы регистра сдвига,
Для получения регистра, преобразующего параллельный код на входе, в последовательность бит на выходе, часть управляющих и информационных входов внутри схемы регистра подключаются к постоянным логическим сигналам 1 и 0. Таким образом, получен внешний вид модели регистра сдвига, примененного в модели физического уровня передающей станции. Очередь (Queue). Очередь может быть применена для организации взаимодействия двух частей модели функционирующих с различными частотами синхронизации (в общем случае не кратными друг другу). Библиотечный элемент Queue дополняется управляющими портами разрешения на запись E_Write и разрешения на чтение E_Read (рис. 19). Дополнительные преобразования типов данных потребовались для согласования управляющих сигналов с данными. Задержка на один такт введена для обеспечения считывания и записи в очередь после установления входных данных Date. Выходные порты с предупреждающими сигналами об опустошении очереди (Empty) и ее заполнении (Full) предусмотрены для последующей организации управления очередью. Порт с показаниями количества записей в очереди (Num) установлен для наблюдения за состоянием очереди в процессе отладки. Рис. 19. Управляющие входы блока очередь
На рис. 20 показано использование очереди для организации следующего алгоритма. Входные данные записываются в очередь с частотой, определяемой портом clk_W. Разрешение на запись дается лишь при условии, что перед началом записи очередь опустошена. После заполнения очереди разрешение на запись снимается и выставляется разрешение на чтение E_R. Чтение из очереди производится с частотой, задаваемой портом clk_R. После опустошения очереди разрешение на чтение снимается и выставляется разрешение на запись E_W. Указанный алгоритм обеспечен блоком управления очередью C_Queue и логическими схемами LO1, LO2. Дополнительный порт _Pause выдает активный сигнал после завершения цикла запись-чтение очереди, что может использоваться для генерации сигнала паузы в линию связи. Блок управления очередью приведен на рис.21 а). Он представляет собой триггерные схемы, фиксирующие моменты опустошения и заполнения очереди. Временные задержки I1, I2, I3 введены для согласования работы блока с внешней схемой. Внешний вид построенной системы очередь приведен на рис. 21 б). Рис. 20. Управление последовательностью записи-чтения очереди а) б)
Рис. 21 Подсистема очередь
Рис. 23. Набор буферов для хранения данных
Рис. 25. Настройка буфера и его портов в Enable-подсистеме а – настройка выходного порта подсистемы, б – настройка параметров порта, в – настройка управляющего входа подсистемы
В рассматриваемой системе программирования различают два вида файлов, содержащих программные коды. Модель созданная в среде Simulink, хранится в S-файле. Модель, написанная на языке MATLAB, хранится в M-файле. Рассмотрим применение блоков, определяемых пользователем для взаимного преобразования бинарного и десятичного представления чисел. Такая задача возникает при формировании контрольной суммы кадра передатчика и при проверке правильности контрольной суммы в приемнике. Применение блока Fcn в рассмотренном случае нецелесообразно. Поскольку он не сможет возвратить векторную величину (бинарную последовательность). Блок MATLAB Fcn. Применение данного блока требует, что бы кроме указания самой используемой функции и передачи ей параметров, была указана размерность возвращаемого результата. В общем случае размерность может быть не известна заранее, а вычисляется в процессе моделирования. Одно из решений заключается в применении Enable-блоков. В этом случае при передаче управления такому блоку размерность известна. На рис. 27 приведен фрагмент модели, реализующий рассмотренное решение. В блоке Fcn (рис. 27 г) вычисляется размерность ожидаемого результата преобразования
Expession = ceil(1.4427*log(u+eps)),
где ceil – функция вычисления целого, u – значение величины, передаваемой на вход блока, eps - точность вычисления в функциях MATLAB, log - натуральный логарифм. Применение в формуле логарифма по основанию 2 вместо натурального логарифма ограничено диагностической системой данного блока, но может быть использовано в блоках типа MATLAB Fcn. Компараторы Compare 1, Compare 2 передают управления соответствующим триггерным блокам de2bi-1 и de2bi-2, в которых указана (рис.27 б) размерность (Output dimensions=2, для блока de2bi 2) ожидаемых результатов вычисления функции преобразования из десятичного представления числа в бинарную последовательность (MATLAB function=de2bi). Аргументом указанной функции служит входная величина блока (порт D) Справка по данной функции может быть получена в командном окне MATLAB по команде help de2bi. Блок embedded MATLAB Function. Для использования данного блока необходимо написать текст программы на языке MATLAB. Пример функции op(), возвращающей номер пункта k, выбранного пользователем в меню приведен на рис.28.
Рис. 27. Применение функций пользователя
function [k] = op(str1,str2) str3='КОНТРОЛИРУЕМЫЙ ПУНКТ_:'; str4='ОБЪЕКТ_______________:'; str5=strcat(str3,str2) str6=strcat(str4,str1) k=menu(strvcat(str5,str6),'VKL','OTK','CANCEL');
Рис. 28. Текст программы вызова меню
ниже. Этой функции передается название объекта str1 и контролируемого пункта str2. Внутри ее производится формирование сообщения для названия меню и вызов стандартной функции menu(). Наименование пунктов меню передается в качестве аргументов: ‘VKL’, ‘OTK’, ‘CANCEL’.
Популярное: Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние... Почему стероиды повышают давление?: Основных причин три... ![]() ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (944)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |