Стандартный асинхронный интерфейс


Предыдущая | Следующая

Стандартный асинхронный интерфейс
Персональные компьютеры должны взаимодействовать с внешними устройствами. К счастью, для этого разработано несколько стандартов и множество устройств, которые работают со стандартными интерфейсными схемами. Один из наиболее распространенных интерфейсных стандартов называется RS-232C (Reference Standard №232 Revision С), сигналы которого приведены в табл. 20.1.

В различных компьютерах порты RS-232 могут иметь от четырех до двадцати пяти контактов по числу характеристик, которые они должны согласовывать и корректировать. Рассмотрим интерфейс RS-232 несколько подробнее.
Прежде всего интерфейсные схемы должны учитывать два типа синхронизации взаимодействующих устройств. Это называется асинхронной связью. Асинхронный цифровой сигнал этого типа состоит из байтов данных. Восемь битов по одному передаются от одной стороны и принимаются на другой. Данные могут передаваться в обоих направлениях — от компьютера к устройству и наоборот.
Байты передаются асинхронно, т.е. явной синхронизации нет. Байты просто передаются от передатчика в приемник без регулярных временных интервалов. Наглядным примером такой связи служит ввод данных с клавиатуры. Вы можете печатать быстро, медленно или делать произвольные паузы. Эталонные импульсы синхронизации при таком вводе отсутствуют.
Из-за отсутствия синхронизации, показывающей начало и конец каждого байта, байт данных приходится обрамлять стоповым и стартовым битами (рис. 20.4), чтобы приемные устройства могли распознать начало и конец передачи байта данных. Стартовый бит находится в начале каждого байта. Обычно в линии передачи действует высокий уровень напряжения. При выводе байта в линии устанавливается низкий уровень. Интервал стартового сигнала такой же, как у бита данных.

После стартового бита появляются биты данных. По окончании передачи в линии устанавливается высокий уровень, действующий в течение времени передачи двух битов, называемых стоповыми. При наличии одного стартового бита, восьми битов данных и двух стоповых битов такие асинхронные посылки называются «символами» и состоят из 11 бит.
Когда передатчик посылает символы в приемники, длина проводников определяется размерами помещения, но можно использовать телефонные линии и даже спутниковую связь. Возможно, что в процессе связи бит будет потерян, а это приведет к искажению множества данных. Для обнаружения ошибок в байт данных включается бит паритета (четности). Часто он помещается в старший разряд непосредственно перед стоповыми битами.
Различают два типа паритета — четный и нечетный. Бит нечетного паритета вычисляется в передатчике для каждого символа. Если число единиц в байте нечетное, бит паритета будет содержать нуль. Если же число единиц в байте четное, то бит паритета будет содержать единицу. Таким образом, общее число единиц в посылке, включая бит паритета, становится нечетным.
В приемнике есть схема контроля паритета. Она проверяет, чтобы каждый байт имел нечетное число единиц. Если обнаруживается байт с четным числом единиц, фиксируется ошибка и предпринимаются меры для ее исправления. При использовании четного паритета схема контроля проверяет наличие в каждом байте четного числа единиц. При обнаружении байта с нечетным числом единиц фиксируется ошибка.
Такая система контроля очень полезна, но не совершенна. Ошибка обнаруживается только при искажении одного бита. Если искажены два бита, а не один, то схема контроля не обнаружит ошибки. Имеются более сложные способы контроля ошибок, но для обычных применений компьютеров контроля по паритету достаточно.
Асинхронная передача хорошо подходит для коротких пакетов данных, но оказывается малоэффективной при передаче больших объемов данных.
Есть несколько способов измерения скорости передачи. Наиболее широко используется термин «бод». Можно также измерять скорость передачи в битах в секунду, символах в секунду и битовым интервалом в миллисекундах. Типичная скорость передачи составляет 300 бод. Если символ состоит из стартового бита, восьми битов данных, бита паритета и двух стоповых символов, всего получается 11 бит.
В стандарте RS-232 определены высокий и низкий уровни напряжения, поэтому все компьютеры можно объединять друг с другом. Было принято, что в интерфейсе RS-232 будут действовать цифровые уровни 4-3 и —3 В (рис. 20.5). Любое напряжение выше +3 В считается двоичных»! нулем, а любое напряжение ниже —3 В — двоичной единицей. Напряжения в диапазоне от —3 до +3 В считаются бессмысленными.
При передаче по интерфейсу RS-232 логические уровни можно установить в любом диапазоне выше + 3 и ниже —3 В. Обычно применяются уровни +12 и —12 В. Выходная схема преобразует сигналы для передачи через порт к этим уровням. В приемнике происходит инверсия уровней.

 

 Поиск и устранение неисправностей в персональных компьютерах