Разработка контроллера последовательного канала с логическим протоколом NRZI-SPACE

реклама
Разработка контроллера последовательного
канала с логическим протоколом NRZI-SPACE
для ВК “Эльбрус – 90 микро”.
Студент 212 группы
Самойлов Артем Александрович
Проблема
Существуют
системы,
объединяющие
различные
гидроакустические
средства
на
основе
принципов
комплексирования и позволяющие наиболее полно и
одновременно решать ряд задач в области гидроакустики,
возникающих при эксплуатации морских средств –
гидроакустические комплексы. Для связи различных станций
с вычислительным комплексом понадобился контроллер
последовательного
канала,
передающий
данные
по
определенному протоколу.
Цель работы:
Разработать модуль синхронизатора и
контроллера последовательных
каналов обмена (МСПК) для обмена
данными между управляющим
вычислительным комплексом и
абонентами гидроакустических
комплексов (8шт.).
Постановка задачи
• 8 полнодуплексных каналов
• электрический интерфейс соответствует стандарту RS-485
• шина SBus для обмена данными с вычислительным комплексом
• скорость передачи информации – 2, 4 ,8 Мбит/c
• количество абонентов на линии – 1 (точка-точка)
• длина линии передачи при скорости 2, 4 Мбит/с не должна превышать
15 м и при скорости 8 Мбит/с - 10 м
• передаваемые пакеты должны быть привязаны к импульсам
синхронизации F2222
•данные кодируются по методу NRZI-Space
• очередность передаваемых бит – младший вперед
• проверка данных контрольной суммой CRC-CCITT
• передача высокого логического уровня в состоянии покоя
Параметры передачи данных


NRZI-Space
Формат кадра:
n < 128, bit staffing (после 5 подряд идущих 1 вставляется 0), аварийное
завершение (от 7 до 14 единиц), состояние покоя (>14 единиц),
подсчет контрольной суммы с полиномом X16 + X12 + X5 + 1
Помехозащитное кодирование
Содержимое регистра сдвигается влево на 1 бит, и в
последнюю (нулевую) позицию заносится очередной, еще
не обработанный бит данных
Если из регистра был выдвинут бит со значением «1», то
содержимое регистра комбинируется по XOR с
полиномом. Если «0», XOR не выполняется
Предыдущие два пункта выполняются, пока не
закончатся данные
Физический интерфейс линии связи

Выполнен согласно стандарту EIA/TIA-485
Сигнал
Направление
Логические уровни
RXC
<-
RS-485
RX
<-
RS-485
TXC
->
RS-485
TX
->
RS-485
F2222
->
LVDS
Описание
Входной тактовый
импульс приема
Линия приема данных
Выходной тактовый
импульс передачи
Линия передачи
данных
Доп. Синхросигнал
Fr0
->
LVDS
Доп. Синхросигнал
Fncp
->
LVDS
Доп. синхросигнал
Структурная схема
Функционирование модуля





Запрос от драйвера на запись в контроллер SBus. Далее – в
модуль на коммутатор адреса.
В модуле запрос передается в блок управления, либо в один
из 8-ми каналов и далее в управляющие регистры приемапередачи.
Выдача в линию синхросигналов F2222 и TXC.
При включении канала, когда схема приоритетов разрешает
обмен данными, начинается подкачка данных в
управляющий буфер и буфер передач и приема.
В следующем такте F2222 происходит отсылка пакета и
подкачка управляющего буфера и буфера передачи.
Аналогично и для приемника.
Диаграмма работы драйвера с одним каналом
Основной режим работы

Рабочий цикл:
Ожидание прерывания
Чтение регистра управления для получения
флагов прерывания и обновления номера такта
N
В память пишутся (N+K) – (N+K+K-1) очередных
буферов управления и данных
Из памяти читаются (N) – (N+K-1) буферов
управления и приема данных
Производится анализ и разбор полученных
данных
Требуемые параметры



Количество памяти – 132.608 бит
:
Один канал – 518x32 р. слов
1-8 каналы: всего 4352x32 р. слов или 139.264 бит или 17кб
памяти
Количество выводов ПЛИС – 128 шт = 7*8+71+1 :
Выводов на 1 канал – 7 шт, контроллер SBUS ~ 71 шт.
+ 1 – внешняя частота 48 МГц.
Примерное число логических элементов – 10000 шт.:
1500 шт. – SBUS-контроллер
~500 шт. – диспетчер приоритетов + генератор тактовых
импульсов
8*1000 шт. = 8000 шт. – кол-во элементов с 8 каналов
 В результате был выбран Cyclone II EP2C35
кол-ва элементов - 33.216; кол-во памяти - 483.840;
кол-во выводов(раб./всего) - 322 / 484
Верификация Verilog модели









проверка корректной отработки управляющего буфера без признака
данных (пустой пакет данных)
тест пересылки больших массивов данных в разных режимах и
скоростях по всем восьми каналам
тест приема/посылки данных в канал на разных скоростях
тест чтения ПЗУ ячейки, Registers R&W test - тест записи/чтения
всех регистров ячейки
определение максимального размера пакета данных,
вмещающегося на данной скорости между двумя тактами сигнала
F2222
тест останова отдельных каналов с последующим включением и
возобновлением работы
тест правильности генерирования синхросигналов F2222, FPNP,
FNCP, FR0
проверка тестового режима обмена (в данном режиме возможно
прямое чтение/запись буферов управления и данных каналов).
Тестовый режим:
Прямая запись и чтение буферов управления и информации
канала
Подкачка и откачка буферов в ручном режиме
Снижение частоты выдачи синхроимпульса F2222 в восемь раз
Заключение
Разработана синтезируемая верилог модель.
Произведена верификация модели.
Добавлен тестовый режим для отладки готового
модуля.
Модуль находится в стадии изготовления.
Спасибо за внимание
Скачать