- •Введение
- •1. Первая модель в Simulink
- •2. Логические операции
- •2.1. Представление чисел
- •2.2. Операции побитового сдвига
- •2.3. Логика, модель с дисплями
- •2.4. Логика, модель со Scope
- •3. Переключатели
- •3.1. Ручной переключатель Manual Switch
- •3.2. Переключатель Switch
- •3.3. Переключатель Multiport Switch
- •4. Управление передачей данных
- •4.1. Шифратор
- •4.2. Дешифратор
- •4.3. Мультиплексер + демультиплексер
- •5. Счетчики
- •5.1. Суммирующий счетчик с автосбросом
- •5.2. Суммирующий счетчик с внешним сбросом
- •5.3. Суммирующий счетчик со сбросом по Hit
- •5.4. Вычитающий счетчик с автосбросом
- •5.5. Вычитающий счетчик с внешним сбросом
- •5.6. Вычитающий счетчик со сбросом по Hit
- •6. Элементы памяти
- •6.1. Триггеры
- •6.1.1. SR триггер
- •6.1.2. D триггер
- •6.1.3. D триггер защелка
- •6.1.4. JK триггер
- •6.2. Регистры
- •6.2.1. Параллельный регистр
- •6.2.2. Регистр сдвига
- •7. Цифровая обработка сигналов
- •7.1. Наложение спектров
- •7.2. Шумы квантования
- •8. Фильтры
- •8.1. Аналоговый БИХ фильтр
- •8.2. Цифровой БИХ фильтр
- •8.3. Цифровой КИХ фильтр
- •9. Модемы
- •9.1. Аналоговые модемы
- •9.1.1. Аналоговый модем DSB
- •9.1.2. Аналоговый модем DSBSC
- •9.1.3. Аналоговый модем SSB
- •9.1.4. Аналоговый модем FM
- •9.1.5. Аналоговый модем PM
- •9.2. Цифровые модемы
- •9.2.1. Цифровой модем BPSK
- •9.2.2. Цифровой модем QPSK
- •9.2.3. Цифровой модем M-PSK
- •9.2.4. Цифровой модем M-FSK
- •9.2.5. Цифровой модем M-PAM
- •9.2.6. Цифровой RECT_QAM модем
- •10. Канальные кодеки
- •10.1. Кодек Хэмминга
- •10.2. Кодек BCH
- •10.3. Кодек Рида-Соломона
- •10.4. Сверточный кодек
- •11. Инструмент BERTool
- •11.1. Модемы
- •11.2. Кодеки
6.2. Регистры
Регистры это узлы ЭВМ, служащие для хранения информации в виде машинных слов или их частей, а также для выполнения над словами некоторых преобразований. С помощью регистра можно выполнять следующие операции:
установка всех разрядов регистра в состояние логического нуля или логической единицы;
прием и хранение в регистре многоразрядного слова;
сдвиг хранимого в регистре слова вправо или влево на заданное число разрядов;
преобразование параллельного двоичного кода в последовательный, и наоборот.
Регистры состоят из множества триггеров. Возможны регистры:
Параллельный. В каждый триггер данные заносятся одновременно.
Сдвига. Данные заносятся последовательно, начиная с первого триггера. При занесении очередного отсчета предыдущие сдвигаются по внутренним триггерам регистра.
Моделируем 2 типа регистров: параллельный и сдвиговый.
62
6.2.1. Параллельный регистр
Для параллельного регистра создаем статическую модель. Его поведение лучше анализировать в статике.
В модель 3-разрядного параллельного регистра включаем:
3 SR триггера S-R FlipFlop.
Константы Constant и Constant1 co значениями1 и 0 для выбора управляющих значений. Блок находится в Simulink => Sources.
3 ручных переключателя Manual Switch. Блок находится в Simulink => Signal Routing. Нужны для выбора входных данных для каждого триггера.
Их имена - Input 1, Input 2, Input 3.
Ручной переключатель Manual Switch для выбора сигнала записи. Его имя Record. При записи Record =1, Reset = 0.
Ручной переключатель Manual Switch для выбора сигнала сброса. Его имя Reset. При сбросе Reset = 1, Record =0.
3 логических блока Logical Operator (AND). Блок находится в Simulink => Logic and Bit Operations, с их помощью биты данных передаются на триггеры только при Record =1.
6 дисплеев Display для контроля прямых Q и инверсных !Q выходов триггеров. Блок находится в Simulink => Sinks.
63
Прогон при записи. Выбраны Record =1, Reset = 0, биты данных 011.
Прогон при сбросе. Выбраны Record =0, Reset = 1, биты данных безразличны.
64
6.2.2. Регистр сдвига
Для регистра сдвига создаем динамическую модель. Его поведение надо анализировать во времени.
В модель 3-разрядного регистра сдвига включаем:
3 триггера D_защелка D_Latch. Блок находится в Simulink Extras=>FlipFlops.
2 элемента памяти Memory между триггерами. Блок находится в Simulink => Discrete. Они необходимы для запоминания предыдущего состояния триггеров в процессе моделирования.
Генераторы прямоугольных импульсов Pulse Generator. Блок находится в Simulink => Sources. Один для формирования сигнала данных, другой для формирования сигнала синхронизации триггеров (при его наличии данные заносятся в триггер).
2 преобразователя типа данных Data Type Conversion. Блок находится в Simulink => Signal Attributes. Преобразует данные численного типа в булевые, что нужно для триггера D_защелка..
Наблюдатель Scope. Блок находится в Simulink => Sinks. Нужен для просмотра временных диаграмм сигналов в модели. В нем 5 входов.
65
Прогон при записи. Выбраны:
Для Pulse Generator период 4 сек., Длительность импульса 50% от периода, Задержка начала.4 сек.
Для Pulse Generator1 период 3 сек., Длительность импульса 10% от периода, Задержка начала.1 сек.
Видно, что выходы внутренних триггеров повторяют входные данные со сдвигом во времени.
66