Смекни!
smekni.com

Микропрограммный автомат на постоянном запоминающем устройстве для кодирования манчестерского кода (стр. 4 из 5)

Устройства ввода представляют собой набор DIP-переключателей ВДМ1-8, при помощи которых формируется передающийся восьмиразрядный код и тактильную кнопку ТС-0403, которая запускает цикл передачи устройством одного байта информации. После завершения передачи данных устройство переходит в состояние ожидания инициализации следующего цикла передачи данных (следующего нажатия тактильной кнопки).

Блок стробирования передающегося кода представляет собой параллельный регистр К555ИР27, срабатывающий по фронту. По нажатию тактильной кнопки код с DIP-переключателей защелкивается в регистр. Таким образом, есть возможность формировать следующий байт информации на входе устройства, еще до завершения передачи текущего байта информации.

Манчестерское кодирование (Подраздел 1.5) подразумевает представление входного (передающегося) кода в последовательном виде. Для выполнения этой функции предназначен блок преобразования параллельного кода в последовательный, который реализован в виде восьмиканального мультиплексора К155КП7. Управление работой мультиплексора (выбор номера канала) осуществляется с помощью входного кода адреса. Входной код адреса формирует микропрограммный автомат (последний выполняет перебор адресов мультиплексора от 0 до 7).

Микропрограммный автомат (вместе с мультиплексором, которым он управляет) представлен на рисунке 2.3. Основной задачей микропрограммного автомата является кодирование входного последовательного кода в манчестерский.

Рисунок 2.3 – Микропрограммный автомат для кодирования Манчестер-II

Как видно из рисунка 2.3 регистр, входящий в состав микропрограммного автомата стробирует данные по положительному фронту сигнала CLK. Таким образом, сигнал CLK управляет работой микропрограммного автомата (если CLK не изменяется во времени, то автомат находится в ждущем состоянии). Когда цикл передачи данных завершен, автомат взводит флаг STOP (активный уровень "0").

Для управления работой автомата (Рисунок 2.3) разработан блок управления микропрограммным автоматом (Рисунок 2.4), который управляет прохождением сигнала CLK с его входа на выход (при подаче на вход сигнала START сигнал CLK проходит на выход; при подаче STOP – на выходе "0").

Рисунок 2.4 – Блок управления микропрограммным автоматом

Микропрограмма, выполняющая кодирование входного сигнала в манчестерский код и управление мультиплексором представлена в таблице 2.2. Микропрограмма, представленная в таблице 2.2 достаточно проста, потому подробно рассматриваться не будет.

Таблица 2.2 – Микропрограмма кодировщика манчестерского кода

Адрес ПЗУ Данные ПЗУ Комментарий
4 3 2 1 0 7 6 5 4 3 2 1 0
Вх. Адрес MS Вых. Сл. адрес
0 0 0 0 0 0 0 0 0 0 0 0 1 Кодирование SYNC бита
0 0 0 0 1 0 0 1 1 0 0 1 0
0 0 0 1 0 0 0 1 0 0 0 1 1 Кодирование 1-ого ("0") разряда входного кода
0 0 0 1 1 0 1 0 1 0 1 0 0
0 0 1 0 0 0 1 0 0 0 1 0 1 Кодирование 2-ого ("0") разряда входного кода
0 0 1 0 1 0 1 1 1 0 1 1 0
0 0 1 1 0 0 1 1 0 0 1 1 1 Кодирование 3-его ("0") разряда входного кода
0 0 1 1 1 1 0 0 1 1 0 0 0
0 1 0 0 0 1 0 0 0 1 0 0 1 Кодирование 4-ого ("0") разряда входного кода
0 1 0 0 1 1 0 1 1 1 0 1 0
0 1 0 1 0 1 0 1 0 1 0 1 1 Кодирование 5-ого ("0") разряда входного кода
0 1 0 1 1 1 1 0 1 1 1 0 0
0 1 1 0 0 1 1 0 0 1 1 0 1 Кодирование 6-ого ("0") разряда входного кода
0 1 1 0 1 1 1 1 1 1 1 1 0
0 1 1 1 0 1 1 1 0 1 1 1 1 Кодирование 7-ого ("0") разряда входного кода
0 1 1 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0 1 0 0 0 1 Кодирование SYNC бита (исключено протоколом)
1 0 0 0 1 0 0 1 0 0 0 1 0
1 0 0 1 0 0 0 1 1 0 0 1 1 Кодирование 1-ого ("1") разряда входного кода
1 0 0 1 1 0 1 0 0 0 1 0 0
1 0 1 0 0 0 1 0 1 0 1 0 1 Кодирование 2-ого ("1") разряда входного кода
1 0 1 0 1 0 1 1 0 0 1 1 0
1 0 1 1 0 0 1 1 1 0 1 1 1 Кодирование 3-его ("1") разряда входного кода
1 0 1 1 1 1 0 0 0 1 0 0 0
1 1 0 0 0 1 0 0 1 1 0 0 1 Кодирование 4-ого ("1") разряда входного кода
1 1 0 0 1 1 0 1 0 1 0 1 0
1 1 0 1 0 1 0 1 1 1 0 1 1 Кодирование 5-ого ("1") разряда входного кода
1 1 0 1 1 1 1 0 0 1 1 0 0
1 1 1 0 0 1 1 0 1 1 1 0 1 Кодирование 6-ого ("1") разряда входного кода
1 1 1 0 1 1 1 1 0 1 1 1 0
1 1 1 1 0 1 1 1 1 1 1 1 1 Кодирование 7-ого ("1") разряда входного кода
1 1 1 1 1 0 0 0 0 0 0 0 0

Необходимо только отметить, что поскольку входной бит кодируется фронтом выходного сигнала, то для формирования последнего необходимо два такта работы микропрограммного автомата. Поэтому инкрементация адреса мультиплексора происходит каждый второй такт микропрограммного автомата. Когда младшие 4 разряда данных ПЗУ равны нулю флаг STOP взводится и работа автомата прекращается (блок управления микропрограммного автомата не пропускает тактовый сигнал). Поскольку один из восьми битов пакета передаваемых данных используется для синхронизации, то

В качестве устройства вывода используется светоизлучающий диод АЛ307Г-М.

Таким образом, выше были прокомментированы все основные узлы (по отдельности) спроектированного кодировщика манчестерского кода. Полная принципиальная схема кодировщика представлена в приложении.

3 СИМУЛЯЦИЯ СХЕМЫ В САПР ALTERA QUARTUS II

Схема

, реализующая микропрограммный автомат на ПЗУ для кодирования манчестерского кода представлена на рисунке 3.1. Карта прошивки ПЗУ представлена на рисунке 3.2.

Рисунок 4.1 – Кодировщик манчестерского кода

Рисунок 3.2 – Карта прошивки ПЗУ микропрограммного автомата

При помощи средств симуляции и временного анализа САПР Altera Quartus II получена временная диаграмма (Рисунок 3.3) для схемы кодировщика манчестерского кода, изображенного на рисунке 3.1. Временная диаграмма на рисунке 3.3 подтверждает правильность работы полученной схемы.

Рисунок 3.3 – Временная диаграмма кодировщика манчестерского кода

Пронумерованные маски на временной диаграмме синтезированного кодировщика (Рисунок 3.3) имеют следующие пояснения:

1. Запуск кодировщика по переднему фронту сигнала START.

2. Кодирование DATA[0], т.е. "0".

3. Кодирование DATA[1], т.е. "1".

4. Кодирование DATA[2], т.е. "0".

5. Кодирование DATA[3], т.е. "1".

6. Кодирование DATA[4], т.е. "1".

7. Кодирование DATA[5], т.е. "0".

8. Кодирование DATA[6], т.е. "0".

9. Кодирование DATA[7], т.е. "0". Остановка кодировщика (переход кодировщика в состояние ожидания следующего сигнала START).

ВЫВОДЫ

Код Манчестер-II является биполярным двухуровневым самосинхронизирующимся кодом. Логическому нулю соответствует положительный фронт, а логической единицы отрицательный фронт закодированного сигнала. Бит обозначен переходом в центре тактового интервала, по которому и выделяется синхросигнал. Несомненное достоинство кода – отсутствие постоянной составляющей при передачах длинных последовательностей нулей или единиц.