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

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

Рубрика Коммуникации, связь, цифровые приборы и радиоэлектроника
Вид курсовая работа
Язык русский
Дата добавления 05.09.2014
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Оглавление

  • кодирование микроконтроллер информация помехоустойчивый
  • Введение
  • 1. Анализ задания
  • 2. Структурная схема кодека
  • 3. Карта памяти
  • 4. Структурная схема алгоритма кодирования и декодирования
  • 5. Схема подключения внешних портов ввода/вывода
  • 6. Код программы
  • Вывод
  • Список используемой литературы

Введение

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

Систематическим (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.

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

рис. 3

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

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

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

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

Interrupt logicлогика прерываний

A/D converter АЦП

Address/Data Шина адреса/данных

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

CPU Ядро

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

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

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

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

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

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

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

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

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

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

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

cpu6811;

org$00ee;вектор прерывания

jmp$d100;скачок на подпрограмму прерывания

org$c800;основная программа

ldx#$d000;ячейка для использования индексной ;адресации x в дальнейшем

ldd#$F774;запись правой части матрицы

std0,x;

ldd#$7BBA;

std2,x;

ldd#$CAF8 ;

std4,x;

ldd#$657C;

std6,x;

ldd#$32BE;

std8,x;

ldd#$EE6A ;

std10,x;

ldd#$8000;

std12,x;

ldd#$4000;

std14,x;

ldd#$2000;

std16,x;

ldd#$1000;

std18,x;

ldd#$0800;

std20,x;

ldd#$0400;

std22,x;

ldd #$0200

std24,x;

ldd #$0100

std26,x;

ldd #$0080

std28,x;

ldd #$0040

std30,x;

ldd #$0020

std32,x;

ldd #$0010

std34,x;

ldd #$0008

std36,x;

ldd #$0004

std38,x;

ldd #$0002

std40,x

clr #$d00f

staa$d011;счетчик

сli;разрешение прерываний

bra*;замкнутый цикл

org$d100;подпрограмма прерывания

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

ldaa#6

ldab$1F03;загрузка информационного блока из ;порта в аккумулятор b

m2rolb;циклический сдвиг

bccm1;проверка 1 или 0 во флаге переноса

ldaa$d00f ;загрузка из кармана в аккумулятор

eora0,x;сумматор по модулю 2

staa $d00f

ldaa $d010

eora 1,x

staa$d010;возвращение в карман

m1inx;

dec$d011;уменьшение содержимого ячейки на 1

bnem2;если после 16 повторений цикла не 0, то ;возвращение на m2

inx

inx

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

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

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

ldaa$1F03;загрузка информационного блока из ;порта в аккумулятор a

staa$d200;копирование информационного блока в ;ячейку

ldaa$1F04;загрузка проверочного блока из порта в ;аккумулятор a

staa$d202;копирование проверочного блока в ;ячейку

ldaa#6;

staa$d203;

ldaa#5;

staa$d204;

clr$d205;

ldx#$d000;ячейка для использования индексной ;адресации x в дальнейшем

m4lsl$d200;логический сдвиг влево содержимого ;данной ячейки

bccm3;проверка обнуления счетчика если да то ;переход по метке

ldaa$d205;загрузка в аккумулятор содержимого ;ячейки

eora0,x;сумматор по модулю 2

staa$d205;загрузка из аккумулятора в ячейку

m3inx;

dec$d203;

bnem4;безусловный переход

m6lsl$d202;логический сдвиг влево содержимого ;данной ячейки

bccm5;проверка обнуления счетчика если да то ;переход по метке

ldaa$d205;загрузка в аккумулятор значения ячейки

eora0,x;сумматор по модулю 2

staa$d205;загрузка из аккумулятора в ячейку

m5inx;

dec$d204;

bnem6;безусловный переход

ldy#$d100;ячейка для использования индексной ;адресации y в дальнейшем

ldab#$d205;запись из памяти в аккумулятор ячейки

aby;суммирование в индексном регистре до ;ячейки d205

ldaa0,y;

eora$1F03;сумматор по модулю 2

staa$1F05;декодированная последовательность

Вывод

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

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

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

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

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

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

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

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

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

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

Размещено на Allbest.ru


Подобные документы

  • Достоверность передаваемой информации в системах связи; разработка функциональной и принципиальной электрических схем самоортогональных сверточных кодов; способы задания и алгоритм порогового декодирования. Выбор микропроцессорной базы для блоков кодека.

    курсовая работа [1,5 M], добавлен 07.10.2012

  • Особенности помехоустойчивого кодирования. Основные виды избыточных кодов, их декодирующие свойства. Разработка восьмиразрядного кодирующего устройства на основе образующего многочлена с исправлением однократной ошибки. Скорость выдачи информации.

    реферат [230,9 K], добавлен 17.11.2013

  • Характеристика кодирования как средства защиты и повышения достоверности передачи информации по каналу связи. Частотный диапазон Bluetooth и способ кодирования пакета в цифровых системах связи. Классификация кодов, их параметры и оптимальные значения.

    презентация [146,0 K], добавлен 22.10.2014

  • Общее описание восьмиразрядного высокопроизводительного однокристального микроконтроллера. Порты ввода-вывода. Разработка структурно-функциональной схемы. Выбор элементной базы, основные используемые процедуры. Описание алгоритма программы, ее листинг.

    курсовая работа [28,4 K], добавлен 23.12.2012

  • Количество поверочных элементов. Выбор образующего полинома. Построение матрицы синдромов для однократной ошибки. Схема кодера циклического кода. Оценка вероятности обнаруживаемой ошибки на выходе системы передачи. Алгоритм построения дешифратора.

    контрольная работа [3,6 M], добавлен 03.12.2010

  • Схема кодирования звуковой информации. Аналоговая и дискретная формы представления информации. Выделение количества уровней громкости в процессе кодирования звуковой информации. Качество двоичного кодирования звука. Расчет информационного объема.

    презентация [613,8 K], добавлен 26.11.2012

  • Описание алгоритма работы и разработка структурной схемы микропроцессорной системы управления. Разработка принципиальной схемы. Подключение микроконтроллера, ввод цифровых и аналоговых сигналов. Разработка блок-схемы алгоритма главной программы.

    курсовая работа [3,3 M], добавлен 26.06.2016

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

    лабораторная работа [39,2 K], добавлен 26.09.2012

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

    дипломная работа [780,7 K], добавлен 25.10.2013

  • Принципы кодирования источника при передаче дискретных сообщений. Процесс принятия приёмником решения при приёме сигнала. Расчёт согласованного фильтра. Построение помехоустойчивого кода. Декодирование последовательности, содержащей двукратную ошибку.

    курсовая работа [903,9 K], добавлен 18.10.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.