Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Код Хемминга
Среди кодов, распознающих ошибки, чаще всего используется код Хемминга, также называемый Хемминг-дополненным двоично-десятичным кодом. Для передачи одной десятичной цифры в коде Хемминга необходимы 7 бит (рис. 8.36). По схеме кодирования Хемминга после каждых четырех бит данных добавляются три контрольных бита.
С помощью контрольного бита три информационных бита контрольной группы дополняются до четного числа 1-состояний. Структура контрольной группы К2 показана на рис. 8.37. Информационные биты — номер 5, номер 6 и номер 7. Контрольный бит — номер 4. При изображении десятичной цифры 0 информационные биты не имеют 1-состояний. Поэтому контрольный бит также не получает 1-состояния. При передаче десятичной цифры 1 информационные биты содержат одно 1-состояние. Контрольный бит принимает в этом случае 1-состояние. Тогда количество 1-состояний контрольной группы станет четным. Такая же ситуация имеет место для представления десятичной цифры 2. При изображении десятичной цифры 3 информационные биты содержат два 1-состояния. Число 1-состояний четно. Контрольный бит принимает в этом случае 0-состояние. Для десятичных цифр от 4 до 9 контрольный бит всегда равен 1, если три информационных бита содержат нечетное число 1-состояний. Контрольный бит всегда равен 0, если три информационных бита содержат четное число 1-состояний. Структура контрольной группы К1 состоит из информационных битов номер 3, номер 6 и номер 7 и контрольного бита 2 (рис. 8.38). С помощью контрольного бита К1 три информационных бита контрольной группы дополняются до четного числа 1-состояний. Алгоритм — как у контрольной группы К2. Третья контрольная группа — К0. Она состоит из информационных битов номер 3, номер 5 и номер 7. Контрольный бит К0 имеет номер 1 (рис. 8.39). С помощью контрольного бита три информационных бита контрольной группы дополняются до четного числа 1-состояний. К0 всегда равен 1, если три информационных бита содержат нечетное число 1-состояний. Установление ошибки происходит посредством проверки четности контрольных групп.
Для проверки 7-битовой комбинации требуются три контролера четности. Они подключаются согласно рис. 8.40. При нечетности контрольной группы на выходе соответствующего контролера появляется 1-состояние. Это 1 -состояние означает ошибку.
Итак, распознавание ошибки происходит без проблем. Как происходит ее исправление? Если ошибка встречается в бите номер 1, то контролер четности группы К0 сообщает об ошибке. Выход Z А принимает состояние 1. Ошибка в бите номер 2 вызывает сообщение об ошибке контролера четности группы К1 (ZB = 1). В случае ошибки в бите номер 3 ошибку выдают контролеры четности К0 и К1 На рис. 8.41 показано, какие контролеры четности выдают сообщение об ошибке, и состояния выходов ZA, ZB и Zc в случае ошибок в отдельных битах. При рассмотрении рис. 8.41 ясно, что выходные состояния ZA ZB и ZС образуют двоичное число, которое соответствует номеру ошибочного бита. Выход ZА соответствует 20, выход ZB соответствует 21, выход ZС соответствует 22.
Таким образом, однозначно идентифицируется ошибочный бит. Теперь его можно исправлять. Коррекция происходит самостоятельно с помощью цифровой микросхемы, которая инвертирует бит, помеченный как ошибочный. Больше делать ничего не надо, так как если ошибочный бит равен 1, то его истинное значение 0. Если ошибочный бит равен 0, то его истинное значение 1. В схемах, которые работают с кодом Хемминга, каждая 7-битовая комбинация проверяется в определенных точках схемы и в случае необходимости исправляется. Такая проверка и коррекция целесообразна прежде всего после передачи информации через длинные дорожки на плате, так как длинные дорожки больше подвержены воздействию помех. Контрольный тест 1. Чем отличаются понятия бинарный и двоичный? 2. Преобразуйте двоичные числа таблицы 8.42 в десятичные.
3. Преобразуйте следующие десятичные числа в двоичные:
|