Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Интерфейс RS-232С

Читайте также:
  1. III. Первоначальный вход в WEB - интерфейс конфигурирования и проверка программного обеспечения.
  2. Графические интерфейсы Linux
  3. Графические интерфейсы Linux
  4. Интерфейс AllFusion PM 7.2.
  5. Интерфейс AllFusion PM 7.2.
  6. Интерфейс AllFusion PM 7.2.
  7. Интерфейс AllFusion PM 7.2.

Интерфейс RS-232С предназначен для подключения аппаратуры, передающей или принимающей данные (АПД или ООД – оконечное оборудование данных), к оконечной аппаратуре каналов данных (АКД). В роли АПД может выступать компьютер, принтер, плоттер и другое периферийное оборудование. Этой аппаратуре соответствует аббревиатура DTE – Data Terminal Equipment. В роли АКД обычно выступает модем, этой аппаратуре соответствует аббревиатура DCE – Data Communication Equipment. Конечная цель подключения – соединение двух устройств DTE, полная схема соединений приведена на рисунке 3.

 

 
 


Линия

 

Рис.3 Полная схема соединения по RS-232С

 

Интерфейс позволяет исключить канал удалённой связи вместе с парой устройств DCE (модемов), соединения устройства DTE с помощью нуль-модемного кабеля (рисунок 4).

 

 

RS – 232С

 

 

нуль-модем

Рис.4 Соединение двух устройств нуль-модемным кабелем

 

 

Стандарт реализует электрическую, информационную и конструктивную совместимости.

Особенность электрической совместимости – стандарт RS-232 С использует несимметричные передатчики и приёмники – сигнал передаётся относительно общего провода – схемной земли; интерфейс не обеспечивает гальванической развязки устройств. Логической единице соответствует уровень напряжения на входе приёмника в диапазоне –12...-3В. Для линий управляющих сигналов это состояние называется ON («включено»), для линий последовательных данных называется MARK. Логическому нулю соответствует напряжение в диапазоне +3...+12В. Для линий управляющих сигналов это состояние называется OFF («выключено»), для линий последовательных данных называется SPACE. Зона между уровнями –3...+3В – это зона нечувствительности, обусловливающая гистерезис приёмника. Уровни сигналов на выходах передатчиков –12...-5В и +5...+12В. Интерфейс предполагает наличие защитного заземления для соединяемых устройств, если они оба питаются от сети переменного тока и имеют сетевые фильтры.

Подключение и отключение интерфейсных кабелей устройств с автономным питанием (например, мышь) должно производиться при отключении питания.

Для интерфейса RS-232С специально выпускаются буферные микросхемы приёмников и передатчиков двуполярного сигнала.

Конструктивная совместимость реализуется регламентируемым типом разъёмов: на аппаратуре DTE (в том числе и на СОМ-портах РС) принято устанавливать вилки DB25-Р или более компактный вариант – DB9-Р.

Девятиштырьковые разъёмы не имеют контактов для дополнительных сигналов, реализующих синхронный режим.

На аппаратуре DCE (модемах) устанавливают розетки DB25-S или DB9-S. Разъёмы DCE могут непосредственно подключаться к разъёмам DTE или через «прямые» переходные кабели с розеткой и вилкой. Существуют переходники с 9 на 25-штырьковые разъёмы.

 

 

DB9S DB9Р

DB25S DB25Р

 

TD               TD
RD             RD
DTR             DTR
DSR             DSR
RTS             RTS
CTS             CTS
DCD             DCD
RI             RI
SG             SG

Рис. 5 Кабели подключения модемов

 

Информационная совместимость реализуется назначением контактов разъёмов, управлением потоком передачи и скоростью обмена. В таблице 1 приведено назначение контактов разъёмов СОМ-портов (и любой другой аппаратуры DTE). Назначение контактов разъёмов DB25S определено стандартом EIA/TIA-232Е, разъём DB9S определён стандартом EIA/TIA-S74. У модемов (DCE) название цепей и назначение контактов, естественно, совпадает, но роли сигналов (вход-выход) меняются на противоположные.

 

Таблица 1. Разъёмы и сигналы интерфейса RS-232С

Обозначение цепи Контакт разъёма Провод шлейфа выносного разъёма РС Направление
RS-232C Стык2 DB25S DB9S 1* 2* 3* 4* I/O
PG TD RD RTS CTS DSR SG DCD DTR RI 108/2   - (10) (10) (10)   - O I O I I - I O I

 

1* - шлейф 8-битных мультикарт;

2* - шлейф 16-битных мультикарт;

3* - вариант шлейфа портов на системных платах

4* - широкий шлейф к 25-контактному разъёму.

 

 

Подмножество сигналов RS-232С, относящихся к асинхронному режиму с точки зрения СОМ-порта РС приведены в таблице 2.

 

Таблица 2. Назначение сигналов интерфейса RS-232С

Сигнал Назначение
PG (Protect Ground) Защитная земля, соединяется с корпусом устройства и экраном кабеля
SG (Signal Ground) Сигнальная (схемная) земля, относительно которой действуют уровни сигналов
TD (Transmit Data) Последовательные данные – выход передатчика
RD (Receive Data) Последовательные данные – вход приёмника
RTS (Request To Send) Выход запроса передачи данных: состояние «включено» уведомляет модем о наличии у терминала данных для передачи. В полудуплексном режиме используется для управления направлением – состояние «включено»
CTS (Clear To Send) Вход разрешения терминалу передавать данные. Состояние «выключено» аппаратно запрещает передачу данных. Сигнал используется для аппаратного управления потоками данных.
DTR (Data Terminal Ready) Выход сигнала готовности терминала к обмену данными. Состояние «включено» поддерживает коммутируемый канал в состоянии соединения.
DSR Вход сигнала готовности от аппаратуры передачи данных (модем в рабочем режиме подключён к каналу и закончил действия по согласованию с аппаратурой на противоположном конце канала)
DCD (Data Carrier Detected) Вход сигнала обнаружения несущей удалённого модема
RI (Ring Indicator) Вход индикатора вызова (звонка). В коммутируемом канале этим сигналом модем сигнализирует о принятии вызова

 

Для управления потоком данных могут использоваться два варианта протокола – аппаратный и программный.

Аппаратный протокол управления потоком RTS/CTS использует сигнал CTS, который позволяет остановить передачу данных, если приёмник не готов к их приёму. Работу этого протокола иллюстрирует рисунок 6.

 

Формат данных

       
 
   
 


TD ò ò

ò ò

CTS

неготовность

приёмника ò ò

 

Рис.6 Аппаратное управление потоком

 

Программный протокол управления потоком XON/XOFF предполагает наличие двунаправленного канала передачи данных. Если устройство, принимающее данные, не может их принимать, оно по обратному каналу посылает байт-символ XOFF (13h). Противоположное устройство, приняв этот символ, приостанавливает передачу. Далее, когда принимающее устройство снова становится готовым к приёму данных, оно посылает символ XON (11h), приняв который противоположное устройство возобновляет передачу.

 

TD

ò ò

RD

ò ò

XOFF XON

неготовность

приёмника ò ò

программная реакция

передатчика на XON/XOFF

 

Рис.7 Программное управление потоком XON/XOFF

 

Для исключения потерь данных приёмник должен иметь буфер принимаемых данных.

Описанные стандартные протоколы поддерживаются как устройствами, так и операционными системами. Некоторые плоттеры используют программное управление, посылая не символы XON/XOFF, а слова (ASCII-строки). Такие плоттеры рассчитаны на прямой диалог с прикладной программой.

 

Аппаратная реализация СОМ-портов

СОМ-порты ХТ/АТ базируются на микросхемах UART (Universal Asynchronus Receiver Transmitter) – универсальный асинхронный приёмопередатчик (УАПП). Эти микросхемы осуществляют преобразование параллельного кода в последовательный при передаче данных и обратное преобразование при приёме данных. Они формируют и обрабатывают управляющие сигналы интерфейса RS-232С (управление и состояние модема).

СОМ-порты ХТ/АТ используют микросхемы, совместимые на уровне регистров с UART i8250-8250/16450/16550А.

В компьютерах класса АТ применяют микросхемы UART следующих модификаций:

- 16450 – быстродействующая версия 8250. Эта микросхема обеспечивает минимум, требуемый ОС/2 для работы с СОМ-портами;

- 16550 – развитие 16450. Может использовать канал DMA для обмена данными. Имеет FIFO-буфер, но некорректность его работы не позволяет им воспользоваться;

- 16550А – имеет работающие 16-байтные FIFO-буферы приёма и передачи и возможность использования DMA. Обеспечивает обмен на скоростях 9600 бит/с и выше без потери данных. Большинство универсальных микросхем контроллеров портов ввода/вывода, входящих в чипсеты современных системных плат обеспечивают совместимость с этой микросхемой.

С программной точки зрения UART 16550А представляет набор регистров, доступ к которым определяется адресом (смещением адреса регистра относительно базового адреса порта) и значением бита DLAB (бита 7 регистра LCR – регистр управления линией – настройки параметров канала). В адресном пространстве микросхема занимает 8 смежных адресов. Список регистров и способы доступа к ним приведены в таблице 3.

 

Таблица 3. Регистры UART 16550А

Доступ Регистр Чтение/запись R/W
смещение DLAB имя название, назначение
0h   THR Transmit Holding Register – промежуточный регистр данных передатчика WO
0h   RBR Receiver Buffer Register –буферный регистр принимаемых данных RO
0h   DLL Divisor Latch LSB – регистр младшего байта делителя частоты R/W
1h   DLM Divisor Latch MSB – регистр старшего байта делителя частоты R/W
1h   IER Interrupt Enable Register – регистр разрешения прерывания R/W
2h X IIR Interrupt Identification Register – регистр идентификации прерываний и признака режима FIFO RO
2h X FCR FIFO Control Register – регистр управления FIFO WO
3h X LCR Line Control Register – регистр управления линией (настройка параметров канала) R/W
4h X MCR Modem Control Register – регистр управления модемом R/W
5h X LSR Line Status Register – регистр состояния линии R/W*
6h X MSR Modem Status Register – регистр состояния модема R/W*
7h X SCR Scratch Pad Register – рабочий регистр (8 бит) R/W

* Некоторые биты допускают только чтение. Запись в регистр может привести к сбою протокола.

 

Рассмотрим использование регистров UART 16550А.

THR – данные, записанные в этот регистр будут пересланы в выходной сдвигающий регистр (когда он будет свободен), из которого поступят на выход при наличии разрешающего сигнала CTS. Бит 0 передаётся и принимается первым. Если длина посылки менее 8 бит, старшие биты равны нулю (игнорируются).

RBR – заносятся данные, принятые входным сдвигающим регистром для последующего считывания процессором.

DLL, DLM – регистры делителя частоты. Делитель определяет по формуле D=115200/V, где V – скорость передачи, бит/с. Входная частота синхронизации 1,8432 МГц делится на заданный коэффициент, после чего получается 16-кратная частота передачи данных.

IER – регистр разрешения прерывания. Единичное значение бита разрешает прерывание от соответствующего источника:

биты 7-4 = 0 – не используются

бит 3 – по изменению состояния модема (любой из линий CTS, DSR, RI, DCD) – ModIE

бит 2 – по обрыву/ошибке линии - RхLIE

бит 1 – по завершению передачи - ТхDE

бит 0 – по приёму символа (в режиме FIFO – прерывание по тайм-ауту) – RxDIE

IIR – регистр идентификации (только для чтения) прерываний и признака режима FIFO. Для упрощения программного анализа UART выстраивает внутренние запросы прерывания по 4-х уровневой приоритетной системе. Порядок приоритетов (по убыванию): состояние линии, приём символа, освобождение регистра передатчика и состояние модема. При возникновении условий прерывания UART указывает на источник с высшим приоритетом до тех пор, пока он не будет сброшен соответствующей операцией. Только после этого будет выставлен запрос с указанием следующего источника:

биты 7:6 – признак режима FIFO:

11 – режим FIFO 16550A;

10 – режим FIFO 165550;

00 – обычный режим.

биты 5:4 – не используются;

бит 3 – прерывания по тайм-ауту (не в режиме FIFO);

биты 2:1 – причина прерывания с наивысшим приоритетом (не в режиме FIFO):

11 – ошибка/обрыв линии; сброс - чтением регистра состояния лини;

10 – принят символ; сброс – чтением данных;

01 – передан символ (регистр THR пуст); сброс – записью данных;

00 – изменение состояния модема; сброс – чтением регистра состояния модема.

бит 0 – признак необслуженного запроса прерывания:

1 – нет запроса 0 – есть запрос

В режиме FIFO причину прерывания идентифицируют биты (3:1):

011 – ошибка/обрыв линии; сброс – чтением регистра состояния линии;

010 - принят символ; сброс – чтением регистра данных приёмника;

110 – индикатор тайм-аута (за 4-х кратный интервал времени передачи символа не передано и не принято ни одного символа, хотя в буфере имеется, по крайней мере, один). Сброс – чтением регистра данных приёмника;

001 – регистр THR пуст; сброс – записью данных;

000 – изменение состояния модема (CTS, DSR, RI или DCD); сброс – чтением регистра MSR;

FCR – регистр управления FIFO (только для записи). Назначение бит:

биты 7:6 – ITL (Interrupt Trigger Level) – уровень заполнения FIFO – буфера, при котором вырабатывается прерывание:

00 – 1 байт;

01 – 4 байта;

10 – 8 байт;

11 – 14 байт;

биты 5:4 – зарезервированы;

бит 3 – разрешение операций DMA;

бит 2 сброс счётчика FIFO – передатчика (запись 1 – сбрасывает) сдвигающий регистр не сбрасывается;

бит 1 – то же, что и бит 2 для приёмника;

бит 0 – разрешение (1) режима FIFO для передатчика и приёмника;

LCR – регистр управления линией (настройка параметров канала):

бит 7 – DLAB (Divisor Latch Access Bit) – управление доступом к делителю частоты

бит 6 – формирование обрыва линии (посылка нулей при бит 6=1)

бит 5 – принудительное формирование бита паритета

0 – контрольный бит генерируется в соответствии с паритетом выводимого символа

1 – постоянное значение контрольного бита при чётности – нулевое, нечётности – единичное

бит 4 – выбор типа контроля

0 – нечётность, 1 – чётность

бит 3 – разрешение контрольного бита

1 – разрешение, 0 – запрещён

бит 2 – количество стоп-бит

0 – 1 стоп-бит, 1 – 2 стоп-бита

биты 1:0 – количество бит данных

00 – 5 бит, 01 – 6 бит,

10 – 7 бит, 11 – 8 бит

MCR – регистр управления модемом:

биты 7:5 – зарезервированы;

бит 4 – разрешение режима диагностики:

0 – нормальный режим;

1 – режим диагностики;

бит 3 – разрешение прерываний (с помощью внешнего входа OUT2):

0 – запрещены, 1 – разрешены

В диагностическом режиме поступает на вход MSR.7;

бит 2 – управление выходным сигналом 1 (не используется)

В диагностическом режиме поступает на вход MSR.6;

бит 1 – управление выходом RTS:

1 – активен (-V), 0 – пассивен (+V)

В диагностическом режиме поступает на вход MSR.5

LSR – регистр состояния приёмопередатчика:

бит 7 – ошибка принятых данных в режиме FIFO (буфер содержит хоть один символ принятый с ошибкой формата, паритета или обрывом). В не FIFO режиме всегда 0;

бит 6 – регистр передатчика пуст (нет данных для передачи ни в сдвиговом регистре, ни в буферных, THR или FIFO);

бит 5 – регистр передатчика готов принять байт для передачи. В режиме FIFO указывает на отсутствие символов в FIFO – буфере передачи. Вызывает прерывание;

бит 4 – индикатор обрыва линии (вход приёмника находится в состоянии логического нуля не менее, чем время посылки символа);

бит 3 – ошибка кадра (неверный стоп-бит);

бит 2 – ошибка контрольного бита (паритета или фиксирования);

бит 1 – переполнение (потеря символа);

бит 0 – принятые данные готовы. Сброс – чтением приёмника.

Индикаторы ошибок – биты 4:1 – сбрасываются после чтения регистра LSR.

MSR – регистр состояния модема:

биты 7,6,5,4 – состояние линий DCD, RI, DSR, CTS соответственно;

биты 3,2,1,0 – изменение состояний линий DCD, RI, DSR, CTS соответственно. Признаки изменения сбрасываются по чтению регистра;

SCR – рабочий регистр (8 бит) предназначен для временного хранения данных. На работу UART влияния не оказывает.

В диагностическом режиме (при бите 4 = 1 регистра MCR) внутри UART организуется внутренняя «заглушка»:

- выход передатчика переводится в состояние логической единицы;

- вход приёмника отключается;

- выход сдвигающего регистра передатчика логически сдвигается со входом приёмника;

- входы DSR, CTS, RI и DCD отключаются от входных линий, на них внутренне подаются сигналы DTRC, RTSR, OUT1C, IE;

- выходы управления модемом переводятся в пассивное состояние (логический ноль).

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

 


Дата добавления: 2015-08-27; просмотров: 96 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Последовательный интерфейс| Средства BIOS для работы с СОМ-портами

mybiblioteka.su - 2015-2024 год. (0.029 сек.)