Асинхронный старт-стопный режим
Основным режимом работы UART является асинхронный старт-стопный режим. Используется для соединения с удаленными устройствами.
Формат слова, используемого для передачи данных в этом режиме, приведен на следующем рисунке.
Рис. 3.5. Формат слова UART в асинхронном режиме.
Понятие “асинхронный” в данном случае означает, что передаваемые слова следуют друг за другом не непрерывным потоком, а с произвольными неравными интервалами. Другое объяснение этого названия – отсутствие битовых синхросигналов.
Изначально выходной сигнал передатчика должен иметь пассивный уровень, соответствующий логической “1”. Каждая единичная посылка, передающая одно слово данных, состоит из следующих элементов:
1. Старт-бит. Всегда имеет уровень 0, длительность – 1 битовый интервал. Используется для синхронизации приемника и передатчика.
2. Поле данных, содержащее само передаваемое слово. Длительность поля данных может составлять от 7 (в ранних версиях UART – от 4) до 9 битов. Биты передаются, начиная с младшего. Бит 8 (девятый бит) является специфическим для некоторых исполнений UART, используется, например, в микроконтроллерах для организации мультиконроллерной сети для адресации нового корреспондента.
3. Бит четности (или бит паритета). Является необязательным элементом, служащим для контроля ошибок приема на аппаратном уровне. Обычно UART может работать в одном из трех режимов использования бита четности:
- отсутствие бита четности;
- дополнение до четного. Бит принимает такое значение, чтобы число единиц в слове данных было четным;
- дополнение до нечетного числа. Бит принимает такое значение, чтобы число единиц в слове данных было нечетным.
Использование бита четности может быть ограничено. Например, если UART использует 9-битное поле данных, бит четности, как правило, не может быть добавлен к посылке.
Неверное принятое значение бита четности вызывает ошибку четности – parity error.
Контроль четности не является абсолютной гарантией обнаружения ошибки. При наличии двойной ошибки (ошибки в двух битах) бит четности будет воспринят как правильный.
4. Стоп-биты. Всегда имеют уровень “1” (пассивный). Их длительность может составлять 1, 1.5 или 2 битовых интервала. На самом деле это – минимальная длительность пассивного состояния перед следующим старт-битом, необходимая для нормальной синхронизации приемника и передатчика.
Наличие стоп-битов также служит проверкой корректности данных на аппаратном уровне. В случае, если во время приема стоп-битов приемник обнаруживает на своем входе активный уровень, он воспринимает это как ошибку длины кадра (frame error).
При этом в общем случае никаких дополнительных стробирующих сигналов, выполняющих битовую синхронизацию, не используется. Синхронизация между приемником и передатчиком выполняется следующим образом:
· синхронизация начала очередной посылки (очередного передаваемого слова) осуществляется при помощи старт-бита;
· побитовая синхронизация внутри единичной посылки выполняется только за счет точной настройки тактовых генераторов передатчика и приемника.
Вследствие этого асинхронный режим имеет следующие ограничения:
1. Ограничение скорости передачи. Максимальная стандартная скорость передачи, используемая, например, в стандарте RS-232-C (COM-порт), составляет 115,2 Кбит/с, высокоскоростные порты обеспечивают скорость до 921,6 Кбит/с. Эта скорость, как правило, в несколько раз ниже, чем аналогичная скорость передачи в синхронном режиме, что связано с аппаратным алгоритмом работы порта – в асинхронном режиме приемник в течение каждого битового интервала выполняет несколько считываний входной линии, считая принятым уровнем тот, который был считан большее число раз.
2. Ограничение длины единичной посылки (передаваемого слова), что связано с накоплением ошибки при рассинхронизации тактовых частот приемника и передатчика. Эта ошибка обнуляется при приеме нового старт бита. При длине поля данных посылки 8 битов рассинхронизация тактовых частот приемника и передатчика может достигать 3% без потери данных.
Синхронный режим
Не является основным режимом, может не поддерживаться конкретной микросхемой. Используется для высокоскоростной передачи данных между элементами внутри одного устройства.
Для передачи данных используются как минимум две линии:
1. Линия данных. По ней выполняется передача битов данных, не сопровождаемых никакими дополнительными (старт- и стоп-) битами.
2. Линия синхроимпульсов. Каждый бит данных, передаваемый по линии данных, должен сопровождаться синхроимпульсом. Приемник определяет момент прихода нового бита данных по переходу синхросигнала из пассивного состояния в активное. Разные исполнения UART могут использовать разные уровни синхроимпульсов в качестве активного, наиболее часто активным уровнем считается “1”.
Пример использования – подключение различных микросхем, имеющих последовательный синхронный интерфейс (микросхемы памяти (загрузочная память), ЦАП и АЦП и т.д.).
Смешанные режимы
Различные исполнения UART могут поддерживать собственные дополнительные режимы. Примеры тому:
1. Синхронный старт-стопный режим. Единичные посылки оформлены так же, как в асинхронном старт-стопном режиме – имеют старт- и стоп- биты. При этом кажды бит посылки сопровождается строб импульсом, передаваемым по дополнительной линии, как в синхронном режиме. Преимущество такого режима – синхросигнал может передаваться непрерывно, даже без данных. Его остутствие индицирует обрыв связи.
2. Режим с удлиненным словом данных. Некоторые исполнения последовательного порта поддерживает удлиненное поле данных, достигающее в синхронном режиме 16 битов.
Дата добавления: 2016-04-19; просмотров: 2496;