Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 курс / Интерфейсы / Lab 2 - Организация обмена в последовательных каналах.doc
Скачиваний:
29
Добавлен:
27.04.2015
Размер:
119.3 Кб
Скачать

Л А Б О Р А Т О Р Н А Я Р А Б О Т А N 2

Организация обмена в последовательных

каналах передачи данных

Цель работы: изучение принципов организации асинхронного обмена в

последовательных каналах передачи данных. Приобретение практических

навыков программирования асинхронных приемопередатчиков (UART).

В В Е Д Е Н И Е

Для интерфейсов систем передачи данных характерен обмен информа-

цией, представленной в последовательном формате. Подобная организация

информации упрощает и удешевляет собственно каналы передачи данных,

однако требует использования достаточно сложной аппаратуры. В боль-

шинстве случаев функции управления реализуются специализированными ин-

терфейсными БИС, именуемыми универсальными приемопередатчиками, адап-

терами последовательной связи, контроллерами последовательного кана-

ла, УСАПП, UART и т.п.

В большинстве случаев символ представляется набором из 5 - 8 дво-

ичных импульсных токовых посылок, передаваемых последовательно через

канал передачи данных (КПД), при этом значение бита определяется либо

наличием тока в линии, либо его отсутствием.

В стандартных системах часто используется асинхронный

(старт-стопный) метод обмена, при котором каждый символ передается не-

зависимо от других, таким образом, что его передача может быть начата

в любой момент времени по завершении передачи предыдущего символа.

Стандартный формат символа при асинхронном обмене соответствует

приведенному ниже:

------------¬ -------T---------T------T--------------¬ -----

¦ | | ..... | | ¦ |

L------+------+---------+------- L------+----

пауза старт 5-9 разрядов данных стоп/пауза старт

в коде Б В Н (следующий символ)

Рис. 1. Формат посылки (символа) при асинхронной передаче

Примечание 1: пауза является необязательным элементом, то есть

символы могут передаваться без разделителя; в некоторых случаях огова-

ривается максимальная длительность паузы (после чего наступает "пере-

рыв") - обычно 20 секунд. Передается сигнал паузы высоким уровнем,

аналогичным стоповой посылке.

Примечание 2: код БВН - без возврата к нулю -обеспечивает переда-

чу разряда, содержащего логическую единицу, высоким уровнем сигнала,

логический нуль - низким.

Передача начинается со стартового бита, то есть прекращения тока

в линии. Затем передаются 5-8 битов символа (количество зависит от

конкретного применяемого способа кодирования) и необязательный бит па-

ритета. Завершается передаваемый символ единичной стоповой посылкой,

длительность которой составляет один, полтора или два битовых интерва-

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

Основная функция приемопередатчика при обмене заключается в па-

раллельно-последовательных (при передаче) и последовательно-параллель-

ных (при приеме) преобразованиях обрабатываемой процессором информа-

ции. При этом для процессора он представляется стандартным устройством

параллельного ввода-вывода. Особенностью приемопередатчика является

наличие в его составе двух автономных преобразователей, что обеспечи-

вает возможность работы как в полудуплексном, так и в дуплексном режи-

мах, обеспечивающих двустороннюю связь в двух- и четырехпроводных КПД.

Как следует из данного далее описания, приемник и передатчик ос-

нащены двойными буферами, что позволяет в определенной мере упростить

их взаимодействие с процессором, обеспечивая возможность его работы по

прерываниям.

Помимо преобразователей, в состав UART входят схемы управления,

поддерживающие стандартный диалог протокола RS232C или ему подобного.

Эти схемы формируют сигналы управления модемом (то есть аппаратурой,

непосредственно управляющей работой КПД), генерируют внутренние сигна-

лы, управляющие приемопередатчиком во всех оговоренных режимах, обес-

печивают передачу в процессор статусной информации. Взаимодействие с

ними процессора осуществляется стандартным образом - командами IN и

OUT через порты с соответствующими адресами. Номенклатура, назначение

и программирование данных элементов подробно рассматриваются далее.

1. Внутренние регистры приемопередатчика

Для организации последовательной связи через модемы и иную анало-

гичную аппаратуру передачи данных были разработаны специальные микрос-

хемы, носящие название универсальных асинхронных приемопередатчиков

(UАRT). Стандартом де-факто стали микросхемы типа 8250 фирмы INTEL,

логику работы которых и протокол в настоящее время эмулируют последо-

вательные порты всех IBM-совместимых персональных ЭВМ и особенности

организации которых рассматриваются далее.

Операционная система ПЭВМ поддерживает, как правило, 2 или 4 пос-

ледовательных порта, при этом для СОМ1 и СОМ2 базовые адреса хранятся

соответственно в ячейках 0040:0000 и 0040:0002. Конкретное значение

базовых адресов для этих портов составляет 3F8H и 2F8H (базовый адрес

- это двухбайтовый адрес порта, являющийся младшим из группы адресов

портов, дающих доступ к UART). Примечание: все IBM-совместимые компь-

ютеры на самом деле таковыми являются не полностью. В данном случае

это означает, что базовые адреса в ячейках 0040:0000 и 0040:0002, ко-

нечно же, записаны, но для коммуникационных целей компьютер может "вы-

уживать" адреса из других ячеек!

Микросхема 8250 имеет 10 прграммируемых однобайтовых регистров, с

помощью которых управляется и контролируется последовательный коммуни-

кационный порт. Большинство из них осуществляет инициализацию порта.

Доступ к ним производится через семь портов с адресами 3F8H - 3FEH

(или 2F8H - 2FEH), причем в пяти случаях доступ определяется тем, как

установлен бит 7 в регистре управления линией (см. табл. 1.).

Из десяти регистров для обмена через последовательный канал необ-

ходимы только шесть: в регистре данных передатчика размещается байт,

подлежащий передаче в следующем цикле (подробнее - см. в п. 4), из ре-

гистра приемника считывается последний полученный из канала байт дан-

ных (см. п. 5). Регистры управления и статуса линии инициализируют и

управляют линией, используя скорость обмена, указанную в двух регист-

рах делителя скорости обмена (см. п. 2). Из оставшихся четырех регист-

ров регистры управления и статуса модема необходимы для связи через

модем или при использовании протокола модема, а регистры прерывания -

только в процедурах, управляемых прерываниями.

Таблица 1.

-----------------------------------T---------------------------------¬

¦ Адрес порта доступа к регистру ¦ Назначение регистра ¦

+----------------------------------+---------------------------------+

¦ 3F8H (OUT, бит 7 = 0 в 3FBH) ¦ Регистр данных передатчика ¦

¦ 3F8H (IN, бит 7 = 0 в 3FBH) ¦ Регистр данных приемника ¦

¦ 3F8H (OUT, бит 7 = 1 в 3FBH) ¦ Делитель скорости обмена (млад-¦

¦ ¦ ший байт) ¦

¦ 3F9H (OUT, бит 7 = 1 в 3FBH) ¦ Делитель скорости обмена (стар-¦

¦ ¦ ший байт) ¦

¦ 3F9H (OUT, бит 7 = 0 в 3FBH) ¦ Регистр разрешения прерывания ¦

¦ 3FАН (IN) ¦ Регистр идентификации прерыва- ¦

¦ ¦ ния ¦

¦ 3FВH (OUT) ¦ Регистр управления линией ¦

¦ 3FСH (OUT) ¦ Регистр управления модемом ¦

¦ 3FDH (IN) ¦ Регистр статуса линии ¦

¦ 3FEH (IN) ¦ Регистр статуса модема ¦

L----------------------------------+----------------------------------

2. Инициализация последовательного порта

При инициализации устанавливаются все параметры коммуникационного

порта. Эти параметры, в случае асинхронного обмена, включают в себя

длину слова, число стоп-битов, установку четности и скорость обмена.

Инициализацию можно осуществить как непосредственно программируя ре-

гистры микросхемы (1-й способ), так и с использованием прерывания 14Н

BIOS (2-й способ).

2.1. Программирование 8250

В процедуре инициализации участвуют 4 регистра микросхемы 8250:.

делителя скорости обмена, управления линией и разрешения прерывания.

2.1.1. Инициализация скорости обмена

Делитель скорости обмена - это число, на которое необходимо раз-

делить частоту системных часов (1190 кГц), чтобы получить требуемую

скорость обмена. Стандартные значения делителей приведены в таблице 2:

Таблица 2.

--------------------------------T-------------------T----------------¬

¦ Стандартная скорость обмена ¦ 3F9H ¦ 3F8H ¦

+-------------------------------+-------------------+----------------+

¦ 110 Бод ¦ 04Н ¦ 17Н ¦

¦ 300 Бод ¦ 01Н ¦ 80Н ¦

¦ 600 Бод ¦ 00Н ¦ С0Н ¦

¦ 1200 Бод ¦ 00Н ¦ 60Н ¦

¦ 1800 Бод ¦ 00Н ¦ 40Н ¦

¦ 2400 Бод ¦ 00Н ¦ 30Н ¦

¦ 3600 Бод ¦ 00Н ¦ 20Н ¦

¦ 4800 Бод ¦ 00Н ¦ 18Н ¦

¦ 9600 Бод ¦ 00Н ¦ 0СН ¦

L-------------------------------+-------------------+-----------------

Целесообразно устанавливать регистры скорости обмена первыми, так

как они единственные, которые требуют установку бита 7 в регистре уп-

равления линией. После этого надо изменить содержимое регистра управ-

ления, сбросив этот бит, чтобы обеспечить доступ ко всем другим ре-

гистрам.