Формирователь корректирующего кода

Автор работы: Пользователь скрыл имя, 18 Октября 2011 в 22:31, курсовая работа

Краткое описание

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

Содержание работы

Введение
Основная часть
Схема формирования кода Хэмминга (без ошибок), спроектированного в программе Electronics Workbench
Схема формирования кода Хэмминга (с ошибкой), спроектированного в программе Electronics Workbench
Осциллограмма
Вывод
Список использованной литературы

Содержимое работы - 1 файл

Курсач Чугаев.docx

— 1.23 Мб (Скачать файл)

Московский  авиационный институт

( Государственный  технический университет )

Схемотехника  ЭВМ

Курсовая  работа

«Формирователь  корректирующего  кода»

Студентки Шутовой Екатерины

Гр. 03-320 

Преподаватель: Чугаев Б.Н. 
 
 
 
 

Москва 2011 
 

Содержание:

Введение…………………………………………………………………………………………………………………………………………....1

Основная часть……………………………………………………………………………………………………………………………………3

Схема формирования кода Хэмминга (без ошибок), спроектированного в программе Electronics Workbench…………………………………………………………………………………………………………………………………………..6

Схема формирования кода Хэмминга (с ошибкой), спроектированного в программе Electronics Workbench…………………………………………………………………………………………………………………………………………..7

Осциллограмма………………………………………………………………………………………………………………………………….8

Вывод………………………………………………………………………………………………………………………………………………….9

Список использованной литературы……………………………………………………………………………………………….10 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Введение.

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

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

Логика этого кода для четырехразрядных слов может  быть рассмотрена с помощью диаграмм Венна на рис0:

Рис0. Иллюстрация кода Хемминга для четырехразрядного слова.

Три пересекающиеся окружности образуют семь сегментов. Четырем  битам данных назначаются внутренние сегменты(рис0, а), а остальные сигменты заполняются битами паритета(добавочный бит к каждому биту информации). Биты паритета выбираются таким образом, чтобы общее число единиц в каждой окружности было четным(рис0, б). Так, поскольку окружность А содержит одну единицу, бит паритета для неё принимается равным 1. Теперь, если в результате ошибки изменится один из битов данных(рис0, в), это легко выявить. Путем проверки паритета обнаруживаются несоответствия в окружностях А и В. Для окружности Б несоответствия нет. Только один из семи сегментов присутствует в окружностях А и В и не присутствует в б, и ошибка может быть исправлена за счет изменения бита в этом сегменте. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Основная  часть.

Структура одного из вариантов построения устройства для  обнаружения одинарных и двойных  ошибок с коррекцией одинарных ошибок приведена на рис1. Схема предназначена для контроля 16-ти разрядных данных и размещается между процессором и памятью. Из процессора и в процессор поступают 16тиразрядные коды (UD15…UD0), а в память заносятся 22разрядные данные(М21…М0). Хранящаяся в ячейках памяти информация состоит из 16ти бит информации(MD15…MD0) и 6 контрольных битов (МР5…МР0). В последующем первые буквы в обозначении разрядов могут быть опушены, при этом D будет означать информационный разряд кода, а P-контрольный разряд.

Рис1. Схема обнаружения одинарных и двойных ошибок с коррекцией одинарных. 

Таблица1. Схема размещения основных и контрольных разрядов :

Номер позиции 22 21 20 19 18 17 16 15 14 13 12
Биты  данных   D15 D14 D13 D12 D11   D10 D9 D8 D7
Контрольные биты P5           P4        
Номер позиции 11 10 9 8 7 6 5 4 3 2 1
Биты  данных D6 D5 D4   D3 D2   D1 D0    
Контрольные биты       P3       P2   P1 P0
 

Контрольные разряды P4…P0 вычисляются по стандартной схеме кода Хемминга:

Особенность рассматриваемой  схемы состоит в способе формирования контрольного разряда P5. Он вычисляется путем суммирования по модулю 2 всех остальных 21 разрядов кода(D15…D0, MP4…MP0). Это облегчает фиксацию факта неисправимой двойной ошибки.

     При чтении из памяти формирователем синдрома вычисляется синдром S4…S0.

     

     Здесь P4…P0 – контрольные разряды, вычисленные генератором контрольных разрядов на основании информационных битов считанного из памяти кода (MD15…MD0). MP5…MP0 – такие же контрольные разряды, полученные тем же генератором, но перед записью информации в память и хранившиеся там вместе с основной информацией. Если синдром не равен нулю, то он указывает на позицию исказившегося бита при одиночной ошибке. С учетом контрольного разряда Р5 возможны 4 ситуации, показанные на таблице2:

Таблица2. Обнаружение ошибок

Сигнал  Чт/Зп на схеме определяет выполняемую операцию. Чт/Зп=1 означает чтение из памяти, а Чт/Зп=0 – запись в память.

Проанализировав полученный синдром  и разряд Р5, обнаружитель формирует двухразрядный код ошибки E1E0(таблица3) 
 

Таблица3. Кодирование  ошибок

Пристейшие ПЛИС - программируемые логические микрицы (ПЛМ). Программируемые логические матрицы - наиболее традиционный тип ПЛИС, имеющий программируемые матрицы "И" и "ИЛИ". Посторение ПЛМ основано на том, что любая комбинационная функция может быть представлена в виде логической суммы (операция ИЛИ) логических произведений (операций И). Тогда схема реализующая комбинационную функцию может быть представлена а следующем виде:

 Недостаток такой  архитектуры - слабое использование  ресурсов программируемой матрицы  "ИЛИ", поэтому дальнейшее развитие  получили микросхемы, построенные  по архитектуре программируемой  матричной логики (PAL - Programmable Array Logic ) - это ПЛИС, имеющие программируемую матрицу "И" и фиксированную матрицу "ИЛИ". К этому классу относятся большинство современных ПЛИС небольшой степени интеграции. 
 
 

Вывод:

Был изучен код Хэмминга, спроектирована схема формирования этого кода для обнаружения двойной и исправления одиночной ошибки(Двойная показывается на Р5, а одинарная на S0-S4(в каком разряде) ) на примере слова длинной 2 байта(16 бит) и на элементной базе ИС серии К155.  Показаны 2 варианта- с ошибками и без. Применять ПЛИС для создания разработанной схемы возможно-надо только изменить умножение по модулю два на «И» и «ИЛИ» по формулам перехода: или  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

  1. «Применение интегральных микросхем в электронной вычислительной технике». Справочник под редакцией Файзулаева Б.Н., Тарабрина Б.В.
  2. Цилькер Б. Я., Орлов С. А. «Организация ЭВМ и систем».
  3. Потемкин И. С. «Функциональные узлы цифровой автоматики».

Информация о работе Формирователь корректирующего кода