Моделирование работы приемника циклового синхросигнала аппаратуры ЦСП

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

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

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

 

Работа над проектом

 

В связи со сложностью поиска зарубежных аналогов отечественным микросхемам, применяемым в ИКМ-30, в библиотеках MAX+plusII, был выбран путь реализации этих микросхем с помощью текстового редактора.

На языке AHDL были описаны только те элементы функциональной схемы, для которых не нашлось точных аналогов в серии 74. Такими элементами были выбраны: входной семиразрядный сдвиговый регистр(INPUT_Register); опознаватель, представляющий собой элемент 7И-НЕ с инверсиями на некоторых входах(DECODER); накопитель по входу(In_Case); дополнительный счётчик и счётчик-делитель на 512(Count512). Для написания программ, описывающих работу элементов, были использованы стандартные элементы кода AHDL Templates. Листинги этих программ находятся в приложениях. Накопитель по выходу строился путём добавления дополнительной логики к уже существующему библиотечному регистру.

Все вновь созданные элементы были откомпилированы и проверены на симуляторе MAX+plusII. Для этого, при открытом файле программы(*.tdf):

 

При последовательном нажатии указанных кнопок происходит проверка на ошибки, автоматический выбор микросхемы, компиляция в код ассемблера этой микросхемы, симуляция в симуляторе MAX+plusII. Перед симуляцией необходимо создать файл *.scf с аналогичным именем, что и *.tdf, который будет описывать на какие выводы вновь созданного элемента какие сигналы подавать при симуляции. Этот файл создаётся в редакторе временных диаграмм, который позволяет подавать сигналы любой структуры. Для создания файла *.scf:

 

 

Теперь необходимо добавить выводы:

 

Редактирование сигналов производится следующим образом. Необходимо выбрать вывод и при нажатой левой кнопке мыши выбрать редактируемый участок. Затем с помощью панели инструментов(слева) установить нужный уровень сигнала.

 

Описание элементов схемы

 

Input_Register представляет собой сдвиговый регистр, состоящий из 7 D-триггеров, соединенных последовательно. ИКМ сигнал подаётся на информационный вход триггера младшего разряда, а снимается в параллельном коде с выходов всех триггеров одновременно. Особенностью этого регистра является то, что он работает по заднему фронту сигнала тактовой частоты, которая подаётся на clk входы всех триггеров.

Decoder это элемент 7И-НЕ, входы 2, 5, 6(нумерация с 0) включены с инверсией.

In_Case сдвиговый регистр, состоящий из трёх D-триггеров. Работает по переднему фронту сигнала синхронизации, поступающему с дополнительного счётчика. Имеет вход асинхронной установки в 1 с активным уровнем LOG0. Особенность: выходы разрядов инвертированы.

Count512 восьмиразрядный счётчик со сложной структурой. Включает семиразрядный счётчик и дополнительный триггер. При переполнении семиразрядного счетчика выдаётся промежуточный сигнал BR, который и передаётся на выход, но через логическую схему, объединяющую его элементами И с выходными сигналами(прямым и инверсным) дополнительного триггера. Счётчик имеет асинхронную установку. Если на входе R LOG0, то счётчик делит тактовую частоту на 512 и выдаёт 4кГц, если на R LOG1, то счётчик выдаёт на выход сигнал тактовой частоты.

Out_Case четырёхразрядный последовательно-параллельный регистр, параллельные входы которого соединены с общей шиной, а последовательный вход с шиной питания. Вход MODE выбирает режим работы(параллельная загрузка или сдвиг), в следствие чего изменяя MODE мы можем либо записывать последовательно LOG1 либо сбрасывать все триггеры регистра в 0.

С помощью D-триггера на входе асинхронной установки In_Case мы сбрасываем накопитель по входу в нужный момент. На нём организована проверка Р2 КИ0 нечетных циклов.

RS триггер выбирает режим работы дополнительного счётчика(деление на 512 или сброс и выдача тактовой частоты).

Элемент 4И-2ИЛИ-НЕ формирует сигнал установки счётчика-делителя на 512 в момент, когда накопитель по выходу зафиксировал выход из синхронизма, а накопитель по входу обнаружил новое место синхропоследовательности и есть сигнал отклика от опознавателя.

JK-триггер проверяет Р2 КИ0 нечетных циклов и выбирает режим записи для накопителя по выходу.

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

С 0 разряда накопителя по выходу выдаётся информация об ошибках. Третий разряд выдаёт сигнал о потере циклового синхронизма Авария ЦС

Для дальнейшего соединения элементов необходимо создать файлы символов (для каждого). Это делается следующим образом: открываем файл описания, а затем

 

Файл символа описывает графическую структуру элемента: имя, количество выводов, их наименование. Для библиотечных элементов эти файлы уже существуют.

 

Сборка проекта

 

Для сборки проекта из заготовленных элементов воспользуемся графическим редактором MAX+plusII.

Создадим графический файл *.gdf:

 

 

Добавлять элементы можно двойным щелчком на пустом пространстве. При этом появляе