48698 (588601), страница 5

Файл №588601 48698 (Разработка устройства кодирования-декодирования 32-х разрядных слов методом Хемминга) 5 страница48698 (588601) страница 52016-07-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

Код Рида-Соломона позволяет скорректировать одну ошибку в одном блоке данных. При его использовании к каждому блоку информации прибавляются дополнительные два элемента X и Y, значение которых находятся исходя из условий:

для трёх единиц информации (байт):байт1 + байт2 + байт3 + X + Y = 0

байт1 + 2 * байт2 + 3 * байт3 + 4 * X + 5 * Y = 0

для расчета конкретных значений X и Y для кодирования трёх байт:

Y = 3 * байт1 + 2 * байт2 + байт3X = -4 * байт1 - 3 * байт2 - 2 * байт3

Теперь для выяснения ошибки и её коррекции применяем следующие расчеты:

Значение_ошибки = байт1 + байт2 + байт3 + X + Y

Так как ранее (до возникновения ошибки) эта сумма была равна 0, то теперь она равна непосредственно значению ошибки, которое достаточно просто вычесть из недоброкачественного байта. В случае если блок принят безошибочно, то Значение_ошибки = 0. Теперь найдём байт который надо исправлять:

N = байт1 + 2 * байт2 + 3 * байт3 + 4 * X + 5 * Y

Номер_ ошибочного_ байта = N / Значение_ ошибки

При реализации этого в реальный алгоритм необходимо обязательно осуществлять проверку на то существует ошибка в блоке или нет, то есть Значение_ошибки = 0 или нет, иначе получаем деление на ноль.

Если необходимо защитить кодом Рида-Соломона блок данных более 3х байт, то формулы расчета корректирующих значений лишь немного изменяются (для 16 байт):

Y = 16 * байт1 + 15 * байт2 + 14 * байт3 + ... + байт16X = -17 * байт1 - 16 * *байт2 - 15 * байт3 - ... - 2 * байт16

Значение_ошибки = байт1 + байт2 + байт3 + ... + X + YN = байт1 + 2 * *байт2 + 3 * байт3 + ... + 16 * байт16 + 17 * X + 18 * Y

Данным кодом неудобно защищать блоки информации менее 4 байт, так как длинна контрольных параметров X и Y должна быть как минимум 4 байта

2 байта (DW) для X и 2 байта на Y, то есть получается. что к блоку данных из 4 байт будет добавлен корректирующий блок из 4 байт.

Но что делать, если возникло две или более ошибок в блоке ?

Как один из признаков возникновения двух ошибок можно считать получения в качестве номер ошибочного байта дробного числа, например если в блоке из нулей встретится 2 единицы (две ошибки), в третьем и четвёртом байтах, то Номер ошибочного байта = 3.5 но если 4 единицы, соответственно в 3, 4 и 5 байтах то Номер ошибочного байта = 4.





2 Разработка стенда контроля передаваемой информации

Для визуализации процесса помехоустойчивого кодирования можно разработать устройство, которое поможет понять принцип работы метода Хэмминга. Кодер – декодер будем разрабатывать на основе ИМС К555ВЖ1.

2.1 Разработка устройства кодирования информации методом Хемминга

Кодер, преобразует 32х битное слово в 38ми разрядный код Хэмминга, после чего слово хранится в памяти или передаётся по шинам и т.д. В процессе передачи или хранения в слове может произойти ошибка, поэтому декодер не просто декодирует слово, но и исправляет единичные ошибки. Процесс кодирования и декодирования можно представить в виде блок-схемы приведенной ниже.

Рис. 2.1 блок схема кодирования

Рис. 2.2 — Схема кодера

На входы а1,а2…а32 подаётся кодируемое слово. Блоки (элементы) KR1, KR2, KR4, KR8, KR16 и KR32 формируют контрольные разряды (биты чётности). Весь процесс кодирования сводится к формированию контрольных разрядов и сдвигу имеющихся разрядов. Так, 1й бит слова становится 3м битом кода, а 2й – 5м , 1,2,4,8,16,32 биты – контрольные. В результате кодирования 32х битное слово становится 38ми битным.

Рис 2.3 — Схема блоков KR1 – KR32

Блоки KR1, KR2, KR4, KR8, KR16 и KR32 собраны элементах исключающее ИЛИ. Итак:

Блок KR1 формирует 1й контрольный разряд подсчитывая чётность 3,5,7,9,11,13,15,17,19,21,23,25,27,29,31,33,35 и 37 битов, если количество единиц в этих разрядах чётное, то контрольный бит равен нулю, если нечётное – единица.

Аналогично блок KR2 формирует 2й контрольный разряд, подсчитывая чётность 3,6,7,10,11,14,15,18,19,22,23,26,27,30,31,34,35 и 38 битов, если количество единиц в этих разрядах чётное, то контрольный бит равен нулю, если нечётное – единица.

Блок KR4 формирует 4й контрольный бит проверяя 5,6,7,12,13,14,15,20,21,22,23,28,29,30,31,36,37 и 38 биты.

Блок KR8 формирует 8й контрольный бит проверяя 9,10,11,12,13,14,15,24,25,26,27,28,29,30 и 31 биты.

Блок KR16 формирует 16й контрольный бит проверяя 17,18,19,20,21,22,23,24,25,26,27,28,29,30 и 31 биты.

Блок KR32 формирует 32й контрольный бит проверяя 33,34,35,36,37 и 38 биты.

2.2 Разработка устройства декодирования информации методом Хемминга

Рис.2.4 — Схема декодера

Схема декодера состоит из 3х основных блоков: блока анализа, блока управления и блока исправления. Декодер осуществляет декодирование с исправлением произошедшей ошибки.

Рис. 2.5 — Схема блока анализа

Блок анализа с помощью блоков KR1, KR2, KR4, KR8, KR16 и KR32 заново проверяет чётность выше упомянутых разрядов и с помощью 6 и элементов исключающее ИЛИ сравнивает с пришедшими по шине контрольными разрядами. Если контрольные разряды нарушены, то формируются 6 сигналов ошибки, которые передаются в блок управления. Так же блок анализа изымает из 38ми битного слова биты чётности и передаёт 32х битное слово в блок исправления.

Рис. 2.6 — Схема блока управления

Блок управления представляет дешифратор 6/32, собранный на базе элементов И. В соответствии с комбинацией входных сигналов, блок управления активирует тот или иной управляемый инвертор блока исправления.

Рис 2.7 — Схема блока исправления ошибок

Блок исправления непосредственно производит исправление слова пришедшего из блока анализа в соответствии с сигналами блока управления. Он представляет собой 32 управляемых инвертора, на информационные входы которых подаётся слово с ошибкой, а на управляющие код из блока управления. В соответствии с поданным сигналом активируется тот или иной инвертор, который и исправляет ошибку, и слово выводится из дешифратора.

Рис.2.8 — Схема управляемого инвертора

Управляемый инвертор собран на базе 2х элементов НЕ, элемента И, и элемента исключающее ИЛИ-НЕ. Является непосредственно исполнителем исправления ошибки. Его таблица истинности приведена ниже.

Табл. 2.1 — таблица истинности управляемого инвертора

ВХОД

УПР.СИГНАЛ

ВЫХОД

0

0

0

0

1

1

1

0

1

1

1

0





2.3 Реализация кодера – декодера на базе ИМС К555ВЖ1

Рис 2.9 — Блок схема

32х битное слово разделяется на два слова по 16 бит. Далее каждая из половин попадает в свой 16битный кодер. Генерируются контрольные биты, и на линию передач выводятся два 22х битных кода Хэмминга. На линии передачи есть возможность внести ошибку. Далее 22х битный код считывается декодером. Проверяется на наличие ошибок. Если найдены ошибки, они исправляются, и выводятся два слова по 16 бит, которые и составляют переданное 32х битное слово.





2.3.1 Цоколёвка ИМС К555ВЖ1 (SN74LS630)

Рис. 2.10 — Цоколёвка ИМС К555ВЖ1 (SN74LS630)

  • D0-D15 - входы/выходы данных;

  • CB0-CB5 - входы/выходы синдрома;

  • S0,S1 - входы управления;

  • SEF - флаг ошибки;

  • DEF - флаг некорректируемой ошибки.

  • Все выходы с тремя состояниями

Схема использует модифицированный код Хэмминга, чтобы генерировать 6-битовый синдром для 16-разрядного слова. Одиночные ошибки схемой исправляются; двойные ошибки только обнаруживаются, ошибки типа всех нулей или всех единиц тоже обнаруживаются, тройные и большие ошибки могут быть не обнаружены. В случае двойной ошибки, оба бита могут быть в слове памяти, обе в слове синдрома, или по одному биту в слове памяти и слове синдрома. В течении цикла записи, схема формирует 6-разрядное проверочное слово из 16-разрядного слова данных. Коррекция ошибки выполняется идентификацией неправильного бита и инверсией его. Когда исправленное слово выдается из порта данных, из порта CBi выдается синдром, указывающий на неправильный бит.





Табл. 2.2 — Функции схемы исправления ошибок

Цикл памяти

Упр S1 S0

Функция БИС

Шина данных

Шина синдрома

Флаги SEF DEF

ЗАПИСЬ

L L

Генерировать контрольное слово

Входные данные

Выходное контрольное слово

L L

ЧТЕНИЕ

L H

Читать данные и контрольное слово

Входные данные

Входное контрольное слово

L L

ЧТЕНИЕ

H H

Защелкнуть и разрешить флаги

Защелкнутые данные

Защелкнутое контрольное слово

Разрешено

ЧТЕНИЕ

H L

Корректировать данные и генерировать синдром

Выходные корректированные данные

Выходной синдром

Разрешено

Табл. 2.3 — Таблица ошибок

Контрольное

16-разрядное слово данных

слово

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

CB0

*

*

*

*

*

*

*

*

CB1

*

*

*

*

*

*

*

*

CB2

*

*

*

*

*

*

*

*

CB3

*

*

*

*

*

*

*

*

CB4

*

*

*

*

*

*

*

*

CB5

*

*

*

*

*

*

*

*

Табл. 2.4 — Синдромы ошибок

Ячейка ошибки

Код синдрома ошибки

CB0

CB1

CB2

CB3

CB4

CB5

D0

L

L

H

L

H

H

D1

L

H

L

L

H

H

D2

H

L

L

L

H

H

D3

L

L

H

H

L

H

D4

L

H

L

H

L

H

D5

H

L

L

H

L

H

D6

H

L

H

L

L

H

D7

H

H

L

L

L

H

D8

L

L

H

H

H

L

D9

L

H

L

H

H

L

D10

L

H

H

L

H

L

D11

H

L

H

L

H

L

D12

H

H

L

L

H

L

D13

L

H

H

H

L

L

D14

H

L

H

H

L

L

D15

H

H

L

H

L

L

CB0

L

H

H

H

H

H

CB1

H

L

H

H

H

H

CB2

H

H

L

H

H

H

CB3

H

H

H

L

H

H

CB4

H

H

H

H

L

H

CB5

H

H

H

H

H

L

Нет ошибки

H

H

H

H

H

H

Табл. 2.5 — Исправление

Полное число ошибок

Флаги ошибок

Исправление данных

16-битовые данные

6-битовое контрольное слово

SEF

DEF

0

0

L

L

Не применимо

1

0

H

L

Коррекция

0

1

H

L

Коррекция

1

1

H

H

Прерывание

2

0

H

H

Прерывание

0

2

H

H

Прерывание



Характеристики

Список файлов ВКР

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6367
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее