Устройство защиты от ошибок
МИНИСТЕРСТВО OБРАЗОВАНИЯ И НАУКИ, МОЛОДЕЖИ И СПОРТА УКРАИНЫ
СУМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Кафедра электроники и компьютерной техники
пояснительная записка
к КУРСОВому проекту
По ДИСЦИПЛИНЕ: “системы передачи данных”
на тему: “УСТРОЙСТВО ЗАЩИТЫ ОТ ОШИБОК”
Выполнил: студент группы
Проверил:
содержание
Введение…………………………………………………………
1 Разработка структурной схемы
устройства защиты от ошибок………
- Выбор способа защиты…………………………………………………...5
- Повторная передача информации………………………….….6
- Корректирующие коды………………………….………….…..7
- Системы с обратной связью…………………………………..10
1.2 Выбор помехоустойчивого кода………………………………………...12
1.3 Разработка
формата сообщения………………………………… ………14
1.4 Выбор способа
фазирования по циклу………………………… ………18
1.5 Синтез алгоритма функционирования и разработка
структурной схемы УЗО…………………………………………………….23
2 Разработка принципиальной
2.1 Выбор элементной базы…………………………………………….……29
2.2 Кодирующее устройство………………………
2.3 Проектирование устройства хранения информационного
блока …………………………………………………………………………33
2.4 Устройство управления………………………
2.5 Устройство хранения
служебных символов……………………………
2.6 Устройство задержки информационного сигнала……………………..38
Заключение……………………………………………………
Список литературы…………………………………
ВВЕДЕНИЕ
В процессе автоматизированного управления
техникой, производственными процессами
и отраслями народного
Проблема повышения
Решение задачи повышения достоверности осуществляется в настоящее время в двух направлениях: совершенствование каналообразующей аппаратуры и использование специальных, процедур, основанных на использовании помехоустойчивых (корректирующих) кодов.
Во многих системах связи имеется ограничение на передаваемую мощность. Например, в системах ретрансляции через спутники увеличение мощности обходится очень дорого. Коды, корректирующие ошибки, являются замечательным средством снижения необходимой мощности, так как с их помощью можно правильно восстановить полученные ослабленные сообщения. Передача в вычислительных системах обычно чувствительна даже к очень малой доле ошибок, так как одиночная ошибка может нарушить программу вычисления. Помехоустойчивое кодирование становится в этих приложениях весьма важным. Для некоторых носителей вычислительной памяти использование кодов, контролирующих ошибки, позволяет добиться более плотной упаковки битов. Другим типом систем связи является система со многими пользователями и разделением по времени, в которой каждому из данного числа пользователей заранее предписаны некоторые временные окна (интервалы), в которых ему разрешается передача. Длинные двоичные сообщения разделяются на пакеты, и один пакет передается в отведенное временное окно. Из-за нарушения синхронизации или дисциплины обслуживания некоторые пакеты могут быть утеряны. Подходящие коды, контролирующие ошибки, защищают от таких потерь, так как утерянные пакеты можно восстановить по известным пакетам.
Одним из блоков системы передачи данных является устройство защиты от ошибок. Оно есть как в приёмной стороне, так и в передающей.
Устройство защиты от ошибок должно выполнять все возложенные на него функции, работа его соответствовать его техническим требованиям, иметь быстродействие не ниже заданного.
В данной курсовой работе мы будем проектировать устройство защиты от ошибок, которое входит в состав системы передачи данных. Практическая реализация разрабатываемого устройства должна предполагать оптимальный подбор реальных микросхем, а также аналоговых элементов. Основными критериями подбора являются: обеспечение необходимого быстродействия системы, низкого энергопотребления, а также минимальная стоимость УЗО.
При наличии дуплексных каналов
связи в большинстве случаев
целесообразно использовать УЗО
с ОС. Устройства с информационной
ОС позволяют обнаруживать ошибки практически
любой кратности, но к каналу обратной
связи предъявляются такие же
требования, как и к прямому. Поэтому
УЗО с ИОС наиболее эффективно
могут быть использованы при скорости
передачи 300/200 бит/с, так как устройства
преобразования сигналов (УПС) для такой
скорости образуют в полосе канала
тональной частоты два
При снижении качества канала связи в системах с ОС время задержки сообщения резко увеличивается, а в худшем случае выдача информации потребителю может вообще прекратиться. Чтобы не допустить этого, на каналах низкого качества целесообразно совмещать методы повышения верности передачи информации.
Исходя из всего выше изложенного можно сделать вывод, что для данного задания эффективно использовать канал связи УЗО с РОС, так как передача данных должна осуществляться на скорости 9600 бит/с.
1 РАЗРАБОТКА СТРУКТУРНОЙ СХЕМЫ УСТРОЙСТВА ЗАЩИТЫ ОТ ОШИБОК
Выбор способа защиты
Передачей данных принято называть область электросвязи, обеспечивающая передачу информации между ЭВМ или между ЭВМ и удаленными абонентскими установками. Под термином «данные» понимается информация, представленная в формализованном виде, предназначенная для обработки ее техническими средствами или уже обработанная ими
Скорость передачи данных достигает значений от нескольких сотен до нескольких десятков тысяч импульсов в секунду. Удовлетворить такие требования возможно лишь применением электронных оконечных устройств, которые имеют преимущество перед электромеханическими, как по техническим, так и по эксплуатационным показателям.
Учитывая отсутствие в цифровых сообщениях внутренней смысловой избыточности. Вероятность ошибки при передаче данных должна быть не более р=10-6. Применяемые в настоящее время каналы для передачи дискретных сигналов не обеспечивают требуемую верность приема, поэтому для соблюдения установленных норм необходимо принимать ряд мер. Существующие методы повышения верности передачи можно разделить на три группы: организационно-технические, в том числе улучшение амплитудно- и фазо-частотных характеристик каналов, увеличение переходного затухания между цепями, улучшение фильтрации в цепях питания), электротехнические (выбор наиболее помехоустойчивого вида модуляции, увеличение мощности сигнала по отношению к мощности помехи, замена стартстопных аппаратов синхронными и пр.), введение дополнительной избыточности (повторная передача информации, применение корректирующих кодов, применение систем с обратной связью).
Большинство причин снижения верности передачи связано со свойствами каналов, по которым осуществляется передача. Поэтому первую группу методов составляют меры организационно-технического характера, направленные на улучшение качественных показателей каналов связи. Они способствуют уменьшению действия помех, приводящих к искажениям элементов дискретных сигналов и появлению ошибок. Опыт показывает, что данные мероприятия позволяют уменьшить вероятность ошибки в среднем в 5 раз.
Вторую группу методов составляют меры электротехнического характера, направленные на увеличение помехоустойчивости передачи элементов дискретных сигналов, т. е. меры по улучшению способов образования и регистрации импульсов. Возможности этой группы методов практически довольно ограничены. Применение их позволяет уменьшить вероятность ошибки в 3—5 раз.
К третьей группе методов повышения верности передачи относятся методы обнаружения и исправления ошибок введением дополнительной избыточности в передаваемые сообщения. Они реализуются системами без обратной связи (повторная передача, корректирующие коды) и системами с обратной связью.
Наиболее действенными из перечисленных являются методы третьей группы, позволяющие повысить верность передачи теоретически в неограниченное число раз. Представляется целесообразным рассмотреть эти методы более подробно.
- Повторная передача информации
Метод
повторной передачи информации заключается
в том, что одна и та же информация
передается несколько раз. Решение
о принятом символе выносится
методом голосования по большинству.
Несмотря на то, что при передаче
некоторых символов в отдельных
случаях могут иметься ошибки,
окончательное решение
- Корректирующие коды
Другим способом введения дополнительной избыточности в передаваемую информацию является применение корректирующих кодов. С помощью корректирующих кодов можно обнаружить ошибку (определить факт ее наличия) или обнаружить и исправить ошибку (указать место ошибки в блоке контролируемой информации) в преданной информации. Как правило, каждая кодовая комбинация, подлежащая пересылке содержит информационные (k) и контрольные разряды (r).
Все множество комбинаций n-элементного кода разбивается на два непересекающихся подмножества: разрешенных и запрещенных кодовых комбинаций. Передача ведется комбинациями разрешенного подмножества. После получения итоговой комбинации производится ее анализ. Если принятая комбинация принадлежит подмножеству разрешенных комбинаций, то выносится решение, что ошибки нет, а если запрещенному, то выносится решение, что ошибка есть. Естественно, что ошибка обнаружена, не будет, если одна разрешенная комбинация превратится в другую разрешенную.
При исправлении ошибок выполняется две операции. Сначала устанавливается факт наличия ошибки (описанным выше способом), а затем указывается место ошибочного разряда в контролируемом блоке. При двоичном кодировании этого достаточно, чтобы исправить ошибку, так как оно сводится к инверсии ошибочно принятого разряда. Принцип исправления ошибок состоит в следующем. С учетом статистики ошибок в канале связи подмножество принятых запрещенных комбинаций разбивается на n непересекающихся подмножеств. Каждое из этих подмножеств отождествляется с одной из разрешенных комбинаций. Если принятая комбинация принадлежит подмножеству 1, то выносится решение, что передавалась комбинация a1; подмножеству 2 – комбинация a2 и т.д.
Таким образом, обнаружение или исправление ошибок корректирующим кодом достигается за счет применения в нем кодовых комбинаций с большим количеством элементов (n), чем это требуется для передачи полезной информации (k). Величина вводимой при этом избыточности определяется коэффициентом избыточности
Среди основных кодов, используемых при передаче информации необходимо отметить следующие: код с проверкой на четность, корректирующий код с постоянным весом, циклические коды, итерированные коды.
Код с проверкой на четность. Этот код является одним из простейших с обнаружением ошибок, используемых для оценки правильности ввода/вывода информации в аппаратуре передачи данных. При построении комбинаций этого кода к исходным информационным разрядам добавляется один контрольный так, чтобы число единиц в получившейся кодовой комбинации стало четным. Код с проверкой на четность может обнаружить лишь ошибки нечетной кратности, так как они нарушают условие четности единиц в комбинациях.
Корректирующий код с постоянным весом. Код строится таким образом, что в разрешенное подмножество отбираются комбинации, имеющие одинаковое число единиц (постоянный вес). Например, комбинации 10101, 11100, 10110 и др., могут составить элементы разрешенного подмножества. Таких комбинаций будет 10 и они могут использоваться для передачи цифровой информации. Любые ошибки, кроме двухкратных разного вида, будут обнаружены таким кодом, так как они нарушают установленное соотношение единиц и нулей в комбинации.
Циклические коды. Эти коды являются наиболее распространенными корректирующими кодами, применяемыми в настоящее время в аппаратуре передачи данных. Циклические коды наряду с возможностью обнаруживать и исправлять одиночные ошибки и пакеты ошибок обладают еще одним положительным свойством — простотой построения кодеров и декодеров. Это и определило их широкое применение на практике.
В теории циклического кодирования каждую n-элементную комбинацию принято записывать в виде некоторого полинома G (х) степени (n –1).
где а — цифры двоичной системы счисления, отображающие элементы кодовой комбинации; х — фиктивная переменная, заменяющая собой основание системы счисления.
Свойства циклического кода, а также вид кодера и декодера полностью определяются образующим многочленом g (х) степени r. Операции кодирования и декодирования в циклическом коде сводятся к умножению и делению полиномов по правилам двоичной алгебры. При построении избыточного кода полином неизбыточной кодовой комбинации сначала умножается на xr, а затем делится на образующий многочлен g(x). Кодовая комбинация циклического кода F (х) получается сложением полинома Р (х) с остатком от деления. Обнаружение ошибки происходит путем деления полинома F' (х), соответствующего принятой кодовой комбинации, на образующий полином g(x). Признаком принадлежности кодовой комбинации разрешенному подмножеству является деление без остатка полинома F' (х) на образующий полином g (х). При делении запрещенных кодовых комбинаций, образующихся при ошибочном приеме в результате действия помех, обязательно получится остаток, что и используется для обнаружения и исправления ошибок.
Кодер и декодер циклического кода строятся на основе регистров сдвига с логическими обратными связями (так называемые многотактные линейные фильтры), с помощью которых осуществляются операции деления полиномов.
Итерированные коды. Эти коды получаются, если использовать комбинации двух и более кодов, т. е. операцию итерации. Они более совершенные. Итерированные коды получаются путем расположения информационных символов в виде таблицы, каждая строка которой кодируется по определенному правилу. Каждый столбец таблицы тоже кодируется по определенному правилу (в общем случае не обязательно по тому же, что и строка). В правом нижнем углу таблицы дается результат проверки контрольных символов (проверка по строкам и столбцам).
- Системы с обратной связью
Характерной особенностью методов повторной передачи и использования корректирующих кодов является то, что вносимая избыточность остается постоянной для каждого конкретного случая в зависимости от выбранного кода или количества повторных передач. Избыточность рассчитывается лишь на какие-то вполне определенные условия прохождения сигналов, при которой обеспечивается достаточная степень уменьшения ошибок. Если этот расчет ориентировать на какое-либо среднее состояние канала, то в периоды помехо-активности (появление пакетов ошибок) число необнаруженных и неисправленных ошибок может значительно превысить допустимое значение. Если же ориентироваться на наихудшее состояние канала, то введенная избыточность будет не всегда оправдана, что приведет к снижению эффективности системы связи.
Наиболее
рациональным и желательным следует
признать случай, когда вводимая избыточность
может изменяться в зависимости
от интенсивности помех в канале.
Такая возможность появляется тогда,
когда передатчик получает сведения
о качестве приема сигналов по обратному
каналу. Системы, использующие обратный
канал для этих целей, получили название
систем с обратной связью. В зависимости
от вида сигналов, передаваемых по обратному
каналу, различают системы с
В системах с информационной обратной связью по обратному каналу связи передаются те же блоки информации, что и по прямому каналу связи, а решение о необходимости повторения ранее переданного блока принимается в передатчике. Эти системы из-за необходимости применения обратного канала с такой же пропускной способностью, что и прямой канал, а также из-за сравнительно низкой скорости передачи полезной информации нашли ограниченное применение.
В системах с решающей обратной связью по каналу обратной связи передаются лишь сигналы решения, поэтому его пропускная способность может быть взята меньше, чем для прямого канала связи. Решение о повторной передаче блока принимает приемник.
Системы с информационной и решающей обратной связью строятся с ограниченным числом повторений, после чего включается аварийная сигнализация, требующая вмешательства обслуживающего персонала.
Вне
зависимости от вида в системах с
обратной связью вносимая избыточность
меняется за счет изменения числа
повторных передач, которое определяется
условиями прохождения
Из
рассмотренных методов
1.2 Выбор помехоустойчивого кода
Выбирая помехоустойчивый код, прежде всего, необходимо учитывать его корректирующую способность, которая зависит от кодового расстояния d, численно равного минимальному числу элементов, которыми отличается любая кодовая комбинация от другой. В общем случае:
d = tо + tи +1, (1.1)
где tо и tи — число обнаруживаемых и исправляемых ошибок соответственно, причём обязательно tо ≥ tи.
Если код только обнаруживает ошибки, то
d = tо +1, (1.2)
а в случае только исправления ошибок
d = 2tи +1 (1.3)
Количество проверочных
k = n – r , (1.4)
где n — длина двоичной последовательности, кодируемой помехоустойчивым кодом. Отношение r к n называют коэффициентом избыточности кода.
В нашем случае, когда код только обнаруживает ошибки, значит
d = tо + 1 = 9 + 1 = 10
При обнаружении пакетов ошибок
особо эффективно использование
циклических кодов. Они относятся
к блочным систематическим
F(x) = G(x)∙xr + R(x),
где G(x) — передаваемая двоичная последовательность;
xr — одночлен, имеющий ту же степень, что и образующий полином P(x);
R(x) — остаток, полученный после деления G(x)∙xr на образующий полином.
Принятый блок снова делится на образующий полином P(x). Полученный нулевой остаток свидетельствуют об отсутствии ошибок в принятом блоке. При отличии остатка от нуля, анализируя его можно определить номера искажённых разрядов и скорректировать их.
Для построения циклических кодов применяются многочлены, которые делятся без остатка только на себя и на единицу, называемые неприводимыми.
При выборе образующего полинома, следует учитывать, что его степень не может быть меньше числа проверочных разрядов кода. Для упрощения технической реализации, будем брать степень полинома равную числу проверочных разрядов.
Из циклических кодов, обнаруживающих и исправляющих пакеты ошибок, наиболее эффективным является циклический код Файра. Его образующий полином определяется выражением:
Pф(x) = P(x)∙(xc +1), (1.5)
где P(x) — неприводимый многочлен степени m.
Коды Файра могут исправлять одиночный пакет длиной bи и одновременно обнаруживать пакет длиной bо при условии:
c ≥ bо + bи – 1, m ≥ bи, (1.6)
причём с не должно делиться на е без остатка (е = 2m–1). Если применять эти коды только для обнаружения ошибок, то можно обнаружить любой одиночный пакет ошибок, длина которого меньше или равна числу проверочных элементов:
r = c + m (1.7)
Длина блока n равна наименьшему общему кратному чисел е и с:
n = НОК{e, c} (1.8)
При выборе длины блока передаваемого сообщения необходимо учитывать свойства кодов, которые накладывают ограничения на n. С другой стороны n должно быть кратным длине применяемых символов: 8 (байту) или 7 (код КОИ-7). Для выполнения этих требований производят укорачивание длины блока до значения, кратного передаваемым символам при сохранении количества проверочных элементов, необходимых для обнаружения или исправления ошибок. Корректирующие способности укороченного циклического кода и исходного полностью совпадают. Такой укороченный код часто называют псевдоциклическим.
Согласно заданию для
Длина блока, согласно (1.8) равна n = НОК{e, c} = 127∙8 = 1016.
Так как при выборе длины блока
передаваемого сообщения
Количество проверочных
Чтобы найти образующий полином Pф(x), так как мы приняли m = 7, возьмём неприводимый полином 7-й степени наименьшей длины и согласно (1.5) найдём:
Pф(x) = P(x)∙(xc +1) = (x7 +x3 +1) (x8 +1) = x15 +x11 +x8 +x7 +x3+1
Количество информационных элементов в блоке k = n – r = 1016 – 15 = 1001. Причем в состав информационных элементов входят служебные разряды (фазирующая комбинация и номер блока) и передаваемая информация.
Избыточность передаваемого
Итак, нами был выбран способ передачи данных с применением кодов, обнаруживающих ошибки. В качестве помехоустойчивого кода взят код Файра, способный обнаруживать одиночные пакеты ошибок длиной вплоть до 14 бит.
Расчёт вероятности
1.3 Разработка формата сообщения
В процессе разработки СПД необходимо УЗО спроектировать так, чтобы обеспечить требуемую помехоустойчивость при максимальной эффективной скорости передачи данных. Помехоустойчивость и эффективная скорость зависят от избыточности передаваемых сообщений, причем с увеличением избыточности помехоустойчивость повышается, а эффективная скорость падает.
Для блочных разделимых кодов, при
которых кодирование и
, (1.7)
где k — количество информационных элементов;
nб — общее число элементов в блоке;
r — число проверочных элементов.
Эффективная скорость передачи информации Vэф при этом равна:
, (1.8)
где V— скорость передачи, бит/с, численно равная для двоичных систем скорости модуляции .
В реальных СПД эффективная скорость будет меньше за счет передачи в канале, кроме r проверочных элементов, дополнительной служебной информации, состоящей из nсл бит, то есть:
, (1.9)
В системах с обратной связью эффективная скорость еще больше снижается за счет повторной передачи искаженных блоков. В этом случае Vэф определяется по формуле:
, (1.10)
где Nб — общее число переданных блоков за сеанс связи; Nпб — число повторно переданных блоков, зависящее от функции распределения ошибок в интервале времени передачи сообщения и от длины блока, т. е. nпб = f [Po(t), nб].