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

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

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

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

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

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

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

Сдвиг уровня, т. е. преобразование ТТЛ–уровней в уровни интерфейса RS–232C и наоборот производится специальными микросхемами драйвера линии и приемника линии.

На рис. 4 представлен типичный микрокомпьютерный интерфейс RS–232C. Программируемая микросхема DD1 последовательного ввода осуществляет параллельно–последовательные и последовательно–параллельные преобразования данных. Микросхемы DD2 и DD3  производят сдвиг уровней для трех выходных сигналов TXD, RTS, DTR, а микросхема DD4 — для трех входных сигналов RXD, CTS, DSR. Микросхемы DD2 и DD3 требуют напряжения питания ±12 В.

Рис. 4. Типичная схема интерфейса RS–232C.

Разработано несколько новых стандартов, направленных на устранение недостатков первоначальных спецификаций интерфейса RS–232C. Среди них можно отметить интерфейс RS–422 (балансная система, допускающая импеданс линии до 50 Ом), RS–423 (небалансная система с минимальным импедансом линии 450 Ом) и RS–449 (стандарт с высокой скоростью передачи данных, в котором несколько изменены функции схем и применяется 37–контактный разъем типа D).

Тестовое оборудование для интерфейса RS–232C

Соединители. Эти дешевые устройства упрощают перекрестные соединения сигнальных линий интерфейса RS–232C. Они обычно оснащаются двумя разъемами типа D (или ленточными кабелями, имеющими розетку и вставку), и все линии проводятся к той области, куда можно вставить перемычки. Такие устройства включаются последовательно с линиями интерфейса RS–232C, и затем проверяются различные комбинации подключений.

Трансформаторы разъема. Обычно эти приспособления имеют разъем RS–232C со штырьками на одной стороне и разъем с отверстиями на другой стороне.

Пустые модемы. Как и предыдущие устройства, пустые модемы включаются последовательно в тракт данных интерфейса RS–232C. Их функции заключаются в изменении сигнальных линий таким образом, чтобы превратить DTE в DCE.

Линейные мониторы. Мониторы индицируют логические состояния (в терминах MARK и SPACE) наиболее распространенных сигнальных линий данных и квитирования. С их помощью пользователь получает информацию о том, какие сигналы в системе присутствуют и активны.

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

Интерфейсные тестеры. По своей конструкции эти устройства несколько сложнее предыдущих простых устройств. Они позволяют переводить линии в состояния MARK или SPACE, обнаруживать помехи, измерять скорость передачи данных и индицировать структуру слова данных.

Лекция 8. Последовательный интерфейс СОМ-порт.

Последовательный интерфейс СОМ-порт (Communication Port - коммуникационный порт) появился в первых моделях IBM PC. Он был реализован на микросхеме асинхронного приемопередатчика Intel 8250. Порт имел поддержку BIOS (/Л/Т 74/?), однако широко применялось (и применяется) взаимодействие с портом на уровне регистров. Поэтому во всех PC совместимых компьютерах для последовательного интерфейса применяют микросхемы приемопередатчиков, совместимые с i8250. В ряде отечественных PC-совместимых (почти) компьютеров для последовательного интерфейса применялась микросхема КР580ВВ51 - аналог 18251. Однако эта микросхема является универсальным синхронно-асинхронным приемопередатчиком (УСАПП или USART - Universal Asynchronous Receiver-Transmitter). Совместимости с PC на уровне регистров СОМ-порта такие компьютеры не имеют. Хорошо, если у соответствующих компьютеров имеется "честный" драйвер BIOS /Л/Т 14h, а не заглушка, возвращающая состояние модема "всегда готов" и ничего не делающая. Совместимость на уровне регистров СОМ-порта считается необходимой. Многие разработчики коммуникационных пакетов предлагают работу и через BIOS /Л/Т 14h, однако на высоких скоростях это неэффективно. Говоря о СОМ-порте PC, по умолчанию будем подразумевать совместимость регистровой модели с i8250 и реализацию асинхронного интерфейса RS-232C.

Использование СОМ-портов

СОМ-порты чаще всего применяют для подключения манипуляторов (мышь, трекбол). В этом случае порт используется в режиме последовательного ввода; питание производится от интерфейса. Мышь с последовательным интерфейсом - Serial Mouse - может подключаться к любому исправному порту. Для согласования разъемов порта и мыши возможно применение переходника DB-9S-DB-25P или DB-25S-DB-9P. Для мыши требуется прерывание, для порта СОМ1 - IRQ4, для COM2 - IRQ3. Жесткая привязка номера IRQ к номеру порта обусловлена свойствами драйверов. Каждое событие - перемещение мыши или нажатие-отпускание кнопки – кодируется двоичной посылкой по интерфейсу RS-232C. Применяется асинхронная передача; двуполярное питание обеспечивается от управляющих линий интерфейса (табл. 2.3).

Две разновидности Serial Mouse - MS-Mouse и PC-Mouse (Mouse Systems Mouse) - требуют соответствующих драйверов, многие мыши имеют переключатель MS/PC. Мышь с "чужим" драйвером либо не отзывается, либо "скачет" загадочным образом. Эти разновидности используют различные форматы посылок: при одинаковой скорости 1200 бит/с, одном стоп-бите и отсутствии контроля четности Microsoft Mouse использует 7 бит данных, a PC-Mouse - 8 бит. Мышь посылает пакет при каждом изменении состояния - перемещении, нажатии или отпускании кнопки. Пакет, передаваемый MS-Mouse, состоит из трех байт (табл. 2.4). PC-Mouse передает 5 байт (табл. 2.5). Здесь LB (Left Buttom), MB (Middle Buttom) и RB (Right Buttom) означают состояние левой, средней и правой кнопок, Х[7:0] и Y[7:0] - биты относительного перемещения мыши с момента предыдущей посылки по координатам Х и Y. Положительным значениям соответствует перемещение по координате Х вправо, а по координате Y вниз для MS-Mouse и вверх для PC-Mouse. Отсюда становятся понятными беспорядочные перемещения курсора на экране при несоответствии драйвера типу мыши.

Биты

D6

D5

D4

D3

02

01

00

1-й байт

1

LB

RB

Y7

Y6

Х7

Х6

2-й байт

0

Х5

Х4

ХЗ

Х2

Х1

хо

3-й байт

0

Y5

Y4

Y3

Y2

Y1

YO

Биты

07

06

05

04

03

02

01

DO

1-й байт

1

о

о

0

о

LB

MB

RB

2-й байт

Х7

Х6

Х5

Х4

ХЗ

Х2

Х1

ХО

3-й байт

Y7

Y6

Y5

Y4

Y3

Y2

Y1

YO

4-й байт

Совпадает со 2-м байтом

5-й байт

Совпадает с 3-м байтом


Для подключения внешних модемов используется полный(9-проводный) кабель АПД-АКД, схема которого приведена на рис. 2.7. Этот же кабель используется для согласования разъемов (по количеству контактов); возможно применение переходников 9-25, предназначенных для мышей. Для работы коммуникационного ПО обычно требуется использование прерываний, но здесь есть свобода выбора номера (адреса) порта и линии прерывания. Если предполагается работа на скоростях 9600 бит/с и выше, то СОМ-порт должен быть реализован на микросхеме UART 16550A или совместимой. Возможности работы с использованием FIFO-буферов и обмена по каналам DMA зависят от коммуникационного ПО.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58