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

Автор работы: Пользователь скрыл имя, 03 Марта 2013 в 19:10, лабораторная работа

Описание

Цель работы:
научиться программировать последовательный порт IBM PC;
изучить временные диаграммы последовательных посылок кодов ASCII – литер;
изучить структуру коммуникационной процедуры.

Работа состоит из  1 файл

ИПУ Лаба 2.docx

— 734.76 Кб (Скачать документ)

Цель работы:

  • научиться программировать последовательный порт IBM PC;
  • изучить временные диаграммы последовательных посылок кодов  ASCII – литер;
  • изучить структуру коммуникационной процедуры.

Краткие теоретические  сведения

Последовательная  связь. Стандарт RS-232C

RS-232 (Recommended Standard 232) — интерфейс, используемый в телекоммуникациях стандарт последовательной асинхронной передачи двоичных данных между терминалом (Data Terminal Equipment, DTE) и коммуникационным устройством (Data Communications Equipment, DCE). Интерфейс позволяет осуществить передачу информации между двумя устройствами на расстоянии до 15 метров. Информация передается по проводам цифровым сигналом с двумя уровнями напряжения. Логическому "0" соответствует положительное напряжение (от +5 до +15 В для передатчика), а логической "1" отрицательное (от -5 до -15 В для передатчика). Асинхронная передача данных осуществляется с фиксированной скоростью при самосинхронизации фронтом стартового бита.

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

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


Для подключения модема к  ПК имеются 13 соединительных проводов, но из них обычно используются только 9:

  1. «земля корпуса»;
  2. передаваемые данные – TXD;
  3. принимаемые данные – RXD;
  4. запрос на передачу – RTS (Request Ro Send);
  5. разрешение передачи – СTS (Clear To Send);
  6. готовность устройства сопряжения (АПД) – DSR (Data Set Ready);
  7. «подвешенная земля»;
  8. обнаружение несущей принимаемых данных – DCD;
  9. готовность информационного терминала/компьютера – DTR (Data Terminal Ready);
  10. индикатор звонка – RI (Ring Indicator).

Сигналы 9 (DTR) и 4 (RTS) направляются от компьютера к модему, а сигналы 8 (DCD), 10 (RI), 6 (DSR) и 5 (CTS) направляются от модема к компьютеру.

По  этим линиям передаются данные в линию, принимаются данные с линии и организуется аппаратное управление потоком (flow control по RTS/CTS) в отличие от программного управления потоком (XON/XOFF).

Физический смысл  сигналов:

  1. Если данные не передаются, то на выходе терминала устанавливается логическая «1». Кроме того, пока все управляющие сигналы (DSR, DTR, RTS, CTS) не установятся в активное состояние (включено), передача данных не осуществляется;
  2. – принимаемые данные. Данные передаются из устройства сопряжения в терминал;
  3. «Подвешенная земля» - общий земляной провод;
  4. (Data Set Ready – готовность АПД) – готовность устройства сопряжения (источник питания включен и устройство находится в рабочем состоянии). Терминал по этому сигналу передает сигнал запроса на передачу.
  5. (Data Tetminal Ready) – готовность терминала (источник питания терминала включен, терминал находится в рабочем состоянии). В устройстве сопряжения этот сигнал можно использовать для контроля за соединением с телефонной линией.
  6. (Request To Send) – запрос на передачу. Управляющий сигнал, требующий начала передачи данных из терминала в устройство сопряжения. Когда этот сигнал остановится активным, включаются средства передачи данных устройства сопряжения (т.е. передача несущей частоты).
  7. (Clear To Send) – свободно для передачи или готовность модема. Управляющий сигнал, разрешающий начало передачи данных из терминала в устройство сопряжения.
  8. DTD – обнаружение несущей частоты. Если несущая частота из телефонного канала правильно принимается в устройство сопряжения, то  этот сигнал считается активным.

Соединение устройства сопряжения с телефонной линией

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

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

Если к последовательному  порту подключен модем, то при  выводе данных в линию необходимо также учитывать готовность модема, определяемую сигналом CTS. Так максимальная скорость передачи данных согласно стандарту RS-232C составляет 20 Кбит/с.

Рис.2

Временные диаграммы вывода данных в линию и ввода данных с линии представлены на рис. 3 и 4 соответственно. При этом управление потоком осуществляется на основании состояния бита готовности ввода и бита готовности вывода (и связанных с ними сигналами прерываний), находящихся в регистре состояния линии интерфейса.

 

Рис. 3     Рис.4

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

Адресация регистров

Операционная система  поддерживает два порта коммуникации COM1 и COM2, базовые адреса которых 3F8H и 2F8H соответственно (таблица 1). Структура регистров описана на рис.5, 6 и 7.

Таблица 1

Код адреса регистра

Наименование регистра

D

L

A

B

Сигнал

Чтение IOR

Запись IOW

COM1

COM2

3F8h

2F8h

Регистр хранения передатчика

0

1

0

3F8h

2F8h

Регистр данных приемника

0

0

1

3F8h

2F8h

Делитель скорости обмена (мл. байт)

1

   

3F9h

2F9h

Делитель скорости обмена (ст. байт)

1

   

3F9h

2F9h

Регистр разрешения прерываний “IER”

0

   

3FAh

2FAh

Регистр идентификации прерываний “IIR”

0

   

3FBh

2FBh

Регистр управления линией “LCR”

0

   

3FCh

2FCh

Регистр управления модемом  “MCR”

0

   

3FDh

2FDh

Регистр состояния линии  “LSR”

0

   

3FEh

2FEh

Регистр состояния модема “MSR”

0

   

Регистр управления линией (LCR)  Регистр состояния линии (LSR)

 

Рис.5

Регистр идентификации прерываний (IIR)  Регистр разрешения прерываний (IER)

 

Рис.6

Регистр управления модемом (MCR)  Регистр состояния модема (MSR)

 

Рис.7

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

В асинхронном режиме необходимо указывать начало и конец единицы  информации, поэтому в начале передаваемых данных помещают стартовый бит, а в конце – стоповый бит. Когда передачи нет на линии устанавливается состояние логической «1», называемой паузой, при передаче данных стартовый бит равен 0, а стоповый равен 1.

Программируемый генератор скорости передачи

UART 8250 содержит программируемый генератор скорости передачи, который способен делить входной сигнал (1,8432 мГц) на любое число от 1 до 216-1). Выходная частота представляет собой скорость передачи, умноженную на 16 [ делитель = (входная частота)/(скорость передачи *  16)].

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

Порядок выполнения лабораторной работы

  1. Соединить контакты разъема и подключить осциллограф;
  2. Включить ПЭВМ IBM PC и загрузить ОС;
  3. Вызвать редактор текста и с его помощью создать текстовый файл, в который записать программу UART;
  4. Выполнить обработку исходного файла: - трансляцию, редактирование связей и запустить полученный модуль на решение;
  5. В результате диалога с ЭВМ ввести в программу параметры регистра режима;
  6. Затем на экране ЭЛТ осциллографа получить устойчивое изображение длительности развертки осциллографа рассчитать длину в миллиметрах одного бита посылки;
  7. По известной скорости передачи интерфейса и установленной длительности развертки осциллографа рассчитать длину в миллиметрах одного бита посылки;
  8. Ввести другую литеру и определить ее код. Нарисовать временную диаграмму;
  9. Сменить количество стоповых бит и выполнить предыдущий пункт;
  10. Отменить бит паритета и повторить пункт восемь.

Ход работы

  1. Нарисовать последовательную посылку литеры “a”.

Код литеры «а» - 61h, количество стоповых бит 2,  четный паритет. Регистр LCR содержит биты: 00011111.

                       
                       

0

1

0

0

0

0

1

1

0

1

1

1


2. Создание программы UART.

Листинг программы представлен в приложении А. При создании программы в регистр LCR внесено слово: 00011111.

3. Выполнить транслирование  и редактирование связей.

Для транслирования используется команда masm, а для редактирования связей link.

Формат: masm uart.asm; link uart.obj.

4. Построение диаграмм работы программы UART.

Регистр LCR содержит биты: 00011111.

                       
                       

0

1

0

0

0

0

1

1

0

1

1

1


Если ввести другую букву, например А, код которой 41h (01000001)2, то на экране появится следующая диаграмма:

                       
                       

0

1

0

0

0

0

0

1

0

1

1

1


Вывод: в опыте произведен ввод литеры «А», что привело к изменению диаграммы. Результат работы совпал с ожидаемым.

Информация о работе Интерфейс RS-232C