Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс вычислительные устройства, ч.2.doc
Скачиваний:
10
Добавлен:
27.11.2019
Размер:
8.53 Mб
Скачать

Организация передачи данных.

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

Под сопряжением подразумеваются следующие функции:

  • выдача и прием информации;

  • управление передачей данных;

  • согласование источника и приемника информации.

Важное значение имеют также следующие технические характеристики интерфейсов:

  • вместимость (максимально возможное количество абонентов, одновременно подключаемых к контроллеру интерфейса без расширителей);

  • пропускная способность или скорость передачи (длительность выполнения операций установления и разъединения связи и степень совмещения процессов передачи данных);

  • максимальная длина линии связи;

  • разрядность;

  • топология соединения.

По функциональному назначению можно выделить системные интерфейсы (интерфейсы, связывающие отдельные части компьютера как микропроцессорной системы) и интерфейсы периферийных устройств.

По физической реализации процесса передачи данных интерфейсы делят на:

  • последовательный

  • параллельный.

Последовательные интерфейсы

Последовательный обмен характерен для интерфейсов удаленных или медленнодействующих периферийных устройств, а также для интерфейсов распределенной обработки данных.

Единицей обмена в последовательном формате является символ, представленный в одной из систем кодирования и содержащий 5-8 бит. Примером 5-битного кода служит международный телеграфный код №2. Биты кодируются наличием тока в линии (1 или MARK) либо отсутствием тока (0 или SPACE).

Международное признание получил американский стандартный код обмена информацией ASCII (American Standard Code for Information Interchange), в котором символы кодируются 7 двоичными разрядами. Этот код позволяет передавать цифры, прописные и строчные буквы латинского алфавита, це­лый ряд других символов (всего 96 символов, т. к. 32 кодовые комбинации выделены для представления команд обмена). На основе этого кода постро­ен отечественный код КОИ-7 (код обмена информацией семиразрядный). Применяется также восьмиразрядный код ДКОИ-8.

Для интерфейсов, обеспечивающих соединение «точка-точка» (в отличие от шинных интерфейсов), возможны следующие реализации режимов обмена:

  1. симплексной (данные передаются только в одну сторону);

  2. полудуплексной (данные передаются в обе стороны, но с разделением во времени. Важной характеристикой полудуплексного соединения является время реверсирования режима – то время, за которое производится переход от передачи сообщения к приему и наоборот);

  3. дуплексной (данные передаются в обоих направлениях одно­временно).

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

На практике применяют два режима последовательного обмена:

  1. асинхронный режим: каждый символ передается автономно по мере готовности, и передача может быть начата в любой момент времени. Приемник и передатчик данных не знают моменты начала и окончания передачи.

  2. Синхронный режим: При синхронной передаче символы следуют один за другим слитно, поэтому можно говорить о передаче массива символов — текста. Если очередной символ не готов, передача не останавливается, передатчик посылает в ли­нию специальные символы синхронизации, до тех пор, пока не сможет пе­редать следующий символ данных. Синхронный обмен повышает скорость передачи данных.

Асинхронный режим.

При асинхронных передачах посылка (кадр), т. е. группа битов, отображаю­щих символ, имеет следующий формат: начало посылки отмечается нулевым старт - битом, за ним следуют 5...8 информационных (младшим разрядом вперед), затем идет необязательный бит контроля по модулю 2 (бит четно­сти/нечетности) и заканчивается посылка 1; 1,5 или 2 единичными стоп-битами.

_______________________________________________________________________

Контроль по модулю 2.

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

Кодовая комбинация — набор из сим­волов принятого алфавита.

Код — совокупность кодовых комбинаций, ис­пользуемых для отображения информации.

Кодовое расстояние между двумя кодовыми комбинациями — число разрядов, в которых эти комбина­ции отличаются друг от друга.

Минимальное кодовое расстояние — мини­мальное кодовое расстояние для любой пары комбинаций, входящих в данный код.

Кратностью ошибки называют число ошибок в данном слове (число неверных разрядов).

Из теории кодирования известны условия обнаружения и исправления ошибок при использовании кодов:

Существует также понятие веса комбинации, под которым понимается число единиц в данной комбинации.

Для двоичного кода минимальное кодовое расстояние равно 1, поэтому он не обладает возможностями какого-либо контроля производимых над ним действий. Чтобы получить возможность обнаруживать хотя бы ошибки еди­ничной кратности, нужно увеличить минимальное кодовое расстояние на 1. Это и сделано для кода контроля по модулю 2 (контроля по четно­сти/нечетности).

При этом способе контроля каждое слово дополняется контрольным разрядом, значение которого подбирается так, чтобы сделать четным (нечетным) вес каждой кодовой комбинации. При одиночной ошибке в кодовой комбинации четность (нечетность) ее веса меняется, а такая комбинация не принадлежит к данному коду, что и обнаруживается схемами контроля. При двойной ошибке четность (нечетность) комбинации не нарушается — такая ошибка не обнаруживается.

При контроле по четности вес кодовых комбинаций делают четным, при контроле по нечетности — нечетным. Логические возможности обоих вари­антов абсолютно идентичны. В зависимости от технической реализации ка­налов передачи данных, может проявиться предпочтительность того или иного варианта, поскольку один из вариантов может позволить отличать обрыв всех линий связи от передачи нулевого слова, а другой — нет.

Значения контрольного разряда при контроле по четности ( ) и нечетности ( ) приведены для четырехразрядного информационного слова.

Из приведенного материала следует, что контроль по модулю 2 эффективен там, где вероятность единичной ошибки много больше, чем вероятность двойной (или вообще групповой).

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

______________________________________________________________________

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

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

Передатчик и приемник имеют свои генераторы тактовых импульсов, работающие на одинаковой частоте. При отсутствии передачи передатчик ус­танавливает в линии высокий уровень напряжения (марку). Появление нуля (старт-бита) отмечает начало передачи, которое, таким образом, фиксируется фронтом напряжения "1 — 0". От этого фронта начинает работать генератор приемника. Приемник выдерживает интервал в половину длительности бита, проверяет, есть ли еще нуль на входе (контролирует истинность старт-бита с целью исключить реакцию на кратковременную помеху), и затем начинает воспринимать данные с интервалом в длительность бита (если старт-бит не подтвердился, то приемник возвращается в исходное состояние). Частота генераторов передатчика и приемника реально сличаются, поэтому отсчеты постепенно "сползают" с середины битов и смещаются к тому или другому краю импульсов. Однако за время короткой посылки (не более 10...11 битов) смещение отсчетов с середины битов легко сделать пренебре­жимо малым.

Выборка отсчетов в середине битов производится благодаря наличию в адаптере последовательного интерфейса частоты, более высокой, чем частота следования битов (обычно в 16 раз). После пуска генератора CLK с помощью счетчика отсчитывается 8 импуль­сов, что и отмечает середину старт-бита. Затем отсчеты повторяются с ин­тервалом т, получаемым от деления частоты CLK на 16 (рис. Временные диаграммы). В конце проверяется стоп-бит, отсутствие при этой проверке высокого уровня напряжения устанавливает триггер ошибки формата. Если это за­программировано, то проверяется и четность веса посылки с учетом кон­трольного разряда. Для фиксации результата этой проверки также имеется специальный триггер. Оба указанных триггера (флажка) — разряды внут­реннего регистра состояния адаптера последовательного интерфейса.

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

Синхронный режим.

Синхронная передача начинается с одного или двух специальных символов синхронизации (синхрослов), после которых последовательно без всяких разделителей передаются 5-8 битные коды символов с необязательными символами четного или нечетного паритета.

SYN1, SYN2 – синхрослова (признак начала передачи);

Символ 1, символ N – числа для передачи (данные).

Различают две разновидности синхронных передач — с внутренней и внешней синхронизацией.

При внутренней синхронизации перед массивом данных передаются сло­ва — сиихросимволы (одно или два). При отсутствии передачи передатчик не перестает работать, а посылает в линию символы синхронизации, пока не возобновится передача данных. Приемник при этом находится в режиме активного ожидания (в английской терминологии в режиме Нип1 — охоты). Он сравнивает каждое принятое слово с символом синхронизации. Если результат сравнения отрицательный, то обращения к данному приемнику нет (по описанному протоколу к одному передатчику можно подключить несколько приемников, имеющих индивидуальные синхросимволы). Если же опознается синхросимвол данного приемника, то это означает, что пере­датчик обращается к нему и первое же слово, не являющееся синхросимволом, принимается как информационное, начинающее информационный массив. После начала массива приемник считает передаваемые символы или же сопоставляет их с символами синхронизации, определяя одним ил этих способов конец передачи.

В адаптере имеются регистры, хранящие назначенные для данного прием­ника коды синхронизации (регистры РСС1 и РСС2).

Символы данных не разделяются старт - и стоп-битами. После символа из 5...8 битов может идти контрольный бит, возможен и контроль по модулю 2 для всего массива, в этом случае контрольный бит появляется в конце пере­дачи данных.

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

1. RS-232

Для краткости мы будем использовать два специальных обозначения:

DTE (Data Terminal Equipment) — оконечное оборудование, принимаю­щее или передающее данные. В качестве DTE может выступать компью­тер, принтер, плоттер или другое периферийное оборудование;

DCE (Data Communications Equipment) — аппаратура канала данных. Функция DCE состоит в обеспечении возможности передачи информа­ции между двумя или большим числом DТЕ. Для этого DCE должно обеспечить соединение с DTE, с одной стороны, и с каналом передачи — с другой. Роль DCE чаще всего выполняет модем,

Из-за простоты и низких аппаратных требований (в сравнении, например, с параллельным интерфейсом), последовательные интерфейсы активно ис­пользуются в электронной промышленности.

Стандарт RS-232 (его официальное название "Interface between DTE and Data Circuit-termination Equipment Employing Serial Binary Data Interchange") предназначен для подключения аппаратуры, пере­дающей или принимающей данные, к оконечной аппаратуре каналов дан­ных. Стандарт описывает управляющие сигналы интерфейса, пересылку данных, электрический интерфейс и типы разъемов.

Конечной целью подключения является соединение двух устройств DTE, полная схема соединения приведена на рис. 1а.

Рис 1. Соединение по RS-232C. а - полная схема соединения;

б - соединение через нуль-модемный кабель.

Интерфейс RS-232 используется и во многих устройствах обычного персо­нального компьютера, начиная с "мыши" и модема до ключей аппаратной защиты. И хотя уже все компьютеры имеют интерфейс USB, интерфейс RS-232 еще жив и активно применяется.

Вообще говоря, стандарт RS-232 состоит из трех частей. Первая часть, стан­дарт RS-232С, была принята в 1969 году и содержит описание электриче­ских цепей и сигналов несимметричной последовательной связи. Вторая часть, стандарт RS-232D, принята в 1987 году. Третья часть, RS-232Е, принята в 1991 году.

Обмен информацией между компьютером и периферийным устройством по интерфейсу RS-232 двусторонний, т.е. данные мо­гут передаваться компьютером в периферийное устройство и при­ниматься компьютером от периферийного устройства.

В компьютере предусмотрен специальный разъем, называе­мый коммуникационным (СОМ). К разъему подключается кабель, соединяющий компьютер с периферийным устройством. В кабеле находятся не­сколько проводов, которые называют линиями интерфейса.

Согласно стандарту RS-232, сигнал (последовательность битов) передается напряжением. Передатчик и приемник являются несимметричными: сигнал передается относительно общего провода. Логическому нулю на входе приемника соответствует диапазон +3...+ 12 В, а логической единице — диапазон —12...—3 В. Уровни сигнала на выхо­дах должны быть в диапазоне —12...—5В для представления логической единицы и +5...+ 12В для представления логического нуля.

Между уровнями -3...+3В имеется зона нечувствительности, обусловливающая гистерезис приемника: состояние линии будет считаться измененным только после пересечения соответствующего порога.

На рисунке показан формат данных, посылаемых по линии данных TxD интерфейса RS-232.

Как следует из рисунка, передача начинается с так называемого старт-бита, затем идут биты данных (их может быть от пяти до восьми), далее следует бит паритета или четности (который может отсутствовать) и затем следуют стоп-биты (их может быть либо один, либо два). На практике ис­пользуют 8 бит данных; бит паритета (на рис. 1.1 не показан), как правило, не используется; при максимально высокой скорости передачи желательно передавать два стоп-бита.

Состояние линии RS-232 при отсутствии передачи называется MARK (отметка), состояние линии при начале передачи (старт-бит) - SPACE (пробел). Низкий уровень напряжения относительно "зем­ли" на линии в состоянии MARK соответствует от -3 до -12 В, вы­сокий уровень напряжения линии в состоянии SPACE — от +3 до +12 В. В интервале -3...+3 В состояние линии не определено. На практике в подавляющем большинстве случаев высокий уровень напряжения составляет около +10 В, низкий - около -10 В. В ред­ких случаях напряжения могут быть снижены соответственно до +5 и -5 В. Это бывает, когда от интерфейса не требуется особенно высокая скорость передачи, а устройство, обменивающееся ин­формацией с компьютером по RS-232, имеет батарейное питание (как правило, литиевую батарейку напряжением около 3 В) и кри­тично к расходу энергии.

Наименование и назначение сигналов интерфейса RS-232C приведены в таблице.

Наименование

Назначение

Тип линии

PG (Protected Ground)

Защитная земля, соединяется с корпусом устройства и экраном кабеля

-

SG (Signal Ground)

Сигнальная (схемная) земля, относительно которой действуют уровни сигналов

-

TxD (Transmitter Data)

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

Выходная

RxD (Receiver Data)

Приемник данных (от оконечного устройства к контроллеру)

Входная

RTS (Request to Send)

Запрос передачи данных. Сигнал готовности данных для передачи из контроллера к оконечному устройству. Состояние «включено» уведомляет модем о наличии у терминала данных для передачи.

Выходная

CTS (Clear to Send)

Готовность регистра приема оконечного устройства. Состояние «выключено» аппаратно запрещает передачу данных. Сигнал используется для аппаратного управления потоками данных

Входная

DSR(Data Set Ready)

Готовность оконечного устройства к обмену данными. Состояние «включено» поддерживает коммутируемый канал в состоянии соединения.

Входная

DTR (Data Terminal Ready)

Готовность контроллера к обмену данными (модем в рабочем режиме подключен к каналу и закончил действия по согласованию с аппаратурой на противоположном конце канала).

Выходная

DCD (Data Carrier Detected)

Готовность удаленной аппаратуры оконечного устройства к обмену данными.

Входная

RI (Ring Indicator)

Прерывание от оконечного устройства. В коммутируемом канале этим сигналом модем сигнализирует о принятии вызова.

Входная

Рассмотрим, каким образом происходит обмен данными с помощью интерфейса RS-232С.

На рисунке 3.1 представлена последовательность управляющих сигналов интерфейса RS-232. Она имеет следующий физический смысл:

  1. Установкой DTR контроллер указывает на желание использовать оконечное устройство.

  2. Установкой DSR оконечное устройство сигнализирует о своей готовности к работе.

  3. Установкой RTS контроллер запрашивает разрешение на передачу и заявляет о своей готовности принимать данные от оконечного устройства.

  4. Установкой CTS оконечное устройство уведомляет о своей готовности к приёму данных.

  5. Снятием CTS оконечное устройство сигнализирует о невозможности дальнейшего приёма (например, буфер приёма заполнен) — контроллер должен приостановить передачу данных.

  6. Установкой CTS оконечное устройство разрешает компьютеру продолжить передачу (например, в буфере по­явилось место).

  7. Снятием RTS контроллер информирует оконечное уст­ройство о своей неготовности к обмену данными. Это может означать как заполнение буфера приёма контроллера, так и отсутствие данных для передачи в оконечное устройство.

  8. Оконечное устройство подтверждает снятие RTS сня­тием CTS.

  9. Контроллер повторно устанавливает RTS для возоб­новления обмена данными.

  1. Оконечное устройство подтверждает готовность к обмену установкой CTS.

  2. Снятием RTS контроллер указывает на завершение обмена.

  3. Оконечное устройство подтверждает снятие RTS снятием CTS.

  4. Контроллер снимает DTR для перевода оконечного устройства в автономный или «спящий» режим.

  5. Оконечное устройство подтверждает снятие DTR снятием DSR.