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

MAX+plusII состоит из 11 полностью интегрированных программных модулей, каждый из которых выполняет свою функцию при создании проекта. Ввод проекта может осуществляться следующими способами: с помощью графического редактора(составление принципиальной схемы из заранее заготовленных символов путём соединения выводов), с помощью текстового редактора(ввод описания проекта на одном из выше перечисленных языков), а также с помощью редактора временных диаграмм. Проект 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 с активным уровнем LOG«0». Особенность: выходы разрядов инвертированы.

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:



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

Когда все элементы размещены, нужно их соединить согласно схеме. Эта операция проводится точно так же как в любом графическом редакторе. Просто рисуем линии проводников. Однако большое количество проводников загромождает рабочее пространство. Чтобы это исключить в MAX+plusII используется привязка с помощью имён. В данном проекте этот приём тоже использован. Два проводника называются одинаково и они уже соединены. Т.е. проводники могут находиться в разных углах экрана и не соединяться графически.

Для того, чтобы проект был скомпилирован необходимо указать компилятору куда подавать входные и откуда снимать выходные сигналы. Для этого нужно добавить элементы INPUT и OUTPUT из стандартной библиотеки.

Теперь схема собрана. Для компиляции используем приём описанный выше. Схема приёмника циклового синхросигнала готовая для моделирования в симуляторе MAX+plusII находится в приложениях.


Моделирование работы схемы проекта


Чтобы выяснить правильно ли работает схема, её необходимо промоделировать. Воспользуемся редактором временных диаграмм MAX+plusII. Создаём файл *.scf точно так же как это делалось для каждого из элементов. Необходимо проинициализировать проект(определить какой из файлов будет главным в проекте). Для этого выбираем файл схемы *.gdf и:



Сохраняем файл *.scf под тем же именем, что и проект(в данном случае ssreceiver). Добавляем необходимые выводы на временную диаграмму: PRN, Clock, ICM, NAND7, Count1, In_Case[0..2], Count2, Out_Case[0..3].

PRN – сигнал предварительной установки триггеров

Clock – сигнал тактовой частоты 2048кГц

ICM – сигнал, в соответствии со структурой реального сигнала ИКМ

NAND7 – сигнал с выхода опознавателя

Count1, Count2 – сигналы с выходов дополнительного счётчика и счётчика-делителя на 512 соответственно.

In_Case[0..2],Out_Case[0..3] – выходы разрядов накопителей по входу и по выходу соответственно.

Задаём конечное время симуляции 5мс:



Задаём тестовые сигналы на входах:

PRN – устанавливаем в 1 и добавляем единичный сброс в 0 длительностью в 1 синхроимпульс в самом начале диаграммы.

Clock – сигнал тактовой частоты с периодом 488нс(частотой 2048кГц)

ICM – создаём сигнал ИКМ в соответствии с временными интервалами реальной системы. Можно создать чётный и нечетный цикл а потом размножить по всей длине диаграммы. Сигнал ИКМ необходимо сдвинуть относительно начала диаграммы на время, достаточное для достижения устойчивого состояния схемы при включении(в противном случае возникают неопределенности).

Запускаем симуляцию и анализируем результат.

Сначала мы подаём идеальные сигналы, что должно соответствовать состоянию циклового синхронизма. Схема при начале симуляции находится в состоянии рассинхронизации потому, что ИКМ сигнал смещен: дополнительный счётчик находится в режиме поиска синхронизма, а счётчик-делитель на 512 работает в режиме деления частоты, но при этом считает с момента появления сигнала тактовой частоты, а не с момента прихода первой синхрокомбинации(см. приложение №5). Накопитель по выходу фиксирует отсутствие синхронизма и записывает последовательно в течение пяти циклов единицы. Накопитель по входу работает в режиме поиска нового положения синхропоследовательности. При первом же правильно принятом синхросигнале записывает 1 на выход младшего разряда, дополнительный счётчик переходит в режим деления на 512 и теперь только через 256 тактов под действием тактового импульса с выхода S счётчика проверяется наличие 1 в Р2 КИ0 нечетного цикла, единица присутствует, накопитель по входу не меняет своего состояния. В следующем цикле происходит запись 1 в следующий разряд накопителя по входу, сбрасывается счётчик-делитель на 512 и начинает работать в фазе с приходящим ИКМ сигналом. В следующем цикле опять проверяется наличие единицы на месте Р2 и накопители не меняют своего состояния. При приходе синхрокомбинации в пятом по счёту цикле происходит обнуление всех триггеров накопителя по выходу и окончательное заполнение единицами накопителя по входу. Схема вошла в синхронизм с ИКМ сигналом через 4 полных цикла. Далее изменений нет, т.к. сигналы поступают синхронно без воздействия помех и схема находится в синхронизме.

Теперь внесем в сигнал ИКМ искажения после того момента как схема найдёт первоначальный синхронизм. Занулим третий бит синхропоследовательности в 6 цикле (см. приложение №6). При таком искажении сигнала схема из состояния синхронизма перешла в состояние поиска синхронизма, дополнительный счётчик остановился и выдаёт на выход сигнал тактовой частоты, что продолжается до прихода правильной синхропоследовательности в цикле 8. Через 3 такта накопитель по входу заполнился нулями. Счётчик-делитель на 512 остаётся в фазе с ИКМ сигналом и продолжает считать, но в накопитель по выходу записалась единица. Эта единица остаётся в накопителе до момента прихода правильной синхропоследовательности в восьмом цикле. В цикле 7 происходит проверка Р2, но там нет искажений, сигнал верный и накопители остаются в прежнем состоянии. При приходе правильной синхропоследовательности в цикле 8 дополнительный счётчик переходит в режим деления на 512, в накопитель по входу записывается 1, накопитель по выходу сбрасывается. Синхронизм восстановлен.

Исправим сигнал ИКМ и внесем искажение в цикле 7. Занулим Р2 (см. приложение №7). При проверке Р2 КИ0 седьмого цикла схема не обнаруживает единицы. Накопитель по входу сбрасывается в 0(все разряды), дополнительный счётчик переходит в режим поиска синхронизма. Накопитель по выходу в прежнем состоянии. При приходе правильной синхрокомбинации в восьмом цикле в младший разряд накопителя по входу записывается единица, дополнительный счётчик переходит в режим счёта, в накопитель по выходу записывается единица в младший разряд. Накопитель по выходу сбрасывается только в цикле 10. И синхронизм снова восстановлен.

Теперь снова исправим сигнал ИКМ и внесем изменения в сигнал тактовой частоты после момента нахождения первоначального синхронизма. Удалим один импульс (см. приложение №8). Искажение внесено в четвертом цикле. На пятом цикле ничего не происходит, т.к. Р2 КИ0 смещается из-за искажения на одну позицию вправо на Р3, а там тоже единица и схема принимает её за верное значение. А вот на цикле 6 происходит срыв синхронизма из-за того, что счётчики срабатывают не в момент прихода синхропоследовательности, а с запаздыванием на 1 такт. Накопитель по входу работает также как при искажении в синхропоследовательности (в режиме поиска) до прихода правильной синхропоследовательности в восьмом цикле. Там происходит перевод дополнительного счётчика в режим счёта и в накопитель по входу записывается единица. Но счётчик-делитель на 512 по прежнему не в фазе и в накопитель по выходу на восьмом цикле записывается еще одна единица (вторая). Накопитель по выходу сбросится только на десятом цикле, когда счётчик-делитель будет установлен в фазу. После этого момента синхронизм можно считать восстановленным.

Итак, проведен анализ работы схемы приёмника циклового синхросигнала при единичных искажениях во входных сигналах. Теперь проанализируем работу схемы в режиме аварии циклового синхронизма. Исказим сразу три цикла сигнала ИКМ. Занулим: Р3 КИ0 шестого цикла, Р2 КИ0 седьмого цикла, Р3 КИ0 восьмого цикла (см. Приложение №9). В шестом цикле происходит срыв синхронизма. Дополнительный счётчик переходит в режим поиска, накопитель по входу обнуляется за три такта, в накопитель по выходу записывается единица. При приходе неправильной синхрокомбинации в цикле 8 накопитель записывает еще одну единицу, накопитель по входу и дополнительный счётчик в прежнем состоянии. Т.к. в девятом цикле сигнал соответствует верному, JK-триггер сброса накопителя по выходу устанавливается в соответствующий режим и на десятом цикле происходит сброс накопителя по выходу. Синхронизм будет восстановлен только в двенадцатом цикле. Это сделано для того, чтобы исключить возможность ложного синхронизма из-за формирования ложных синхрогрупп. Схема проверяет три цикла подряд и тогда, если все в порядке, можно считать, что синхронизм восстановлен.

Итак, промоделированы возможные причины потери синхронизма, схема проекта работает исправно. Теперь можно файл проекта прошить в реальную микросхему, которая будет выполнять функции приемника циклового синхросигнала.



Выводы


В ходе данной работы я изучил на практике работу приёмника циклового синхросигнала аппаратуры ЦСП ИКМ-30С-4, а также структуру цикла передачи. Также я познакомился с современными способами разработки цифровой аппаратуры, а в частности с системой автоматизированного проектирования MAX+plusII фирмы Altera, как в плане проектирования, так и в плане проверки схемы на работоспособность.



Литература


Л.С. Левин, М.А. Плоткин «Цифровые системы передачи информации»Радио и Связь 1982г. Москва

Руководство по эксплуатации цифровой системы передачи информации ИКМ-30-С-4:

Комплект оборудования №1 Аппаратура первичной цифровой системы передачи для СТС ИКМ-30С-4 Альбом №1

Комплект оборудования №1 Блок АЦО-11 Альбом №13

Комплект оборудования №1 Блок АЦО-11 Альбом №14


Страницы: 1, 2



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.