Реферат по теме выпускной работы
Разработка и исследование структур устройства передачи
данных на базе HDL и FPGA технологий
Содержание
Введение
В последнее время наметилась тенденция к глобальному мониторингу - структурированных систем мониторинга. В этом случае в системе организуется несколько пультов наблюдения, которые располагаются на разных ее уровнях и выполняют разные задачи. Так пульты нижнего уровня (как правило, в черте города) выполняют оперативные задачи - собирают информацию по объектам и обеспечивают оперативность реагирования на тревожные события. Далее, они передают информацию о событиях и действиях персонала на пульт централизованного наблюдения (ПЦН) - районного, областного, краевого, государственного масштаба. ПЦН не выполняют оперативных задач, а служат для контроля действий подведомственного персонала, сбора данных для статистики и дальнейшего анализа. Положительный опыт создания таких систем уже есть. На базе таких систем несложно организовать службы спасения по типу 911. Одним из важнейших составляющих таких систем мониторинга является радиоустройств приема и передачи информации. Их портативность, помехоустойчивость и цена - это те параметры, по которым их избирают. Используя цифровые методы кодирования достигается большая информационная емкость системы, позволяющей использовать один передающее устройство в составе с объектовыми системами большой емкости, например, адресные приборы с большим количеством контролируемых зон. В магистерской работе выполняется разработка и исследование системы передачи данных, которая будет иметь вид портативного устройства, выполненного с использованием HDL-и FPGA-технологий. Будет разработан FPGA-устройство на микросхеме семейства Cyclone от фирмы Altera и IP-ядро обнаружения и исправления ошибок на основе кодов Рида-Соломона, что улучшит помехоустойчивость устройства. С помощью экспериментального комплекса будут проведены исследования структуры системы передачи данных, что предлагается.
Актуальность
Актуальность теми магистерской работы заключается в том, что, во-первых, как было показано во введении, устройства передачи данных находят широкое, можно сказать, повсеместное применение, во-вторых, функция обеспечения помехозащищенности, является неотъемлемой частью этих систем, и, в-третьих, существующие системы передачи данных требуют усовершенствования по технико-экономическим показателям. Поэтому тема данной магистерской работы, направленной на разработку и исследование структуры системы передачи данных, является актуальной.
Цели и задачи, которые должны решаться
Целью магистерской работы является разработка и исследование структуры системы передачи данных с функцией помехозащищенности, превосходящей аналоги по технико-экономическим показателям.
Для достижения указанной цели в работе решаются следующие задачи:
- Разработка FPGA-структуры системы передачи данных с функцией помехозащищенности на базе кодов Рида-Соломона;
- Разработка и экспериментального портативного устройства передачи данных по радиоканалу на базе HDL- и FPGA-технологий проектирования;
- Исследование предложенной структуры передачи данных путем проведения испытаний и анализа разработанного экспериментального устройства по технико-экономическим показателям.
Научная новизна
Научная новизна работы заключается в том, что в ней предполагается разработать новую структуру помехозащищенной передачи данных на базе кодов Рида-Соломона, обеспечивающей более высокие технико-экономические показатели по сравнению с аналогами за счет использования современных FPGA-технологий проектирования.
Планируемые практические результаты
На основе предложенной структуры в работе будет разработана экспериментальное портативное устройство передачи данных по радиоканалу на базе HDL- и FPGA-технологий проектирования. В качестве базовой FPGA предполагается использовать СБИС фирмы ALTERA семейства Cyclone. В качестве языков описания и программирования аппаратуры выбраны VHDL и С/С++. Для обеспечения функции помехозащищенности будут разработаны два IP-ядра, реализующие кодер и декодер Рида-Соломона. Отладка цифровой части проекта будет выполняться на базе отладочного комплекса «Altera Nios II Embedded Evalution Kit» (NEEK).
Практическая значимость работы заключается в том, что на базе предложенной структуры могут разрабатываться эффективные по технико-экономическим показателям конкретные устройства передачи данных, ориентированные на использование FPGA.
Описание исследований
На рис.1 приведена обобщенная схема взаимодействия передатчика и приемника, которые обмениваются данными через радиоканал.
Рис.1 обобщенная схема взаимодействия передатчика и приемника
Работа передатчика заключается в том, что по определенному сигналу, который поступает от пульта дистанционного управления приемника (БДКПР), блок управления приемника (БКПР), который построен на основе микроконтроллера (МК), загружает прошивку с блока памяти передатчика (БППД) в микросхему от фирмы Altera. В качестве загружаемых, могут выступать либо прошивка для указанной ПЛИС, или кадры данных, которые были предварительно записаны в БППД. После того как прошивка была успешно загружена в ПЛИС, блок обработки кадров передатчика (БОКПД) может осуществлять принятие, обработку и выдачу кадров данных.
Над каждым кадром, который поступил, БОКПД выполняет следующие операции:
- подсчет контрольной суммы кадра;
- Кодирование кадра и подсчитанной контрольной суммы помехоустойчивым кодом;
- Побитовое скремблирования и выдачу кадра на частоте 8 МГц.
Кадр, который выдается побитовое с БОКПД, поступает на вход модулятора (МД), который преобразует каждый бит данных в соответствующий радиосигнал. Работа приемника заключается в том, что по определенному сигналу, который поступает от пульта дистанционного управления приемника (БДКПР), блок управления приемника (БКПР) загружает прошивку с блока памяти приемника (БППР) в блок обработки кадров приемника (БОКПР). После того как прошивка была успешно загружена в ПЛИС БОКПР, этот блок может осуществлять принятие, обработку и выдачу кадров данных. Каждый такой кадр принимается в виде соответствующего радиосигнала демодулятором (ДМ) и превращается им в последовательность битов, которая поступает на вход БОКПР. БОКПР, в свою очередь, выполняет над каждым кадром данных, поступающего, следующие операции:
- побитовое дескрембирование кадра;
- Декодирование кадра и принятой контрольной суммы декодером помехоустойчивого кода;
- Подсчет и проверку контрольной суммы кадра с выдачей соответствующего признака.
После того как очередной кадр данных пользователя был принят, БКПР проверяет признак правильности его контрольной суммы. Если кадр был принят без ошибок, то БКПР переписывает его с БОКПР в БППР. В противном случае принятый кадр отбрасывается. Учитывая тот факт, что ошибки в радиоканале имеют пакетный характер, при использовании кода, который исправляет пакетные ошибки, нет смысла выполнять операции матричного перемешивания информации во избежание рассеивания пакетной ошибки на несколько отдельных, сильно осложнит их исправления.
После того как функции и место ССК в составе передатчика и приемника были определены, нужно более подробно остановиться на структуре этих блоков. На рис. 2 приведена обобщенная схема ССК передатчика и приемника. На этот основные компоненты обоих ССК, не зависящие от конкретного кода циклического контроля и помехоустойчивого кода, а также направления передачи информации при взаимодействии отдельных компонентов между собой и блоков в целом. В состав передатчика входят следующие основные компоненты:
- FIFO передатчика - служит для буферизации кадров, предназначенных для отправки;
- Схема расчета кода циклического контроля (СРКЦК) - анализируя входной поток данных, производит расчет значение контрольной суммы для кадра с использованием одного из стандартных алгоритмов;
- Входной коммутатор кодеру помехоустойчивого кода (S1) - служит для коммутации на вход кодеру помехоустойчивого кода непосредственно данных кадра или рассчитанного значения контрольной суммы кадра;
- Кодер помехоустойчивого кода (КПК) - выполняет помехоустойчивое кодирование входного потока данных и выдачу проверочной информации;
- Выходной коммутатор передатчика (S2) - используется для коммутации на один из входов выходного сумматора по модулю «2» данных кадра, значение контрольной суммы кадра или проверочной информации, полученной после помехоустойчивого кодирования;
- Скремблер - выполняет генерацию псевдослучайной последовательности, поступающей на второй вход сумматора по модулю «2» с целью устранения длинных последовательностей нулей и единиц;
- Управляющий автомат передатчика (КА ПД) - управляет работой всех остальных компонентов схемы передатчика, получает от них информационные сигналы и выдает управляющие.
Рис.2 Обобщенная схема блоков обработки кадров передатчика и приемника
Функционирования передатчика, который построен по такой схеме происходит следующим образом. Сначала выполняется инициализация всех перечисленных составляющих передатчика. После записи в FIFO передатчика очередного кадра, этот кадр начинает передаваться на выход коммутатора S2, где складывается по модулю «2» со значением на выходе скремблера и поступает на вход модулятора. Параллельно с выдачей в линию также выполняется подсчет контрольной суммы кадра и его передача через коммутатор S1 на вход кодеру помехоустойчивого кода. Как только кодер помехоустойчивого кода обрабатывает блок данных определенной длины, он выдает его через коммутатор S2, а также прекращает на время выдачи проверочной информации издания непосредственно данных и подсчет контрольной суммы. Сразу же по окончании выдачи проверочной информации восстанавливается передача через коммутатор S2 данных кадра, подсчет контрольной суммы и вновь начинается кодирования следующего блока данных. После того, как передача полного кадра данных через коммутатор S2 в линию заканчивается и сформирована контрольная сумма кадра, она поступает через коммутатор S1 на вход кодеру помехоустойчивого кода, и одновременно через коммутатор S2 в линию, дополняя тем самым кадр данных, который был издан раньше. При завершении выдачи контрольной суммы, одновременно происходит завершение кодирования последнего блока данных составе кадра и проверочная информация выдается через коммутатор S2 в линию, завершая тем самым процесс передачи кадра. Последним шагом процесса передачи кадра является повторная инициализация всех компонентов передатчика, и переход в состояние ожидания следующего кадра для отправки. Управляющий автомат передатчика полностью контролирует работу всех его перечисленных компонентов, получая от некоторых из них информационные сигналы, определяющие их состояние, и выдавая необходимые управляющие сигналы для каждого из этих компонентов. В состав приемника входят следующие основные компоненты:
- Дескремблер - осуществляет генерацию псевдослучайной последовательности, поступающей на один из входов сумматора по модулю «2» с целью восстановления исходного потока данных, на другой вход этого сумматора подается поток данных, поступающий от демодулятора;
- Схема проверки кода циклического контроля (СПКЦК) - анализируя входной поток данных, выполняет проверку значения контрольной суммы для кадра с использованием одного из стандартных алгоритмов;
- Декодер помехоустойчивого кода (ДКПК) - выполняет помехоустойчивое декодирования входного потока данных и исправление ошибок, возникших за счет использования проверочной информации;
- FIFO передатчика - служит для буферизации кадров, предназначенные для отправления;
- Управляющий автомат передатчика (КА ПД) - управляет работой всех остальных компонентов схемы передатчика, получая от них информационные сигналы и выдавая управляющие.
Функционирования приемника, который построен по такой схеме происходит следующим образом. Сначала выполняется инициализация всех перечисленных составляющих приемника. Входной поток данных, поступающий из демодулятор, состоящий по модулю «2» с выходным потоком дескремблера, таким образом происходит восстановление исходной последовательности, которая составляет закодированный кадр данных. Дескрембльований начальный поток бит поступает на вход блока выделения синхросигнала и данных, где происходит его разделение на линию синхронизации, которая подается на все внутренние компоненты приемника, и линию данных, является информационной частью кадра. Разделенный поток поступает на вход декодера помехоустойчивого кода, который выполняет декодирование каждого блока данных определенной длины внутри полного кадра данных, и за счет наличия некоторого количества избыточной проверочной информации исправляет ошибки, которые могли возникнуть в процессе передачи каждого блока через радиоканал. С выхода декодера информация поступает параллельно в FIFO приемника и на вход системы проверки кода циклического контроля, которая формирует новую контрольную сумму кадра. По результатам анализа сложившейся контрольной суммы кадра, схема проверки может установить соответствующую признак наличия ошибки. В зависимости от значения сложившейся признаки ошибки, записанный в FIFO приемника кадр или считывается по команде микроконтроллера в блок памяти приемника, либо игнорируется, удаляется из FIFO без записи куда-нибудь. Последним шагом процесса приема очередного кадра, как и в случае работы передатчика, является повторная инициализация компонентов приемника и его переход в состояние ожидания приема следующего кадра данных. Управляющий автомат приемника полностью контролирует работу всех его перечисленных компонентов, получая от некоторых из них информационные сигналы, определяющие их состояние, и выдавая необходимые управляющие сигналы для каждых из этих компонентов.
Выбор кода циклического контроля. Наиболее популярными на сегодняшний день алгоритмами подсчета контрольной суммы какого-либо блока или потока данных является CRC16 и CRC32. Спектр применения этих алгоритмов очень широк, их программные реализации используются для подсчета контрольных сумм файлов или любых других наборов данных на различных носителях, а аппаратные - для подсчета контрольных сумм кадров или других единиц информации в сетевых и коммуникационных устройствах. Такая популярность алгоритмов подсчета CRC обусловлена тем, что они позволяют с очень высокой вероятностью определить наличие повреждений информации при ее передаче по «зачумленным» каналам связи или при дефектах носителя, на котором она хранилась.
Алгоритмы CRC16 и CRC32 формируют на основе некоторого входящего сообщения соответственно 16-разрядную или 32-разрядную последовательность бит, которые, как правило, прикрепляются к этому сообщению и затем используются для проверки наличия в нем ошибок после передачи или хранения.
В данной работе для обеспечения целостности кадров при передаче по радиоканалу, был выбран алгоритм CRC32. Такой выбор был сделан потому, что он может с большей вероятностью определять наличие ошибок при передаче кадра по сравнению с CRC16.Схемно алгоритм CRC32 реализуется в виде линейного рекуррентного регистра (регистра сдвига с линейными обратными связями). Полином, используемый для этого алгоритма, имеет вид:
Литература:
- Кузьмин В. П., Кедрус В. А. Основы теории информации и кодирования. - К.: Высшая шк. Главное изд-во, 1986. - 238с.
- Цымбал В. П. Теория информации и кодирования: Учебник. - К.: Высшая шк, 1992.-263 с.: Ил.
- Питерсон У., Уэлдон Э. Коды, исправляющие ошибки. - М.: Мир, 1976. - 595с.: Ил.
- Блейхут Р. Теория и практика кодов, контролирующем ошибки: Пер. с англ. - М.: Мир, 1986. - 576 с.: Ил.
- Огнев И. В., Сарычев К. Ф. Надежность запоминающем устройств. - М.: Радио и связь, 1988. - 224 с
- Илюшин С.В. Фрактальное сжатие телемедицинских изображений [Электронный ресурс], http://www.elsv.ru/files/actual/130.pdf
- Шувалов В.П., Захарченко Н.В., Шварцман В.О. и др. Передача дискретных сообщений. - М.: Радио и связь, 1990. - 439с.
- Wikipedia [электронный ресурс] - Режим доступа к электронного источника: http://ru.wikipedia.org
- Методические указания к выполнению лабораторных работ по курсу «Теория информации и кодирования». Раздел "помехоустойчивого кодирования" (для студентов специальности 6.0915) / Стекло: А. М. Дяченко. -Донецк: ДонГТУ, 1998. - (На электронном носителе № 2603).
- Методические указания к выполнению лабораторных работ по курсу «Теория информации и кодирования» (для студентов специальности 7.091501) / Стекло: А. М. Дяченко. -Донецк: ДонНТУ, 2005. - (На электронном носителе).
- Методические указания к выполнению лабораторных работ по курсу «Теория информации и кодирования» (для студентов специальности 7.091501, 7.091502) / Сост.: А. Н. Дьяченко, Ю.Е.Зинченко.-Донецк: ДонНТУ, 2006. - (На электронном носителе № 5117).
- Методические указания к выполнению лабораторных работ по курсу «Теория помехоустойчивого кодирования» / (для студентов специальности 7.091501, 7.091502) / Стекло.: О.М.Дяченко.-Донецк: ДонНТУ, 2007. - HTML-формат (на электронном носителе № 18, прот. № 7 от 20.06.07)
- Методические указания к выполнению лабораторных работ по курсу «Theory of antinoise coding» (для студентов специальности 7.091501) / Стекло: А. М. Дьяченко .- Донецк: ДонНТУ, 2007. - 35с. - HTML-формат (на электронном носителе № 19, прот. № 7 от 20.06.07)