Студопедия

Главная страница Случайная страница

Разделы сайта

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






Лабораторная работа № 5






 

ВНЕШНИЙ ПОСЛЕДОВАТЕЛЬНЫЙ ИНТЕРФЕЙС “RS-232C”

 

 

Цель работы: изучение принципов реализации интерфейса RS-232C, назначения сигналов на линиях интерфейса, протокола передачи данных по интерфейсу, организации и функционирования COM-порта, программной поддержки интерфейса.

 

Организация интерфейса.

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

Если устройства, связь с которыми осуществляется через интерфейс RS-232C, находятся на небольшом расстоянии, то связь реализуется с помощью проводного кабеля. Длина кабеля - до 18м. Если устройства находятся на значительном расстоянии, то в этом случае связь осуществляется через модемы и телефонные или радиоканалы связи.

Интерфейс RS-232C применяется для синхронной и асинхронной передачи данных в дуплексном режиме, когда каждое устройство может начать передачу другому устройству в произвольный момент времени. При этом для приема и передачи используются различные линии. Данные в интерфейсе передаются в последовательном коде побайтно.

Все сигналы интерфейса RS-232С имеют уровни, обеспечивающие высокую помехоустойчивость связи. Стандарт определяет, что в интерфейсе данные передаются в инверсном коде. Напряжение в диапазоне от -3В до

-12В считается двоичной единицей, а напряжение в диапазоне от +3В до +12В - двоичным нулем. Диапазон от -3 до +3 В - зона нечувствительности, обусловливающая гистерезис приемника: состояние линии будет считаться измененным только после пересечения порога (рис.5.1).

Уровни сигналов на выходах передатчиков должны быть в диапазонах от -12В до -5В и от +5В до +12В для представления единицы и нуля соответственно. Разность потенциалов между схемными землями (GND) соединяемых устройств должна быть менее 2 В, при более высокой разности потенциалов возможно неверное восприятие сигналов.

 

 

Рис. 5.1. Уровни сигналов RS -232C

 

Физическая реализация.

Устройства, которые передают или принимают информацию по интерфейсу RS -232C, должны иметь в своем составе узел, называемый контроллер последовательного интерфейса. В ПК в качестве контроллера используется так называемый COM- порт (Communication Port), который обеспечивает асинхронный обмен по стандарту RS -232C.

Связь между двумя устройствами осуществляется с помощью проводного кабеля, в котором каждый проводник имеет строго определенное назначение. По стандарту определено несколько вариантов физической реализации интерфейса RS -232C. В ПК обычно устанавливается компактный вариант – 9-тиконтактный разъем DB-9.

Назначение сигналов интерфейса RS-232C.

· DCD - Data Carrier Detected - вход сигнала обнаружения несущей удаленного модема.

· #RD - Receive Data - последовательные данные - вход приемника.

· #TD - Transmit Data - последовательные данные г выход приемника.

· #DTR - Data Terminal Ready - выход сигнала готовности терминала

обмену данными. Состояние " включено" поддерживает коммутируемый канал в состоянии соединения.

· SG - Signal Ground- сигнальная (схемная) земля, относительно

которой действуют уровни сигналов.

· #DSR - Data Set Ready - вход сигнала готовности от аппаратуры

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

· #RTS - Request To Send- выход передачи данных: состояние «включено»

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

  • #CTS - Clear To Send - вход разрешения терминалу передавать данные.

Состояние " выключено" запрещает передачу данных. Сигнал используется для аппаратного управления потоками данных.

· RI - Ring Indicator - вход индикатора вызова (звонка). В

коммутируемом канале этим сигналом модем сигнализирует о принятии вызова

 

 

Рассмотрим временные диаграммы передачи данных для случая подключения модема к контроллеру интерфейса RS-232C (рис.5.2). Цифрами и пунктирами на временной диаграмме указаны этапы возможные при передаче, возникающие при изменении состояния управляющих сигналов. Знак # указывает, что активное состояние сигнала – логический ноль.

 

Рис. 5.2 Последовательность управляющих сигналов интерфейса RS-232C

1. Установкой сигнала #DTR ПК указывает на желание использовать модем.

2. Сигналом #DSR модем сигнализирует о своей готовности на установление соединения.

3. Сигналом #RTS ПК запрашивает у модема разрешение на передачу и заявляет о своей готовности принимать данные от модема.

4. Сигналом #CTS модем уведомляет о своей готовности к приему данных от ПК и передачи их в линию.

5. Снятием CTS# модем сигнализирует о невозможности дальнейшего приема (например, буфер заполнен) - ПК должен приостановить передачу данных.

6. Сигналом #CTS=0 модем разрешает ПК продолжить передачу (в буфере появилось место).

7. Снятие #RTS может означать как заполнение буфера ПК (модем должен приостановить передачу данных в ПК), так и отсутствие данных для передачи в модем. Обычно в этом случае модем прекращает пересылку данных в компьютер.

8. Модем подтверждает снятие #RTS сбросом #CTS.

9. ПК повторно устанавливает #RTS для возобновления передачи. 10.Модем подтверждает готовность к этим действиям.

11.ПК указывает на завершение обмена.

12.Модем отвечает подтверждением.

13.ПК снимает #DTR, что обычно является сигналом на разрыв соединения (" повесить трубку"). Модем сбросом сигнала #DSR сигнализирует о разрыве соединения.

 

Асинхронный режим передачи.

Асинхронный режим передачи является байт-ориентированным
(символьно - ориентированным): минимальная пересылаемая единица
информации - один байт (один символ). Формат посылки символа иллюстрирует рис.5.3.

 

Рис.5.3. Формат асинхронной передачи RS-232C

 

Передача каждого байта начинается со старт-бита, сигнализирующего приемнику о начале посылки, за которым следуют биты данных. Затем, если запрограммирована передача с контролем, следует бит паритета (контроля). Завершает посылку стоп-бит, гарантирующий паузу между посылками. Старт-бит следующего байта посылается в любой момент после стоп-бита, т. е. между передачами возможны паузы произвольной длительности. Старт-бит, имеющий всегда строго определенное значение (логический 0), обеспечивает простой механизм синхронизации приемника по сигналу от передатчика. Подразумевается, что приемник и передатчик работают на одной скорости обмена. Внутренний генератор синхронизации приемника использует счетчик - делитель опорной частоты, обнуляемый в момент приема начала старт - бита. Этот счетчик генерирует внутренние стробы, по которым приемник фиксирует последующие принимаемые биты.

При отсутствии передачи в линии данных устанавливается сигнал «1» с потенциалом – 12В.

 

 

Контроллер интерфейса RS-232C.

Контроллером интерфейса в ПК является коммуникационный порт (COM-порт). Этот порт обеспечивает только асинхронный обмен по интерфейсу RS-232C и реализует следующие функции:

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

· формирование стартового, стопового битов и бита паритета и контроль их правильности при приеме;

· прием и передача данных на заданной скорости;

· формирование и контроль состояния сигналов интерфейса RS-232C.

Основным узлом COM-порта является устройство управления приемо-передачей. В первых моделях ПК (IBM PC, IBM PC/XT) эту функцию COM-порта выполняла БИС UART (универсальный асинхронный приемо-передатчик) i8250. БИС i8250 имеет невысокое быстродействие при работе с системной шиной. В более поздних разработках ПК в качестве UART использовались БИС более совершенных модификаций: i16450, i16550, i16550А.

ПК может иметь до четырех коммуникационных портов, имеющих логические имена СОМ1, COM2, COM3, COM4. Микросхема UART имеет 10 программируемых однобайтовых регистров, с помощью которых управляется и контролируется работа СОМ - порта. В адресном пространстве ПК регистры располагаются по следующим базовым адресам (BASE): для COM1 – 3F8H, COM2 - 2F8H, COM3 -3Е8Н, СОМ4-2Е8Н. Порты могут вырабатывать аппаратные прерывания: IRQ4 (обычно используются для СОМ1 и СОМ3) и IRQ3 (для СОМ2 и СОМ4).

Некоторые регистры БИС UART имеют одинаковые адреса. Программирование БИС начинается с занесения данных в регистр управления обменом по адресу «BASE + 3». В дальнейшем обращение к регистрам с одинаковыми адресами зависит от значения бита В7 в регистре управления обменом.

Список регистров БИС UART и их адреса приведены в таблице 5.1.

Таблица 5.1. Регистры БИС UART

_______________________________________________________________

Название регистра Адрес

_______________________________________________________________

 

Передатчик BASE (B7 = 0)

Приемник BASE (B7 = 0)

Регистр скорости (младший байт) BASE (B7 = 1)

Регистр скорости (старший байт) BASE + 1 (B7 = 1)

Регистр разрешения прерываний BASE + 1 (B7 = 0)

Регистр идентификации прерываний BASE + 2

Регистр управления обменом BASE + 3

Регистр состояния обмена BASE + 5

Регистр управления модемом BASE + 4

Регистр состояния модема BASE + 6

_____________________________________________________________________

Следует отметить, что в регистры скорости передачи заносится не величина скорости, а код делителя частоты, пропорциональный скорости передачи. Например, скорости 4800 б/с соответствует код 0018Н, а скорости 115200 б/с – 0001Н.

Передача данных по интерфейсу RS-232C может быть организована по разным параметрам. Параметры передачи задаются программно, т.е. путем инициализации контролера (COM-порта). При включении ПК производится начальная инициализация контроллера. В процессе работы ПК пользователь может установить другие параметры. Необходимо отметить, что оба устройства, соединяемые интерфейсом, должны быть запрограммированы (настроены) на работу с одинаковыми параметрами, т.е. должен быть согласованный протокол передачи данных.

 

Параметры программирования COM –порта.

1. Скорость передачи. Для асинхронного режима принят ряд стандартных скоростей обмена (бит/с): 110, 150, 300, 600, 1200, ……….., 38400, 57600, 115200.

2. Количество передаваемых бит в слове может составлять – 5, 6, 7, 8.

3. Возможность контроля при передаче слова: а) без контроля; б) контроль на четность; в) контроль на нечетность.

4. Число стоповых бит: 1 или 2.

По интерфейсу RS-232C можно организовать 2 режима передачи данных: простой ввод-вывод или передачу с квитированием. В первом случае используются только линии передачи данных. При передаче с квитированием используются управляющие сигналы. Информация о режиме передачи задаются при программировании порта путем занесения информации об использовании управляющих в соответствующие регистры порта. Также при программировании задается организация передачи данных: программная или по прерыванию.

 

Назначение регистров БИС UART.

Передатчик - промежуточный регистр данных передатчика (только для записи). Данные, записанные в регистр, будут пересланы в выходной сдвигающий регистр (когда он будет свободен), из которого поступят на выход при наличии разрешающего сигнала #CTS. Бит 0 передается (и принимается) первым. При длине посылки менее 8 бит старшие биты игнорируются.

 

Приемник - буферный регистр принимаемых данных (только для чтения). Данные, принятые входным сдвигающим регистром, откуда они могут быть считаны процессором. Если к моменту окончания приема очередного символа предыдущий не был считан из регистра, фиксируется ошибка переполнения. При длине посылки менее 8 бит старшие биты в регистре имеют нулевое значение.

 

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

Регистр старшего байта делителя частоты (скорости передачи).

 

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

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

• биты [7: 4] = 0 - не используются;

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

• бит 2 - по обрыву (ошибке) линии;

• бит 1 - по завершении передачи (передатчик свободен);

• бит 0 - по приему символа (получены данные в приемнике).

 

Если прерывания разрешены, то при появлении соответствующей ситуации, заданной в регистре разрешения прерываний, в регистр идентификации прерываний в биты В2 и В1 заносится тип прерывания (00 – изменение состояние модема; 01 – передан символ и передатчик пуст; 10 – получены данные для приема микропроцессором; 11 – поступило условие обрыва линии или ошибка приема. При этом бит В0 устанавливается в «1», и формируется аппаратное прерывание (сигнал на линиях IRQ3 или IRQ4). Регистр идентификации прерываний используется только для чтения. Для упрощения программного анализа UART выстраивает внутренние запросы прерывания по четырехуровневой системе приоритетов. Порядок приоритетов (по убыванию): состояние линии, прием символа, освобождение регистра передатчика, состояние модема. При возникновении условий прерывания UART указывает на источник с высшим приоритетом до тех пор, пока он не будет сброшен соответствующей операцией. Только после этого будет выставлен запрос с указанием следующего источника.

 

Регистр управления обменом (регистр настройки параметров передачи по интерфейсу).

· бит В7 – управление доступом к регистрам с одинаковыми адресами;

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

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

а) В5=0 – контрольный бит генерируется в соответствии с заданными условиями паритета выводимого символа;

б) В5=1 – постоянное значение контрольного бита (при В4=1 – нулевое, при В4= 0 – единичное);

· бит В4 – выбор типа контроля: 0 – контроль на нечетность, 1 – контроль на четность;

· бит В3 – разрешение контрольного бита: 0 – контрольный бит запрещен, 1 – контрольный бит разрешен;

· бит В2 – количество стоп- бит: 0 – 1 стоп-бит, 1 – 2 стоп – бита.

· биты [1: 0] – количество бит данных: 00 – 5 бит, 01 – 6 бит, 10 – 7 бит, 11 – 8 бит.

 

Регистр состояния обмена. Формат регистра:

· бит В7=1 – тайм-аут (ошибка принятых данных в режиме FIFO). В режиме не FIFO бит В7 всегда равен 0;

· бит В6=1 – регистр передатчика пуст, передача закончена, данных для передачи нет;

· бит В5=1 – буферный регистр передачи пуст и готов принять данные для передачи;

· бит В4=1 – обнаружен обрыв линии (постоянная передача нулей);

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

· бит В2=1 – ошибка паритета (ошибка контрольного бита);

· бит В1=1 – ошибка переполнения при приеме (принят очередной символ раньше, чем прочитан предыдущий, при этом предыдущий символ теряется);

· бит В0=1 – полученные данные готовы для чтения процессором.

 

Регистр управления модемом. Формат регистра:

• биты [7: 5]=0 – не используются;

• бит В4 – режим работы UART: 0 – рабочий, 1 – диагностический;

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

• бит В2 - управление выходным сигналом OUT1 (в рабочем режиме не используется);

• бит В1 - управление выходом #RTS;

• бит В0 - управление выходом #DTR.

Регистр состояния модема.. Регистр фиксирует состояние и изменение состояний линий управления интерфейса. Формат регистра:

· бит В7 – состояние линии DCD;

· бит В6 – состояние линии RI;

· бит В5 – состояние линии #DSR;

· бит D4 – состояние линии #CTS;

· бит В3 – изменение состояния линии DCD;

· бит В2 – изменение состояния линии RI;

· бит В1 – изменение состояния линии #DSR;

· бит В0 - изменение состояния линии #CTS.

Признаки изменения биты [3: 0] сбрасываются по чтению регистра.

 

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

COM-порты поддерживаются сервисом BIOS (программой прерывания INT 14H). Эта программа может выполнять четыре операции, определяемые содержимым регистра АН МП:

1) АН=0 – инициализация порта (установка скорости передачи и формата посылок);

2) АН=1 – вывод символа;

3) АН=2 – ввод символа;

4) AH=3 - чтение состояния линии и модема (чтение регистров LSR и MSR).

При работе с программой INT 14Н в регистре DX необходимо предварительно установить номер COM-порта (0- СОМ1, 1-СОМ2, 2- СОМ3, 3- СОМ4).

При выполнении каждой операции в регистр АН возвращается состояние линии (содержимое регистра состояния обмена). При выполнении операции «Чтение состояния» в регистр АН также возвращается состояние линии, а в регистр AL – состояние модема (содержимое регистра состояния модема).

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

· биты 0-1 - длина слова (11-8 бит);

· бит 2 - число стоп-битов (1-2 бит);

· биты 3-4 - контроль (11 - на четность);

· биты 5-7 - скорость обмена (010 - 300 бод).

В состав ПК может входить несколько контроллеров последовательного интерфейса. Поэтому необходимо задавать номер контроллера, к которому происходит обращение.

 

; инициализация последовательного контроллера

mov dx, 0; выбор контроллера (порт СОМ1)

mov al, 01011111B; установка параметров инициализации

mov ah, 0; задание операции инициализации

int 14H; инициализация контроллера

 

Прежде чем передать или принять код данных, необходимо прочитать содержимое регистра состояния обмена и проанализировать его. В следующем примере приводится процедура выдачи центральным процессором данных для передачи их через последовательный интерфейс. Для этого проверяется бит 5 регистра состояния, информирующий о выдаче в интерфейс предыдущего кода. Затем посылается код очередного символа.

 

mov dx, 0; выбор контроллера

M: mov ah, 3; задание операции “Чтение состояния”

int 14H; выполнение операции

test al, 00100000B; данные переданы?

jz M; если нет – повторение операции

mov al, char; запись кода символа

mov ah, 1; задание операции “Посылка одного символа”

int 14H; выполнение операции

 

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

 

Выполнение работы

Данная лабораторная работа представляет собой компьютерный электронный практикум, представляющий собой пакет прикладных программ, выполняемых на персональной ЭВМ, работающей под управлением ОС Windows. Программа для запуска электронного практикума СОМ.exe находится в папке RS232C(лаб). Запуск практикума – запуск программы СОМ.exe.

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

При запуске программы СОМ.exe откроется главное окно с содержанием практикума:

ТЕОРИЯ

2. Организация интерфейса.

1.1. Назначение интерфейса.

1.2. Физическая реализация.

1.3. Передача данных.

1.4.Ассинронный режим.

2. Контроллер интерфейса.

Организация СОМ - порта.

ПРАКТИКА

Задание 1 (варианты 1-4).

Задание 2.

Тестирование.

ВЫХОД

 

Разделы 1-2 – это текстовый учебный материал с рисунками и графическими иллюстрациями и гиперссылками, с помощью которых на рассматриваемых схемах выделяются выбранные узлы и выводятся соответствующие пояснения и определения. Например, при изучении материала по организации COM – порта приводится список регистров БИС UART, составляющего основу COM – порта. С помощью гиперссылок можно просмотреть более подробно форматы всех регистров этой БИС.

В разделе 1 «Организация интерфейса» приводится теоретический материал о принципах организации интерфейса. Подраздел 1.1 «Назначение интерфейса» о назначении интерфейса. В подразделе «Физическая реализация» приводится информация о назначении сигналов интерфейса. Подраздел «Передача данных» представляет материал о протоколе обмена информацией по интерфейсу в виде диаграмм. В подразделе «Асинхронный режим» рассматриваются особенности организации передачи данных по интерфейсу в асинхронном режиме, формат асинхронной передачи, параметры, которые должны быть заданы в соответствии с протоколом передачи.

В разделе 2 «Контроллер интерфейса» дается типовая конфигурация контроллера интерфейса RS232C (СОМ – порта), рассматриваются используемые в контроллерах микросхемы асинхронных приемо-передатчиков, которые с программной точки зрения представляют собой набор регистров. Приводятся базовые адреса регистров каждого порта, назначения регистров, назначение бит каждого регистра.

Раздел «Практика» предназначен для выполнения практической самостоятельной работы на компьютере. Раздел «Практика» состоит из трех подразделов: 1) «Задание 1»; 2) «Задание 2»; 3) «Тестирование».

. Подраздел «Задание 1» предназначен для освоения методики инициализации контроллера интерфейса RS232C, т.е. написания ассемблерных команд инициализации контроллера и организации передачи данных по интерфейсу. Для составления соответствующей программы в каждом задании приводится алгоритм программы.

Порядок работы при выполнении «Задания 1» следующий. В разделе «Практика» выбрать подраздел «Задание 1». При этом слева от меню появится инструкция «Выполнение задания 1» (рис. 5.4), определяющая порядок работы на компьютере.

 

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.