Адреса и прерывания последовательных портов

 

 

Конфигурация

 

Последовательный интерфейс связывает два устройства. Для того чтобы «со­беседники» при обмене данными не перебивали друг друга, они должны иметь единый протокол приема-передачи, которым определяется последовательность обмена данными.

Скорость передачи данных

Номинальная скорость передачи – это скорость передачи данных, определяе­мая количеством элементов двоичной информации, передаваемых за 1 се­кунду.

Эффективная (реальная) скорость – скорость передачи с учетом необходи­мости передачи служебной информации (что уменьшает эффективную ско­рость по сравнению с номинальной) и сжатия данных (что увеличивает эф­фективную скорость).

Скорость передачи измеряется в бодах. Иногда вместо бод употребляют обозначение bps (bit per second) или бит/с.

Следует обратить внимание на то, что при передаче данных, например между двумя модемами, один из которых является высокоскоростным модемом со скоростью 19200 бод, а другой в состоянии обеспечить обмен данными лишь со ско­ростью 2400 бод, компьютеры все равно будут общаться со скоростью 2400 бод.

Стартовый бит, стоп-бит, биты данных

Данные при последовательной передаче разделяются между собой служебными посылками, такими как стартовый бит (Start bit) и стоп бит (Stop ­bit). Эти биты указывают на начало и конец передачи после­довательности битов данных (Data bits). Данный метод передачи позволяет осуществить синхронизацию между при­емной и передающей сторонами, а также выровнять скорость обмена данными.

Бит контроля четности

Для идентификации и распознавания ошибок при после­довательной передаче в состав байта данных дополнительно включают бит контроля четности (Parity bit). Существует несколько различных вариантов использования бита контроля четности:

 бит контроля четности не посылается (No Parity),

 бит контроля четности четный (Even Parity);

 бит контроля четности нечетный (Odd Parity).

Значение бита контроля четности определяется бинарной суммой всех пере­даваемых битов данных.

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

Обычно на практике параметры указывают только в краткой формулировке. Например, запись 8Е1 обозначает протокол обмена данными с числом бит 8, битов контроля четности четный и один стоп-бит. Запись 7N2 указывает на 7 бит данных, без контроля четности и два стоп-бита.

 

Общие сведения об интерфейсе RS–232C

 

Интерфейс RS–232C является наиболее широко распростра­ненной стандартной последовательной связью между микрокомпью­терами и периферийными устройствами. Интерфейс, определенный стандартом Ассоциации электронной промышленности (EIA), под­разумевает наличие оборудования двух видов: терминального DTE и связного DCE.

Сигналы интерфейса RS–232C подразделяются на следующие классы:

Последовательные данные RXD - принимаемые данные (входные последовательные данные);TXD - передаваемые данные (выходные последовательные данные)). Интерфейс RS–232C обеспечивает два независимых последовательных канала данных: первичный (главный) и вторичный (вспомогательный). Оба канала могут работать в дуплексном режиме, т.е. одновременно осуществляют передачу и прием ин­формации.

Управляющие сигналы квитирования (CTS - сброс передачи. На этой линии периферийное устройство формирует сигнал низкого уровня, когда оно готово воспринимать информацию от процессора; RTS - запрос передачи. На эту линию микропроцессорная система выдает сигнал низкого уровня, когда она намерена передавать данные в пери­ферийное устройство). Сигналы квитирования – средство, с помощью которого обмен сигналами позволяет DTE начать диалог с DCE до фактической передачи или приема данных по последовательной линии связи.

Сигналы синхронизации (TC, RC). В синхронном режиме (в отличие от более распространенного асинхронного) между устройствами необходимо передавать сигналы синхронизации, которые упрощают синхронизм принимаемого сигнала в целях его декодирования.

На практике вспомогательный канал RS–232C применяется редко, и в асинхронном режиме вместо 25 линий используется 9 линий.

 

Виды сигналов

 

В большинстве схем, содержащих интерфейс RS–232C, данные передаются асинхронно, т.е. в виде последовательности пакета данных. Каждый пакет содержит один символ кода ASCII, причем информация в пакете достаточна для его декодирования без отдельного сигнала синхронизации.

Символы кода ASCII представляются семью битами, например буква А имеет код 1000001. Чтобы передать букву А по интерфейсу RS–232C, необходимо ввести дополнительные биты, обозначающие начало и конец пакета. Кроме того, желательно добавить лишний бит для простого контроля ошибок по паритету (четности).

Наиболее широко распространен формат, включающий в себя один стартовый бит, один бит паритета и два стоповых бита. Начало пакета данных всегда отмечает низкий уровень стартового бита. После него следует 7 бит данных символа кода ASCII. Бит четности содержит 1 или 0 так, чтобы общее число единиц в 8–битной группе было нечетным. Последним передаются два стоповых бита, представленных высоким уровнем напряжения. Эквивалентный ТТЛ–сигнал при передаче буквы А показан на рис. 10.

 

 

Рис. 10. Представление кода буквы А сигнальными уровнями ТТЛ

 

Таким образом, полное асинхронно передаваемое слово состоит из 11 бит (фактически данные содержат только 7 бит) и записывается в виде 01000001011.

Используемые в интерфейсе RS–232C уровни сигналов отличаются от уровней сигналов, действующих в компьютере. Логический 0 (SPACE) представляется положительным напряжением в диапазоне от +3 до +25 В, логическая 1 (MARK) – отрицательным напряжением в диапазоне от –3 до –25 В. На рис. 11 показан сигнал в том виде, в каком он существует на линиях TXD и RXD интерфейса RS–232C.

 

Рис. 11. Вид кода буквы А на сигнальных линиях TXD и RXD