Разработка кодека блочного кода на микроконтроллере

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информатика, ВТ, телекоммуникации
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,03 Мб
  • Опубликовано:
    2014-12-26
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка кодека блочного кода на микроконтроллере

Оглавление

кодирование микроконтроллер информация помехоустойчивый

Введение

. Анализ задания

. Структурная схема кодека

. Карта памяти

. Структурная схема алгоритма кодирования и декодирования

. Схема подключения внешних портов ввода/вывода

. Код программы

Вывод

Список используемой литературы

Введение

Помехоустойчивое кодирование широко используется в системах передачи информации для повышения достоверности. Введение избыточности позволяет исправлять появляющиеся в линии связи ошибки.

Систематическим (n,k,d) кодом называется блочный код, у которого первые  символов - информационные, а остальные n-k - проверочные. Параметр  является расстоянием Хемминга и соответствует минимальному числу символов, на которое отличаются любые два кодовых слова. Такой код может исправлять не менее (n-1)/2 ошибок.

Кодовое слово можно формально представить в виде многочлена степени (n-1) от , причём коэффициенты при соответствующих степенях  являются символами кодового слова.

 .

В систематическом коде коэффициенты при xn-1,….,xn-k будут всегда выбираться в качестве информационных, а последние  символов, т.е. коэффициенты при xn-k-1,xn-k-2,..,x0 в качестве проверочных символов (рис.1).

Рис.1 Расположение информационных и проверочных битов.

Представление кодового слова в виде многочлена степени (n-1) позволяет характеризовать блочный циклический код также двумя многочленами: порождающим  и проверочным . Действия над многочленами выполняются в поле Галуа по модулю 2.


 .

Степень многочлена  меньше, чем , степень многочлена . Отсюда


и следовательно - кодовый многочлен (так как делится на порождающий многочлен).

Так как степень  меньше, чем , то все слагаемые в этом многочлене степеней  и больше, равны нулю.

Следовательно, коэффициентами при членах высшего порядка в многочлене  являются неизменные информационные символы, а коэффициентами при членах низшего порядка -проверочные символы.

Если в качестве  выбирать последовательно степени  , то коэффициенты многочленов


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

,

где - единичная матрица размерности х, а -матрица коэффициентов многочленов - остатков размерности (n-k)xk.

Процесс кодирования сводится к перемножению строки информационных символов на порождаюцую матрицу

.

Код, порождаемый матрицей  является также нулевым пространством матрицы

.

Следовательно, произведение кодового вектора  на транспонированную матрицу  приводит к нулевому вектору

,

.

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

.


.

.

Следовательно, синдром определяется только вектором ошибок. Анализируя синдром, можно определить позиции в кодовом векторе, где произошли ошибки. Считается, что имеется синхронизация по кадрам и по тактам.

Рис. 2 Временная диаграмма поступления данных и информации на микроконтроллер.

1. Анализ задания


В данном курсовом проекте будет спроектирован кодек блочного кода на микроконтроллере в соответствии с исходными данными:

Скорость передачи информационных символов равна 9600 Бод, длина кода n=21, длина информационного блока k=6, порождающий многочлен g(x)=.

Данные поступают в параллельном виде, передаются в параллельном.

Будет использован микроконтроллер Freescale M68HC11, регистр MM74C164.

 

. Структурная схема кодека


рис. 3

Структурная схема кодека, основанного на микроконтроллере M68HC11

Структурная схема восьми разрядного микроконтроллера M68HC11 приведена на рисунке 4.

Mode controlсхема выбора режима

Timer systemсистема таймера

Interrupt logicлогика прерываний/D converter АЦП/Data Шина адреса/данных

Control Регистр управления

CPU Ядро

рис. 4 Структурная схема микроконтроллера M68HC11

рис. 5 Карта памяти микроконтроллера

5. Структурная схема алгоритма кодирования и декодирования

На рисунке 6 изображены схемы кодирования и декодирования информации.

 

рис. 6 схема кодирования декодирования

6. Схема подключения внешних портов ввода/вывода


На рисунке 7 приведена схема подключения портов ввода и вывода устройства. Где ША - шина адреса, ШД - шина данных.

рис. 7 Электрическая схема устройства

7. Код программы

 

;кодирование

cpu6811;$00ee;вектор прерывания$d100;скачок на подпрограмму прерывания$c800;основная программа#$d000;ячейка для использования индексной ;адресации x в дальнейшемd#$F774;запись правой части матрицы

std0,x;#$7BBA;,x;#$CAF8 ;,x;#$657C;,x;#$32BE;,x;#$EE6A  ;,x;#$8000;,x;#$4000;,x;#$2000;,x;#$1000;,x;#$0800;,x;#$0400;,x;#$0200,x;#$0100,x;#$0080,x;#$0040,x;#$0020,x;#$0010,x;#$0008,x;#$0004,x;#$0002,x#$d00f$d011;счетчик

сli;разрешение прерываний*;замкнутый цикл$d100;подпрограмма прерывания

clr #$d010;создание и очистка кармана

ldaa#6$1F03;загрузка информационного блока из ;порта в аккумулятор brolb;циклический сдвиг;проверка 1 или 0 во флаге переноса$d00f ;загрузка из кармана в аккумулятор,x;сумматор по модулю 2

staa $d00f$d0101,x

staa$d010;возвращение в карманinx;$d011;уменьшение содержимого ячейки на 1;если после 16 повторений цикла не 0, то ;возвращение на m2

inx

inx$d010;загрузка содержимого кармана

staa$1F04;вывод проверочного блока

;декодирование$1F03;загрузка информационного блока из ;порта в аккумулятор a$d200;копирование информационного блока в ;ячейку$1F04;загрузка проверочного блока из порта в ;аккумулятор a$d202;копирование проверочного блока в ;ячейку

ldaa#6;$d203;#5;$d204;


Вывод

С учетом всех циклов время выполнения программы будет составлять

,8(+/- 8,25) микросекунд или 167,5 (+/- 33) машинных тактов.

В этом расчете не учитывается время обработки прерывания, скорость обработки данных будет выше 9600 бод, следовательно, требования выполняются.

Список используемой литературы

. С.Ф. Барретт, Д.Дж. Пак. Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12 \HCS12 с применением языка С. - М.: Издательский дом "ДМК-пресс", 2007.-640с.

. А.В. Микушин, А.М. Сажнев, И.В. Сединин. Цифровые устройства и микропроцессоры: учебное пособие. - СПб.:БХВ- Петербург, 2010.-832с.: ил.

. Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов.-М.: МИР,1978.

. Питерсон У., Уэлдон Э. Коды, исправляющие ошибки.-М.: МИР,1976.

. О.Д. Вальпа. Полезные схемы с применением микроконтроллеров и ПЛИС. М: Изд. дом "Додека - ХХ1",2006.

. Лекции по предмету ЦУМП.

Похожие работы на - Разработка кодека блочного кода на микроконтроллере

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!