- •«Устройство для преобразования кода»
- •Содержание
- •Введение
- •Задание на курсовой проект
- •Структурная схема устройства для помехоустойчивого кодирования
- •Проектирование crc-кодера
- •Проектирование устройства формирования пускового импульса
- •Проектирование устройства деления частоты
- •Проектирование устройства управления
- •Проектирование сдвигового регистра
- •Проектирование дешифратора для управления 7-сегментным индикатором
- •Размещение проекта на кристалле
- •Назначение контактов микросхемы epf10k70rc240-4 для портов проекта
- •Определение временных задержек и быстродействия устройства
- •Заключение
- •Библиографический список
Структурная схема устройства для помехоустойчивого кодирования
Устройство для помехоустойчивого кодирования должно быть реализовано по схеме на рис. 1.
Согласно этой схеме, данные заносятся параллельно в сдвиговый регистр 1, откуда последовательно вводятся в CRC-кодер. Избыточная комбинация с выхода CRC-кодера поступает последовательно на выход и в сдвиговый регистр 2, с выхода которого избыточные разряды поступают в дешифратор для отображения на 7-сегментном индикаторе платы UP2 Educational Kit.
Работа устройства протекает под управлением тактовых импульсов ТИ. Предусматривается два режима работы устройства:
с частотой следования тактовых импульсов ТИ, когда простейшие операции в устройстве происходят через интервалы, равные периоду следования ТИ;
с пониженной в k раз частотой, когда простейшие операции в схеме происходят в моменты действия каждого k-ого ТИ.
Режим работы устанавливается логической схемой ЛС1 по сигналам с выхода делителя частоты и управляющему сигналу «Выбор режима» принимающему значение логического нуля или единицы.
При работе с частотой следования ТИ на выходе логической схемы ЛС1 формируется сигнал «Разрешение» постоянного уровня, разрешающий работу всех блоков устройства. При работе с пониженной в k раз частотой ТИ на выходе логической схемы ЛС1 формируется импульсный сигнал, разрешающий работу устройства только в моменты действия каждого k-го ТИ.
Работа устройства должна начинаться по сигналу «Пуск» (логический ноль), который формируется при нажатии нефиксируемой кнопки на плате UP2 Educational Kit. Для синхронизации сигнала «Пуск» с тактовыми импульсами ТИ применяется устройство формирования пускового импульса, привязывающее момент пуска к очередному тактовому импульсу. Сигнал «Сброс» необходим для восстановления устройства формирования пускового импульса в исходное состояние.
По сигналу «Пуск» на выходе устройства формирования пускового импульса появляется сигнал «Загрузка», записывающий кодируемую безызбыточную комбинацию в сдвиговый регистр 1 и запускается устройство управления работой кодера, которое формирует сигнал управления обратной связью CRC-кодера, сигнал управления записью в сдвиговый регистр 2 и восстанавливает исходное состояние устройства по окончании цикла кодирования [1].
Проектирование crc-кодера
Для образующего полинома G4(x)=x3+x2+x+1 схема кодирующего устройства имеет следующий вид (рис.2):
Рис. 2. Структурная схема CRC-кодера
Кодирующее устройство представляет собой сдвиговый регистр с обратными связями через сумматор по модулю два и строится по виду образующего полинома G4(x)=x3+x2+x+1.
Кодирование сводится к формированию в регистре 3 проверочных символов.
Перед началом кодирования триггеры x0-x2 находятся в нулевом состоянии, ключ К1 в положении «1», К2 – замкнут. Кодируемая безызбыточная 5-разрядная комбинация поступает символ за символом в схему и одновременно через ключ К1 на выход кодера. Первым в этой последовательности идет символ старшего разряда.
С приходом 5-го информационного символа формирование проверочных символов в КУ завершается, ключ К2 размыкается, ключ К1 переключается в положение «2». Сформированные в регистре проверочные символы поступают на выход вслед за информационными, что обеспечивается путем последовательного сдвига сформированной в регистре комбинации проверочных символов.
Работа кодера на первых 5 тактах описывается следующими уравнениями:
;
где
,
- значения информационного символа на
i-ом такте;
,
- состояние j-го триггера
на i-ом такте [6].
Согласно заданию CRC-кодер спроектирован в виде текстового описания на языке AHDL [1]:
-------------------------------------------
-- СRС - кодер
-------------------------------------------
SUBDESIGN сoder_1111
(
data:INPUT; %Вход данных%
clock:INPUT; %Синхросигнал%
reset:input; %Сигнал обнуления кодера: reset=GND-обнуление%
switch:INPUT; %Сигнал управления обратной связью в кодере switch=VCC связь включена%
enable:INPUT; %Сигнал разрешения работы кодера:enable=VCC-работа разрешена%
rem[2..0]:OUTPUT; %Остаток от деления на образующий полином%
y:OUTPUT; %Выходной сигнал%
)
VARIABLE
CD[3..0]:DFFE; %Объявление триггеров входа%
BEGIN %Начало описания работы сдвигового регистра-делителя%
CD[].(clk,ena,clrn)=(clock,enable,reset);
%Подключение управляющих сигналов к соответствующим входам сдвигого регистра-делителя%
IF switch THEN
%Определение условия работы сдвигового регистра-делителя%
CD[0].d=CD[2].q XOR data;
CD[1].d=CD[0].q XOR CD[2].q XOR data;
CD[2].d=CD[1].q XOR CD[2].q XOR data;
ELSE
CD[0].d=GND;
CD[1].d=CD[0].q;
CD[2].d=CD[1].q;
CD[3].d=CD[2].q;
END IF;
%Конец описания работы сдвигового регистра-делителя%
y=CD[3].q;
rem[]=CD[2..0].q;
END;
Временные диаграммы, полученные в результате моделирования, приведены на рис. 3.
Рис.3. Временные диаграммы CRC-кодера
Представленные на рис. 3 результаты моделирования, полученные при кодировании 5-ти разрядной безызбыточной кодовой комбинации 11101, совпадают с результатами теоретического расчета, т.е. при делении 11101000 на двоичный эквивалент 1111 образующего полинома x3+x2+x+1 получается остаток 110 [6]:
Для дальнейшей работы с проектом сохраним устройство в виде графического символа, представленного на рис. 4.
Рис.
4. Графический символ модуля кодера
