Главная страница  Цифровые системы 

[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [ 59 ] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90]

Оба типа мультиплексирования эквивалентны в практическом смысле они требуют обработки данных на обоих концах канала. Однако TDM имеет "

имущества перед FDM. Во-первых, вся обработка производится на цифровое не, т. е. нет необходимости в установке и обслуживании высокочастотного обо вания для модуляции и демодуляции сигналов несущей частоты. Во-вторых т* допускает управление распределением временных слотов между отдельными ройствами - если устройство не передает данные, его свободные слоты можно дать другому устройству.

Если все или часть устройств нуждаются в доступе к каналу достаточно случ ным образом, то физический канал может обслужить больше устройств, чем чиГ поддерживаемых им виртуальных каналов. Эта технология называется статистиче КИМ мультиплексированием (statistical TDM) и используется, например, в оконес ных концентраторах - канал делится только между теми устройствами, которы нуждаются в нем в данный момент. С другой стороны, если число устройств, нуждающихся в канале в некоторый момент времени, превышает пропускную способность часть из них должна ждать доступа к каналу.

Если передача данных по каналу осуществляется всегда в одном направлении,ре жим передачи называется симплексным (simplex). Однако во многих случаях устрой ства на концах канала должны осуществлять и прием, и передачу - поэтому требуется мультиплексирование. Если в каждый момент времени каналом пользуется только одно устройство, передача называется полудуплексной (half-duplex). Это: режим эквивалентен TDM, при этом устройства должны обмениваться управляющей информацией для того, чтобы согласовать момент начала передачи. При полном дуплексном (/ull duplex) режиме передача происходит одновременно в обоих направ лениях. Режим полной дуплексной передачи осуществляется с помощью FDM, npi: котором каждая сторона имеет свой выделенный частотный диапазон для передач!: сообщений.

9.4.3. Обнаружение и исправление ошибок

Физический уровень, выполняющий основную работу по передаче данных межД. узлами, не дает гарантий, что данные будут доставлены в исходном виде. Шум в" нии может частично исказить сообщение. Для обеспечения защиты данных неоох димо использовать некоторую стратегию коррекции ошибок. Эта процедура т активного участия и передатчика, и приемника.

Для выявления ошибок при передаче данных были разработаны методы °f ля. Основной подход - добавить.к исходному сообщению дополнительную инф мацию, позволяющую приемнику установить наличие ошибок при передаче.

Для цифровых данных ошибки имеют скорее групповой характер, чем затраг"., отдельные биты. Иными словами, более вероятно, что неправильное значение. ч, иметь несколько последовательных бит, чем только один случайно расположе, бит. Это определяется тем, что источники внешнего шума - скачки и выбросы жения и аналогичные возмущения - генерируют импульсы длительностью в "ц-ко миллисекунд. При скоростях передачи данных порядка нескольких Кбит/с в щение, длящееся несколько миллисекунд, может нарушить несколько десятков

Информация, добавляемая к сообщению для контроля ошибок передачи, со jj из одного или нескольких байт, вычисленных из содержимого исходного сообй

ленному алгоритму, и называется контрольной суммой или контролем с ис-

ованием циклического избыточного кода (Cyclic Redundancy Check - CRC) или ояьной последовательностью кадра (Frame Check Sequence - ECS). Название ""спроисходит от того, что вычисление можно выполнить с помощью операции ре-ового сдвига над битами входного блока данных. Самый распространенный об определения контрольной суммы - разбить подлежащие передаче данные на Та известной длины (от нескольких байт до нескольких тысяч байт). Далее содер-" ое каждого блока, рассматриваемое как двоичное число, делится на двоичное о длиной один или два байта. Контрольной суммой является остаток от деления ""его двоичное дополнение длиной до нескольких десятков бит. Двоичное число, "свользуемое при делении, называется порождающим многочленом и обычно записывается в виде

+ + ...+х + х+ 1

Полиномиальная форма представляет собой не уравнение, а просто способ записи. Порождающий многочлен на один бит длиннее результирующей контрольной СУММЫ, и он начинается и заканчивается единицей. В нем указываются только степени, отличные от нуля (степень полинома дает длину контрольной суммы в битах). Например, стандартный порождающий многочлен для CRC в соответствии с рекомендацией МККТТ V.41 имеет вид

х +х+г+\

что соответствует двоичной последовательности 1000100000010001.

Приемник заново вычисляет контрольную сумму каждого из принятых блоков данных с помощью того же алгоритма. Если обе контрольные суммы совпадают, блок данных принимается, в противном случае приемник считает, что есть ошибки, и мо-*т, например, запросить повторную передачу блока.

Когда контрольная сумма добавляется к исходным данным, результирующая битовая последовательность передаваемого блока данных становится кратна порождающему многочлену. Если данные не повреждены, то операция деления на порожда-"Дий многочлен должна дать в остатке ноль. Другой результат указывает на по-Р*дение данных блока и необходимость его повторной передачи. %фективность контрольной суммы для определения ошибок уменьшается, если

данных имеют большую длину. При этом возможно выявление всех групп

jj?°"*bix бит длиной меньше, чем контрольная сумма, и более 99 % ошибок с боль-

-ооб™ коррекции ошибок должна предусматривать добавление к исходному *! ""ию и совместную с ним передачу достаточного количества информации, что-"bix !!иик мог восстановить поврежденное сообщение на основе принятых дан-Иь,!( Риемник использует всю принятую информацию для восстановления исход-"схо ""Ь1х. Необходимые избыточные данные заметно увеличивают длину Дного сообщения, обычно на 10-20 %, так что, как правило, более экономично .1ьзовать простую схему обнаружения ошибок и запрашивать повторную пере-%аи "°Режденных блоков данных. Процедуры коррекции ошибок имеют особое ение, если

Ческие дан

связь осуществляется только в одном направлении (например, теле-анные с космического объекта) или если полная дуплекснаясвязь

Торной передачей блоков данных невозможна.



9.4.4. Протоколы передачи символов

Протоколы передачи символов представляют собой широко иcпoльзye,JJ тод асинхронной последовательной передачи байт. Каждому байту предще;,,

стартовый бит для синхронизации приемника в начале передачи. Байт закан ется битом четности и заключительным импульсом - стоповыми битами ~дд 1, 1.5 или 2 бита (рис. 9.13). Часто применяется обратное кодирование, означ* щее, что свободная линия поддерживается под высоким потенциалом. Из-за г * тового и стоповых битов асинхронная передача также называется старт-стопное Посимвольную передачу просто реализовать благодаря существованию специал ной микросхемы - универсального асинхронного приемо-передатчика (Universal Asynchronous Receiver Transmitter - UART), поэтому она широко применяется во многих устройствах и стала разновидностью неофициального промышленного стандарта.

Рис. 9.13. Асинхронная передача символа: а - отсутствие передачи; б - стартовый бит; в - бит четности (в данном случае - О, т. е. контроль на четность и общее число единиц - четное); г - столовый бит

Бит четности (parity hit) используется в качестве простого метода выявления ошибок. При контроле на четность контрольный бит (бит четности) устанавливается таким образом, чтобы его сумма с исходным байтом была четной, а при контроле на нечетность - нечетной. На приемном конце проверяется выполнение соответствую щего условия. При отсутствии контроля состояние этого бита не рассматривается Если обнаружена ошибка четности, приемник сообщает об этом верхним уровнял которые решают, запросить ли повторную передачу. Из различных комбинацЯ числа передаваемых бит, типа контроля четности и количества стоповых битов но используется протокол 8N1 (8 бит данных, без контроля четности, 1 .

Поскольку четность не обнаруживается, контроля ошибок на этом уровне не пр

ходит. З.Зй

Посимвольная асинхронная передача проста, но в то же время неэффективн того, что биты, добавляемые к каждому байту, увеличивают длину битовой "оц вательности более чем на 25 %, а также из-за простоя между отдельными идг На практике асинхронная передача используется только при скоростях пере 20 Кбит/с.

9.4.5. Бит-ориентированные протоколы. HDLC

Протоколы на канальном уровне используются для контроля Целостностй, даваемых данных и для восстановления искаженных блоков данных. ПР рда являются либо бит-ориентированными (bit-oriented) - содержание каждого ваемого сообщения представляет собой строку бит переменной длины, ли ц-ориентированными (byte-oriented) - передается строка байт с некоторыми чивающими управляющими символами.

]аиболее известным бит-ориентированным протоколом является протокол син-йотаН

ного управления звеном данных (Synchronous Data Link Control - SDLC), разра-иный компанией IBM. Существует несколько других похожих, но несовмести-

(.SDLC протоколов.

Для промышленных приложении очень важным является протокол высокоуров-управления каналом передачи данных (High-Level Data Link Control - HDLC). Ппотокол HDLC разработан ISO и используется в качестве основы для других про-0.опоъ - например, на нем базируется формат кадров Ethernet (раздел 9.5.4).

Управляющие поля в кадре HDLC имеют фиксированные расположение и длину (рИС 9.14); переменную длину имеет только поле данных. Ограничивающие началь-jyfj и заключительный флаги кодируются уникальной последовательностью jllllllO. Для того чтобы обеспечить уникальность флаговой последовательности, передатчик автоматически вставляет О после пяти следующих подряд 1 во все поля кадра, кроме флагов. Эта операция называется вставкой бит (bit stuffing). Приемник гда-тяет любой О, следующий непосредственно за пятью идущими подряд 1, восстанавливая таким образом исходный вид кадра.

№ поля

Длина, бит

Значение

Описание

01111110 (7Е hex)

Начальный флаг (start flag)

Адрес (address)

Управляющее поле (control field

Произвольная длина >0

Данные (data)

Контрольная сумма (checksum)

01111110 (7Е hex)

Заключительный флаг (end flag]

ис. 9.14. Структура кадра протокола HDLC

Рин" имеет смысл только в том случае, если несколько станций могут имать одно и то же сообщение - например, в локальных сетях, где все станции аи" общий физический тракт передачи, - и должны идентифицировать адре-У««ь1еим сообщения.

"Р«Ь1Ги™** HDLC определяет тип кадра - информационный, суперви-"Ные- ненумерованный. Информационный кадр содержит пользовательские кГ° "Р-Щ по-с идентифицирует порядковый номер текущего и следу-Рвиз" (обычно длинное сообщение разбивается на несколько кадров) и т. п. Чяет Р используется для координации приемника и передатчика и вы-%Hv "" функции - подтверждение кадров (квитирование), запрос на Ров н "РУ информационного кадра, если нарушена последовательность нумерованные кадры используются для инициализации и разъединения 1ол других целей управления. \/ Данных может иметь любую длину. Поле контрольной суммы вычисляется "ьюмногочленал: + : + i в соответствии с рекомендацией МККТТ V.41.



Структура кадра HDLC соответствует многоуровневой структуре стека в, показанной на рис. 9.4. Начальный и заключительный флаги Heo6xofln,j" ческом и канальном уровнях. Адресное и управляющее поля и поле контп " суммы относятся ко 2-му и 3-му уровням. Передаваемые данные являются

но-ориентированными и относятся к 7-му уровню.

Формат кадра HDLC является основой для различных протоколов связи печивает средства для полной дуплексной передачи с контролем ошибок. Напр°

в одной из схем передатчик может продолжать передачу кадров, не ожидая

подтв.

- приемник должен подтверждать прием каждого ка

ждения их приема, в другой - приемник должен подтверждать прием каждого а еще одна схема требует только индикации кадров для повторной передачи Все схемы можно реализовать на базе формата HDLC.

9.4.6. Протокол телеметрии IEC-870

Протокол телеметрии IEC-870 представляет собой широко распространенны стандарт, предназначенный для мониторинга и управления распределенными процессами с помощью локальных интеллектуальных устройств, например, для свя,1? центральной ЭВМ с удаленными устройствами управления и для сбора данных Протокол IEC-870 сочетает некоторые возможности символьных протоколов в формате и ART с бит-ориентированным форматом кадра типа HDLC.

В IEC-870 единицей передачи информации является телеграмма, состоящая и.) байтовых последовательностей по 8 бит. Каждый байт передается в соответствии с форматом UART в виде 11-битовой последовательности (1 стартовый бит, 8 бит данных, 1 бит четности, 1 столовый бит). Октеты передаются последовательно в каждой телеграмме в следующем порядке:

- заголовок (1 или 4 байта);

- пользовательские данные (переменная длина, до 253 байт);

- контрольная сумма (1 байт);

- символ конца сообщения (1 байт).

Структура телеграмм протокола IEC-870 показана на рис. 9.15.

Начальный символ показывает, какой тип телеграммы следует за ним - ФиР! ванной или переменной длины. Телеграмма фиксированного формата (рис. . имеет длину 6 байт. В телеграмме переменной длины заголовок содержит началь байт, за которым следует длина телеграммы. Первые 4 байта в данных пользовате.чя адрес и указатель функции; за пользовательскими данными следует байт контрол суммы и символ конца сообщения. В 4 байтах заголовка в качестве меры """"jqa-повторяются начальный символ и длина сообщения, поскольку эти байты не в

ются в подсчет контрольной суммы. .jp]V

Для обеспечения эффективных схем управления стандарт IEC-870 предУ-вает несколько типов сообщений, например подтверждение приема сообщения ральному устройству или удаленной станции и т. д. дрТ

Благодаря своей простоте и широкой доступности дешевых микросхем протокол IEC-870 легко встраивается в разнообразные устройства, поэтому о, ложен в основу многих промышленных решений, обеспечивающих совместил и взаимодействие при интеграции в одну систему компонентов от разных про дителей.

Х8 поля

Длина, байт

Значение

Описание

01101000 (68 hex)

Начальный символ (байт заголовка)

Длина сообщения (2-255 байт)

Длина сообщения (2-255 байт), повторение поля 2

01101000 (68 hex)

Начальный символ (повторение поля 1)

Управляющий символ

Адрес (младшая часть)

Адрес (старшая часть)

Произвольная длина >0, <253 байт

Данные

Контрольная сумма полей 5-8

00010110 (16 hex)

Символ конца сообщения

№ поля

Длина, байт

Значение

Описание

00010000 (10 hex)

Начальный символ (байт заголовка)

Управляющий символ

Адрес (младшая часть)

Адрес (старшая часть)

Контрольная сумма

00010110 (16 hex)

Символ конца сообщения

amofiV РУУР телеграммы протокола IEC-870: а - переменная длина; б - фик-1ованная длина

Блок-ориентированные протоколы

•f ornatблок-ориентированных протоколах данные передаются блокам, кото-artof специальными управляющими символами, например SOH П /f rt " заголовка), SYN {SYNchronization - синхронизация) STX

nsJ ~ ило текста), ЕТХ {End of TeXt - конец текста) и БОТ {End Of X ~ коиеп передачи). Каждая передача начинается с символов SOH или

заканчивается символом конца блока, например ЕТХ или EOT. Несколько




[0] [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [ 59 ] [60] [61] [62] [63] [64] [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78] [79] [80] [81] [82] [83] [84] [85] [86] [87] [88] [89] [90]

0.0141