Асинхронный режим передачи
Асинхронный режим передачи является байт-ориентированным (символьно-ориентированным): минимальная пересылаемая единица информации — один байт (один символ). Формат посылки байта иллюстрирует рис. 2.12. Передача каждого байта начинается со старт-бита, сигнализирующего приемнику о начале посылки, за которым следуют биты данных и, возможно, бит паритета (четности). Завершает посылку стоп-бит, гарантирующий паузу между посылками. Старт-бит следующего байта посылается в любой момент после стоп-бита, то есть между передачами возможны паузы произвольной длительности. Старт-бит, имеющий всегда строго определенное значение (логический 0), обеспечивает простой механизм синхронизации приемника по сигналу от передатчика. Подразумевается, что приемник и передатчик работают на одной скорости обмена. Внутренний генератор синхронизации приемника использует счетчик-делитель опорной частоты, обнуляемый в момент приема начала старт-бита. Этот счетчик генерирует внутренние стробы, по которым приемник фиксирует последующие принимаемые биты. В идеале стробы располагаются в середине битовых интервалов, что позволяет принимать данные и при незначительном рассогласовании скоростей приемника и передатчика. Очевидно, что при передаче 8 бит данных, одного контрольного и одного стоп-бита предельно допустимое рассогласование скоростей, при котором данные будут распознаны верно, не может превышать 5 %. С учетом фазовых искажений и дискретности работы внутреннего счетчика синхронизации реально допустимо меньшее отклонение частот. Чем меньше коэффициент деления опорной частоты внутреннего генератора (чем выше частота передачи), тем больше погрешность привязки стробов к середине битового интервала, и требования к согласованности частот становятся более строгие. Чем выше частота передачи, тем больше влияние искажений фронтов на фазу принимаемого сигнала.
60
Глава 2. Последовательный интерфейс — СОМ-порт
Взаимодействие этих факторов приводит к повышению требований к согласованности частот приемника и передатчика с ростом частоты обмена.
Рис. 2.12. Формат асинхронной передачи RS-232C
Формат асинхронной посылки позволяет выявлять возможные ошибки передачи.
¦ Если принят перепад, сигнализирующий о начале посылки, а по стробу старт-
бита зафиксирован уровень логической единицы, старт-бит считается ложным
и приемник снова переходит в состояние ожидания. Об этой ошибке прием
ник может не сообщать.
¦ Если во время, отведенное под стоп-бит, обнаружен уровень логического нуля,
фиксируется ошибка стоп-бита.
¦ Если применяется контроль четности, то после посылки бит данных передает
ся контрольный бит. Этот бит дополняет количество единичных бит данных
до четного или нечетного в зависимости от принятого соглашения. Прием бай
та с неверным значением контрольного бита приводит к фиксации ошибки.
¦ Контроль формата позволяет обнаруживать обрыв линии: как правило, при
обрыве приемник «видит» логический нуль, который сначала трактуется как
старт-бит и нулевые биты данных, но потом срабатывает контроль стоп-бита.
Для асинхронного режима принят ряд стандартных скоростей обмена: 50,75,110, 150, 300,600,1200,2400,4800,9600,19200,38400, 57600 и 115200 бит/с. Иногда вместо единицы измерения «бит/с» используют «бод» (baud), но при рассмотрении двоичных передаваемых сигналов это некорректно. В бодах принято измерять частоту изменения состояния линии, а при недвоичном способе кодирования (широко применяемом в современных модемах) в канале связи скорости передачи бит (бит/с) и изменения сигнала (бод) могут отличаться в несколько раз.
Количество бит данных может составлять 5, 6, 7 или 8 (5- и 6-битные форматы распространены незначительно). Количество стоп-бит может быть 1, 1,5 или 2 («полтора бита» означает только длительность стопового интервала).